diff --git a/.example.env b/.example.env index 0df6b66a..63c2665b 100644 --- a/.example.env +++ b/.example.env @@ -1,4 +1,5 @@ -RINKEBY_RPC_PROVIDER_URL= +GOERLI_RPC_PROVIDER_URL= +SEPOLIA_RPC_PROVIDER_URL= MAINNET_RPC_PROVIDER_URL= SENDER_ADDRESS= ETHERSCAN_API_KEY= \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/11155111/run-1712692554.json b/broadcast/Deploy.s.sol/11155111/run-1712692554.json new file mode 100644 index 00000000..58bc1853 --- /dev/null +++ b/broadcast/Deploy.s.sol/11155111/run-1712692554.json @@ -0,0 +1,237 @@ +{ + "transactions": [ + { + "hash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionType": "CREATE", + "contractName": "JBTiered721Delegate", + "contractAddress": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3", + "0x3732315000000000000000000000000000000000000000000000000000000000", + "0x3732315200000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x623c32", + "value": "0x0", + "data": "0x6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa50577940000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab337323150000000000000000000000000000000000000000000000000000000003732315200000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionType": "CREATE", + "contractName": "JBTiered721GovernanceDelegate", + "contractAddress": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3", + "0x3732315000000000000000000000000000000000000000000000000000000000", + "0x3732315200000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x6b8805", + "value": "0x0", + "data": "0x6101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa50577940000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab337323150000000000000000000000000000000000000000000000000000000003732315200000000000000000000000000000000000000000000000000000000", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e4bdef2c4e4475e4cecb80dfd6fee0f795f1aac6bba124ff7a8c7dc950dc797", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateDeployer", + "contractAddress": "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "function": null, + "arguments": [ + "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "0x626579469e8D91561EF8FB408D605e14c1448E70", + "0xD75d2EeF7Fe65Bf9f46D7ef0b21EdED98cB0a3A4" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0xe8226", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c634300081700330000000000000000000000006fcb33ad98eb1125cc9706f36fe5f60e619d5edf000000000000000000000000626579469e8d91561ef8fb408d605e14c1448e70000000000000000000000000d75d2eef7fe65bf9f46d7ef0b21eded98cb0a3a4", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbdb51fee8434876acecf1b919fe7f47e26d835a3d04f0bbd9a33aff4720b0b7c", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateStore", + "contractAddress": "0xd7F9Ee12b5De2388109C9dD4fAAf39BEfe4C92FB", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x37a0b9", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506131c4806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea264697066735822122003ce823ae89534c4ac83520a7551796dcef6da2792c75897200a5361be1b5afb64736f6c63430008170033", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74f7ecc132ad9d016ebda35b6702fc1af0084dd743a6f8945c4c1c5054b00889", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateProjectDeployer", + "contractAddress": "0x70b59C0ad71b8e7c9B57328bEb7Ad5921b44dB81", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x2941cd", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa505779400000000000000000000000079c66fcec6b9843eea0c28397609d6da3e5e17810000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab3", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionIndex": "0x4", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0x514adb", + "gasUsed": "0x4b9692", + "contractAddress": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "logs": [ + { + "address": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ee28471be8d8b497885c45443754d6cd361688ad" + ], + "data": "0x", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "transactionHash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000002000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000020000000000000000000000800000000000020000000200000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionIndex": "0x5", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xa40898", + "gasUsed": "0x52bdbd", + "contractAddress": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "logs": [ + { + "address": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ee28471be8d8b497885c45443754d6cd361688ad" + ], + "data": "0x", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "transactionHash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000020000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000020000000004000000000000800000000000020000000200000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x1e4bdef2c4e4475e4cecb80dfd6fee0f795f1aac6bba124ff7a8c7dc950dc797", + "transactionIndex": "0x6", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xaf327c", + "gasUsed": "0xb29e4", + "contractAddress": "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0xbdb51fee8434876acecf1b919fe7f47e26d835a3d04f0bbd9a33aff4720b0b7c", + "transactionIndex": "0x7", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xda0003", + "gasUsed": "0x2acd87", + "contractAddress": "0xd7F9Ee12b5De2388109C9dD4fAAf39BEfe4C92FB", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x74f7ecc132ad9d016ebda35b6702fc1af0084dd743a6f8945c4c1c5054b00889", + "transactionIndex": "0x8", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xf9bede", + "gasUsed": "0x1fbedb", + "contractAddress": "0x70b59C0ad71b8e7c9B57328bEb7Ad5921b44dB81", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1712692554, + "chain": 11155111, + "commit": "ddcc727" +} \ No newline at end of file diff --git a/broadcast/Deploy.s.sol/11155111/run-latest.json b/broadcast/Deploy.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..58bc1853 --- /dev/null +++ b/broadcast/Deploy.s.sol/11155111/run-latest.json @@ -0,0 +1,237 @@ +{ + "transactions": [ + { + "hash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionType": "CREATE", + "contractName": "JBTiered721Delegate", + "contractAddress": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3", + "0x3732315000000000000000000000000000000000000000000000000000000000", + "0x3732315200000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x623c32", + "value": "0x0", + "data": "0x6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa50577940000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab337323150000000000000000000000000000000000000000000000000000000003732315200000000000000000000000000000000000000000000000000000000", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionType": "CREATE", + "contractName": "JBTiered721GovernanceDelegate", + "contractAddress": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3", + "0x3732315000000000000000000000000000000000000000000000000000000000", + "0x3732315200000000000000000000000000000000000000000000000000000000" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x6b8805", + "value": "0x0", + "data": "0x6101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa50577940000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab337323150000000000000000000000000000000000000000000000000000000003732315200000000000000000000000000000000000000000000000000000000", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1e4bdef2c4e4475e4cecb80dfd6fee0f795f1aac6bba124ff7a8c7dc950dc797", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateDeployer", + "contractAddress": "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "function": null, + "arguments": [ + "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "0x626579469e8D91561EF8FB408D605e14c1448E70", + "0xD75d2EeF7Fe65Bf9f46D7ef0b21EdED98cB0a3A4" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0xe8226", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c634300081700330000000000000000000000006fcb33ad98eb1125cc9706f36fe5f60e619d5edf000000000000000000000000626579469e8d91561ef8fb408d605e14c1448e70000000000000000000000000d75d2eef7fe65bf9f46d7ef0b21eded98cb0a3a4", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbdb51fee8434876acecf1b919fe7f47e26d835a3d04f0bbd9a33aff4720b0b7c", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateStore", + "contractAddress": "0xd7F9Ee12b5De2388109C9dD4fAAf39BEfe4C92FB", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x37a0b9", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b506131c4806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea264697066735822122003ce823ae89534c4ac83520a7551796dcef6da2792c75897200a5361be1b5afb64736f6c63430008170033", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74f7ecc132ad9d016ebda35b6702fc1af0084dd743a6f8945c4c1c5054b00889", + "transactionType": "CREATE", + "contractName": "JBTiered721DelegateProjectDeployer", + "contractAddress": "0x70b59C0ad71b8e7c9B57328bEb7Ad5921b44dB81", + "function": null, + "arguments": [ + "0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794", + "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3" + ], + "transaction": { + "type": "0x02", + "from": "0xee28471be8d8b497885c45443754d6cd361688ad", + "gas": "0x2941cd", + "value": "0x0", + "data": "0x60e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c634300081700330000000000000000000000003b3bd16cc76cd53218e00b600bfca27aa505779400000000000000000000000079c66fcec6b9843eea0c28397609d6da3e5e17810000000000000000000000008f63c744c0280ef4b32af1f821c65e0fd4150ab3", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionIndex": "0x4", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0x514adb", + "gasUsed": "0x4b9692", + "contractAddress": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "logs": [ + { + "address": "0x626579469e8D91561EF8FB408D605e14c1448E70", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ee28471be8d8b497885c45443754d6cd361688ad" + ], + "data": "0x", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "transactionHash": "0x9af9ed05e43e26d8ea43aa74516895a4a69c95932f9fbedda362c27a03bdc2b9", + "transactionIndex": "0x4", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000002000200000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000020000000000000000000000800000000000020000000200000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionIndex": "0x5", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xa40898", + "gasUsed": "0x52bdbd", + "contractAddress": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "logs": [ + { + "address": "0x6fcB33ad98eb1125cC9706F36fE5F60E619D5edf", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ee28471be8d8b497885c45443754d6cd361688ad" + ], + "data": "0x", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "transactionHash": "0x8b7cf0432d190949a8ff12f45737b4d817f6b9186767f4259559652729d2a933", + "transactionIndex": "0x5", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000020000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000020000000004000000000000800000000000020000000200000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x1e4bdef2c4e4475e4cecb80dfd6fee0f795f1aac6bba124ff7a8c7dc950dc797", + "transactionIndex": "0x6", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xaf327c", + "gasUsed": "0xb29e4", + "contractAddress": "0x79c66fCEC6b9843EEa0c28397609d6DA3e5E1781", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0xbdb51fee8434876acecf1b919fe7f47e26d835a3d04f0bbd9a33aff4720b0b7c", + "transactionIndex": "0x7", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xda0003", + "gasUsed": "0x2acd87", + "contractAddress": "0xd7F9Ee12b5De2388109C9dD4fAAf39BEfe4C92FB", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + }, + { + "transactionHash": "0x74f7ecc132ad9d016ebda35b6702fc1af0084dd743a6f8945c4c1c5054b00889", + "transactionIndex": "0x8", + "blockHash": "0x7c1600fc687ee7421be7817f31589b37e9d81e38aeed863cf37c08cf12c5f820", + "blockNumber": "0x566a3b", + "from": "0xeE28471be8D8b497885c45443754d6Cd361688ad", + "to": null, + "cumulativeGasUsed": "0xf9bede", + "gasUsed": "0x1fbedb", + "contractAddress": "0x70b59C0ad71b8e7c9B57328bEb7Ad5921b44dB81", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d94ec6" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1712692554, + "chain": 11155111, + "commit": "ddcc727" +} \ No newline at end of file diff --git a/contracts/scripts/Deploy.s.sol b/contracts/scripts/Deploy.s.sol index 26a69bfb..1b6197f4 100644 --- a/contracts/scripts/Deploy.s.sol +++ b/contracts/scripts/Deploy.s.sol @@ -114,3 +114,53 @@ contract DeployGoerli is Script { console.log("store ", address(store)); } } + +contract DeploySepolia is Script { + IJBDirectory jbDirectory = IJBDirectory(0x3B3Bd16cc76cd53218e00b600bFCa27aA5057794); + IJBOperatorStore jbOperatorStore = IJBOperatorStore(0x8f63C744C0280Ef4b32AF1F821c65E0fd4150ab3); + + bytes4 payMetadataDelegateId = bytes4("721P"); + bytes4 redeemMetadataDelegateId = bytes4("721R"); + + JBTiered721DelegateDeployer delegateDeployer; + JBTiered721DelegateProjectDeployer projectDeployer; + JBTiered721DelegateStore store; + + function run() external { + IJBDelegatesRegistry registry = IJBDelegatesRegistry( + stdJson.readAddress( + vm.readFile( + "node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/11155111/run-latest.json" + ), + ".transactions[0].contractAddress" + ) + ); + + // Make a static call for sanity check + assert(registry.deployerOf(address(0)) == address(0)); + + vm.startBroadcast(); + + JBTiered721Delegate noGovernance = new JBTiered721Delegate(jbDirectory, jbOperatorStore, payMetadataDelegateId, redeemMetadataDelegateId); + JBTiered721GovernanceDelegate onchainGovernance = new JBTiered721GovernanceDelegate( + jbDirectory, + jbOperatorStore, + payMetadataDelegateId, + redeemMetadataDelegateId + ); + + delegateDeployer = new JBTiered721DelegateDeployer(onchainGovernance, noGovernance, registry); + + store = new JBTiered721DelegateStore(); + + projectDeployer = new JBTiered721DelegateProjectDeployer( + jbDirectory, + delegateDeployer, + jbOperatorStore + ); + + console.log("registry ", address(registry)); + console.log("project deployer", address(projectDeployer)); + console.log("store ", address(store)); + } +} \ No newline at end of file diff --git a/out/AccessJBLib.sol/AccessJBLib.json b/out/AccessJBLib.sol/AccessJBLib.json index 397feb5b..b455ebfb 100644 --- a/out/AccessJBLib.sol/AccessJBLib.json +++ b/out/AccessJBLib.sol/AccessJBLib.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"ETHToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"MAX_DISCOUNT_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_FEE_DISCOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_REDEMPTION_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_RESERVED_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"SPLITS_TOTAL_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"USD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c63430008170033","sourceMap":"294:1011:17:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c63430008170033","sourceMap":"294:1011:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:112;471:13:120;1191:112:17;;;160:25:197;;;148:2;133:18;1191:112:17;;;;;;;;414:87;147:1:121;414:87:17;;821:118;242:6:120;821:118:17;;321:87;112:1:121;321:87:17;;507:88;;;226:42:127;342:51:197;;330:2;315:18;507:88:17;196:203:197","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2","ETHToken()":"deda20c2","MAX_DISCOUNT_RATE()":"870bc1fd","MAX_FEE()":"bc063e1a","MAX_FEE_DISCOUNT()":"19a9f941","MAX_REDEMPTION_RATE()":"4bb97042","MAX_RESERVED_RATE()":"5d14fef8","SPLITS_TOTAL_PERCENT()":"d3c4fca9","USD()":"1bf6c21b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETHToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_DISCOUNT_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE_DISCOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REDEMPTION_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_RESERVED_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPLITS_TOTAL_PERCENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/forge-test/utils/AccessJBLib.sol\":\"AccessJBLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/forge-test/utils/AccessJBLib.sol\":{\"keccak256\":\"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20\",\"dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"pure","type":"function","name":"ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"ETHToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_DISCOUNT_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_FEE_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_REDEMPTION_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_RESERVED_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"SPLITS_TOTAL_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"USD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/forge-test/utils/AccessJBLib.sol":"AccessJBLib"},"libraries":{}},"sources":{"contracts/forge-test/utils/AccessJBLib.sol":{"keccak256":"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7","urls":["bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20","dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/forge-test/utils/AccessJBLib.sol","id":24348,"exportedSymbols":{"AccessJBLib":[24347],"JBConstants":[86760],"JBCurrencies":[86769],"JBTokens":[87633]},"nodeType":"SourceUnit","src":"32:1274:17","nodes":[{"id":24262,"nodeType":"PragmaDirective","src":"32:24:17","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":24263,"nodeType":"ImportDirective","src":"58:79:17","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol","nameLocation":"-1:-1:-1","scope":24348,"sourceUnit":86770,"symbolAliases":[],"unitAlias":""},{"id":24264,"nodeType":"ImportDirective","src":"138:78:17","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","nameLocation":"-1:-1:-1","scope":24348,"sourceUnit":86761,"symbolAliases":[],"unitAlias":""},{"id":24265,"nodeType":"ImportDirective","src":"217:75:17","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol","nameLocation":"-1:-1:-1","scope":24348,"sourceUnit":87634,"symbolAliases":[],"unitAlias":""},{"id":24347,"nodeType":"ContractDefinition","src":"294:1011:17","nodes":[{"id":24274,"nodeType":"FunctionDefinition","src":"321:87:17","nodes":[],"body":{"id":24273,"nodeType":"Block","src":"368:40:17","nodes":[],"statements":[{"expression":{"expression":{"id":24270,"name":"JBCurrencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86769,"src":"385:12:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBCurrencies_$86769_$","typeString":"type(library JBCurrencies)"}},"id":24271,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"398:3:17","memberName":"ETH","nodeType":"MemberAccess","referencedDeclaration":86765,"src":"385:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24269,"id":24272,"nodeType":"Return","src":"378:23:17"}]},"functionSelector":"8322fff2","implemented":true,"kind":"function","modifiers":[],"name":"ETH","nameLocation":"330:3:17","parameters":{"id":24266,"nodeType":"ParameterList","parameters":[],"src":"333:2:17"},"returnParameters":{"id":24269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24274,"src":"359:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24267,"name":"uint256","nodeType":"ElementaryTypeName","src":"359:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"358:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24283,"nodeType":"FunctionDefinition","src":"414:87:17","nodes":[],"body":{"id":24282,"nodeType":"Block","src":"461:40:17","nodes":[],"statements":[{"expression":{"expression":{"id":24279,"name":"JBCurrencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86769,"src":"478:12:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBCurrencies_$86769_$","typeString":"type(library JBCurrencies)"}},"id":24280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"491:3:17","memberName":"USD","nodeType":"MemberAccess","referencedDeclaration":86768,"src":"478:16:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24278,"id":24281,"nodeType":"Return","src":"471:23:17"}]},"functionSelector":"1bf6c21b","implemented":true,"kind":"function","modifiers":[],"name":"USD","nameLocation":"423:3:17","parameters":{"id":24275,"nodeType":"ParameterList","parameters":[],"src":"426:2:17"},"returnParameters":{"id":24278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24277,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24283,"src":"452:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24276,"name":"uint256","nodeType":"ElementaryTypeName","src":"452:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"451:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24292,"nodeType":"FunctionDefinition","src":"507:88:17","nodes":[],"body":{"id":24291,"nodeType":"Block","src":"559:36:17","nodes":[],"statements":[{"expression":{"expression":{"id":24288,"name":"JBTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87633,"src":"576:8:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTokens_$87633_$","typeString":"type(library JBTokens)"}},"id":24289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"585:3:17","memberName":"ETH","nodeType":"MemberAccess","referencedDeclaration":87632,"src":"576:12:17","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":24287,"id":24290,"nodeType":"Return","src":"569:19:17"}]},"functionSelector":"deda20c2","implemented":true,"kind":"function","modifiers":[],"name":"ETHToken","nameLocation":"516:8:17","parameters":{"id":24284,"nodeType":"ParameterList","parameters":[],"src":"524:2:17"},"returnParameters":{"id":24287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24286,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24292,"src":"550:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24285,"name":"address","nodeType":"ElementaryTypeName","src":"550:7:17","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"549:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24301,"nodeType":"FunctionDefinition","src":"601:94:17","nodes":[],"body":{"id":24300,"nodeType":"Block","src":"652:43:17","nodes":[],"statements":[{"expression":{"expression":{"id":24297,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"669:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"681:7:17","memberName":"MAX_FEE","nodeType":"MemberAccess","referencedDeclaration":86756,"src":"669:19:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24296,"id":24299,"nodeType":"Return","src":"662:26:17"}]},"functionSelector":"bc063e1a","implemented":true,"kind":"function","modifiers":[],"name":"MAX_FEE","nameLocation":"610:7:17","parameters":{"id":24293,"nodeType":"ParameterList","parameters":[],"src":"617:2:17"},"returnParameters":{"id":24296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24301,"src":"643:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24294,"name":"uint256","nodeType":"ElementaryTypeName","src":"643:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"642:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24310,"nodeType":"FunctionDefinition","src":"701:114:17","nodes":[],"body":{"id":24309,"nodeType":"Block","src":"762:53:17","nodes":[],"statements":[{"expression":{"expression":{"id":24306,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"779:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"791:17:17","memberName":"MAX_RESERVED_RATE","nodeType":"MemberAccess","referencedDeclaration":86744,"src":"779:29:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24305,"id":24308,"nodeType":"Return","src":"772:36:17"}]},"functionSelector":"5d14fef8","implemented":true,"kind":"function","modifiers":[],"name":"MAX_RESERVED_RATE","nameLocation":"710:17:17","parameters":{"id":24302,"nodeType":"ParameterList","parameters":[],"src":"727:2:17"},"returnParameters":{"id":24305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24310,"src":"753:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24303,"name":"uint256","nodeType":"ElementaryTypeName","src":"753:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"752:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24319,"nodeType":"FunctionDefinition","src":"821:118:17","nodes":[],"body":{"id":24318,"nodeType":"Block","src":"884:55:17","nodes":[],"statements":[{"expression":{"expression":{"id":24315,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"901:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"913:19:17","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"901:31:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24314,"id":24317,"nodeType":"Return","src":"894:38:17"}]},"functionSelector":"4bb97042","implemented":true,"kind":"function","modifiers":[],"name":"MAX_REDEMPTION_RATE","nameLocation":"830:19:17","parameters":{"id":24311,"nodeType":"ParameterList","parameters":[],"src":"849:2:17"},"returnParameters":{"id":24314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24319,"src":"875:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24312,"name":"uint256","nodeType":"ElementaryTypeName","src":"875:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"874:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24328,"nodeType":"FunctionDefinition","src":"945:114:17","nodes":[],"body":{"id":24327,"nodeType":"Block","src":"1006:53:17","nodes":[],"statements":[{"expression":{"expression":{"id":24324,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"1023:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1035:17:17","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"1023:29:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24323,"id":24326,"nodeType":"Return","src":"1016:36:17"}]},"functionSelector":"870bc1fd","implemented":true,"kind":"function","modifiers":[],"name":"MAX_DISCOUNT_RATE","nameLocation":"954:17:17","parameters":{"id":24320,"nodeType":"ParameterList","parameters":[],"src":"971:2:17"},"returnParameters":{"id":24323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24328,"src":"997:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24321,"name":"uint256","nodeType":"ElementaryTypeName","src":"997:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"996:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24337,"nodeType":"FunctionDefinition","src":"1065:120:17","nodes":[],"body":{"id":24336,"nodeType":"Block","src":"1129:56:17","nodes":[],"statements":[{"expression":{"expression":{"id":24333,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"1146:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1158:20:17","memberName":"SPLITS_TOTAL_PERCENT","nodeType":"MemberAccess","referencedDeclaration":86753,"src":"1146:32:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24332,"id":24335,"nodeType":"Return","src":"1139:39:17"}]},"functionSelector":"d3c4fca9","implemented":true,"kind":"function","modifiers":[],"name":"SPLITS_TOTAL_PERCENT","nameLocation":"1074:20:17","parameters":{"id":24329,"nodeType":"ParameterList","parameters":[],"src":"1094:2:17"},"returnParameters":{"id":24332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24331,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24337,"src":"1120:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24330,"name":"uint256","nodeType":"ElementaryTypeName","src":"1120:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1119:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":24346,"nodeType":"FunctionDefinition","src":"1191:112:17","nodes":[],"body":{"id":24345,"nodeType":"Block","src":"1251:52:17","nodes":[],"statements":[{"expression":{"expression":{"id":24342,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"1268:11:17","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":24343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1280:16:17","memberName":"MAX_FEE_DISCOUNT","nodeType":"MemberAccess","referencedDeclaration":86759,"src":"1268:28:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":24341,"id":24344,"nodeType":"Return","src":"1261:35:17"}]},"functionSelector":"19a9f941","implemented":true,"kind":"function","modifiers":[],"name":"MAX_FEE_DISCOUNT","nameLocation":"1200:16:17","parameters":{"id":24338,"nodeType":"ParameterList","parameters":[],"src":"1216:2:17"},"returnParameters":{"id":24341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":24340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":24346,"src":"1242:7:17","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24339,"name":"uint256","nodeType":"ElementaryTypeName","src":"1242:7:17","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1241:9:17"},"scope":24347,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"AccessJBLib","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[24347],"name":"AccessJBLib","nameLocation":"303:11:17","scope":24348,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":17} \ No newline at end of file +{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"ETHToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"MAX_DISCOUNT_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_FEE_DISCOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_REDEMPTION_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"MAX_RESERVED_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"SPLITS_TOTAL_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"USD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c63430008170033","sourceMap":"294:1011:17:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c63430008170033","sourceMap":"294:1011:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1191:112;471:13:120;1191:112:17;;;160:25:197;;;148:2;133:18;1191:112:17;;;;;;;;414:87;147:1:121;414:87:17;;821:118;242:6:120;821:118:17;;321:87;112:1:121;321:87:17;;507:88;;;226:42:127;342:51:197;;330:2;315:18;507:88:17;196:203:197","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2","ETHToken()":"deda20c2","MAX_DISCOUNT_RATE()":"870bc1fd","MAX_FEE()":"bc063e1a","MAX_FEE_DISCOUNT()":"19a9f941","MAX_REDEMPTION_RATE()":"4bb97042","MAX_RESERVED_RATE()":"5d14fef8","SPLITS_TOTAL_PERCENT()":"d3c4fca9","USD()":"1bf6c21b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETHToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_DISCOUNT_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE_DISCOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REDEMPTION_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_RESERVED_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPLITS_TOTAL_PERCENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/forge-test/utils/AccessJBLib.sol\":\"AccessJBLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/forge-test/utils/AccessJBLib.sol\":{\"keccak256\":\"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20\",\"dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"pure","type":"function","name":"ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"ETHToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_DISCOUNT_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_FEE_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_REDEMPTION_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"MAX_RESERVED_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"SPLITS_TOTAL_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"USD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/forge-test/utils/AccessJBLib.sol":"AccessJBLib"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/forge-test/utils/AccessJBLib.sol":{"keccak256":"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7","urls":["bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20","dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"}},"version":1},"id":17} \ No newline at end of file diff --git a/out/Address.sol/Address.json b/out/Address.sol/Address.json index 68e7f365..51529481 100644 --- a/out/Address.sol/Address.json +++ b/out/Address.sol/Address.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070c08d656bf833d19ea2a4d99a60306659497576cda7f8bcce9b8b0f54158bde64736f6c63430008170033","sourceMap":"194:9169:179:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:179;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070c08d656bf833d19ea2a4d99a60306659497576cda7f8bcce9b8b0f54158bde64736f6c63430008170033","sourceMap":"194:9169:179:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Address.sol":"Address"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/Address.sol","id":94014,"exportedSymbols":{"Address":[94013]},"nodeType":"SourceUnit","src":"101:9263:179","nodes":[{"id":93685,"nodeType":"PragmaDirective","src":"101:23:179","nodes":[],"literals":["solidity","^","0.8",".1"]},{"id":94013,"nodeType":"ContractDefinition","src":"194:9169:179","nodes":[{"id":93701,"nodeType":"FunctionDefinition","src":"1412:320:179","nodes":[],"body":{"id":93700,"nodeType":"Block","src":"1478:254:179","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":93694,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93689,"src":"1702:7:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1710:4:179","memberName":"code","nodeType":"MemberAccess","src":"1702:12:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":93696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1715:6:179","memberName":"length","nodeType":"MemberAccess","src":"1702:19:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":93697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1724:1:179","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1702:23:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":93693,"id":93699,"nodeType":"Return","src":"1695:30:179"}]},"documentation":{"id":93687,"nodeType":"StructuredDocumentation","src":"216:1191:179","text":" @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n Furthermore, `isContract` will also return true if the target contract within\n the same transaction is already scheduled for destruction by `SELFDESTRUCT`,\n which only has an effect at the end of a transaction.\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ===="},"implemented":true,"kind":"function","modifiers":[],"name":"isContract","nameLocation":"1421:10:179","parameters":{"id":93690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93689,"mutability":"mutable","name":"account","nameLocation":"1440:7:179","nodeType":"VariableDeclaration","scope":93701,"src":"1432:15:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93688,"name":"address","nodeType":"ElementaryTypeName","src":"1432:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1431:17:179"},"returnParameters":{"id":93693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93692,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93701,"src":"1472:4:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93691,"name":"bool","nodeType":"ElementaryTypeName","src":"1472:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1471:6:179"},"scope":94013,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":93735,"nodeType":"FunctionDefinition","src":"2647:312:179","nodes":[],"body":{"id":93734,"nodeType":"Block","src":"2718:241:179","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":93712,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2744:4:179","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$94013","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$94013","typeString":"library Address"}],"id":93711,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2736:7:179","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93710,"name":"address","nodeType":"ElementaryTypeName","src":"2736:7:179","typeDescriptions":{}}},"id":93713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2736:13:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2750:7:179","memberName":"balance","nodeType":"MemberAccess","src":"2736:21:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":93715,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93706,"src":"2761:6:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2736:31:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e6365","id":93717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2769:31:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""},"value":"Address: insufficient balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9","typeString":"literal_string \"Address: insufficient balance\""}],"id":93709,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2728:7:179","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:73:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93719,"nodeType":"ExpressionStatement","src":"2728:73:179"},{"assignments":[93721,null],"declarations":[{"constant":false,"id":93721,"mutability":"mutable","name":"success","nameLocation":"2818:7:179","nodeType":"VariableDeclaration","scope":93734,"src":"2813:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93720,"name":"bool","nodeType":"ElementaryTypeName","src":"2813:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":93728,"initialValue":{"arguments":[{"hexValue":"","id":93726,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2861:2:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"id":93722,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93704,"src":"2831:9:179","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":93723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2841:4:179","memberName":"call","nodeType":"MemberAccess","src":"2831:14:179","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":93725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":93724,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93706,"src":"2853:6:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"2831:29:179","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":93727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2831:33:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2812:52:179"},{"expression":{"arguments":[{"id":93730,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93721,"src":"2882:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564","id":93731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2891:60:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""},"value":"Address: unable to send value, recipient may have reverted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae","typeString":"literal_string \"Address: unable to send value, recipient may have reverted\""}],"id":93729,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2874:7:179","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2874:78:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93733,"nodeType":"ExpressionStatement","src":"2874:78:179"}]},"documentation":{"id":93702,"nodeType":"StructuredDocumentation","src":"1738:904:179","text":" @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.0/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]."},"implemented":true,"kind":"function","modifiers":[],"name":"sendValue","nameLocation":"2656:9:179","parameters":{"id":93707,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93704,"mutability":"mutable","name":"recipient","nameLocation":"2682:9:179","nodeType":"VariableDeclaration","scope":93735,"src":"2666:25:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":93703,"name":"address","nodeType":"ElementaryTypeName","src":"2666:15:179","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":93706,"mutability":"mutable","name":"amount","nameLocation":"2701:6:179","nodeType":"VariableDeclaration","scope":93735,"src":"2693:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93705,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2665:43:179"},"returnParameters":{"id":93708,"nodeType":"ParameterList","parameters":[],"src":"2718:0:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93753,"nodeType":"FunctionDefinition","src":"3701:185:179","nodes":[],"body":{"id":93752,"nodeType":"Block","src":"3790:96:179","nodes":[],"statements":[{"expression":{"arguments":[{"id":93746,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93738,"src":"3829:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93747,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93740,"src":"3837:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":93748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3843:1:179","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564","id":93749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:32:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""},"value":"Address: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df","typeString":"literal_string \"Address: low-level call failed\""}],"id":93745,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[93793,93837],"referencedDeclaration":93837,"src":"3807:21:179","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":93750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3807:72:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93744,"id":93751,"nodeType":"Return","src":"3800:79:179"}]},"documentation":{"id":93736,"nodeType":"StructuredDocumentation","src":"2965:731:179","text":" @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"3710:12:179","parameters":{"id":93741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93738,"mutability":"mutable","name":"target","nameLocation":"3731:6:179","nodeType":"VariableDeclaration","scope":93753,"src":"3723:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93737,"name":"address","nodeType":"ElementaryTypeName","src":"3723:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93740,"mutability":"mutable","name":"data","nameLocation":"3752:4:179","nodeType":"VariableDeclaration","scope":93753,"src":"3739:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93739,"name":"bytes","nodeType":"ElementaryTypeName","src":"3739:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3722:35:179"},"returnParameters":{"id":93744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93743,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93753,"src":"3776:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93742,"name":"bytes","nodeType":"ElementaryTypeName","src":"3776:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3775:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93773,"nodeType":"FunctionDefinition","src":"4108:223:179","nodes":[],"body":{"id":93772,"nodeType":"Block","src":"4255:76:179","nodes":[],"statements":[{"expression":{"arguments":[{"id":93766,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93756,"src":"4294:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93767,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93758,"src":"4302:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"30","id":93768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4308:1:179","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":93769,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93760,"src":"4311:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93765,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[93793,93837],"referencedDeclaration":93837,"src":"4272:21:179","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":93770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:52:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93764,"id":93771,"nodeType":"Return","src":"4265:59:179"}]},"documentation":{"id":93754,"nodeType":"StructuredDocumentation","src":"3892:211:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionCall","nameLocation":"4117:12:179","parameters":{"id":93761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93756,"mutability":"mutable","name":"target","nameLocation":"4147:6:179","nodeType":"VariableDeclaration","scope":93773,"src":"4139:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93755,"name":"address","nodeType":"ElementaryTypeName","src":"4139:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93758,"mutability":"mutable","name":"data","nameLocation":"4176:4:179","nodeType":"VariableDeclaration","scope":93773,"src":"4163:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93757,"name":"bytes","nodeType":"ElementaryTypeName","src":"4163:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93760,"mutability":"mutable","name":"errorMessage","nameLocation":"4204:12:179","nodeType":"VariableDeclaration","scope":93773,"src":"4190:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93759,"name":"string","nodeType":"ElementaryTypeName","src":"4190:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4129:93:179"},"returnParameters":{"id":93764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93763,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93773,"src":"4241:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93762,"name":"bytes","nodeType":"ElementaryTypeName","src":"4241:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4240:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93793,"nodeType":"FunctionDefinition","src":"4693:224:179","nodes":[],"body":{"id":93792,"nodeType":"Block","src":"4806:111:179","nodes":[],"statements":[{"expression":{"arguments":[{"id":93786,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93776,"src":"4845:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93787,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93778,"src":"4853:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93788,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93780,"src":"4859:5:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564","id":93789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4866:43:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""},"value":"Address: low-level call with value failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc","typeString":"literal_string \"Address: low-level call with value failed\""}],"id":93785,"name":"functionCallWithValue","nodeType":"Identifier","overloadedDeclarations":[93793,93837],"referencedDeclaration":93837,"src":"4823:21:179","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,uint256,string memory) returns (bytes memory)"}},"id":93790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4823:87:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93784,"id":93791,"nodeType":"Return","src":"4816:94:179"}]},"documentation":{"id":93774,"nodeType":"StructuredDocumentation","src":"4337:351:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"4702:21:179","parameters":{"id":93781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93776,"mutability":"mutable","name":"target","nameLocation":"4732:6:179","nodeType":"VariableDeclaration","scope":93793,"src":"4724:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93775,"name":"address","nodeType":"ElementaryTypeName","src":"4724:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93778,"mutability":"mutable","name":"data","nameLocation":"4753:4:179","nodeType":"VariableDeclaration","scope":93793,"src":"4740:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93777,"name":"bytes","nodeType":"ElementaryTypeName","src":"4740:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93780,"mutability":"mutable","name":"value","nameLocation":"4767:5:179","nodeType":"VariableDeclaration","scope":93793,"src":"4759:13:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93779,"name":"uint256","nodeType":"ElementaryTypeName","src":"4759:7:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4723:50:179"},"returnParameters":{"id":93784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93793,"src":"4792:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93782,"name":"bytes","nodeType":"ElementaryTypeName","src":"4792:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4791:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93837,"nodeType":"FunctionDefinition","src":"5165:446:179","nodes":[],"body":{"id":93836,"nodeType":"Block","src":"5344:267:179","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":93810,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5370:4:179","typeDescriptions":{"typeIdentifier":"t_contract$_Address_$94013","typeString":"library Address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_Address_$94013","typeString":"library Address"}],"id":93809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5362:7:179","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93808,"name":"address","nodeType":"ElementaryTypeName","src":"5362:7:179","typeDescriptions":{}}},"id":93811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5362:13:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5376:7:179","memberName":"balance","nodeType":"MemberAccess","src":"5362:21:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":93813,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93800,"src":"5387:5:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5362:30:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c","id":93815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5394:40:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""},"value":"Address: insufficient balance for call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c","typeString":"literal_string \"Address: insufficient balance for call\""}],"id":93807,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5354:7:179","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5354:81:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93817,"nodeType":"ExpressionStatement","src":"5354:81:179"},{"assignments":[93819,93821],"declarations":[{"constant":false,"id":93819,"mutability":"mutable","name":"success","nameLocation":"5451:7:179","nodeType":"VariableDeclaration","scope":93836,"src":"5446:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93818,"name":"bool","nodeType":"ElementaryTypeName","src":"5446:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93821,"mutability":"mutable","name":"returndata","nameLocation":"5473:10:179","nodeType":"VariableDeclaration","scope":93836,"src":"5460:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93820,"name":"bytes","nodeType":"ElementaryTypeName","src":"5460:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":93828,"initialValue":{"arguments":[{"id":93826,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93798,"src":"5513:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":93822,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93796,"src":"5487:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5494:4:179","memberName":"call","nodeType":"MemberAccess","src":"5487:11:179","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":93825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":93824,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93800,"src":"5506:5:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"5487:25:179","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":93827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5487:31:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5445:73:179"},{"expression":{"arguments":[{"id":93830,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93796,"src":"5562:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93831,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93819,"src":"5570:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":93832,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93821,"src":"5579:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93833,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93802,"src":"5591:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93829,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93968,"src":"5535:26:179","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":93834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5535:69:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93806,"id":93835,"nodeType":"Return","src":"5528:76:179"}]},"documentation":{"id":93794,"nodeType":"StructuredDocumentation","src":"4923:237:179","text":" @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionCallWithValue","nameLocation":"5174:21:179","parameters":{"id":93803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93796,"mutability":"mutable","name":"target","nameLocation":"5213:6:179","nodeType":"VariableDeclaration","scope":93837,"src":"5205:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93795,"name":"address","nodeType":"ElementaryTypeName","src":"5205:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93798,"mutability":"mutable","name":"data","nameLocation":"5242:4:179","nodeType":"VariableDeclaration","scope":93837,"src":"5229:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93797,"name":"bytes","nodeType":"ElementaryTypeName","src":"5229:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93800,"mutability":"mutable","name":"value","nameLocation":"5264:5:179","nodeType":"VariableDeclaration","scope":93837,"src":"5256:13:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93799,"name":"uint256","nodeType":"ElementaryTypeName","src":"5256:7:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93802,"mutability":"mutable","name":"errorMessage","nameLocation":"5293:12:179","nodeType":"VariableDeclaration","scope":93837,"src":"5279:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93801,"name":"string","nodeType":"ElementaryTypeName","src":"5279:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5195:116:179"},"returnParameters":{"id":93806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93805,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93837,"src":"5330:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93804,"name":"bytes","nodeType":"ElementaryTypeName","src":"5330:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5329:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93854,"nodeType":"FunctionDefinition","src":"5788:197:179","nodes":[],"body":{"id":93853,"nodeType":"Block","src":"5888:97:179","nodes":[],"statements":[{"expression":{"arguments":[{"id":93848,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93840,"src":"5924:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93849,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93842,"src":"5932:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564","id":93850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5938:39:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""},"value":"Address: low-level static call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0","typeString":"literal_string \"Address: low-level static call failed\""}],"id":93847,"name":"functionStaticCall","nodeType":"Identifier","overloadedDeclarations":[93854,93883],"referencedDeclaration":93883,"src":"5905:18:179","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) view returns (bytes memory)"}},"id":93851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5905:73:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93846,"id":93852,"nodeType":"Return","src":"5898:80:179"}]},"documentation":{"id":93838,"nodeType":"StructuredDocumentation","src":"5617:166:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"5797:18:179","parameters":{"id":93843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93840,"mutability":"mutable","name":"target","nameLocation":"5824:6:179","nodeType":"VariableDeclaration","scope":93854,"src":"5816:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93839,"name":"address","nodeType":"ElementaryTypeName","src":"5816:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93842,"mutability":"mutable","name":"data","nameLocation":"5845:4:179","nodeType":"VariableDeclaration","scope":93854,"src":"5832:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93841,"name":"bytes","nodeType":"ElementaryTypeName","src":"5832:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5815:35:179"},"returnParameters":{"id":93846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93854,"src":"5874:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93844,"name":"bytes","nodeType":"ElementaryTypeName","src":"5874:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5873:14:179"},"scope":94013,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":93883,"nodeType":"FunctionDefinition","src":"6169:326:179","nodes":[],"body":{"id":93882,"nodeType":"Block","src":"6327:168:179","nodes":[],"statements":[{"assignments":[93867,93869],"declarations":[{"constant":false,"id":93867,"mutability":"mutable","name":"success","nameLocation":"6343:7:179","nodeType":"VariableDeclaration","scope":93882,"src":"6338:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93866,"name":"bool","nodeType":"ElementaryTypeName","src":"6338:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93869,"mutability":"mutable","name":"returndata","nameLocation":"6365:10:179","nodeType":"VariableDeclaration","scope":93882,"src":"6352:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93868,"name":"bytes","nodeType":"ElementaryTypeName","src":"6352:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":93874,"initialValue":{"arguments":[{"id":93872,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93859,"src":"6397:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":93870,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93857,"src":"6379:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6386:10:179","memberName":"staticcall","nodeType":"MemberAccess","src":"6379:17:179","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":93873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6379:23:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6337:65:179"},{"expression":{"arguments":[{"id":93876,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93857,"src":"6446:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93877,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93867,"src":"6454:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":93878,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93869,"src":"6463:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93879,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93861,"src":"6475:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93875,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93968,"src":"6419:26:179","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":93880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6419:69:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93865,"id":93881,"nodeType":"Return","src":"6412:76:179"}]},"documentation":{"id":93855,"nodeType":"StructuredDocumentation","src":"5991:173:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionStaticCall","nameLocation":"6178:18:179","parameters":{"id":93862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93857,"mutability":"mutable","name":"target","nameLocation":"6214:6:179","nodeType":"VariableDeclaration","scope":93883,"src":"6206:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93856,"name":"address","nodeType":"ElementaryTypeName","src":"6206:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93859,"mutability":"mutable","name":"data","nameLocation":"6243:4:179","nodeType":"VariableDeclaration","scope":93883,"src":"6230:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93858,"name":"bytes","nodeType":"ElementaryTypeName","src":"6230:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93861,"mutability":"mutable","name":"errorMessage","nameLocation":"6271:12:179","nodeType":"VariableDeclaration","scope":93883,"src":"6257:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93860,"name":"string","nodeType":"ElementaryTypeName","src":"6257:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6196:93:179"},"returnParameters":{"id":93865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93864,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93883,"src":"6313:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93863,"name":"bytes","nodeType":"ElementaryTypeName","src":"6313:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6312:14:179"},"scope":94013,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":93900,"nodeType":"FunctionDefinition","src":"6674:198:179","nodes":[],"body":{"id":93899,"nodeType":"Block","src":"6771:101:179","nodes":[],"statements":[{"expression":{"arguments":[{"id":93894,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93886,"src":"6809:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93895,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93888,"src":"6817:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564","id":93896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6823:41:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""},"value":"Address: low-level delegate call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398","typeString":"literal_string \"Address: low-level delegate call failed\""}],"id":93893,"name":"functionDelegateCall","nodeType":"Identifier","overloadedDeclarations":[93900,93929],"referencedDeclaration":93929,"src":"6788:20:179","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":93897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6788:77:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93892,"id":93898,"nodeType":"Return","src":"6781:84:179"}]},"documentation":{"id":93884,"nodeType":"StructuredDocumentation","src":"6501:168:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"6683:20:179","parameters":{"id":93889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93886,"mutability":"mutable","name":"target","nameLocation":"6712:6:179","nodeType":"VariableDeclaration","scope":93900,"src":"6704:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93885,"name":"address","nodeType":"ElementaryTypeName","src":"6704:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93888,"mutability":"mutable","name":"data","nameLocation":"6733:4:179","nodeType":"VariableDeclaration","scope":93900,"src":"6720:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93887,"name":"bytes","nodeType":"ElementaryTypeName","src":"6720:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6703:35:179"},"returnParameters":{"id":93892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93891,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93900,"src":"6757:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93890,"name":"bytes","nodeType":"ElementaryTypeName","src":"6757:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6756:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93929,"nodeType":"FunctionDefinition","src":"7058:325:179","nodes":[],"body":{"id":93928,"nodeType":"Block","src":"7213:170:179","nodes":[],"statements":[{"assignments":[93913,93915],"declarations":[{"constant":false,"id":93913,"mutability":"mutable","name":"success","nameLocation":"7229:7:179","nodeType":"VariableDeclaration","scope":93928,"src":"7224:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93912,"name":"bool","nodeType":"ElementaryTypeName","src":"7224:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93915,"mutability":"mutable","name":"returndata","nameLocation":"7251:10:179","nodeType":"VariableDeclaration","scope":93928,"src":"7238:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93914,"name":"bytes","nodeType":"ElementaryTypeName","src":"7238:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":93920,"initialValue":{"arguments":[{"id":93918,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93905,"src":"7285:4:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":93916,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93903,"src":"7265:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7272:12:179","memberName":"delegatecall","nodeType":"MemberAccess","src":"7265:19:179","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":93919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7265:25:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"7223:67:179"},{"expression":{"arguments":[{"id":93922,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93903,"src":"7334:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93923,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93913,"src":"7342:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":93924,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93915,"src":"7351:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93925,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93907,"src":"7363:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93921,"name":"verifyCallResultFromTarget","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93968,"src":"7307:26:179","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (address,bool,bytes memory,string memory) view returns (bytes memory)"}},"id":93926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7307:69:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93911,"id":93927,"nodeType":"Return","src":"7300:76:179"}]},"documentation":{"id":93901,"nodeType":"StructuredDocumentation","src":"6878:175:179","text":" @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._"},"implemented":true,"kind":"function","modifiers":[],"name":"functionDelegateCall","nameLocation":"7067:20:179","parameters":{"id":93908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93903,"mutability":"mutable","name":"target","nameLocation":"7105:6:179","nodeType":"VariableDeclaration","scope":93929,"src":"7097:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93902,"name":"address","nodeType":"ElementaryTypeName","src":"7097:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93905,"mutability":"mutable","name":"data","nameLocation":"7134:4:179","nodeType":"VariableDeclaration","scope":93929,"src":"7121:17:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93904,"name":"bytes","nodeType":"ElementaryTypeName","src":"7121:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93907,"mutability":"mutable","name":"errorMessage","nameLocation":"7162:12:179","nodeType":"VariableDeclaration","scope":93929,"src":"7148:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93906,"name":"string","nodeType":"ElementaryTypeName","src":"7148:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7087:93:179"},"returnParameters":{"id":93911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93910,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93929,"src":"7199:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93909,"name":"bytes","nodeType":"ElementaryTypeName","src":"7199:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7198:14:179"},"scope":94013,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":93968,"nodeType":"FunctionDefinition","src":"7671:628:179","nodes":[],"body":{"id":93967,"nodeType":"Block","src":"7865:434:179","nodes":[],"statements":[{"condition":{"id":93943,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93934,"src":"7879:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":93965,"nodeType":"Block","src":"8235:58:179","statements":[{"expression":{"arguments":[{"id":93961,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93936,"src":"8257:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93962,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93938,"src":"8269:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93960,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94012,"src":"8249:7:179","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":93963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8249:33:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93964,"nodeType":"ExpressionStatement","src":"8249:33:179"}]},"id":93966,"nodeType":"IfStatement","src":"7875:418:179","trueBody":{"id":93959,"nodeType":"Block","src":"7888:341:179","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":93944,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93936,"src":"7906:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":93945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7917:6:179","memberName":"length","nodeType":"MemberAccess","src":"7906:17:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":93946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7927:1:179","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7906:22:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93956,"nodeType":"IfStatement","src":"7902:286:179","trueBody":{"id":93955,"nodeType":"Block","src":"7930:258:179","statements":[{"expression":{"arguments":[{"arguments":[{"id":93950,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93932,"src":"8132:6:179","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93949,"name":"isContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93701,"src":"8121:10:179","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":93951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8121:18:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374","id":93952,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8141:31:179","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""},"value":"Address: call to non-contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad","typeString":"literal_string \"Address: call to non-contract\""}],"id":93948,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8113:7:179","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8113:60:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93954,"nodeType":"ExpressionStatement","src":"8113:60:179"}]}},{"expression":{"id":93957,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93936,"src":"8208:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93942,"id":93958,"nodeType":"Return","src":"8201:17:179"}]}}]},"documentation":{"id":93930,"nodeType":"StructuredDocumentation","src":"7389:277:179","text":" @dev Tool to verify that a low level call to smart-contract was successful, and revert (either by bubbling\n the revert reason or using the provided one) in case of unsuccessful call or if target was not a contract.\n _Available since v4.8._"},"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResultFromTarget","nameLocation":"7680:26:179","parameters":{"id":93939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93932,"mutability":"mutable","name":"target","nameLocation":"7724:6:179","nodeType":"VariableDeclaration","scope":93968,"src":"7716:14:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93931,"name":"address","nodeType":"ElementaryTypeName","src":"7716:7:179","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93934,"mutability":"mutable","name":"success","nameLocation":"7745:7:179","nodeType":"VariableDeclaration","scope":93968,"src":"7740:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93933,"name":"bool","nodeType":"ElementaryTypeName","src":"7740:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93936,"mutability":"mutable","name":"returndata","nameLocation":"7775:10:179","nodeType":"VariableDeclaration","scope":93968,"src":"7762:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93935,"name":"bytes","nodeType":"ElementaryTypeName","src":"7762:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93938,"mutability":"mutable","name":"errorMessage","nameLocation":"7809:12:179","nodeType":"VariableDeclaration","scope":93968,"src":"7795:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93937,"name":"string","nodeType":"ElementaryTypeName","src":"7795:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7706:121:179"},"returnParameters":{"id":93942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93941,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93968,"src":"7851:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93940,"name":"bytes","nodeType":"ElementaryTypeName","src":"7851:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7850:14:179"},"scope":94013,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":93992,"nodeType":"FunctionDefinition","src":"8520:295:179","nodes":[],"body":{"id":93991,"nodeType":"Block","src":"8680:135:179","nodes":[],"statements":[{"condition":{"id":93980,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93971,"src":"8694:7:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":93989,"nodeType":"Block","src":"8751:58:179","statements":[{"expression":{"arguments":[{"id":93985,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93973,"src":"8773:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":93986,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93975,"src":"8785:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":93984,"name":"_revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94012,"src":"8765:7:179","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes memory,string memory) pure"}},"id":93987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8765:33:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93988,"nodeType":"ExpressionStatement","src":"8765:33:179"}]},"id":93990,"nodeType":"IfStatement","src":"8690:119:179","trueBody":{"id":93983,"nodeType":"Block","src":"8703:42:179","statements":[{"expression":{"id":93981,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93973,"src":"8724:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":93979,"id":93982,"nodeType":"Return","src":"8717:17:179"}]}}]},"documentation":{"id":93969,"nodeType":"StructuredDocumentation","src":"8305:210:179","text":" @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason or using the provided one.\n _Available since v4.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"verifyCallResult","nameLocation":"8529:16:179","parameters":{"id":93976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93971,"mutability":"mutable","name":"success","nameLocation":"8560:7:179","nodeType":"VariableDeclaration","scope":93992,"src":"8555:12:179","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93970,"name":"bool","nodeType":"ElementaryTypeName","src":"8555:4:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":93973,"mutability":"mutable","name":"returndata","nameLocation":"8590:10:179","nodeType":"VariableDeclaration","scope":93992,"src":"8577:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93972,"name":"bytes","nodeType":"ElementaryTypeName","src":"8577:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93975,"mutability":"mutable","name":"errorMessage","nameLocation":"8624:12:179","nodeType":"VariableDeclaration","scope":93992,"src":"8610:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93974,"name":"string","nodeType":"ElementaryTypeName","src":"8610:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8545:97:179"},"returnParameters":{"id":93979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93992,"src":"8666:12:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93977,"name":"bytes","nodeType":"ElementaryTypeName","src":"8666:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8665:14:179"},"scope":94013,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":94012,"nodeType":"FunctionDefinition","src":"8821:540:179","nodes":[],"body":{"id":94011,"nodeType":"Block","src":"8904:457:179","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":93999,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93994,"src":"8980:10:179","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":94000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8991:6:179","memberName":"length","nodeType":"MemberAccess","src":"8980:17:179","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":94001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9000:1:179","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8980:21:179","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94009,"nodeType":"Block","src":"9310:45:179","statements":[{"expression":{"arguments":[{"id":94006,"name":"errorMessage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93996,"src":"9331:12:179","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":94005,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"9324:6:179","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":94007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9324:20:179","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94008,"nodeType":"ExpressionStatement","src":"9324:20:179"}]},"id":94010,"nodeType":"IfStatement","src":"8976:379:179","trueBody":{"id":94004,"nodeType":"Block","src":"9003:301:179","statements":[{"AST":{"nativeSrc":"9161:133:179","nodeType":"YulBlock","src":"9161:133:179","statements":[{"nativeSrc":"9179:40:179","nodeType":"YulVariableDeclaration","src":"9179:40:179","value":{"arguments":[{"name":"returndata","nativeSrc":"9208:10:179","nodeType":"YulIdentifier","src":"9208:10:179"}],"functionName":{"name":"mload","nativeSrc":"9202:5:179","nodeType":"YulIdentifier","src":"9202:5:179"},"nativeSrc":"9202:17:179","nodeType":"YulFunctionCall","src":"9202:17:179"},"variables":[{"name":"returndata_size","nativeSrc":"9183:15:179","nodeType":"YulTypedName","src":"9183:15:179","type":""}]},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"9247:2:179","nodeType":"YulLiteral","src":"9247:2:179","type":"","value":"32"},{"name":"returndata","nativeSrc":"9251:10:179","nodeType":"YulIdentifier","src":"9251:10:179"}],"functionName":{"name":"add","nativeSrc":"9243:3:179","nodeType":"YulIdentifier","src":"9243:3:179"},"nativeSrc":"9243:19:179","nodeType":"YulFunctionCall","src":"9243:19:179"},{"name":"returndata_size","nativeSrc":"9264:15:179","nodeType":"YulIdentifier","src":"9264:15:179"}],"functionName":{"name":"revert","nativeSrc":"9236:6:179","nodeType":"YulIdentifier","src":"9236:6:179"},"nativeSrc":"9236:44:179","nodeType":"YulFunctionCall","src":"9236:44:179"},"nativeSrc":"9236:44:179","nodeType":"YulExpressionStatement","src":"9236:44:179"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":93994,"isOffset":false,"isSlot":false,"src":"9208:10:179","valueSize":1},{"declaration":93994,"isOffset":false,"isSlot":false,"src":"9251:10:179","valueSize":1}],"id":94003,"nodeType":"InlineAssembly","src":"9152:142:179"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_revert","nameLocation":"8830:7:179","parameters":{"id":93997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93994,"mutability":"mutable","name":"returndata","nameLocation":"8851:10:179","nodeType":"VariableDeclaration","scope":94012,"src":"8838:23:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93993,"name":"bytes","nodeType":"ElementaryTypeName","src":"8838:5:179","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":93996,"mutability":"mutable","name":"errorMessage","nameLocation":"8877:12:179","nodeType":"VariableDeclaration","scope":94012,"src":"8863:26:179","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93995,"name":"string","nodeType":"ElementaryTypeName","src":"8863:6:179","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8837:53:179"},"returnParameters":{"id":93998,"nodeType":"ParameterList","parameters":[],"src":"8904:0:179"},"scope":94013,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Address","contractDependencies":[],"contractKind":"library","documentation":{"id":93686,"nodeType":"StructuredDocumentation","src":"126:67:179","text":" @dev Collection of functions related to the address type"},"fullyImplemented":true,"linearizedBaseContracts":[94013],"name":"Address","nameLocation":"202:7:179","scope":94014,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":179} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070c08d656bf833d19ea2a4d99a60306659497576cda7f8bcce9b8b0f54158bde64736f6c63430008170033","sourceMap":"194:9169:179:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:9169:179;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122070c08d656bf833d19ea2a4d99a60306659497576cda7f8bcce9b8b0f54158bde64736f6c63430008170033","sourceMap":"194:9169:179:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Address.sol":"Address"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":179} \ No newline at end of file diff --git a/out/Checkpoints.sol/Checkpoints.json b/out/Checkpoints.sol/Checkpoints.json index e3a7ef52..56dad308 100644 --- a/out/Checkpoints.sol/Checkpoints.json +++ b/out/Checkpoints.sol/Checkpoints.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220849c93553e85f8f457cf29afe09be78fb99df29a435291f60a8d62bf000e082464736f6c63430008170033","sourceMap":"708:19732:180:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;708:19732:180;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220849c93553e85f8f457cf29afe09be78fb99df29a435291f60a8d62bf000e082464736f6c63430008170033","sourceMap":"708:19732:180:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This library defines the `History` struct, for checkpointing values as they change at different points in time, and later looking up past values by block number. See {Votes} as an example. To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new checkpoint for the current transaction block using the {push} function. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":\"Checkpoints\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":"Checkpoints"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol","id":95555,"exportedSymbols":{"Checkpoints":[95554],"Math":[97871],"SafeCast":[99412]},"nodeType":"SourceUnit","src":"193:20248:180","nodes":[{"id":94015,"nodeType":"PragmaDirective","src":"193:23:180","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":94016,"nodeType":"ImportDirective","src":"218:25:180","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":95555,"sourceUnit":97872,"symbolAliases":[],"unitAlias":""},{"id":94017,"nodeType":"ImportDirective","src":"244:29:180","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"./math/SafeCast.sol","nameLocation":"-1:-1:-1","scope":95555,"sourceUnit":99413,"symbolAliases":[],"unitAlias":""},{"id":95554,"nodeType":"ContractDefinition","src":"708:19732:180","nodes":[{"id":94023,"nodeType":"StructDefinition","src":"734:57:180","nodes":[],"canonicalName":"Checkpoints.History","members":[{"constant":false,"id":94022,"mutability":"mutable","name":"_checkpoints","nameLocation":"772:12:180","nodeType":"VariableDeclaration","scope":94023,"src":"759:25:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":94020,"nodeType":"UserDefinedTypeName","pathNode":{"id":94019,"name":"Checkpoint","nameLocations":["759:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"759:10:180"},"referencedDeclaration":94028,"src":"759:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":94021,"nodeType":"ArrayTypeName","src":"759:12:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"}],"name":"History","nameLocation":"741:7:180","scope":95554,"visibility":"public"},{"id":94028,"nodeType":"StructDefinition","src":"797:78:180","nodes":[],"canonicalName":"Checkpoints.Checkpoint","members":[{"constant":false,"id":94025,"mutability":"mutable","name":"_blockNumber","nameLocation":"832:12:180","nodeType":"VariableDeclaration","scope":94028,"src":"825:19:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94024,"name":"uint32","nodeType":"ElementaryTypeName","src":"825:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94027,"mutability":"mutable","name":"_value","nameLocation":"862:6:180","nodeType":"VariableDeclaration","scope":94028,"src":"854:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94026,"name":"uint224","nodeType":"ElementaryTypeName","src":"854:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint","nameLocation":"804:10:180","scope":95554,"visibility":"public"},{"id":94085,"nodeType":"FunctionDefinition","src":"1222:439:180","nodes":[],"body":{"id":94084,"nodeType":"Block","src":"1317:344:180","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94040,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94034,"src":"1335:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":94041,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1349:5:180","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":94042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1355:6:180","memberName":"number","nodeType":"MemberAccess","src":"1349:12:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1335:26:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e6564","id":94044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1363:34:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""},"value":"Checkpoints: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""}],"id":94039,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1327:7:180","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":94045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1327:71:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94046,"nodeType":"ExpressionStatement","src":"1327:71:180"},{"assignments":[94048],"declarations":[{"constant":false,"id":94048,"mutability":"mutable","name":"key","nameLocation":"1415:3:180","nodeType":"VariableDeclaration","scope":94084,"src":"1408:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94047,"name":"uint32","nodeType":"ElementaryTypeName","src":"1408:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":94053,"initialValue":{"arguments":[{"id":94051,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94034,"src":"1439:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94049,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"1421:8:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":94050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1430:8:180","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"1421:17:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":94052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1421:30:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"1408:43:180"},{"assignments":[94055],"declarations":[{"constant":false,"id":94055,"mutability":"mutable","name":"len","nameLocation":"1470:3:180","nodeType":"VariableDeclaration","scope":94084,"src":"1462:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94054,"name":"uint256","nodeType":"ElementaryTypeName","src":"1462:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94059,"initialValue":{"expression":{"expression":{"id":94056,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94032,"src":"1476:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1481:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"1476:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":94058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1494:6:180","memberName":"length","nodeType":"MemberAccess","src":"1476:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1462:38:180"},{"assignments":[94061],"declarations":[{"constant":false,"id":94061,"mutability":"mutable","name":"pos","nameLocation":"1518:3:180","nodeType":"VariableDeclaration","scope":94084,"src":"1510:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94060,"name":"uint256","nodeType":"ElementaryTypeName","src":"1510:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94069,"initialValue":{"arguments":[{"expression":{"id":94063,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94032,"src":"1543:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1548:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"1543:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":94065,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94048,"src":"1562:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":94066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1567:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":94067,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94055,"src":"1570:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94062,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":94482,"src":"1524:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":94068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1524:50:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1510:64:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94070,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94061,"src":"1591:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1598:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1591:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94075,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94032,"src":"1620:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1625:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"1620:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94077,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94061,"src":"1639:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1645:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1639:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94074,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"1606:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1606:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1648:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"1606:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1591:63:180","trueExpression":{"hexValue":"30","id":94073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1602:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94038,"id":94083,"nodeType":"Return","src":"1584:70:180"}]},"documentation":{"id":94029,"nodeType":"StructuredDocumentation","src":"881:336:180","text":" @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n before it is returned, or zero otherwise. Because the number returned corresponds to that at the end of the\n block, the requested block number must be in the past, excluding the current block."},"implemented":true,"kind":"function","modifiers":[],"name":"getAtBlock","nameLocation":"1231:10:180","parameters":{"id":94035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94032,"mutability":"mutable","name":"self","nameLocation":"1258:4:180","nodeType":"VariableDeclaration","scope":94085,"src":"1242:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94031,"nodeType":"UserDefinedTypeName","pathNode":{"id":94030,"name":"History","nameLocations":["1242:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"1242:7:180"},"referencedDeclaration":94023,"src":"1242:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":94034,"mutability":"mutable","name":"blockNumber","nameLocation":"1272:11:180","nodeType":"VariableDeclaration","scope":94085,"src":"1264:19:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94033,"name":"uint256","nodeType":"ElementaryTypeName","src":"1264:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1241:43:180"},"returnParameters":{"id":94038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94085,"src":"1308:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94036,"name":"uint256","nodeType":"ElementaryTypeName","src":"1308:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1307:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94185,"nodeType":"FunctionDefinition","src":"2058:764:180","nodes":[],"body":{"id":94184,"nodeType":"Block","src":"2167:655:180","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94097,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94091,"src":"2185:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":94098,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2199:5:180","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":94099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2205:6:180","memberName":"number","nodeType":"MemberAccess","src":"2199:12:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2185:26:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e6564","id":94101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2213:34:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""},"value":"Checkpoints: block not yet mined"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_65bd29ebd873d82da6b3634513fc6582859c8e00f2a09cb4bdbeddf7d05eb5be","typeString":"literal_string \"Checkpoints: block not yet mined\""}],"id":94096,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2177:7:180","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":94102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2177:71:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94103,"nodeType":"ExpressionStatement","src":"2177:71:180"},{"assignments":[94105],"declarations":[{"constant":false,"id":94105,"mutability":"mutable","name":"key","nameLocation":"2265:3:180","nodeType":"VariableDeclaration","scope":94184,"src":"2258:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94104,"name":"uint32","nodeType":"ElementaryTypeName","src":"2258:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"id":94110,"initialValue":{"arguments":[{"id":94108,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94091,"src":"2289:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94106,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"2271:8:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":94107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2280:8:180","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"2271:17:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":94109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2271:30:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"VariableDeclarationStatement","src":"2258:43:180"},{"assignments":[94112],"declarations":[{"constant":false,"id":94112,"mutability":"mutable","name":"len","nameLocation":"2320:3:180","nodeType":"VariableDeclaration","scope":94184,"src":"2312:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94111,"name":"uint256","nodeType":"ElementaryTypeName","src":"2312:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94116,"initialValue":{"expression":{"expression":{"id":94113,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94089,"src":"2326:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2331:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"2326:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":94115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2344:6:180","memberName":"length","nodeType":"MemberAccess","src":"2326:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2312:38:180"},{"assignments":[94118],"declarations":[{"constant":false,"id":94118,"mutability":"mutable","name":"low","nameLocation":"2369:3:180","nodeType":"VariableDeclaration","scope":94184,"src":"2361:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94117,"name":"uint256","nodeType":"ElementaryTypeName","src":"2361:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94120,"initialValue":{"hexValue":"30","id":94119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2375:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2361:15:180"},{"assignments":[94122],"declarations":[{"constant":false,"id":94122,"mutability":"mutable","name":"high","nameLocation":"2394:4:180","nodeType":"VariableDeclaration","scope":94184,"src":"2386:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94121,"name":"uint256","nodeType":"ElementaryTypeName","src":"2386:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94124,"initialValue":{"id":94123,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94112,"src":"2401:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2386:18:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94125,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94112,"src":"2419:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":94126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2425:1:180","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"2419:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":94159,"nodeType":"IfStatement","src":"2415:242:180","trueBody":{"id":94158,"nodeType":"Block","src":"2428:229:180","statements":[{"assignments":[94129],"declarations":[{"constant":false,"id":94129,"mutability":"mutable","name":"mid","nameLocation":"2450:3:180","nodeType":"VariableDeclaration","scope":94158,"src":"2442:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94128,"name":"uint256","nodeType":"ElementaryTypeName","src":"2442:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94136,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94130,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94112,"src":"2456:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":94133,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94112,"src":"2472:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94131,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"2462:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":94132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2467:4:180","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":97375,"src":"2462:9:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":94134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2462:14:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2456:20:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2442:34:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94137,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94105,"src":"2494:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":94139,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94089,"src":"2514:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2519:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"2514:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":94141,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94129,"src":"2533:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94138,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"2500:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2500:37:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2538:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"2500:50:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"2494:56:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94156,"nodeType":"Block","src":"2601:46:180","statements":[{"expression":{"id":94154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94150,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94118,"src":"2619:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94151,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94129,"src":"2625:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":94152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2631:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2625:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2619:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94155,"nodeType":"ExpressionStatement","src":"2619:13:180"}]},"id":94157,"nodeType":"IfStatement","src":"2490:157:180","trueBody":{"id":94149,"nodeType":"Block","src":"2552:43:180","statements":[{"expression":{"id":94147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94145,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94122,"src":"2570:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94146,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94129,"src":"2577:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2570:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94148,"nodeType":"ExpressionStatement","src":"2570:10:180"}]}}]}},{"assignments":[94161],"declarations":[{"constant":false,"id":94161,"mutability":"mutable","name":"pos","nameLocation":"2675:3:180","nodeType":"VariableDeclaration","scope":94184,"src":"2667:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94160,"name":"uint256","nodeType":"ElementaryTypeName","src":"2667:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94169,"initialValue":{"arguments":[{"expression":{"id":94163,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94089,"src":"2700:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2705:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"2700:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"id":94165,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94105,"src":"2719:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94166,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94118,"src":"2724:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94167,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94122,"src":"2729:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94162,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":94482,"src":"2681:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":94168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2681:53:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2667:67:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94170,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94161,"src":"2752:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2759:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2752:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94175,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94089,"src":"2781:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94176,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2786:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"2781:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94177,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94161,"src":"2800:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2806:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2800:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94174,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"2767:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2767:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94181,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2809:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"2767:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2752:63:180","trueExpression":{"hexValue":"30","id":94173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2763:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94095,"id":94183,"nodeType":"Return","src":"2745:70:180"}]},"documentation":{"id":94086,"nodeType":"StructuredDocumentation","src":"1667:386:180","text":" @dev Returns the value at a given block number. If a checkpoint is not available at that block, the closest one\n before it is returned, or zero otherwise. Similar to {upperLookup} but optimized for the case when the searched\n checkpoint is probably \"recent\", defined as being among the last sqrt(N) checkpoints where N is the number of\n checkpoints."},"implemented":true,"kind":"function","modifiers":[],"name":"getAtProbablyRecentBlock","nameLocation":"2067:24:180","parameters":{"id":94092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94089,"mutability":"mutable","name":"self","nameLocation":"2108:4:180","nodeType":"VariableDeclaration","scope":94185,"src":"2092:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94088,"nodeType":"UserDefinedTypeName","pathNode":{"id":94087,"name":"History","nameLocations":["2092:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"2092:7:180"},"referencedDeclaration":94023,"src":"2092:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":94091,"mutability":"mutable","name":"blockNumber","nameLocation":"2122:11:180","nodeType":"VariableDeclaration","scope":94185,"src":"2114:19:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94090,"name":"uint256","nodeType":"ElementaryTypeName","src":"2114:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2091:43:180"},"returnParameters":{"id":94095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94094,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94185,"src":"2158:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94093,"name":"uint256","nodeType":"ElementaryTypeName","src":"2158:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2157:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94213,"nodeType":"FunctionDefinition","src":"3000:197:180","nodes":[],"body":{"id":94212,"nodeType":"Block","src":"3087:110:180","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":94199,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94189,"src":"3112:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94200,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3117:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"3112:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"arguments":[{"expression":{"id":94203,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3149:5:180","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":94204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3155:6:180","memberName":"number","nodeType":"MemberAccess","src":"3149:12:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94201,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"3131:8:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":94202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3140:8:180","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"3131:17:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":94205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3131:31:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"id":94208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94191,"src":"3183:5:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94206,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"3164:8:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":94207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3173:9:180","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"3164:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":94209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3164:25:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94198,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[94430,94932,95434],"referencedDeclaration":94430,"src":"3104:7:180","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":94210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3104:86:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":94197,"id":94211,"nodeType":"Return","src":"3097:93:180"}]},"documentation":{"id":94186,"nodeType":"StructuredDocumentation","src":"2828:167:180","text":" @dev Pushes a value onto a History so that it is stored as the checkpoint for the current block.\n Returns previous value and new value."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"3009:4:180","parameters":{"id":94192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94189,"mutability":"mutable","name":"self","nameLocation":"3030:4:180","nodeType":"VariableDeclaration","scope":94213,"src":"3014:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94188,"nodeType":"UserDefinedTypeName","pathNode":{"id":94187,"name":"History","nameLocations":["3014:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"3014:7:180"},"referencedDeclaration":94023,"src":"3014:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":94191,"mutability":"mutable","name":"value","nameLocation":"3044:5:180","nodeType":"VariableDeclaration","scope":94213,"src":"3036:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94190,"name":"uint256","nodeType":"ElementaryTypeName","src":"3036:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3013:37:180"},"returnParameters":{"id":94197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94213,"src":"3069:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94193,"name":"uint256","nodeType":"ElementaryTypeName","src":"3069:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94213,"src":"3078:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94195,"name":"uint256","nodeType":"ElementaryTypeName","src":"3078:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3068:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":94247,"nodeType":"FunctionDefinition","src":"3429:230:180","nodes":[],"body":{"id":94246,"nodeType":"Block","src":"3600:59:180","nodes":[],"statements":[{"expression":{"arguments":[{"id":94237,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94217,"src":"3622:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},{"arguments":[{"arguments":[{"id":94240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94217,"src":"3638:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}],"id":94239,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[94277,94779,95281],"referencedDeclaration":94277,"src":"3631:6:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$94023_storage_ptr_$returns$_t_uint224_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":94241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3631:12:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":94242,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94229,"src":"3645:5:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint224","typeString":"uint224"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94238,"name":"op","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94227,"src":"3628:2:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":94243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3628:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94236,"name":"push","nodeType":"Identifier","overloadedDeclarations":[94213,94247,94582,95084],"referencedDeclaration":94213,"src":"3617:4:180","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$94023_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) returns (uint256,uint256)"}},"id":94244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3617:35:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":94235,"id":94245,"nodeType":"Return","src":"3610:42:180"}]},"documentation":{"id":94214,"nodeType":"StructuredDocumentation","src":"3203:221:180","text":" @dev Pushes a value onto a History, by updating the latest value using binary operation `op`. The new value will\n be set to `op(latest, delta)`.\n Returns previous value and new value."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"3438:4:180","parameters":{"id":94230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94217,"mutability":"mutable","name":"self","nameLocation":"3468:4:180","nodeType":"VariableDeclaration","scope":94247,"src":"3452:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94216,"nodeType":"UserDefinedTypeName","pathNode":{"id":94215,"name":"History","nameLocations":["3452:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"3452:7:180"},"referencedDeclaration":94023,"src":"3452:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"},{"constant":false,"id":94227,"mutability":"mutable","name":"op","nameLocation":"3532:2:180","nodeType":"VariableDeclaration","scope":94247,"src":"3482:52:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"typeName":{"id":94226,"nodeType":"FunctionTypeName","parameterTypes":{"id":94222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94219,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94226,"src":"3491:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94218,"name":"uint256","nodeType":"ElementaryTypeName","src":"3491:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94221,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94226,"src":"3500:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94220,"name":"uint256","nodeType":"ElementaryTypeName","src":"3500:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3490:18:180"},"returnParameterTypes":{"id":94225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94224,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94226,"src":"3523:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94223,"name":"uint256","nodeType":"ElementaryTypeName","src":"3523:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3522:9:180"},"src":"3482:52:180","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"visibility":"internal"},"visibility":"internal"},{"constant":false,"id":94229,"mutability":"mutable","name":"delta","nameLocation":"3552:5:180","nodeType":"VariableDeclaration","scope":94247,"src":"3544:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94228,"name":"uint256","nodeType":"ElementaryTypeName","src":"3544:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3442:121:180"},"returnParameters":{"id":94235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94247,"src":"3582:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94231,"name":"uint256","nodeType":"ElementaryTypeName","src":"3582:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94247,"src":"3591:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94233,"name":"uint256","nodeType":"ElementaryTypeName","src":"3591:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3581:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":94277,"nodeType":"FunctionDefinition","src":"3779:205:180","nodes":[],"body":{"id":94276,"nodeType":"Block","src":"3849:135:180","nodes":[],"statements":[{"assignments":[94257],"declarations":[{"constant":false,"id":94257,"mutability":"mutable","name":"pos","nameLocation":"3867:3:180","nodeType":"VariableDeclaration","scope":94276,"src":"3859:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94256,"name":"uint256","nodeType":"ElementaryTypeName","src":"3859:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94261,"initialValue":{"expression":{"expression":{"id":94258,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94251,"src":"3873:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94259,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3878:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"3873:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":94260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3891:6:180","memberName":"length","nodeType":"MemberAccess","src":"3873:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3859:38:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94262,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94257,"src":"3914:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3921:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3914:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94267,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94251,"src":"3943:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3948:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"3943:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94269,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94257,"src":"3962:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3968:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3962:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94266,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"3929:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3929:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3971:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"3929:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3914:63:180","trueExpression":{"hexValue":"30","id":94265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3925:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94255,"id":94275,"nodeType":"Return","src":"3907:70:180"}]},"documentation":{"id":94248,"nodeType":"StructuredDocumentation","src":"3665:109:180","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"3788:6:180","parameters":{"id":94252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94251,"mutability":"mutable","name":"self","nameLocation":"3811:4:180","nodeType":"VariableDeclaration","scope":94277,"src":"3795:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94250,"nodeType":"UserDefinedTypeName","pathNode":{"id":94249,"name":"History","nameLocations":["3795:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"3795:7:180"},"referencedDeclaration":94023,"src":"3795:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"3794:22:180"},"returnParameters":{"id":94255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94254,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94277,"src":"3840:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94253,"name":"uint224","nodeType":"ElementaryTypeName","src":"3840:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"3839:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94326,"nodeType":"FunctionDefinition","src":"4163:414:180","nodes":[],"body":{"id":94325,"nodeType":"Block","src":"4298:279:180","nodes":[],"statements":[{"assignments":[94291],"declarations":[{"constant":false,"id":94291,"mutability":"mutable","name":"pos","nameLocation":"4316:3:180","nodeType":"VariableDeclaration","scope":94325,"src":"4308:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94290,"name":"uint256","nodeType":"ElementaryTypeName","src":"4308:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94295,"initialValue":{"expression":{"expression":{"id":94292,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94281,"src":"4322:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94293,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4327:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"4322:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":94294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4340:6:180","memberName":"length","nodeType":"MemberAccess","src":"4322:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4308:38:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94296,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94291,"src":"4360:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4367:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4360:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94323,"nodeType":"Block","src":"4421:150:180","statements":[{"assignments":[94307],"declarations":[{"constant":false,"id":94307,"mutability":"mutable","name":"ckpt","nameLocation":"4453:4:180","nodeType":"VariableDeclaration","scope":94323,"src":"4435:22:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":94306,"nodeType":"UserDefinedTypeName","pathNode":{"id":94305,"name":"Checkpoint","nameLocations":["4435:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"4435:10:180"},"referencedDeclaration":94028,"src":"4435:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"id":94315,"initialValue":{"arguments":[{"expression":{"id":94309,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94281,"src":"4474:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4479:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"4474:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94311,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94291,"src":"4493:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4499:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4493:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94308,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"4460:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4460:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"4435:66:180"},{"expression":{"components":[{"hexValue":"74727565","id":94316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4523:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":94317,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94307,"src":"4529:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":94318,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4534:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"4529:17:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":94319,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94307,"src":"4548:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":94320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4553:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"4548:11:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94321,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4522:38:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint32_$_t_uint224_$","typeString":"tuple(bool,uint32,uint224)"}},"functionReturnParameters":94289,"id":94322,"nodeType":"Return","src":"4515:45:180"}]},"id":94324,"nodeType":"IfStatement","src":"4356:215:180","trueBody":{"id":94304,"nodeType":"Block","src":"4370:45:180","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":94299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4392:5:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":94300,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4399:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":94301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4402:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":94302,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4391:13:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":94289,"id":94303,"nodeType":"Return","src":"4384:20:180"}]}}]},"documentation":{"id":94278,"nodeType":"StructuredDocumentation","src":"3990:168:180","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"4172:16:180","parameters":{"id":94282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94281,"mutability":"mutable","name":"self","nameLocation":"4214:4:180","nodeType":"VariableDeclaration","scope":94326,"src":"4198:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94280,"nodeType":"UserDefinedTypeName","pathNode":{"id":94279,"name":"History","nameLocations":["4198:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"4198:7:180"},"referencedDeclaration":94023,"src":"4198:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"4188:36:180"},"returnParameters":{"id":94289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94284,"mutability":"mutable","name":"exists","nameLocation":"4253:6:180","nodeType":"VariableDeclaration","scope":94326,"src":"4248:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":94283,"name":"bool","nodeType":"ElementaryTypeName","src":"4248:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":94286,"mutability":"mutable","name":"_blockNumber","nameLocation":"4268:12:180","nodeType":"VariableDeclaration","scope":94326,"src":"4261:19:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94285,"name":"uint32","nodeType":"ElementaryTypeName","src":"4261:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94288,"mutability":"mutable","name":"_value","nameLocation":"4290:6:180","nodeType":"VariableDeclaration","scope":94326,"src":"4282:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94287,"name":"uint224","nodeType":"ElementaryTypeName","src":"4282:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4247:50:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94340,"nodeType":"FunctionDefinition","src":"4645:118:180","nodes":[],"body":{"id":94339,"nodeType":"Block","src":"4715:48:180","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":94335,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94330,"src":"4732:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History storage pointer"}},"id":94336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4737:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94022,"src":"4732:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint storage ref[] storage ref"}},"id":94337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4750:6:180","memberName":"length","nodeType":"MemberAccess","src":"4732:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94334,"id":94338,"nodeType":"Return","src":"4725:31:180"}]},"documentation":{"id":94327,"nodeType":"StructuredDocumentation","src":"4583:57:180","text":" @dev Returns the number of checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"4654:6:180","parameters":{"id":94331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94330,"mutability":"mutable","name":"self","nameLocation":"4677:4:180","nodeType":"VariableDeclaration","scope":94340,"src":"4661:20:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"},"typeName":{"id":94329,"nodeType":"UserDefinedTypeName","pathNode":{"id":94328,"name":"History","nameLocations":["4661:7:180"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"4661:7:180"},"referencedDeclaration":94023,"src":"4661:7:180","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"internal"}],"src":"4660:22:180"},"returnParameters":{"id":94334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94333,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94340,"src":"4706:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94332,"name":"uint256","nodeType":"ElementaryTypeName","src":"4706:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4705:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94430,"nodeType":"FunctionDefinition","src":"4939:856:180","nodes":[],"body":{"id":94429,"nodeType":"Block","src":"5045:750:180","nodes":[],"statements":[{"assignments":[94357],"declarations":[{"constant":false,"id":94357,"mutability":"mutable","name":"pos","nameLocation":"5063:3:180","nodeType":"VariableDeclaration","scope":94429,"src":"5055:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94356,"name":"uint256","nodeType":"ElementaryTypeName","src":"5055:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94360,"initialValue":{"expression":{"id":94358,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94345,"src":"5069:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":94359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5074:6:180","memberName":"length","nodeType":"MemberAccess","src":"5069:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5055:25:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94361,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94357,"src":"5095:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":94362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5101:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5095:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94427,"nodeType":"Block","src":"5676:113:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":94418,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94347,"src":"5726:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94419,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94349,"src":"5739:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94417,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94028,"src":"5700:10:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint storage pointer)"}},"id":94420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5712:12:180","5731:6:180"],"names":["_blockNumber","_value"],"nodeType":"FunctionCall","src":"5700:46:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}],"expression":{"id":94414,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94345,"src":"5690:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":94416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5695:4:180","memberName":"push","nodeType":"MemberAccess","src":"5690:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$94028_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)"}},"id":94421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5690:57:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94422,"nodeType":"ExpressionStatement","src":"5690:57:180"},{"expression":{"components":[{"hexValue":"30","id":94423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5769:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":94424,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94349,"src":"5772:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94425,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5768:10:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint224_$","typeString":"tuple(int_const 0,uint224)"}},"functionReturnParameters":94355,"id":94426,"nodeType":"Return","src":"5761:17:180"}]},"id":94428,"nodeType":"IfStatement","src":"5091:698:180","trueBody":{"id":94413,"nodeType":"Block","src":"5104:566:180","statements":[{"assignments":[94366],"declarations":[{"constant":false,"id":94366,"mutability":"mutable","name":"last","nameLocation":"5188:4:180","nodeType":"VariableDeclaration","scope":94413,"src":"5170:22:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":94365,"nodeType":"UserDefinedTypeName","pathNode":{"id":94364,"name":"Checkpoint","nameLocations":["5170:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"5170:10:180"},"referencedDeclaration":94028,"src":"5170:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"id":94373,"initialValue":{"arguments":[{"id":94368,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94345,"src":"5209:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94369,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94357,"src":"5215:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5221:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5215:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94367,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"5195:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5195:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"5170:53:180"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":94375,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94366,"src":"5301:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":94376,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5306:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"5301:17:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":94377,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94347,"src":"5322:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5301:24:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a2064656372656173696e67206b657973","id":94379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5327:29:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""},"value":"Checkpoint: decreasing keys"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""}],"id":94374,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5293:7:180","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":94380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5293:64:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94381,"nodeType":"ExpressionStatement","src":"5293:64:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94385,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":94382,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94366,"src":"5421:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":94383,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5426:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"5421:17:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":94384,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94347,"src":"5442:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"5421:24:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94406,"nodeType":"Block","src":"5529:90:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":94401,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94347,"src":"5583:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94402,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94349,"src":"5596:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94400,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94028,"src":"5557:10:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint storage pointer)"}},"id":94403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5569:12:180","5588:6:180"],"names":["_blockNumber","_value"],"nodeType":"FunctionCall","src":"5557:46:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}],"expression":{"id":94397,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94345,"src":"5547:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},"id":94399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5552:4:180","memberName":"push","nodeType":"MemberAccess","src":"5547:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$94028_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,struct Checkpoints.Checkpoint storage ref)"}},"id":94404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5547:57:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94405,"nodeType":"ExpressionStatement","src":"5547:57:180"}]},"id":94407,"nodeType":"IfStatement","src":"5417:202:180","trueBody":{"id":94396,"nodeType":"Block","src":"5447:76:180","statements":[{"expression":{"id":94394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":94387,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94345,"src":"5479:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94388,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94357,"src":"5485:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5491:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5485:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94386,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"5465:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5465:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94392,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"5494:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"5465:35:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94393,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94349,"src":"5503:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"5465:43:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94395,"nodeType":"ExpressionStatement","src":"5465:43:180"}]}},{"expression":{"components":[{"expression":{"id":94408,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94366,"src":"5640:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_memory_ptr","typeString":"struct Checkpoints.Checkpoint memory"}},"id":94409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5645:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94027,"src":"5640:11:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":94410,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94349,"src":"5653:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94411,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5639:20:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":94355,"id":94412,"nodeType":"Return","src":"5632:27:180"}]}}]},"documentation":{"id":94341,"nodeType":"StructuredDocumentation","src":"4769:165:180","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"4948:7:180","parameters":{"id":94350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94345,"mutability":"mutable","name":"self","nameLocation":"4977:4:180","nodeType":"VariableDeclaration","scope":94430,"src":"4956:25:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":94343,"nodeType":"UserDefinedTypeName","pathNode":{"id":94342,"name":"Checkpoint","nameLocations":["4956:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"4956:10:180"},"referencedDeclaration":94028,"src":"4956:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":94344,"nodeType":"ArrayTypeName","src":"4956:12:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":94347,"mutability":"mutable","name":"key","nameLocation":"4990:3:180","nodeType":"VariableDeclaration","scope":94430,"src":"4983:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94346,"name":"uint32","nodeType":"ElementaryTypeName","src":"4983:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94349,"mutability":"mutable","name":"value","nameLocation":"5003:5:180","nodeType":"VariableDeclaration","scope":94430,"src":"4995:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94348,"name":"uint224","nodeType":"ElementaryTypeName","src":"4995:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"4955:54:180"},"returnParameters":{"id":94355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94352,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94430,"src":"5027:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94351,"name":"uint224","nodeType":"ElementaryTypeName","src":"5027:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":94354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94430,"src":"5036:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94353,"name":"uint224","nodeType":"ElementaryTypeName","src":"5036:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"5026:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":94482,"nodeType":"FunctionDefinition","src":"6141:438:180","nodes":[],"body":{"id":94481,"nodeType":"Block","src":"6304:275:180","nodes":[],"statements":[{"body":{"id":94477,"nodeType":"Block","src":"6333:219:180","statements":[{"assignments":[94450],"declarations":[{"constant":false,"id":94450,"mutability":"mutable","name":"mid","nameLocation":"6355:3:180","nodeType":"VariableDeclaration","scope":94477,"src":"6347:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94449,"name":"uint256","nodeType":"ElementaryTypeName","src":"6347:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94456,"initialValue":{"arguments":[{"id":94453,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94439,"src":"6374:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94454,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94441,"src":"6379:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94451,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"6361:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":94452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6366:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"6361:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":94455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6361:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6347:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":94458,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94435,"src":"6416:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"id":94459,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94450,"src":"6422:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94457,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"6402:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6402:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6427:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"6402:37:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":94462,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94437,"src":"6442:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"6402:43:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94475,"nodeType":"Block","src":"6496:46:180","statements":[{"expression":{"id":94473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94469,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94439,"src":"6514:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94470,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94450,"src":"6520:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":94471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6526:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6520:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6514:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94474,"nodeType":"ExpressionStatement","src":"6514:13:180"}]},"id":94476,"nodeType":"IfStatement","src":"6398:144:180","trueBody":{"id":94468,"nodeType":"Block","src":"6447:43:180","statements":[{"expression":{"id":94466,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94464,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94441,"src":"6465:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94465,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94450,"src":"6472:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6465:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94467,"nodeType":"ExpressionStatement","src":"6465:10:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94446,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94439,"src":"6321:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":94447,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94441,"src":"6327:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6321:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":94478,"nodeType":"WhileStatement","src":"6314:238:180"},{"expression":{"id":94479,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94441,"src":"6568:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94445,"id":94480,"nodeType":"Return","src":"6561:11:180"}]},"documentation":{"id":94431,"nodeType":"StructuredDocumentation","src":"5801:335:180","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"6150:18:180","parameters":{"id":94442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94435,"mutability":"mutable","name":"self","nameLocation":"6199:4:180","nodeType":"VariableDeclaration","scope":94482,"src":"6178:25:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":94433,"nodeType":"UserDefinedTypeName","pathNode":{"id":94432,"name":"Checkpoint","nameLocations":["6178:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"6178:10:180"},"referencedDeclaration":94028,"src":"6178:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":94434,"nodeType":"ArrayTypeName","src":"6178:12:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":94437,"mutability":"mutable","name":"key","nameLocation":"6220:3:180","nodeType":"VariableDeclaration","scope":94482,"src":"6213:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94436,"name":"uint32","nodeType":"ElementaryTypeName","src":"6213:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94439,"mutability":"mutable","name":"low","nameLocation":"6241:3:180","nodeType":"VariableDeclaration","scope":94482,"src":"6233:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94438,"name":"uint256","nodeType":"ElementaryTypeName","src":"6233:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94441,"mutability":"mutable","name":"high","nameLocation":"6262:4:180","nodeType":"VariableDeclaration","scope":94482,"src":"6254:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94440,"name":"uint256","nodeType":"ElementaryTypeName","src":"6254:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6168:104:180"},"returnParameters":{"id":94445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94444,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94482,"src":"6295:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94443,"name":"uint256","nodeType":"ElementaryTypeName","src":"6295:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6294:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":94534,"nodeType":"FunctionDefinition","src":"6926:438:180","nodes":[],"body":{"id":94533,"nodeType":"Block","src":"7089:275:180","nodes":[],"statements":[{"body":{"id":94529,"nodeType":"Block","src":"7118:219:180","statements":[{"assignments":[94502],"declarations":[{"constant":false,"id":94502,"mutability":"mutable","name":"mid","nameLocation":"7140:3:180","nodeType":"VariableDeclaration","scope":94529,"src":"7132:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94501,"name":"uint256","nodeType":"ElementaryTypeName","src":"7132:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94508,"initialValue":{"arguments":[{"id":94505,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94491,"src":"7159:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94506,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94493,"src":"7164:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94503,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"7146:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":94504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7151:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"7146:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":94507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7146:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7132:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":94510,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94487,"src":"7201:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"}},{"id":94511,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94502,"src":"7207:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94509,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":94549,"src":"7187:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$94028_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint storage pointer)"}},"id":94512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7187:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint storage pointer"}},"id":94513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7212:12:180","memberName":"_blockNumber","nodeType":"MemberAccess","referencedDeclaration":94025,"src":"7187:37:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":94514,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94489,"src":"7227:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"7187:43:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94527,"nodeType":"Block","src":"7284:43:180","statements":[{"expression":{"id":94525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94523,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94493,"src":"7302:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94524,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94502,"src":"7309:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7302:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94526,"nodeType":"ExpressionStatement","src":"7302:10:180"}]},"id":94528,"nodeType":"IfStatement","src":"7183:144:180","trueBody":{"id":94522,"nodeType":"Block","src":"7232:46:180","statements":[{"expression":{"id":94520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94516,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94491,"src":"7250:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94517,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94502,"src":"7256:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":94518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7262:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7256:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7250:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94521,"nodeType":"ExpressionStatement","src":"7250:13:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94498,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94491,"src":"7106:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":94499,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94493,"src":"7112:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7106:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":94530,"nodeType":"WhileStatement","src":"7099:238:180"},{"expression":{"id":94531,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94493,"src":"7353:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94497,"id":94532,"nodeType":"Return","src":"7346:11:180"}]},"documentation":{"id":94483,"nodeType":"StructuredDocumentation","src":"6585:336:180","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"6935:18:180","parameters":{"id":94494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94487,"mutability":"mutable","name":"self","nameLocation":"6984:4:180","nodeType":"VariableDeclaration","scope":94534,"src":"6963:25:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":94485,"nodeType":"UserDefinedTypeName","pathNode":{"id":94484,"name":"Checkpoint","nameLocations":["6963:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"6963:10:180"},"referencedDeclaration":94028,"src":"6963:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":94486,"nodeType":"ArrayTypeName","src":"6963:12:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":94489,"mutability":"mutable","name":"key","nameLocation":"7005:3:180","nodeType":"VariableDeclaration","scope":94534,"src":"6998:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94488,"name":"uint32","nodeType":"ElementaryTypeName","src":"6998:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94491,"mutability":"mutable","name":"low","nameLocation":"7026:3:180","nodeType":"VariableDeclaration","scope":94534,"src":"7018:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94490,"name":"uint256","nodeType":"ElementaryTypeName","src":"7018:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94493,"mutability":"mutable","name":"high","nameLocation":"7047:4:180","nodeType":"VariableDeclaration","scope":94534,"src":"7039:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94492,"name":"uint256","nodeType":"ElementaryTypeName","src":"7039:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6953:104:180"},"returnParameters":{"id":94497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94534,"src":"7080:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94495,"name":"uint256","nodeType":"ElementaryTypeName","src":"7080:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7079:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":94549,"nodeType":"FunctionDefinition","src":"7507:237:180","nodes":[],"body":{"id":94548,"nodeType":"Block","src":"7619:125:180","nodes":[],"statements":[{"AST":{"nativeSrc":"7638:100:180","nodeType":"YulBlock","src":"7638:100:180","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7659:1:180","nodeType":"YulLiteral","src":"7659:1:180","type":"","value":"0"},{"name":"self.slot","nativeSrc":"7662:9:180","nodeType":"YulIdentifier","src":"7662:9:180"}],"functionName":{"name":"mstore","nativeSrc":"7652:6:180","nodeType":"YulIdentifier","src":"7652:6:180"},"nativeSrc":"7652:20:180","nodeType":"YulFunctionCall","src":"7652:20:180"},"nativeSrc":"7652:20:180","nodeType":"YulExpressionStatement","src":"7652:20:180"},{"nativeSrc":"7685:43:180","nodeType":"YulAssignment","src":"7685:43:180","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"7714:1:180","nodeType":"YulLiteral","src":"7714:1:180","type":"","value":"0"},{"kind":"number","nativeSrc":"7717:4:180","nodeType":"YulLiteral","src":"7717:4:180","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"7704:9:180","nodeType":"YulIdentifier","src":"7704:9:180"},"nativeSrc":"7704:18:180","nodeType":"YulFunctionCall","src":"7704:18:180"},{"name":"pos","nativeSrc":"7724:3:180","nodeType":"YulIdentifier","src":"7724:3:180"}],"functionName":{"name":"add","nativeSrc":"7700:3:180","nodeType":"YulIdentifier","src":"7700:3:180"},"nativeSrc":"7700:28:180","nodeType":"YulFunctionCall","src":"7700:28:180"},"variableNames":[{"name":"result.slot","nativeSrc":"7685:11:180","nodeType":"YulIdentifier","src":"7685:11:180"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":94541,"isOffset":false,"isSlot":false,"src":"7724:3:180","valueSize":1},{"declaration":94545,"isOffset":false,"isSlot":true,"src":"7685:11:180","suffix":"slot","valueSize":1},{"declaration":94539,"isOffset":false,"isSlot":true,"src":"7662:9:180","suffix":"slot","valueSize":1}],"id":94547,"nodeType":"InlineAssembly","src":"7629:109:180"}]},"documentation":{"id":94535,"nodeType":"StructuredDocumentation","src":"7370:132:180","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"7516:13:180","parameters":{"id":94542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94539,"mutability":"mutable","name":"self","nameLocation":"7551:4:180","nodeType":"VariableDeclaration","scope":94549,"src":"7530:25:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"},"typeName":{"baseType":{"id":94537,"nodeType":"UserDefinedTypeName","pathNode":{"id":94536,"name":"Checkpoint","nameLocations":["7530:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"7530:10:180"},"referencedDeclaration":94028,"src":"7530:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"id":94538,"nodeType":"ArrayTypeName","src":"7530:12:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$94028_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":94541,"mutability":"mutable","name":"pos","nameLocation":"7565:3:180","nodeType":"VariableDeclaration","scope":94549,"src":"7557:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94540,"name":"uint256","nodeType":"ElementaryTypeName","src":"7557:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7529:40:180"},"returnParameters":{"id":94546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94545,"mutability":"mutable","name":"result","nameLocation":"7611:6:180","nodeType":"VariableDeclaration","scope":94549,"src":"7592:25:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"},"typeName":{"id":94544,"nodeType":"UserDefinedTypeName","pathNode":{"id":94543,"name":"Checkpoint","nameLocations":["7592:10:180"],"nodeType":"IdentifierPath","referencedDeclaration":94028,"src":"7592:10:180"},"referencedDeclaration":94028,"src":"7592:10:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$94028_storage_ptr","typeString":"struct Checkpoints.Checkpoint"}},"visibility":"internal"}],"src":"7591:27:180"},"scope":95554,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":94554,"nodeType":"StructDefinition","src":"7750:61:180","nodes":[],"canonicalName":"Checkpoints.Trace224","members":[{"constant":false,"id":94553,"mutability":"mutable","name":"_checkpoints","nameLocation":"7792:12:180","nodeType":"VariableDeclaration","scope":94554,"src":"7776:28:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":94551,"nodeType":"UserDefinedTypeName","pathNode":{"id":94550,"name":"Checkpoint224","nameLocations":["7776:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"7776:13:180"},"referencedDeclaration":94559,"src":"7776:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":94552,"nodeType":"ArrayTypeName","src":"7776:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"}],"name":"Trace224","nameLocation":"7757:8:180","scope":95554,"visibility":"public"},{"id":94559,"nodeType":"StructDefinition","src":"7817:73:180","nodes":[],"canonicalName":"Checkpoints.Checkpoint224","members":[{"constant":false,"id":94556,"mutability":"mutable","name":"_key","nameLocation":"7855:4:180","nodeType":"VariableDeclaration","scope":94559,"src":"7848:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94555,"name":"uint32","nodeType":"ElementaryTypeName","src":"7848:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94558,"mutability":"mutable","name":"_value","nameLocation":"7877:6:180","nodeType":"VariableDeclaration","scope":94559,"src":"7869:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94557,"name":"uint224","nodeType":"ElementaryTypeName","src":"7869:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint224","nameLocation":"7824:13:180","scope":95554,"visibility":"public"},{"id":94582,"nodeType":"FunctionDefinition","src":"8063:162:180","nodes":[],"body":{"id":94581,"nodeType":"Block","src":"8163:62:180","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":94575,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94563,"src":"8188:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8193:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"8188:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94577,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94565,"src":"8207:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94578,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94567,"src":"8212:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94574,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[94430,94932,95434],"referencedDeclaration":94932,"src":"8180:7:180","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":94579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8180:38:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":94573,"id":94580,"nodeType":"Return","src":"8173:45:180"}]},"documentation":{"id":94560,"nodeType":"StructuredDocumentation","src":"7896:162:180","text":" @dev Pushes a (`key`, `value`) pair into a Trace224 so that it is stored as the checkpoint.\n Returns previous value and new value."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"8072:4:180","parameters":{"id":94568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94563,"mutability":"mutable","name":"self","nameLocation":"8094:4:180","nodeType":"VariableDeclaration","scope":94582,"src":"8077:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94562,"nodeType":"UserDefinedTypeName","pathNode":{"id":94561,"name":"Trace224","nameLocations":["8077:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"8077:8:180"},"referencedDeclaration":94554,"src":"8077:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":94565,"mutability":"mutable","name":"key","nameLocation":"8107:3:180","nodeType":"VariableDeclaration","scope":94582,"src":"8100:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94564,"name":"uint32","nodeType":"ElementaryTypeName","src":"8100:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94567,"mutability":"mutable","name":"value","nameLocation":"8120:5:180","nodeType":"VariableDeclaration","scope":94582,"src":"8112:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94566,"name":"uint224","nodeType":"ElementaryTypeName","src":"8112:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8076:50:180"},"returnParameters":{"id":94573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94570,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94582,"src":"8145:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94569,"name":"uint224","nodeType":"ElementaryTypeName","src":"8145:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":94572,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94582,"src":"8154:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94571,"name":"uint224","nodeType":"ElementaryTypeName","src":"8154:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8144:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":94622,"nodeType":"FunctionDefinition","src":"8383:295:180","nodes":[],"body":{"id":94621,"nodeType":"Block","src":"8471:207:180","nodes":[],"statements":[{"assignments":[94594],"declarations":[{"constant":false,"id":94594,"mutability":"mutable","name":"len","nameLocation":"8489:3:180","nodeType":"VariableDeclaration","scope":94621,"src":"8481:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94593,"name":"uint256","nodeType":"ElementaryTypeName","src":"8481:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94598,"initialValue":{"expression":{"expression":{"id":94595,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94586,"src":"8495:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94596,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8500:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"8495:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8513:6:180","memberName":"length","nodeType":"MemberAccess","src":"8495:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8481:38:180"},{"assignments":[94600],"declarations":[{"constant":false,"id":94600,"mutability":"mutable","name":"pos","nameLocation":"8537:3:180","nodeType":"VariableDeclaration","scope":94621,"src":"8529:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94599,"name":"uint256","nodeType":"ElementaryTypeName","src":"8529:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94608,"initialValue":{"arguments":[{"expression":{"id":94602,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94586,"src":"8562:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8567:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"8562:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94604,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94588,"src":"8581:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":94605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8586:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":94606,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94594,"src":"8589:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94601,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94534,95036,95538],"referencedDeclaration":95036,"src":"8543:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":94607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8543:50:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8529:64:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94609,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94600,"src":"8610:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":94610,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94594,"src":"8617:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8610:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94614,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94586,"src":"8641:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8646:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"8641:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94616,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94600,"src":"8660:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94613,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"8627:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8627:37:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8665:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"8627:44:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8610:61:180","trueExpression":{"hexValue":"30","id":94612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8623:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94592,"id":94620,"nodeType":"Return","src":"8603:68:180"}]},"documentation":{"id":94583,"nodeType":"StructuredDocumentation","src":"8231:147:180","text":" @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if there is none."},"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"8392:11:180","parameters":{"id":94589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94586,"mutability":"mutable","name":"self","nameLocation":"8421:4:180","nodeType":"VariableDeclaration","scope":94622,"src":"8404:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94585,"nodeType":"UserDefinedTypeName","pathNode":{"id":94584,"name":"Trace224","nameLocations":["8404:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"8404:8:180"},"referencedDeclaration":94554,"src":"8404:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":94588,"mutability":"mutable","name":"key","nameLocation":"8434:3:180","nodeType":"VariableDeclaration","scope":94622,"src":"8427:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94587,"name":"uint32","nodeType":"ElementaryTypeName","src":"8427:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8403:35:180"},"returnParameters":{"id":94592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94622,"src":"8462:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94590,"name":"uint224","nodeType":"ElementaryTypeName","src":"8462:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8461:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94664,"nodeType":"FunctionDefinition","src":"8838:297:180","nodes":[],"body":{"id":94663,"nodeType":"Block","src":"8926:209:180","nodes":[],"statements":[{"assignments":[94634],"declarations":[{"constant":false,"id":94634,"mutability":"mutable","name":"len","nameLocation":"8944:3:180","nodeType":"VariableDeclaration","scope":94663,"src":"8936:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94633,"name":"uint256","nodeType":"ElementaryTypeName","src":"8936:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94638,"initialValue":{"expression":{"expression":{"id":94635,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94626,"src":"8950:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94636,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8955:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"8950:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8968:6:180","memberName":"length","nodeType":"MemberAccess","src":"8950:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8936:38:180"},{"assignments":[94640],"declarations":[{"constant":false,"id":94640,"mutability":"mutable","name":"pos","nameLocation":"8992:3:180","nodeType":"VariableDeclaration","scope":94663,"src":"8984:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94639,"name":"uint256","nodeType":"ElementaryTypeName","src":"8984:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94648,"initialValue":{"arguments":[{"expression":{"id":94642,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94626,"src":"9017:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9022:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9017:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94644,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94628,"src":"9036:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"hexValue":"30","id":94645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9041:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":94646,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94634,"src":"9044:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94641,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":94984,"src":"8998:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":94647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8998:50:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8984:64:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94649,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94640,"src":"9065:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9072:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9065:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94654,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94626,"src":"9094:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9099:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9094:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94656,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94640,"src":"9113:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9119:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9113:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94653,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"9080:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9080:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94660,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9122:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"9080:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9065:63:180","trueExpression":{"hexValue":"30","id":94652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9076:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94632,"id":94662,"nodeType":"Return","src":"9058:70:180"}]},"documentation":{"id":94623,"nodeType":"StructuredDocumentation","src":"8684:149:180","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero if there is none."},"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"8847:11:180","parameters":{"id":94629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94626,"mutability":"mutable","name":"self","nameLocation":"8876:4:180","nodeType":"VariableDeclaration","scope":94664,"src":"8859:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94625,"nodeType":"UserDefinedTypeName","pathNode":{"id":94624,"name":"Trace224","nameLocations":["8859:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"8859:8:180"},"referencedDeclaration":94554,"src":"8859:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":94628,"mutability":"mutable","name":"key","nameLocation":"8889:3:180","nodeType":"VariableDeclaration","scope":94664,"src":"8882:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94627,"name":"uint32","nodeType":"ElementaryTypeName","src":"8882:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"8858:35:180"},"returnParameters":{"id":94632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94664,"src":"8917:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94630,"name":"uint224","nodeType":"ElementaryTypeName","src":"8917:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8916:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94749,"nodeType":"FunctionDefinition","src":"9426:606:180","nodes":[],"body":{"id":94748,"nodeType":"Block","src":"9520:512:180","nodes":[],"statements":[{"assignments":[94676],"declarations":[{"constant":false,"id":94676,"mutability":"mutable","name":"len","nameLocation":"9538:3:180","nodeType":"VariableDeclaration","scope":94748,"src":"9530:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94675,"name":"uint256","nodeType":"ElementaryTypeName","src":"9530:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94680,"initialValue":{"expression":{"expression":{"id":94677,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94668,"src":"9544:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94678,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9549:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9544:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9562:6:180","memberName":"length","nodeType":"MemberAccess","src":"9544:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9530:38:180"},{"assignments":[94682],"declarations":[{"constant":false,"id":94682,"mutability":"mutable","name":"low","nameLocation":"9587:3:180","nodeType":"VariableDeclaration","scope":94748,"src":"9579:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94681,"name":"uint256","nodeType":"ElementaryTypeName","src":"9579:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94684,"initialValue":{"hexValue":"30","id":94683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9593:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"9579:15:180"},{"assignments":[94686],"declarations":[{"constant":false,"id":94686,"mutability":"mutable","name":"high","nameLocation":"9612:4:180","nodeType":"VariableDeclaration","scope":94748,"src":"9604:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94685,"name":"uint256","nodeType":"ElementaryTypeName","src":"9604:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94688,"initialValue":{"id":94687,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94676,"src":"9619:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9604:18:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94689,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94676,"src":"9637:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":94690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9643:1:180","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"9637:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":94723,"nodeType":"IfStatement","src":"9633:234:180","trueBody":{"id":94722,"nodeType":"Block","src":"9646:221:180","statements":[{"assignments":[94693],"declarations":[{"constant":false,"id":94693,"mutability":"mutable","name":"mid","nameLocation":"9668:3:180","nodeType":"VariableDeclaration","scope":94722,"src":"9660:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94692,"name":"uint256","nodeType":"ElementaryTypeName","src":"9660:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94700,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94694,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94676,"src":"9674:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":94697,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94676,"src":"9690:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94695,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"9680:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":94696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9685:4:180","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":97375,"src":"9680:9:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":94698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9680:14:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9674:20:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9660:34:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94701,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94670,"src":"9712:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":94703,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94668,"src":"9732:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94704,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9737:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9732:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94705,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94693,"src":"9751:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94702,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"9718:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9718:37:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94707,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9756:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"9718:42:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"9712:48:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94720,"nodeType":"Block","src":"9811:46:180","statements":[{"expression":{"id":94718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94714,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94682,"src":"9829:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94715,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94693,"src":"9835:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":94716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9841:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9835:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9829:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94719,"nodeType":"ExpressionStatement","src":"9829:13:180"}]},"id":94721,"nodeType":"IfStatement","src":"9708:149:180","trueBody":{"id":94713,"nodeType":"Block","src":"9762:43:180","statements":[{"expression":{"id":94711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94709,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94686,"src":"9780:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94710,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94693,"src":"9787:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9780:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94712,"nodeType":"ExpressionStatement","src":"9780:10:180"}]}}]}},{"assignments":[94725],"declarations":[{"constant":false,"id":94725,"mutability":"mutable","name":"pos","nameLocation":"9885:3:180","nodeType":"VariableDeclaration","scope":94748,"src":"9877:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94724,"name":"uint256","nodeType":"ElementaryTypeName","src":"9877:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94733,"initialValue":{"arguments":[{"expression":{"id":94727,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94668,"src":"9910:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94728,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9915:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9910:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"id":94729,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94670,"src":"9929:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94730,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94682,"src":"9934:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94731,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94686,"src":"9939:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94726,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":94984,"src":"9891:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint32_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint32,uint256,uint256) view returns (uint256)"}},"id":94732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9891:53:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9877:67:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94734,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94725,"src":"9962:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9969:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9962:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94739,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94668,"src":"9991:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94740,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9996:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"9991:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94741,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94725,"src":"10010:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10010:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94738,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"9977:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9977:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94745,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10019:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"9977:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9962:63:180","trueExpression":{"hexValue":"30","id":94737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9973:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94674,"id":94747,"nodeType":"Return","src":"9955:70:180"}]},"documentation":{"id":94665,"nodeType":"StructuredDocumentation","src":"9141:280:180","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero if there is none.\n NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high keys)."},"implemented":true,"kind":"function","modifiers":[],"name":"upperLookupRecent","nameLocation":"9435:17:180","parameters":{"id":94671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94668,"mutability":"mutable","name":"self","nameLocation":"9470:4:180","nodeType":"VariableDeclaration","scope":94749,"src":"9453:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94667,"nodeType":"UserDefinedTypeName","pathNode":{"id":94666,"name":"Trace224","nameLocations":["9453:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"9453:8:180"},"referencedDeclaration":94554,"src":"9453:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":94670,"mutability":"mutable","name":"key","nameLocation":"9483:3:180","nodeType":"VariableDeclaration","scope":94749,"src":"9476:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94669,"name":"uint32","nodeType":"ElementaryTypeName","src":"9476:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"9452:35:180"},"returnParameters":{"id":94674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94749,"src":"9511:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94672,"name":"uint224","nodeType":"ElementaryTypeName","src":"9511:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"9510:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94779,"nodeType":"FunctionDefinition","src":"10152:206:180","nodes":[],"body":{"id":94778,"nodeType":"Block","src":"10223:135:180","nodes":[],"statements":[{"assignments":[94759],"declarations":[{"constant":false,"id":94759,"mutability":"mutable","name":"pos","nameLocation":"10241:3:180","nodeType":"VariableDeclaration","scope":94778,"src":"10233:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94758,"name":"uint256","nodeType":"ElementaryTypeName","src":"10233:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94763,"initialValue":{"expression":{"expression":{"id":94760,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94753,"src":"10247:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94761,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10252:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"10247:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10265:6:180","memberName":"length","nodeType":"MemberAccess","src":"10247:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10233:38:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94764,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94759,"src":"10288:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10295:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10288:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":94769,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94753,"src":"10317:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94770,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10322:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"10317:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94771,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94759,"src":"10336:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10342:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10336:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94768,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"10303:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10303:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94775,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10345:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"10303:48:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"10288:63:180","trueExpression":{"hexValue":"30","id":94767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10299:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":94757,"id":94777,"nodeType":"Return","src":"10281:70:180"}]},"documentation":{"id":94750,"nodeType":"StructuredDocumentation","src":"10038:109:180","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"10161:6:180","parameters":{"id":94754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94753,"mutability":"mutable","name":"self","nameLocation":"10185:4:180","nodeType":"VariableDeclaration","scope":94779,"src":"10168:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94752,"nodeType":"UserDefinedTypeName","pathNode":{"id":94751,"name":"Trace224","nameLocations":["10168:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"10168:8:180"},"referencedDeclaration":94554,"src":"10168:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"10167:23:180"},"returnParameters":{"id":94757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94779,"src":"10214:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94755,"name":"uint224","nodeType":"ElementaryTypeName","src":"10214:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"10213:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94828,"nodeType":"FunctionDefinition","src":"10537:388:180","nodes":[],"body":{"id":94827,"nodeType":"Block","src":"10651:274:180","nodes":[],"statements":[{"assignments":[94793],"declarations":[{"constant":false,"id":94793,"mutability":"mutable","name":"pos","nameLocation":"10669:3:180","nodeType":"VariableDeclaration","scope":94827,"src":"10661:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94792,"name":"uint256","nodeType":"ElementaryTypeName","src":"10661:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94797,"initialValue":{"expression":{"expression":{"id":94794,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94783,"src":"10675:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10680:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"10675:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10693:6:180","memberName":"length","nodeType":"MemberAccess","src":"10675:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10661:38:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94798,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94793,"src":"10713:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":94799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10720:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10713:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94825,"nodeType":"Block","src":"10774:145:180","statements":[{"assignments":[94809],"declarations":[{"constant":false,"id":94809,"mutability":"mutable","name":"ckpt","nameLocation":"10809:4:180","nodeType":"VariableDeclaration","scope":94825,"src":"10788:25:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":94808,"nodeType":"UserDefinedTypeName","pathNode":{"id":94807,"name":"Checkpoint224","nameLocations":["10788:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"10788:13:180"},"referencedDeclaration":94559,"src":"10788:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":94817,"initialValue":{"arguments":[{"expression":{"id":94811,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94783,"src":"10830:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94812,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10835:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"10830:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94813,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94793,"src":"10849:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10855:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10849:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94810,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"10816:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10816:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"10788:69:180"},{"expression":{"components":[{"hexValue":"74727565","id":94818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10879:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":94819,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94809,"src":"10885:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":94820,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10890:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"10885:9:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":94821,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94809,"src":"10896:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":94822,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10901:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"10896:11:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94823,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10878:30:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint32_$_t_uint224_$","typeString":"tuple(bool,uint32,uint224)"}},"functionReturnParameters":94791,"id":94824,"nodeType":"Return","src":"10871:37:180"}]},"id":94826,"nodeType":"IfStatement","src":"10709:210:180","trueBody":{"id":94806,"nodeType":"Block","src":"10723:45:180","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":94801,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10745:5:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":94802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10752:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":94803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10755:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":94804,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"10744:13:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":94791,"id":94805,"nodeType":"Return","src":"10737:20:180"}]}}]},"documentation":{"id":94780,"nodeType":"StructuredDocumentation","src":"10364:168:180","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"10546:16:180","parameters":{"id":94784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94783,"mutability":"mutable","name":"self","nameLocation":"10580:4:180","nodeType":"VariableDeclaration","scope":94828,"src":"10563:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94782,"nodeType":"UserDefinedTypeName","pathNode":{"id":94781,"name":"Trace224","nameLocations":["10563:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"10563:8:180"},"referencedDeclaration":94554,"src":"10563:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"10562:23:180"},"returnParameters":{"id":94791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94786,"mutability":"mutable","name":"exists","nameLocation":"10614:6:180","nodeType":"VariableDeclaration","scope":94828,"src":"10609:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":94785,"name":"bool","nodeType":"ElementaryTypeName","src":"10609:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":94788,"mutability":"mutable","name":"_key","nameLocation":"10629:4:180","nodeType":"VariableDeclaration","scope":94828,"src":"10622:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94787,"name":"uint32","nodeType":"ElementaryTypeName","src":"10622:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94790,"mutability":"mutable","name":"_value","nameLocation":"10643:6:180","nodeType":"VariableDeclaration","scope":94828,"src":"10635:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94789,"name":"uint224","nodeType":"ElementaryTypeName","src":"10635:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"10608:42:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94842,"nodeType":"FunctionDefinition","src":"10993:119:180","nodes":[],"body":{"id":94841,"nodeType":"Block","src":"11064:48:180","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":94837,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94832,"src":"11081:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":94838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11086:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":94553,"src":"11081:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage ref"}},"id":94839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11099:6:180","memberName":"length","nodeType":"MemberAccess","src":"11081:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94836,"id":94840,"nodeType":"Return","src":"11074:31:180"}]},"documentation":{"id":94829,"nodeType":"StructuredDocumentation","src":"10931:57:180","text":" @dev Returns the number of checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"11002:6:180","parameters":{"id":94833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94832,"mutability":"mutable","name":"self","nameLocation":"11026:4:180","nodeType":"VariableDeclaration","scope":94842,"src":"11009:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":94831,"nodeType":"UserDefinedTypeName","pathNode":{"id":94830,"name":"Trace224","nameLocations":["11009:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"11009:8:180"},"referencedDeclaration":94554,"src":"11009:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"}],"src":"11008:23:180"},"returnParameters":{"id":94836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94835,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94842,"src":"11055:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94834,"name":"uint256","nodeType":"ElementaryTypeName","src":"11055:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11054:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":94932,"nodeType":"FunctionDefinition","src":"11288:836:180","nodes":[],"body":{"id":94931,"nodeType":"Block","src":"11397:727:180","nodes":[],"statements":[{"assignments":[94859],"declarations":[{"constant":false,"id":94859,"mutability":"mutable","name":"pos","nameLocation":"11415:3:180","nodeType":"VariableDeclaration","scope":94931,"src":"11407:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94858,"name":"uint256","nodeType":"ElementaryTypeName","src":"11407:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94862,"initialValue":{"expression":{"id":94860,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94847,"src":"11421:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":94861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11426:6:180","memberName":"length","nodeType":"MemberAccess","src":"11421:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11407:25:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94863,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94859,"src":"11447:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":94864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11453:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11447:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94929,"nodeType":"Block","src":"12010:108:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":94920,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94849,"src":"12055:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94921,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94851,"src":"12068:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94919,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94559,"src":"12034:13:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["12049:4:180","12060:6:180"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"12034:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":94916,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94847,"src":"12024:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":94918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12029:4:180","memberName":"push","nodeType":"MemberAccess","src":"12024:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$94559_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":94923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12024:52:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94924,"nodeType":"ExpressionStatement","src":"12024:52:180"},{"expression":{"components":[{"hexValue":"30","id":94925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12098:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":94926,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94851,"src":"12101:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94927,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12097:10:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint224_$","typeString":"tuple(int_const 0,uint224)"}},"functionReturnParameters":94857,"id":94928,"nodeType":"Return","src":"12090:17:180"}]},"id":94930,"nodeType":"IfStatement","src":"11443:675:180","trueBody":{"id":94915,"nodeType":"Block","src":"11456:548:180","statements":[{"assignments":[94868],"declarations":[{"constant":false,"id":94868,"mutability":"mutable","name":"last","nameLocation":"11543:4:180","nodeType":"VariableDeclaration","scope":94915,"src":"11522:25:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":94867,"nodeType":"UserDefinedTypeName","pathNode":{"id":94866,"name":"Checkpoint224","nameLocations":["11522:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"11522:13:180"},"referencedDeclaration":94559,"src":"11522:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"id":94875,"initialValue":{"arguments":[{"id":94870,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94847,"src":"11564:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94871,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94859,"src":"11570:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11576:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11570:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94869,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"11550:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11550:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"11522:56:180"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":94877,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94868,"src":"11656:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":94878,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11661:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"11656:9:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":94879,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94849,"src":"11669:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"11656:16:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a2064656372656173696e67206b657973","id":94881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11674:29:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""},"value":"Checkpoint: decreasing keys"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""}],"id":94876,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11648:7:180","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":94882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11648:56:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94883,"nodeType":"ExpressionStatement","src":"11648:56:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":94884,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94868,"src":"11768:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":94885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11773:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"11768:9:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":94886,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94849,"src":"11781:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"11768:16:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94908,"nodeType":"Block","src":"11868:85:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":94903,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94849,"src":"11917:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"id":94904,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94851,"src":"11930:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":94902,"name":"Checkpoint224","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94559,"src":"11896:13:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11911:4:180","11922:6:180"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"11896:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}],"expression":{"id":94899,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94847,"src":"11886:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},"id":94901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11891:4:180","memberName":"push","nodeType":"MemberAccess","src":"11886:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint224_$94559_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,struct Checkpoints.Checkpoint224 storage ref)"}},"id":94906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11886:52:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":94907,"nodeType":"ExpressionStatement","src":"11886:52:180"}]},"id":94909,"nodeType":"IfStatement","src":"11764:189:180","trueBody":{"id":94898,"nodeType":"Block","src":"11786:76:180","statements":[{"expression":{"id":94896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":94889,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94847,"src":"11818:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94890,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94859,"src":"11824:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":94891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11830:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11824:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94888,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"11804:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11804:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94894,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"11833:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"11804:35:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94895,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94851,"src":"11842:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"11804:43:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":94897,"nodeType":"ExpressionStatement","src":"11804:43:180"}]}},{"expression":{"components":[{"expression":{"id":94910,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94868,"src":"11974:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_memory_ptr","typeString":"struct Checkpoints.Checkpoint224 memory"}},"id":94911,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11979:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":94558,"src":"11974:11:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":94912,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94851,"src":"11987:5:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"id":94913,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11973:20:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":94857,"id":94914,"nodeType":"Return","src":"11966:27:180"}]}}]},"documentation":{"id":94843,"nodeType":"StructuredDocumentation","src":"11118:165:180","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"11297:7:180","parameters":{"id":94852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94847,"mutability":"mutable","name":"self","nameLocation":"11329:4:180","nodeType":"VariableDeclaration","scope":94932,"src":"11305:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":94845,"nodeType":"UserDefinedTypeName","pathNode":{"id":94844,"name":"Checkpoint224","nameLocations":["11305:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"11305:13:180"},"referencedDeclaration":94559,"src":"11305:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":94846,"nodeType":"ArrayTypeName","src":"11305:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":94849,"mutability":"mutable","name":"key","nameLocation":"11342:3:180","nodeType":"VariableDeclaration","scope":94932,"src":"11335:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94848,"name":"uint32","nodeType":"ElementaryTypeName","src":"11335:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94851,"mutability":"mutable","name":"value","nameLocation":"11355:5:180","nodeType":"VariableDeclaration","scope":94932,"src":"11347:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94850,"name":"uint224","nodeType":"ElementaryTypeName","src":"11347:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"11304:57:180"},"returnParameters":{"id":94857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94854,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94932,"src":"11379:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94853,"name":"uint224","nodeType":"ElementaryTypeName","src":"11379:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":94856,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94932,"src":"11388:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":94855,"name":"uint224","nodeType":"ElementaryTypeName","src":"11388:7:180","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"11378:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":94984,"nodeType":"FunctionDefinition","src":"12470:433:180","nodes":[],"body":{"id":94983,"nodeType":"Block","src":"12636:267:180","nodes":[],"statements":[{"body":{"id":94979,"nodeType":"Block","src":"12665:211:180","statements":[{"assignments":[94952],"declarations":[{"constant":false,"id":94952,"mutability":"mutable","name":"mid","nameLocation":"12687:3:180","nodeType":"VariableDeclaration","scope":94979,"src":"12679:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94951,"name":"uint256","nodeType":"ElementaryTypeName","src":"12679:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":94958,"initialValue":{"arguments":[{"id":94955,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94941,"src":"12706:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":94956,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94943,"src":"12711:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":94953,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"12693:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":94954,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12698:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"12693:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":94957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12693:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12679:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":94965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":94960,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94937,"src":"12748:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":94961,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94952,"src":"12754:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":94959,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"12734:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":94962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12734:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":94963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12759:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"12734:29:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":94964,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94939,"src":"12766:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"12734:35:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":94977,"nodeType":"Block","src":"12820:46:180","statements":[{"expression":{"id":94975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94971,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94941,"src":"12838:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94972,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94952,"src":"12844:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":94973,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12850:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12844:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12838:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94976,"nodeType":"ExpressionStatement","src":"12838:13:180"}]},"id":94978,"nodeType":"IfStatement","src":"12730:136:180","trueBody":{"id":94970,"nodeType":"Block","src":"12771:43:180","statements":[{"expression":{"id":94968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":94966,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94943,"src":"12789:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":94967,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94952,"src":"12796:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12789:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":94969,"nodeType":"ExpressionStatement","src":"12789:10:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":94950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":94948,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94941,"src":"12653:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":94949,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94943,"src":"12659:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12653:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":94980,"nodeType":"WhileStatement","src":"12646:230:180"},{"expression":{"id":94981,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94943,"src":"12892:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94947,"id":94982,"nodeType":"Return","src":"12885:11:180"}]},"documentation":{"id":94933,"nodeType":"StructuredDocumentation","src":"12130:335:180","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"12479:18:180","parameters":{"id":94944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94937,"mutability":"mutable","name":"self","nameLocation":"12531:4:180","nodeType":"VariableDeclaration","scope":94984,"src":"12507:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":94935,"nodeType":"UserDefinedTypeName","pathNode":{"id":94934,"name":"Checkpoint224","nameLocations":["12507:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"12507:13:180"},"referencedDeclaration":94559,"src":"12507:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":94936,"nodeType":"ArrayTypeName","src":"12507:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":94939,"mutability":"mutable","name":"key","nameLocation":"12552:3:180","nodeType":"VariableDeclaration","scope":94984,"src":"12545:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94938,"name":"uint32","nodeType":"ElementaryTypeName","src":"12545:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94941,"mutability":"mutable","name":"low","nameLocation":"12573:3:180","nodeType":"VariableDeclaration","scope":94984,"src":"12565:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94940,"name":"uint256","nodeType":"ElementaryTypeName","src":"12565:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94943,"mutability":"mutable","name":"high","nameLocation":"12594:4:180","nodeType":"VariableDeclaration","scope":94984,"src":"12586:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94942,"name":"uint256","nodeType":"ElementaryTypeName","src":"12586:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12497:107:180"},"returnParameters":{"id":94947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":94984,"src":"12627:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94945,"name":"uint256","nodeType":"ElementaryTypeName","src":"12627:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12626:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":95036,"nodeType":"FunctionDefinition","src":"13250:433:180","nodes":[],"body":{"id":95035,"nodeType":"Block","src":"13416:267:180","nodes":[],"statements":[{"body":{"id":95031,"nodeType":"Block","src":"13445:211:180","statements":[{"assignments":[95004],"declarations":[{"constant":false,"id":95004,"mutability":"mutable","name":"mid","nameLocation":"13467:3:180","nodeType":"VariableDeclaration","scope":95031,"src":"13459:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95003,"name":"uint256","nodeType":"ElementaryTypeName","src":"13459:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95010,"initialValue":{"arguments":[{"id":95007,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94993,"src":"13486:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95008,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94995,"src":"13491:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95005,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"13473:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":95006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13478:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"13473:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":95009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13473:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13459:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":95017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":95012,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94989,"src":"13528:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"}},{"id":95013,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95004,"src":"13534:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95011,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95051,"src":"13514:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint224_$94559_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint224 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint224 storage pointer)"}},"id":95014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13514:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224 storage pointer"}},"id":95015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13539:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":94556,"src":"13514:29:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":95016,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94991,"src":"13546:3:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"13514:35:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95029,"nodeType":"Block","src":"13603:43:180","statements":[{"expression":{"id":95027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95025,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94995,"src":"13621:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95026,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95004,"src":"13628:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13621:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95028,"nodeType":"ExpressionStatement","src":"13621:10:180"}]},"id":95030,"nodeType":"IfStatement","src":"13510:136:180","trueBody":{"id":95024,"nodeType":"Block","src":"13551:46:180","statements":[{"expression":{"id":95022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95018,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94993,"src":"13569:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95019,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95004,"src":"13575:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":95020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13581:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13575:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13569:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95023,"nodeType":"ExpressionStatement","src":"13569:13:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95000,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94993,"src":"13433:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":95001,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94995,"src":"13439:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13433:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95032,"nodeType":"WhileStatement","src":"13426:230:180"},{"expression":{"id":95033,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94995,"src":"13672:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":94999,"id":95034,"nodeType":"Return","src":"13665:11:180"}]},"documentation":{"id":94985,"nodeType":"StructuredDocumentation","src":"12909:336:180","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"13259:18:180","parameters":{"id":94996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94989,"mutability":"mutable","name":"self","nameLocation":"13311:4:180","nodeType":"VariableDeclaration","scope":95036,"src":"13287:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":94987,"nodeType":"UserDefinedTypeName","pathNode":{"id":94986,"name":"Checkpoint224","nameLocations":["13287:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"13287:13:180"},"referencedDeclaration":94559,"src":"13287:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":94988,"nodeType":"ArrayTypeName","src":"13287:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":94991,"mutability":"mutable","name":"key","nameLocation":"13332:3:180","nodeType":"VariableDeclaration","scope":95036,"src":"13325:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":94990,"name":"uint32","nodeType":"ElementaryTypeName","src":"13325:6:180","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":94993,"mutability":"mutable","name":"low","nameLocation":"13353:3:180","nodeType":"VariableDeclaration","scope":95036,"src":"13345:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94992,"name":"uint256","nodeType":"ElementaryTypeName","src":"13345:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":94995,"mutability":"mutable","name":"high","nameLocation":"13374:4:180","nodeType":"VariableDeclaration","scope":95036,"src":"13366:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94994,"name":"uint256","nodeType":"ElementaryTypeName","src":"13366:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13277:107:180"},"returnParameters":{"id":94999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":94998,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95036,"src":"13407:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94997,"name":"uint256","nodeType":"ElementaryTypeName","src":"13407:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13406:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":95051,"nodeType":"FunctionDefinition","src":"13826:265:180","nodes":[],"body":{"id":95050,"nodeType":"Block","src":"13966:125:180","nodes":[],"statements":[{"AST":{"nativeSrc":"13985:100:180","nodeType":"YulBlock","src":"13985:100:180","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"14006:1:180","nodeType":"YulLiteral","src":"14006:1:180","type":"","value":"0"},{"name":"self.slot","nativeSrc":"14009:9:180","nodeType":"YulIdentifier","src":"14009:9:180"}],"functionName":{"name":"mstore","nativeSrc":"13999:6:180","nodeType":"YulIdentifier","src":"13999:6:180"},"nativeSrc":"13999:20:180","nodeType":"YulFunctionCall","src":"13999:20:180"},"nativeSrc":"13999:20:180","nodeType":"YulExpressionStatement","src":"13999:20:180"},{"nativeSrc":"14032:43:180","nodeType":"YulAssignment","src":"14032:43:180","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"14061:1:180","nodeType":"YulLiteral","src":"14061:1:180","type":"","value":"0"},{"kind":"number","nativeSrc":"14064:4:180","nodeType":"YulLiteral","src":"14064:4:180","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"14051:9:180","nodeType":"YulIdentifier","src":"14051:9:180"},"nativeSrc":"14051:18:180","nodeType":"YulFunctionCall","src":"14051:18:180"},{"name":"pos","nativeSrc":"14071:3:180","nodeType":"YulIdentifier","src":"14071:3:180"}],"functionName":{"name":"add","nativeSrc":"14047:3:180","nodeType":"YulIdentifier","src":"14047:3:180"},"nativeSrc":"14047:28:180","nodeType":"YulFunctionCall","src":"14047:28:180"},"variableNames":[{"name":"result.slot","nativeSrc":"14032:11:180","nodeType":"YulIdentifier","src":"14032:11:180"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":95043,"isOffset":false,"isSlot":false,"src":"14071:3:180","valueSize":1},{"declaration":95047,"isOffset":false,"isSlot":true,"src":"14032:11:180","suffix":"slot","valueSize":1},{"declaration":95041,"isOffset":false,"isSlot":true,"src":"14009:9:180","suffix":"slot","valueSize":1}],"id":95049,"nodeType":"InlineAssembly","src":"13976:109:180"}]},"documentation":{"id":95037,"nodeType":"StructuredDocumentation","src":"13689:132:180","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"13835:13:180","parameters":{"id":95044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95041,"mutability":"mutable","name":"self","nameLocation":"13882:4:180","nodeType":"VariableDeclaration","scope":95051,"src":"13858:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"},"typeName":{"baseType":{"id":95039,"nodeType":"UserDefinedTypeName","pathNode":{"id":95038,"name":"Checkpoint224","nameLocations":["13858:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"13858:13:180"},"referencedDeclaration":94559,"src":"13858:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"id":95040,"nodeType":"ArrayTypeName","src":"13858:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint224_$94559_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint224[]"}},"visibility":"internal"},{"constant":false,"id":95043,"mutability":"mutable","name":"pos","nameLocation":"13904:3:180","nodeType":"VariableDeclaration","scope":95051,"src":"13896:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95042,"name":"uint256","nodeType":"ElementaryTypeName","src":"13896:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13848:65:180"},"returnParameters":{"id":95048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95047,"mutability":"mutable","name":"result","nameLocation":"13958:6:180","nodeType":"VariableDeclaration","scope":95051,"src":"13936:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"},"typeName":{"id":95046,"nodeType":"UserDefinedTypeName","pathNode":{"id":95045,"name":"Checkpoint224","nameLocations":["13936:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":94559,"src":"13936:13:180"},"referencedDeclaration":94559,"src":"13936:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint224_$94559_storage_ptr","typeString":"struct Checkpoints.Checkpoint224"}},"visibility":"internal"}],"src":"13935:30:180"},"scope":95554,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":95056,"nodeType":"StructDefinition","src":"14097:61:180","nodes":[],"canonicalName":"Checkpoints.Trace160","members":[{"constant":false,"id":95055,"mutability":"mutable","name":"_checkpoints","nameLocation":"14139:12:180","nodeType":"VariableDeclaration","scope":95056,"src":"14123:28:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":95053,"nodeType":"UserDefinedTypeName","pathNode":{"id":95052,"name":"Checkpoint160","nameLocations":["14123:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"14123:13:180"},"referencedDeclaration":95061,"src":"14123:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":95054,"nodeType":"ArrayTypeName","src":"14123:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"}],"name":"Trace160","nameLocation":"14104:8:180","scope":95554,"visibility":"public"},{"id":95061,"nodeType":"StructDefinition","src":"14164:73:180","nodes":[],"canonicalName":"Checkpoints.Checkpoint160","members":[{"constant":false,"id":95058,"mutability":"mutable","name":"_key","nameLocation":"14202:4:180","nodeType":"VariableDeclaration","scope":95061,"src":"14195:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95057,"name":"uint96","nodeType":"ElementaryTypeName","src":"14195:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95060,"mutability":"mutable","name":"_value","nameLocation":"14224:6:180","nodeType":"VariableDeclaration","scope":95061,"src":"14216:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95059,"name":"uint160","nodeType":"ElementaryTypeName","src":"14216:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"name":"Checkpoint160","nameLocation":"14171:13:180","scope":95554,"visibility":"public"},{"id":95084,"nodeType":"FunctionDefinition","src":"14410:162:180","nodes":[],"body":{"id":95083,"nodeType":"Block","src":"14510:62:180","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":95077,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95065,"src":"14535:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95078,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14540:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"14535:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95079,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95067,"src":"14554:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":95080,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95069,"src":"14559:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":95076,"name":"_insert","nodeType":"Identifier","overloadedDeclarations":[94430,94932,95434],"referencedDeclaration":95434,"src":"14527:7:180","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint160_$returns$_t_uint160_$_t_uint160_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint160) returns (uint160,uint160)"}},"id":95081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14527:38:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":95075,"id":95082,"nodeType":"Return","src":"14520:45:180"}]},"documentation":{"id":95062,"nodeType":"StructuredDocumentation","src":"14243:162:180","text":" @dev Pushes a (`key`, `value`) pair into a Trace160 so that it is stored as the checkpoint.\n Returns previous value and new value."},"implemented":true,"kind":"function","modifiers":[],"name":"push","nameLocation":"14419:4:180","parameters":{"id":95070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95065,"mutability":"mutable","name":"self","nameLocation":"14441:4:180","nodeType":"VariableDeclaration","scope":95084,"src":"14424:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95064,"nodeType":"UserDefinedTypeName","pathNode":{"id":95063,"name":"Trace160","nameLocations":["14424:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"14424:8:180"},"referencedDeclaration":95056,"src":"14424:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":95067,"mutability":"mutable","name":"key","nameLocation":"14454:3:180","nodeType":"VariableDeclaration","scope":95084,"src":"14447:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95066,"name":"uint96","nodeType":"ElementaryTypeName","src":"14447:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95069,"mutability":"mutable","name":"value","nameLocation":"14467:5:180","nodeType":"VariableDeclaration","scope":95084,"src":"14459:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95068,"name":"uint160","nodeType":"ElementaryTypeName","src":"14459:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14423:50:180"},"returnParameters":{"id":95075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95072,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95084,"src":"14492:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95071,"name":"uint160","nodeType":"ElementaryTypeName","src":"14492:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":95074,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95084,"src":"14501:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95073,"name":"uint160","nodeType":"ElementaryTypeName","src":"14501:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14491:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95124,"nodeType":"FunctionDefinition","src":"14730:295:180","nodes":[],"body":{"id":95123,"nodeType":"Block","src":"14818:207:180","nodes":[],"statements":[{"assignments":[95096],"declarations":[{"constant":false,"id":95096,"mutability":"mutable","name":"len","nameLocation":"14836:3:180","nodeType":"VariableDeclaration","scope":95123,"src":"14828:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95095,"name":"uint256","nodeType":"ElementaryTypeName","src":"14828:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95100,"initialValue":{"expression":{"expression":{"id":95097,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95088,"src":"14842:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14847:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"14842:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14860:6:180","memberName":"length","nodeType":"MemberAccess","src":"14842:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14828:38:180"},{"assignments":[95102],"declarations":[{"constant":false,"id":95102,"mutability":"mutable","name":"pos","nameLocation":"14884:3:180","nodeType":"VariableDeclaration","scope":95123,"src":"14876:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95101,"name":"uint256","nodeType":"ElementaryTypeName","src":"14876:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95110,"initialValue":{"arguments":[{"expression":{"id":95104,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95088,"src":"14909:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14914:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"14909:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95106,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95090,"src":"14928:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":95107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14933:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":95108,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95096,"src":"14936:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95103,"name":"_lowerBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94534,95036,95538],"referencedDeclaration":95538,"src":"14890:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":95109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14890:50:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14876:64:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95111,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95102,"src":"14957:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":95112,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95096,"src":"14964:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14957:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":95116,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95088,"src":"14988:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14993:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"14988:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95118,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95102,"src":"15007:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95115,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"14974:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14974:37:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15012:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"14974:44:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":95121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"14957:61:180","trueExpression":{"hexValue":"30","id":95114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14970:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":95094,"id":95122,"nodeType":"Return","src":"14950:68:180"}]},"documentation":{"id":95085,"nodeType":"StructuredDocumentation","src":"14578:147:180","text":" @dev Returns the value in the first (oldest) checkpoint with key greater or equal than the search key, or zero if there is none."},"implemented":true,"kind":"function","modifiers":[],"name":"lowerLookup","nameLocation":"14739:11:180","parameters":{"id":95091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95088,"mutability":"mutable","name":"self","nameLocation":"14768:4:180","nodeType":"VariableDeclaration","scope":95124,"src":"14751:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95087,"nodeType":"UserDefinedTypeName","pathNode":{"id":95086,"name":"Trace160","nameLocations":["14751:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"14751:8:180"},"referencedDeclaration":95056,"src":"14751:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":95090,"mutability":"mutable","name":"key","nameLocation":"14781:3:180","nodeType":"VariableDeclaration","scope":95124,"src":"14774:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95089,"name":"uint96","nodeType":"ElementaryTypeName","src":"14774:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"14750:35:180"},"returnParameters":{"id":95094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95093,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95124,"src":"14809:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95092,"name":"uint160","nodeType":"ElementaryTypeName","src":"14809:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"14808:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95166,"nodeType":"FunctionDefinition","src":"15185:297:180","nodes":[],"body":{"id":95165,"nodeType":"Block","src":"15273:209:180","nodes":[],"statements":[{"assignments":[95136],"declarations":[{"constant":false,"id":95136,"mutability":"mutable","name":"len","nameLocation":"15291:3:180","nodeType":"VariableDeclaration","scope":95165,"src":"15283:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95135,"name":"uint256","nodeType":"ElementaryTypeName","src":"15283:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95140,"initialValue":{"expression":{"expression":{"id":95137,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95128,"src":"15297:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15302:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"15297:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15315:6:180","memberName":"length","nodeType":"MemberAccess","src":"15297:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15283:38:180"},{"assignments":[95142],"declarations":[{"constant":false,"id":95142,"mutability":"mutable","name":"pos","nameLocation":"15339:3:180","nodeType":"VariableDeclaration","scope":95165,"src":"15331:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95141,"name":"uint256","nodeType":"ElementaryTypeName","src":"15331:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95150,"initialValue":{"arguments":[{"expression":{"id":95144,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95128,"src":"15364:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15369:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"15364:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95146,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95130,"src":"15383:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"hexValue":"30","id":95147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15388:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":95148,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95136,"src":"15391:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95143,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":95486,"src":"15345:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":95149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15345:50:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15331:64:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95153,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95151,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95142,"src":"15412:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15419:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15412:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":95156,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95128,"src":"15441:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15446:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"15441:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95158,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95142,"src":"15460:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15466:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"15460:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95155,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"15427:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15427:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15469:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"15427:48:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":95163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15412:63:180","trueExpression":{"hexValue":"30","id":95154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15423:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":95134,"id":95164,"nodeType":"Return","src":"15405:70:180"}]},"documentation":{"id":95125,"nodeType":"StructuredDocumentation","src":"15031:149:180","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero if there is none."},"implemented":true,"kind":"function","modifiers":[],"name":"upperLookup","nameLocation":"15194:11:180","parameters":{"id":95131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95128,"mutability":"mutable","name":"self","nameLocation":"15223:4:180","nodeType":"VariableDeclaration","scope":95166,"src":"15206:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95127,"nodeType":"UserDefinedTypeName","pathNode":{"id":95126,"name":"Trace160","nameLocations":["15206:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"15206:8:180"},"referencedDeclaration":95056,"src":"15206:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":95130,"mutability":"mutable","name":"key","nameLocation":"15236:3:180","nodeType":"VariableDeclaration","scope":95166,"src":"15229:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95129,"name":"uint96","nodeType":"ElementaryTypeName","src":"15229:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"15205:35:180"},"returnParameters":{"id":95134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95133,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95166,"src":"15264:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95132,"name":"uint160","nodeType":"ElementaryTypeName","src":"15264:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15263:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95251,"nodeType":"FunctionDefinition","src":"15773:606:180","nodes":[],"body":{"id":95250,"nodeType":"Block","src":"15867:512:180","nodes":[],"statements":[{"assignments":[95178],"declarations":[{"constant":false,"id":95178,"mutability":"mutable","name":"len","nameLocation":"15885:3:180","nodeType":"VariableDeclaration","scope":95250,"src":"15877:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95177,"name":"uint256","nodeType":"ElementaryTypeName","src":"15877:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95182,"initialValue":{"expression":{"expression":{"id":95179,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95170,"src":"15891:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95180,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15896:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"15891:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15909:6:180","memberName":"length","nodeType":"MemberAccess","src":"15891:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15877:38:180"},{"assignments":[95184],"declarations":[{"constant":false,"id":95184,"mutability":"mutable","name":"low","nameLocation":"15934:3:180","nodeType":"VariableDeclaration","scope":95250,"src":"15926:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95183,"name":"uint256","nodeType":"ElementaryTypeName","src":"15926:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95186,"initialValue":{"hexValue":"30","id":95185,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15940:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"15926:15:180"},{"assignments":[95188],"declarations":[{"constant":false,"id":95188,"mutability":"mutable","name":"high","nameLocation":"15959:4:180","nodeType":"VariableDeclaration","scope":95250,"src":"15951:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95187,"name":"uint256","nodeType":"ElementaryTypeName","src":"15951:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95190,"initialValue":{"id":95189,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95178,"src":"15966:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15951:18:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95191,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95178,"src":"15984:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":95192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15990:1:180","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"15984:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95225,"nodeType":"IfStatement","src":"15980:234:180","trueBody":{"id":95224,"nodeType":"Block","src":"15993:221:180","statements":[{"assignments":[95195],"declarations":[{"constant":false,"id":95195,"mutability":"mutable","name":"mid","nameLocation":"16015:3:180","nodeType":"VariableDeclaration","scope":95224,"src":"16007:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95194,"name":"uint256","nodeType":"ElementaryTypeName","src":"16007:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95202,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95196,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95178,"src":"16021:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":95199,"name":"len","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95178,"src":"16037:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95197,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"16027:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":95198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16032:4:180","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":97375,"src":"16027:9:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":95200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16027:14:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16021:20:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16007:34:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":95210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95203,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95172,"src":"16059:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"arguments":[{"expression":{"id":95205,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95170,"src":"16079:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16084:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"16079:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95207,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95195,"src":"16098:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95204,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"16065:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16065:37:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16103:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"16065:42:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"16059:48:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95222,"nodeType":"Block","src":"16158:46:180","statements":[{"expression":{"id":95220,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95216,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95184,"src":"16176:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95217,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95195,"src":"16182:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":95218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16188:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16182:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16176:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95221,"nodeType":"ExpressionStatement","src":"16176:13:180"}]},"id":95223,"nodeType":"IfStatement","src":"16055:149:180","trueBody":{"id":95215,"nodeType":"Block","src":"16109:43:180","statements":[{"expression":{"id":95213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95211,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95188,"src":"16127:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95212,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95195,"src":"16134:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16127:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95214,"nodeType":"ExpressionStatement","src":"16127:10:180"}]}}]}},{"assignments":[95227],"declarations":[{"constant":false,"id":95227,"mutability":"mutable","name":"pos","nameLocation":"16232:3:180","nodeType":"VariableDeclaration","scope":95250,"src":"16224:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95226,"name":"uint256","nodeType":"ElementaryTypeName","src":"16224:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95235,"initialValue":{"arguments":[{"expression":{"id":95229,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95170,"src":"16257:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16262:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"16257:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"id":95231,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95172,"src":"16276:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":95232,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95184,"src":"16281:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95233,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95188,"src":"16286:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95228,"name":"_upperBinaryLookup","nodeType":"Identifier","overloadedDeclarations":[94482,94984,95486],"referencedDeclaration":95486,"src":"16238:18:180","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint96_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint96,uint256,uint256) view returns (uint256)"}},"id":95234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16238:53:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16224:67:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95236,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95227,"src":"16309:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16316:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16309:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":95241,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95170,"src":"16338:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16343:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"16338:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95243,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95227,"src":"16357:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16363:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16357:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95240,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"16324:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16324:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16366:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"16324:48:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":95248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16309:63:180","trueExpression":{"hexValue":"30","id":95239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16320:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":95176,"id":95249,"nodeType":"Return","src":"16302:70:180"}]},"documentation":{"id":95167,"nodeType":"StructuredDocumentation","src":"15488:280:180","text":" @dev Returns the value in the last (most recent) checkpoint with key lower or equal than the search key, or zero if there is none.\n NOTE: This is a variant of {upperLookup} that is optimised to find \"recent\" checkpoint (checkpoints with high keys)."},"implemented":true,"kind":"function","modifiers":[],"name":"upperLookupRecent","nameLocation":"15782:17:180","parameters":{"id":95173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95170,"mutability":"mutable","name":"self","nameLocation":"15817:4:180","nodeType":"VariableDeclaration","scope":95251,"src":"15800:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95169,"nodeType":"UserDefinedTypeName","pathNode":{"id":95168,"name":"Trace160","nameLocations":["15800:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"15800:8:180"},"referencedDeclaration":95056,"src":"15800:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"},{"constant":false,"id":95172,"mutability":"mutable","name":"key","nameLocation":"15830:3:180","nodeType":"VariableDeclaration","scope":95251,"src":"15823:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95171,"name":"uint96","nodeType":"ElementaryTypeName","src":"15823:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"15799:35:180"},"returnParameters":{"id":95176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95251,"src":"15858:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95174,"name":"uint160","nodeType":"ElementaryTypeName","src":"15858:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"15857:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95281,"nodeType":"FunctionDefinition","src":"16499:206:180","nodes":[],"body":{"id":95280,"nodeType":"Block","src":"16570:135:180","nodes":[],"statements":[{"assignments":[95261],"declarations":[{"constant":false,"id":95261,"mutability":"mutable","name":"pos","nameLocation":"16588:3:180","nodeType":"VariableDeclaration","scope":95280,"src":"16580:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95260,"name":"uint256","nodeType":"ElementaryTypeName","src":"16580:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95265,"initialValue":{"expression":{"expression":{"id":95262,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95255,"src":"16594:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95263,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16599:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"16594:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16612:6:180","memberName":"length","nodeType":"MemberAccess","src":"16594:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16580:38:180"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95266,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95261,"src":"16635:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16642:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16635:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"expression":{"id":95271,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95255,"src":"16664:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95272,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16669:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"16664:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95273,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95261,"src":"16683:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16689:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"16683:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95270,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"16650:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16650:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16692:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"16650:48:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":95278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"16635:63:180","trueExpression":{"hexValue":"30","id":95269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16646:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":95259,"id":95279,"nodeType":"Return","src":"16628:70:180"}]},"documentation":{"id":95252,"nodeType":"StructuredDocumentation","src":"16385:109:180","text":" @dev Returns the value in the most recent checkpoint, or zero if there are no checkpoints."},"implemented":true,"kind":"function","modifiers":[],"name":"latest","nameLocation":"16508:6:180","parameters":{"id":95256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95255,"mutability":"mutable","name":"self","nameLocation":"16532:4:180","nodeType":"VariableDeclaration","scope":95281,"src":"16515:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95254,"nodeType":"UserDefinedTypeName","pathNode":{"id":95253,"name":"Trace160","nameLocations":["16515:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"16515:8:180"},"referencedDeclaration":95056,"src":"16515:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"16514:23:180"},"returnParameters":{"id":95259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95258,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95281,"src":"16561:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95257,"name":"uint160","nodeType":"ElementaryTypeName","src":"16561:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"16560:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95330,"nodeType":"FunctionDefinition","src":"16884:388:180","nodes":[],"body":{"id":95329,"nodeType":"Block","src":"16998:274:180","nodes":[],"statements":[{"assignments":[95295],"declarations":[{"constant":false,"id":95295,"mutability":"mutable","name":"pos","nameLocation":"17016:3:180","nodeType":"VariableDeclaration","scope":95329,"src":"17008:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95294,"name":"uint256","nodeType":"ElementaryTypeName","src":"17008:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95299,"initialValue":{"expression":{"expression":{"id":95296,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95285,"src":"17022:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95297,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17027:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"17022:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17040:6:180","memberName":"length","nodeType":"MemberAccess","src":"17022:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17008:38:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95300,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95295,"src":"17060:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":95301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17067:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17060:8:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95327,"nodeType":"Block","src":"17121:145:180","statements":[{"assignments":[95311],"declarations":[{"constant":false,"id":95311,"mutability":"mutable","name":"ckpt","nameLocation":"17156:4:180","nodeType":"VariableDeclaration","scope":95327,"src":"17135:25:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":95310,"nodeType":"UserDefinedTypeName","pathNode":{"id":95309,"name":"Checkpoint160","nameLocations":["17135:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"17135:13:180"},"referencedDeclaration":95061,"src":"17135:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":95319,"initialValue":{"arguments":[{"expression":{"id":95313,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95285,"src":"17177:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17182:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"17177:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95315,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95295,"src":"17196:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17202:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17196:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95312,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"17163:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17163:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17135:69:180"},{"expression":{"components":[{"hexValue":"74727565","id":95320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17226:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"id":95321,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95311,"src":"17232:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":95322,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17237:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"17232:9:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"expression":{"id":95323,"name":"ckpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95311,"src":"17243:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":95324,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17248:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"17243:11:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":95325,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17225:30:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_uint96_$_t_uint160_$","typeString":"tuple(bool,uint96,uint160)"}},"functionReturnParameters":95293,"id":95326,"nodeType":"Return","src":"17218:37:180"}]},"id":95328,"nodeType":"IfStatement","src":"17056:210:180","trueBody":{"id":95308,"nodeType":"Block","src":"17070:45:180","statements":[{"expression":{"components":[{"hexValue":"66616c7365","id":95303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17092:5:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":95304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17099:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":95305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17102:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":95306,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"17091:13:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_rational_0_by_1_$_t_rational_0_by_1_$","typeString":"tuple(bool,int_const 0,int_const 0)"}},"functionReturnParameters":95293,"id":95307,"nodeType":"Return","src":"17084:20:180"}]}}]},"documentation":{"id":95282,"nodeType":"StructuredDocumentation","src":"16711:168:180","text":" @dev Returns whether there is a checkpoint in the structure (i.e. it is not empty), and if so the key and value\n in the most recent checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"latestCheckpoint","nameLocation":"16893:16:180","parameters":{"id":95286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95285,"mutability":"mutable","name":"self","nameLocation":"16927:4:180","nodeType":"VariableDeclaration","scope":95330,"src":"16910:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95284,"nodeType":"UserDefinedTypeName","pathNode":{"id":95283,"name":"Trace160","nameLocations":["16910:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"16910:8:180"},"referencedDeclaration":95056,"src":"16910:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"16909:23:180"},"returnParameters":{"id":95293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95288,"mutability":"mutable","name":"exists","nameLocation":"16961:6:180","nodeType":"VariableDeclaration","scope":95330,"src":"16956:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":95287,"name":"bool","nodeType":"ElementaryTypeName","src":"16956:4:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":95290,"mutability":"mutable","name":"_key","nameLocation":"16976:4:180","nodeType":"VariableDeclaration","scope":95330,"src":"16969:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95289,"name":"uint96","nodeType":"ElementaryTypeName","src":"16969:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95292,"mutability":"mutable","name":"_value","nameLocation":"16990:6:180","nodeType":"VariableDeclaration","scope":95330,"src":"16982:14:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95291,"name":"uint160","nodeType":"ElementaryTypeName","src":"16982:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"16955:42:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95344,"nodeType":"FunctionDefinition","src":"17340:119:180","nodes":[],"body":{"id":95343,"nodeType":"Block","src":"17411:48:180","nodes":[],"statements":[{"expression":{"expression":{"expression":{"id":95339,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95334,"src":"17428:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160 storage pointer"}},"id":95340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17433:12:180","memberName":"_checkpoints","nodeType":"MemberAccess","referencedDeclaration":95055,"src":"17428:17:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage ref"}},"id":95341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17446:6:180","memberName":"length","nodeType":"MemberAccess","src":"17428:24:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":95338,"id":95342,"nodeType":"Return","src":"17421:31:180"}]},"documentation":{"id":95331,"nodeType":"StructuredDocumentation","src":"17278:57:180","text":" @dev Returns the number of checkpoint."},"implemented":true,"kind":"function","modifiers":[],"name":"length","nameLocation":"17349:6:180","parameters":{"id":95335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95334,"mutability":"mutable","name":"self","nameLocation":"17373:4:180","nodeType":"VariableDeclaration","scope":95344,"src":"17356:21:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"},"typeName":{"id":95333,"nodeType":"UserDefinedTypeName","pathNode":{"id":95332,"name":"Trace160","nameLocations":["17356:8:180"],"nodeType":"IdentifierPath","referencedDeclaration":95056,"src":"17356:8:180"},"referencedDeclaration":95056,"src":"17356:8:180","typeDescriptions":{"typeIdentifier":"t_struct$_Trace160_$95056_storage_ptr","typeString":"struct Checkpoints.Trace160"}},"visibility":"internal"}],"src":"17355:23:180"},"returnParameters":{"id":95338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95337,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95344,"src":"17402:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95336,"name":"uint256","nodeType":"ElementaryTypeName","src":"17402:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17401:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95434,"nodeType":"FunctionDefinition","src":"17635:836:180","nodes":[],"body":{"id":95433,"nodeType":"Block","src":"17744:727:180","nodes":[],"statements":[{"assignments":[95361],"declarations":[{"constant":false,"id":95361,"mutability":"mutable","name":"pos","nameLocation":"17762:3:180","nodeType":"VariableDeclaration","scope":95433,"src":"17754:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95360,"name":"uint256","nodeType":"ElementaryTypeName","src":"17754:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95364,"initialValue":{"expression":{"id":95362,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"17768:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":95363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17773:6:180","memberName":"length","nodeType":"MemberAccess","src":"17768:11:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17754:25:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95365,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95361,"src":"17794:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":95366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17800:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17794:7:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95431,"nodeType":"Block","src":"18357:108:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":95422,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95351,"src":"18402:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":95423,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95353,"src":"18415:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":95421,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95061,"src":"18381:13:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18396:4:180","18407:6:180"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"18381:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":95418,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"18371:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":95420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18376:4:180","memberName":"push","nodeType":"MemberAccess","src":"18371:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$95061_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":95425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18371:52:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95426,"nodeType":"ExpressionStatement","src":"18371:52:180"},{"expression":{"components":[{"hexValue":"30","id":95427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18445:1:180","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":95428,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95353,"src":"18448:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":95429,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18444:10:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_uint160_$","typeString":"tuple(int_const 0,uint160)"}},"functionReturnParameters":95359,"id":95430,"nodeType":"Return","src":"18437:17:180"}]},"id":95432,"nodeType":"IfStatement","src":"17790:675:180","trueBody":{"id":95417,"nodeType":"Block","src":"17803:548:180","statements":[{"assignments":[95370],"declarations":[{"constant":false,"id":95370,"mutability":"mutable","name":"last","nameLocation":"17890:4:180","nodeType":"VariableDeclaration","scope":95417,"src":"17869:25:180","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":95369,"nodeType":"UserDefinedTypeName","pathNode":{"id":95368,"name":"Checkpoint160","nameLocations":["17869:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"17869:13:180"},"referencedDeclaration":95061,"src":"17869:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"id":95377,"initialValue":{"arguments":[{"id":95372,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"17911:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95373,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95361,"src":"17917:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17923:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17917:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95371,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"17897:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17897:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"nodeType":"VariableDeclarationStatement","src":"17869:56:180"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":95382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95379,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95370,"src":"18003:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":95380,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18008:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"18003:9:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":95381,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95351,"src":"18016:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"18003:16:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436865636b706f696e743a2064656372656173696e67206b657973","id":95383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18021:29:180","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""},"value":"Checkpoint: decreasing keys"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4f6b1769383e9e01fad001f10d4f9180a25f63424c2597419936b157d29f34ec","typeString":"literal_string \"Checkpoint: decreasing keys\""}],"id":95378,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17995:7:180","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17995:56:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95385,"nodeType":"ExpressionStatement","src":"17995:56:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":95389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":95386,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95370,"src":"18115:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":95387,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18120:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"18115:9:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":95388,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95351,"src":"18128:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"18115:16:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95410,"nodeType":"Block","src":"18215:85:180","statements":[{"expression":{"arguments":[{"arguments":[{"id":95405,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95351,"src":"18264:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},{"id":95406,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95353,"src":"18277:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint96","typeString":"uint96"},{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":95404,"name":"Checkpoint160","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95061,"src":"18243:13:180","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"type(struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["18258:4:180","18269:6:180"],"names":["_key","_value"],"nodeType":"FunctionCall","src":"18243:41:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}],"expression":{"id":95401,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"18233:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},"id":95403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18238:4:180","memberName":"push","nodeType":"MemberAccess","src":"18233:9:180","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint160_$95061_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,struct Checkpoints.Checkpoint160 storage ref)"}},"id":95408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18233:52:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95409,"nodeType":"ExpressionStatement","src":"18233:52:180"}]},"id":95411,"nodeType":"IfStatement","src":"18111:189:180","trueBody":{"id":95400,"nodeType":"Block","src":"18133:76:180","statements":[{"expression":{"id":95398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":95391,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95349,"src":"18165:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95392,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95361,"src":"18171:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18177:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"18171:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95390,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"18151:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18151:28:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95396,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"18180:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"18151:35:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95397,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95353,"src":"18189:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"18151:43:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"id":95399,"nodeType":"ExpressionStatement","src":"18151:43:180"}]}},{"expression":{"components":[{"expression":{"id":95412,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95370,"src":"18321:4:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_memory_ptr","typeString":"struct Checkpoints.Checkpoint160 memory"}},"id":95413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18326:6:180","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95060,"src":"18321:11:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},{"id":95414,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95353,"src":"18334:5:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"id":95415,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"18320:20:180","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint160_$_t_uint160_$","typeString":"tuple(uint160,uint160)"}},"functionReturnParameters":95359,"id":95416,"nodeType":"Return","src":"18313:27:180"}]}}]},"documentation":{"id":95345,"nodeType":"StructuredDocumentation","src":"17465:165:180","text":" @dev Pushes a (`key`, `value`) pair into an ordered list of checkpoints, either by inserting a new checkpoint,\n or by updating the last one."},"implemented":true,"kind":"function","modifiers":[],"name":"_insert","nameLocation":"17644:7:180","parameters":{"id":95354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95349,"mutability":"mutable","name":"self","nameLocation":"17676:4:180","nodeType":"VariableDeclaration","scope":95434,"src":"17652:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":95347,"nodeType":"UserDefinedTypeName","pathNode":{"id":95346,"name":"Checkpoint160","nameLocations":["17652:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"17652:13:180"},"referencedDeclaration":95061,"src":"17652:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":95348,"nodeType":"ArrayTypeName","src":"17652:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":95351,"mutability":"mutable","name":"key","nameLocation":"17689:3:180","nodeType":"VariableDeclaration","scope":95434,"src":"17682:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95350,"name":"uint96","nodeType":"ElementaryTypeName","src":"17682:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95353,"mutability":"mutable","name":"value","nameLocation":"17702:5:180","nodeType":"VariableDeclaration","scope":95434,"src":"17694:13:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95352,"name":"uint160","nodeType":"ElementaryTypeName","src":"17694:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"17651:57:180"},"returnParameters":{"id":95359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95434,"src":"17726:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95355,"name":"uint160","nodeType":"ElementaryTypeName","src":"17726:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"},{"constant":false,"id":95358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95434,"src":"17735:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":95357,"name":"uint160","nodeType":"ElementaryTypeName","src":"17735:7:180","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"17725:18:180"},"scope":95554,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":95486,"nodeType":"FunctionDefinition","src":"18817:433:180","nodes":[],"body":{"id":95485,"nodeType":"Block","src":"18983:267:180","nodes":[],"statements":[{"body":{"id":95481,"nodeType":"Block","src":"19012:211:180","statements":[{"assignments":[95454],"declarations":[{"constant":false,"id":95454,"mutability":"mutable","name":"mid","nameLocation":"19034:3:180","nodeType":"VariableDeclaration","scope":95481,"src":"19026:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95453,"name":"uint256","nodeType":"ElementaryTypeName","src":"19026:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95460,"initialValue":{"arguments":[{"id":95457,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95443,"src":"19053:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95458,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95445,"src":"19058:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95455,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"19040:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":95456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19045:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"19040:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":95459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19040:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19026:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":95467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":95462,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95439,"src":"19095:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":95463,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95454,"src":"19101:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95461,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"19081:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19081:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95465,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19106:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"19081:29:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":95466,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95441,"src":"19113:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"19081:35:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95479,"nodeType":"Block","src":"19167:46:180","statements":[{"expression":{"id":95477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95473,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95443,"src":"19185:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95474,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95454,"src":"19191:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":95475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19197:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19191:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19185:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95478,"nodeType":"ExpressionStatement","src":"19185:13:180"}]},"id":95480,"nodeType":"IfStatement","src":"19077:136:180","trueBody":{"id":95472,"nodeType":"Block","src":"19118:43:180","statements":[{"expression":{"id":95470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95468,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95445,"src":"19136:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95469,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95454,"src":"19143:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19136:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95471,"nodeType":"ExpressionStatement","src":"19136:10:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95450,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95443,"src":"19000:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":95451,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95445,"src":"19006:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19000:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95482,"nodeType":"WhileStatement","src":"18993:230:180"},{"expression":{"id":95483,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95445,"src":"19239:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":95449,"id":95484,"nodeType":"Return","src":"19232:11:180"}]},"documentation":{"id":95435,"nodeType":"StructuredDocumentation","src":"18477:335:180","text":" @dev Return the index of the last (most recent) checkpoint with key lower or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_upperBinaryLookup","nameLocation":"18826:18:180","parameters":{"id":95446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95439,"mutability":"mutable","name":"self","nameLocation":"18878:4:180","nodeType":"VariableDeclaration","scope":95486,"src":"18854:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":95437,"nodeType":"UserDefinedTypeName","pathNode":{"id":95436,"name":"Checkpoint160","nameLocations":["18854:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"18854:13:180"},"referencedDeclaration":95061,"src":"18854:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":95438,"nodeType":"ArrayTypeName","src":"18854:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":95441,"mutability":"mutable","name":"key","nameLocation":"18899:3:180","nodeType":"VariableDeclaration","scope":95486,"src":"18892:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95440,"name":"uint96","nodeType":"ElementaryTypeName","src":"18892:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95443,"mutability":"mutable","name":"low","nameLocation":"18920:3:180","nodeType":"VariableDeclaration","scope":95486,"src":"18912:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95442,"name":"uint256","nodeType":"ElementaryTypeName","src":"18912:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":95445,"mutability":"mutable","name":"high","nameLocation":"18941:4:180","nodeType":"VariableDeclaration","scope":95486,"src":"18933:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95444,"name":"uint256","nodeType":"ElementaryTypeName","src":"18933:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18844:107:180"},"returnParameters":{"id":95449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95448,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95486,"src":"18974:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95447,"name":"uint256","nodeType":"ElementaryTypeName","src":"18974:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18973:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":95538,"nodeType":"FunctionDefinition","src":"19597:433:180","nodes":[],"body":{"id":95537,"nodeType":"Block","src":"19763:267:180","nodes":[],"statements":[{"body":{"id":95533,"nodeType":"Block","src":"19792:211:180","statements":[{"assignments":[95506],"declarations":[{"constant":false,"id":95506,"mutability":"mutable","name":"mid","nameLocation":"19814:3:180","nodeType":"VariableDeclaration","scope":95533,"src":"19806:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95505,"name":"uint256","nodeType":"ElementaryTypeName","src":"19806:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95512,"initialValue":{"arguments":[{"id":95509,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95495,"src":"19833:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":95510,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95497,"src":"19838:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95507,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"19820:4:180","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":95508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19825:7:180","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"19820:12:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":95511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19820:23:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19806:37:180"},{"condition":{"commonType":{"typeIdentifier":"t_uint96","typeString":"uint96"},"id":95519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":95514,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95491,"src":"19875:4:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"}},{"id":95515,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95506,"src":"19881:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":95513,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[94549,95051,95553],"referencedDeclaration":95553,"src":"19861:13:180","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint160_$95061_storage_ptr_$","typeString":"function (struct Checkpoints.Checkpoint160 storage ref[] storage pointer,uint256) pure returns (struct Checkpoints.Checkpoint160 storage pointer)"}},"id":95516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19861:24:180","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160 storage pointer"}},"id":95517,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19886:4:180","memberName":"_key","nodeType":"MemberAccess","referencedDeclaration":95058,"src":"19861:29:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":95518,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95493,"src":"19893:3:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"19861:35:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":95531,"nodeType":"Block","src":"19950:43:180","statements":[{"expression":{"id":95529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95527,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95497,"src":"19968:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":95528,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95506,"src":"19975:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19968:10:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95530,"nodeType":"ExpressionStatement","src":"19968:10:180"}]},"id":95532,"nodeType":"IfStatement","src":"19857:136:180","trueBody":{"id":95526,"nodeType":"Block","src":"19898:46:180","statements":[{"expression":{"id":95524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":95520,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95495,"src":"19916:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95521,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95506,"src":"19922:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":95522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19928:1:180","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19922:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19916:13:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95525,"nodeType":"ExpressionStatement","src":"19916:13:180"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95502,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95495,"src":"19780:3:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":95503,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95497,"src":"19786:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19780:10:180","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":95534,"nodeType":"WhileStatement","src":"19773:230:180"},{"expression":{"id":95535,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95497,"src":"20019:4:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":95501,"id":95536,"nodeType":"Return","src":"20012:11:180"}]},"documentation":{"id":95487,"nodeType":"StructuredDocumentation","src":"19256:336:180","text":" @dev Return the index of the first (oldest) checkpoint with key is greater or equal than the search key, or `high` if there is none.\n `low` and `high` define a section where to do the search, with inclusive `low` and exclusive `high`.\n WARNING: `high` should not be greater than the array's length."},"implemented":true,"kind":"function","modifiers":[],"name":"_lowerBinaryLookup","nameLocation":"19606:18:180","parameters":{"id":95498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95491,"mutability":"mutable","name":"self","nameLocation":"19658:4:180","nodeType":"VariableDeclaration","scope":95538,"src":"19634:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":95489,"nodeType":"UserDefinedTypeName","pathNode":{"id":95488,"name":"Checkpoint160","nameLocations":["19634:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"19634:13:180"},"referencedDeclaration":95061,"src":"19634:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":95490,"nodeType":"ArrayTypeName","src":"19634:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":95493,"mutability":"mutable","name":"key","nameLocation":"19679:3:180","nodeType":"VariableDeclaration","scope":95538,"src":"19672:10:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":95492,"name":"uint96","nodeType":"ElementaryTypeName","src":"19672:6:180","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"},{"constant":false,"id":95495,"mutability":"mutable","name":"low","nameLocation":"19700:3:180","nodeType":"VariableDeclaration","scope":95538,"src":"19692:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95494,"name":"uint256","nodeType":"ElementaryTypeName","src":"19692:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":95497,"mutability":"mutable","name":"high","nameLocation":"19721:4:180","nodeType":"VariableDeclaration","scope":95538,"src":"19713:12:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95496,"name":"uint256","nodeType":"ElementaryTypeName","src":"19713:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19624:107:180"},"returnParameters":{"id":95501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95500,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95538,"src":"19754:7:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95499,"name":"uint256","nodeType":"ElementaryTypeName","src":"19754:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19753:9:180"},"scope":95554,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":95553,"nodeType":"FunctionDefinition","src":"20173:265:180","nodes":[],"body":{"id":95552,"nodeType":"Block","src":"20313:125:180","nodes":[],"statements":[{"AST":{"nativeSrc":"20332:100:180","nodeType":"YulBlock","src":"20332:100:180","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"20353:1:180","nodeType":"YulLiteral","src":"20353:1:180","type":"","value":"0"},{"name":"self.slot","nativeSrc":"20356:9:180","nodeType":"YulIdentifier","src":"20356:9:180"}],"functionName":{"name":"mstore","nativeSrc":"20346:6:180","nodeType":"YulIdentifier","src":"20346:6:180"},"nativeSrc":"20346:20:180","nodeType":"YulFunctionCall","src":"20346:20:180"},"nativeSrc":"20346:20:180","nodeType":"YulExpressionStatement","src":"20346:20:180"},{"nativeSrc":"20379:43:180","nodeType":"YulAssignment","src":"20379:43:180","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"20408:1:180","nodeType":"YulLiteral","src":"20408:1:180","type":"","value":"0"},{"kind":"number","nativeSrc":"20411:4:180","nodeType":"YulLiteral","src":"20411:4:180","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"20398:9:180","nodeType":"YulIdentifier","src":"20398:9:180"},"nativeSrc":"20398:18:180","nodeType":"YulFunctionCall","src":"20398:18:180"},{"name":"pos","nativeSrc":"20418:3:180","nodeType":"YulIdentifier","src":"20418:3:180"}],"functionName":{"name":"add","nativeSrc":"20394:3:180","nodeType":"YulIdentifier","src":"20394:3:180"},"nativeSrc":"20394:28:180","nodeType":"YulFunctionCall","src":"20394:28:180"},"variableNames":[{"name":"result.slot","nativeSrc":"20379:11:180","nodeType":"YulIdentifier","src":"20379:11:180"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":95545,"isOffset":false,"isSlot":false,"src":"20418:3:180","valueSize":1},{"declaration":95549,"isOffset":false,"isSlot":true,"src":"20379:11:180","suffix":"slot","valueSize":1},{"declaration":95543,"isOffset":false,"isSlot":true,"src":"20356:9:180","suffix":"slot","valueSize":1}],"id":95551,"nodeType":"InlineAssembly","src":"20323:109:180"}]},"documentation":{"id":95539,"nodeType":"StructuredDocumentation","src":"20036:132:180","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"20182:13:180","parameters":{"id":95546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95543,"mutability":"mutable","name":"self","nameLocation":"20229:4:180","nodeType":"VariableDeclaration","scope":95553,"src":"20205:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"},"typeName":{"baseType":{"id":95541,"nodeType":"UserDefinedTypeName","pathNode":{"id":95540,"name":"Checkpoint160","nameLocations":["20205:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"20205:13:180"},"referencedDeclaration":95061,"src":"20205:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"id":95542,"nodeType":"ArrayTypeName","src":"20205:15:180","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint160_$95061_storage_$dyn_storage_ptr","typeString":"struct Checkpoints.Checkpoint160[]"}},"visibility":"internal"},{"constant":false,"id":95545,"mutability":"mutable","name":"pos","nameLocation":"20251:3:180","nodeType":"VariableDeclaration","scope":95553,"src":"20243:11:180","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95544,"name":"uint256","nodeType":"ElementaryTypeName","src":"20243:7:180","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20195:65:180"},"returnParameters":{"id":95550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95549,"mutability":"mutable","name":"result","nameLocation":"20305:6:180","nodeType":"VariableDeclaration","scope":95553,"src":"20283:28:180","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"},"typeName":{"id":95548,"nodeType":"UserDefinedTypeName","pathNode":{"id":95547,"name":"Checkpoint160","nameLocations":["20283:13:180"],"nodeType":"IdentifierPath","referencedDeclaration":95061,"src":"20283:13:180"},"referencedDeclaration":95061,"src":"20283:13:180","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint160_$95061_storage_ptr","typeString":"struct Checkpoints.Checkpoint160"}},"visibility":"internal"}],"src":"20282:30:180"},"scope":95554,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"Checkpoints","contractDependencies":[],"contractKind":"library","documentation":{"id":94018,"nodeType":"StructuredDocumentation","src":"275:432:180","text":" @dev This library defines the `History` struct, for checkpointing values as they change at different points in\n time, and later looking up past values by block number. See {Votes} as an example.\n To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new\n checkpoint for the current transaction block using the {push} function.\n _Available since v4.5._"},"fullyImplemented":true,"linearizedBaseContracts":[95554],"name":"Checkpoints","nameLocation":"716:11:180","scope":95555,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":180} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220849c93553e85f8f457cf29afe09be78fb99df29a435291f60a8d62bf000e082464736f6c63430008170033","sourceMap":"708:19732:180:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;708:19732:180;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220849c93553e85f8f457cf29afe09be78fb99df29a435291f60a8d62bf000e082464736f6c63430008170033","sourceMap":"708:19732:180:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This library defines the `History` struct, for checkpointing values as they change at different points in time, and later looking up past values by block number. See {Votes} as an example. To create a history of checkpoints define a variable type `Checkpoints.History` in your contract, and store a new checkpoint for the current transaction block using the {push} function. _Available since v4.5._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":\"Checkpoints\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":"Checkpoints"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"id":180} \ No newline at end of file diff --git a/out/Context.sol/Context.json b/out/Context.sol/Context.json index bb180658..05c5e60d 100644 --- a/out/Context.sol/Context.json +++ b/out/Context.sol/Context.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Context.sol":"Context"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","id":95577,"exportedSymbols":{"Context":[95576]},"nodeType":"SourceUnit","src":"86:758:181","nodes":[{"id":95556,"nodeType":"PragmaDirective","src":"86:23:181","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":95576,"nodeType":"ContractDefinition","src":"608:235:181","nodes":[{"id":95566,"nodeType":"FunctionDefinition","src":"640:96:181","nodes":[],"body":{"id":95565,"nodeType":"Block","src":"702:34:181","nodes":[],"statements":[{"expression":{"expression":{"id":95562,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"719:3:181","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":95563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"723:6:181","memberName":"sender","nodeType":"MemberAccess","src":"719:10:181","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":95561,"id":95564,"nodeType":"Return","src":"712:17:181"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgSender","nameLocation":"649:10:181","parameters":{"id":95558,"nodeType":"ParameterList","parameters":[],"src":"659:2:181"},"returnParameters":{"id":95561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95560,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95566,"src":"693:7:181","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":95559,"name":"address","nodeType":"ElementaryTypeName","src":"693:7:181","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"692:9:181"},"scope":95576,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":95575,"nodeType":"FunctionDefinition","src":"742:99:181","nodes":[],"body":{"id":95574,"nodeType":"Block","src":"809:32:181","nodes":[],"statements":[{"expression":{"expression":{"id":95571,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"826:3:181","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":95572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"830:4:181","memberName":"data","nodeType":"MemberAccess","src":"826:8:181","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"functionReturnParameters":95570,"id":95573,"nodeType":"Return","src":"819:15:181"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_msgData","nameLocation":"751:8:181","parameters":{"id":95567,"nodeType":"ParameterList","parameters":[],"src":"759:2:181"},"returnParameters":{"id":95570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95569,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95575,"src":"793:14:181","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":95568,"name":"bytes","nodeType":"ElementaryTypeName","src":"793:5:181","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"792:16:181"},"scope":95576,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"Context","contractDependencies":[],"contractKind":"contract","documentation":{"id":95557,"nodeType":"StructuredDocumentation","src":"111:496:181","text":" @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."},"fullyImplemented":true,"linearizedBaseContracts":[95576],"name":"Context","nameLocation":"626:7:181","scope":95577,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":181} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Context.sol":"Context"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"id":181} \ No newline at end of file diff --git a/out/Counters.sol/Counters.json b/out/Counters.sol/Counters.json index 542e39a3..1dc7c302 100644 --- a/out/Counters.sol/Counters.json +++ b/out/Counters.sol/Counters.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ee6d21ee803cb7650bb42e3ad668865f296fedab9dc0944c1716a57026744d7864736f6c63430008170033","sourceMap":"424:971:182:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;424:971:182;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ee6d21ee803cb7650bb42e3ad668865f296fedab9dc0944c1716a57026744d7864736f6c63430008170033","sourceMap":"424:971:182:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Counters.sol":"Counters"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/Counters.sol","id":95651,"exportedSymbols":{"Counters":[95650]},"nodeType":"SourceUnit","src":"87:1309:182","nodes":[{"id":95578,"nodeType":"PragmaDirective","src":"87:23:182","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":95650,"nodeType":"ContractDefinition","src":"424:971:182","nodes":[{"id":95582,"nodeType":"StructDefinition","src":"447:374:182","nodes":[],"canonicalName":"Counters.Counter","members":[{"constant":false,"id":95581,"mutability":"mutable","name":"_value","nameLocation":"794:6:182","nodeType":"VariableDeclaration","scope":95582,"src":"786:14:182","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95580,"name":"uint256","nodeType":"ElementaryTypeName","src":"786:7:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Counter","nameLocation":"454:7:182","scope":95650,"visibility":"public"},{"id":95594,"nodeType":"FunctionDefinition","src":"827:112:182","nodes":[],"body":{"id":95593,"nodeType":"Block","src":"901:38:182","nodes":[],"statements":[{"expression":{"expression":{"id":95590,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95585,"src":"918:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":95591,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"926:6:182","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95581,"src":"918:14:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":95589,"id":95592,"nodeType":"Return","src":"911:21:182"}]},"implemented":true,"kind":"function","modifiers":[],"name":"current","nameLocation":"836:7:182","parameters":{"id":95586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95585,"mutability":"mutable","name":"counter","nameLocation":"860:7:182","nodeType":"VariableDeclaration","scope":95594,"src":"844:23:182","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":95584,"nodeType":"UserDefinedTypeName","pathNode":{"id":95583,"name":"Counter","nameLocations":["844:7:182"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"844:7:182"},"referencedDeclaration":95582,"src":"844:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"843:25:182"},"returnParameters":{"id":95589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95588,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":95594,"src":"892:7:182","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95587,"name":"uint256","nodeType":"ElementaryTypeName","src":"892:7:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"891:9:182"},"scope":95650,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":95608,"nodeType":"FunctionDefinition","src":"945:123:182","nodes":[],"body":{"id":95607,"nodeType":"Block","src":"998:70:182","nodes":[],"statements":[{"id":95606,"nodeType":"UncheckedBlock","src":"1008:54:182","statements":[{"expression":{"id":95604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":95600,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95597,"src":"1032:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":95602,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1040:6:182","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95581,"src":"1032:14:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":95603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1050:1:182","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1032:19:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95605,"nodeType":"ExpressionStatement","src":"1032:19:182"}]}]},"implemented":true,"kind":"function","modifiers":[],"name":"increment","nameLocation":"954:9:182","parameters":{"id":95598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95597,"mutability":"mutable","name":"counter","nameLocation":"980:7:182","nodeType":"VariableDeclaration","scope":95608,"src":"964:23:182","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":95596,"nodeType":"UserDefinedTypeName","pathNode":{"id":95595,"name":"Counter","nameLocations":["964:7:182"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"964:7:182"},"referencedDeclaration":95582,"src":"964:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"963:25:182"},"returnParameters":{"id":95599,"nodeType":"ParameterList","parameters":[],"src":"998:0:182"},"scope":95650,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95636,"nodeType":"FunctionDefinition","src":"1074:229:182","nodes":[],"body":{"id":95635,"nodeType":"Block","src":"1127:176:182","nodes":[],"statements":[{"assignments":[95615],"declarations":[{"constant":false,"id":95615,"mutability":"mutable","name":"value","nameLocation":"1145:5:182","nodeType":"VariableDeclaration","scope":95635,"src":"1137:13:182","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95614,"name":"uint256","nodeType":"ElementaryTypeName","src":"1137:7:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":95618,"initialValue":{"expression":{"id":95616,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95611,"src":"1153:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":95617,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1161:6:182","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95581,"src":"1153:14:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1137:30:182"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95620,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95615,"src":"1185:5:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":95621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1193:1:182","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1185:9:182","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"436f756e7465723a2064656372656d656e74206f766572666c6f77","id":95623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1196:29:182","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f","typeString":"literal_string \"Counter: decrement overflow\""},"value":"Counter: decrement overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f","typeString":"literal_string \"Counter: decrement overflow\""}],"id":95619,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1177:7:182","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":95624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1177:49:182","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":95625,"nodeType":"ExpressionStatement","src":"1177:49:182"},{"id":95634,"nodeType":"UncheckedBlock","src":"1236:61:182","statements":[{"expression":{"id":95632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":95626,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95611,"src":"1260:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":95628,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1268:6:182","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95581,"src":"1260:14:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":95631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":95629,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95615,"src":"1277:5:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":95630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1285:1:182","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1277:9:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1260:26:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95633,"nodeType":"ExpressionStatement","src":"1260:26:182"}]}]},"implemented":true,"kind":"function","modifiers":[],"name":"decrement","nameLocation":"1083:9:182","parameters":{"id":95612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95611,"mutability":"mutable","name":"counter","nameLocation":"1109:7:182","nodeType":"VariableDeclaration","scope":95636,"src":"1093:23:182","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":95610,"nodeType":"UserDefinedTypeName","pathNode":{"id":95609,"name":"Counter","nameLocations":["1093:7:182"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"1093:7:182"},"referencedDeclaration":95582,"src":"1093:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"1092:25:182"},"returnParameters":{"id":95613,"nodeType":"ParameterList","parameters":[],"src":"1127:0:182"},"scope":95650,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":95649,"nodeType":"FunctionDefinition","src":"1309:84:182","nodes":[],"body":{"id":95648,"nodeType":"Block","src":"1358:35:182","nodes":[],"statements":[{"expression":{"id":95646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":95642,"name":"counter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95639,"src":"1368:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":95644,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"1376:6:182","memberName":"_value","nodeType":"MemberAccess","referencedDeclaration":95581,"src":"1368:14:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":95645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1385:1:182","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1368:18:182","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":95647,"nodeType":"ExpressionStatement","src":"1368:18:182"}]},"implemented":true,"kind":"function","modifiers":[],"name":"reset","nameLocation":"1318:5:182","parameters":{"id":95640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95639,"mutability":"mutable","name":"counter","nameLocation":"1340:7:182","nodeType":"VariableDeclaration","scope":95649,"src":"1324:23:182","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":95638,"nodeType":"UserDefinedTypeName","pathNode":{"id":95637,"name":"Counter","nameLocations":["1324:7:182"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"1324:7:182"},"referencedDeclaration":95582,"src":"1324:7:182","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"src":"1323:25:182"},"returnParameters":{"id":95641,"nodeType":"ParameterList","parameters":[],"src":"1358:0:182"},"scope":95650,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Counters","contractDependencies":[],"contractKind":"library","documentation":{"id":95579,"nodeType":"StructuredDocumentation","src":"112:311:182","text":" @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`"},"fullyImplemented":true,"linearizedBaseContracts":[95650],"name":"Counters","nameLocation":"432:8:182","scope":95651,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":182} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ee6d21ee803cb7650bb42e3ad668865f296fedab9dc0944c1716a57026744d7864736f6c63430008170033","sourceMap":"424:971:182:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;424:971:182;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ee6d21ee803cb7650bb42e3ad668865f296fedab9dc0944c1716a57026744d7864736f6c63430008170033","sourceMap":"424:971:182:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Counters.sol":"Counters"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"}},"version":1},"id":182} \ No newline at end of file diff --git a/out/Deploy.s.sol/DeployGoerli.json b/out/Deploy.s.sol/DeployGoerli.json index 42b01a64..6919fb5d 100644 --- a/out/Deploy.s.sol/DeployGoerli.json +++ b/out/Deploy.s.sol/DeployGoerli.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x6080604052600b805461ff01600160b81b031916768e05bcd2812e1449f0ec3ae24e2c395f533d9a99010001179055600c80546001600160e01b0319167b373231523732315099db6b517683237de9c494bbd17861f3608f358517905534801561006857600080fd5b5061fcbe80620000796000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673155b49f303443a3334bb2ef42e10c628438a0656179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122038fcc0e78d0c91c8b5acb833d50010c869f316bbfa61c1440f9c56d52df8d38264736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033a264697066735822122002ba55b9c1c238bc32e8ec13e1c4d29d2b0e35e0949170e97f48ba371762607064736f6c63430008170033","sourceMap":"2848:1885:31:-:0;;;3126:44:50;;;-1:-1:-1;;;;;;2886:83:31;;;;;2975:95;;;-1:-1:-1;;;;;;3128:48:31;;;;;2848:1885;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673155b49f303443a3334bb2ef42e10c628438a0656179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122038fcc0e78d0c91c8b5acb833d50010c869f316bbfa61c1440f9c56d52df8d38264736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033a264697066735822122002ba55b9c1c238bc32e8ec13e1c4d29d2b0e35e0949170e97f48ba371762607064736f6c63430008170033","sourceMap":"2848:1885:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3326:1405;;;:::i;:::-;;800:28:48;;;;;;;;;;;;;;;179:14:195;;172:22;154:41;;142:2;127:18;800:28:48;;;;;;;3326:1405:31;3463:145;;-1:-1:-1;;;3463:145:31;;408:2:195;3463:145:31;;;390:21:195;447:2;427:18;;;420:30;486:34;466:18;;;459:62;557:34;537:18;;;530:62;629:30;608:19;;;601:59;3360:29:31;;3426:248;;3463:11;;;;677:19:195;;3463:145:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3463:145:31;;;;;;;;;;;;:::i;:::-;3426:248;;;;;;;;;;;;;;;;;:19;:248::i;:::-;3749:31;;-1:-1:-1;;;3749:31:31;;3792:1;3749:31;;;2142:51:195;;;3360:324:31;;-1:-1:-1;;;;;;3749:19:31;;;;;2115:18:195;;3749:31:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3749:45:31;;3742:53;;;;:::i;:::-;317:28:47;309:37;;-1:-1:-1;;;;;3806:17:31;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3895:11:31;;3908:15;;3871:102;;3836:32;;-1:-1:-1;;;;;;3895:11:31;;;;;;;-1:-1:-1;3908:15:31;;;;-1:-1:-1;;;3925:21:31;;;;;;;-1:-1:-1;;;3948:24:31;;;;;3871:102;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4080:11:31;;4105:15;;4033:171;;3836:137;;-1:-1:-1;3983:47:31;;-1:-1:-1;;;;;4080:11:31;;;;;;;4105:15;;;-1:-1:-1;;;4134:21:31;;;;;;;-1:-1:-1;;;4170:24:31;;;;;;4033:171;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3983:221;;4266:17;4285:12;4299:8;4234:74;;;;;:::i;:::-;-1:-1:-1;;;;;3538:15:195;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;4234:74:31;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4215:16:31;:93;;-1:-1:-1;;;;;4215:93:31;;;-1:-1:-1;;;;;;4215:93:31;;;;;;;;4319:5;:76;;;;;4352:42;4319:76;;;4476:11;;4531:15;;4424:132;;4476:11;;;;;;;4531:15;;4424:132;;;:::i;:::-;-1:-1:-1;;;;;3538:15:195;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;4424:132:31;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4406:15:31;:150;;-1:-1:-1;;;;;;4406:150:31;-1:-1:-1;;;;;4406:150:31;;;;;;;;;;4567:43;;;;;;;;;;;;-1:-1:-1;;;4567:43:31;;;;;;4600:8;4567:11;:43::i;:::-;4620:57;;;;;;;;;;;;-1:-1:-1;;;4620:57:31;;;;4660:15;;4620:57;;;-1:-1:-1;;;;;4660:15:31;4620:11;:57::i;:::-;4687:37;;;;;;;;;;;;-1:-1:-1;;;4687:37:31;;;;4717:5;;4687:37;;;-1:-1:-1;;;;;4717:5:31;4687:11;:37::i;:::-;3350:1381;;;3326:1405::o;2321:141:54:-;2425:30;;-1:-1:-1;;;2425:30:54;;2399:7;;2425:19;;;;:30;;2445:4;;2451:3;;2425:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2418:37;2321:141;-1:-1:-1;;;2321:141:54:o;6994:145:61:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:61;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:61;-1:-1:-1;;;7077:54:61;;;7061:15;:71::i;:::-;6994:145;;:::o;181:376::-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;707:127:195:-;768:10;763:3;759:20;756:1;749:31;799:4;796:1;789:15;823:4;820:1;813:15;839:250;924:1;934:113;948:6;945:1;942:13;934:113;;;1024:11;;;1018:18;1005:11;;;998:39;970:2;963:10;934:113;;;-1:-1:-1;;1081:1:195;1063:16;;1056:27;839:250::o;1094:897::-;1174:6;1227:2;1215:9;1206:7;1202:23;1198:32;1195:52;;;1243:1;1240;1233:12;1195:52;1276:9;1270:16;1305:18;1346:2;1338:6;1335:14;1332:34;;;1362:1;1359;1352:12;1332:34;1400:6;1389:9;1385:22;1375:32;;1445:7;1438:4;1434:2;1430:13;1426:27;1416:55;;1467:1;1464;1457:12;1416:55;1496:2;1490:9;1518:2;1514;1511:10;1508:36;;;1524:18;;:::i;:::-;1599:2;1593:9;1567:2;1653:13;;-1:-1:-1;;1649:22:195;;;1673:2;1645:31;1641:40;1629:53;;;1697:18;;;1717:22;;;1694:46;1691:72;;;1743:18;;:::i;:::-;1783:10;1779:2;1772:22;1818:2;1810:6;1803:18;1858:7;1853:2;1848;1844;1840:11;1836:20;1833:33;1830:53;;;1879:1;1876;1869:12;1830:53;1892:68;1957:2;1952;1944:6;1940:15;1935:2;1931;1927:11;1892:68;:::i;:::-;1979:6;1094:897;-1:-1:-1;;;;;;;1094:897:195:o;2204:290::-;2274:6;2327:2;2315:9;2306:7;2302:23;2298:32;2295:52;;;2343:1;2340;2333:12;2295:52;2369:16;;-1:-1:-1;;;;;2414:31:195;;2404:42;;2394:70;;2460:1;2457;2450:12;2499:127;2560:10;2555:3;2551:20;2548:1;2541:31;2591:4;2588:1;2581:15;2615:4;2612:1;2605:15;2631:548;-1:-1:-1;;;;;2962:15:195;;;2944:34;;3014:15;;;;3009:2;2994:18;;2987:43;-1:-1:-1;;;;;;3105:15:195;;;3100:2;3085:18;;3078:43;3157:15;;;3152:2;3137:18;;3130:43;2893:3;2878:19;;2631:548::o;4142:271::-;4184:3;4222:5;4216:12;4249:6;4244:3;4237:19;4265:76;4334:6;4327:4;4322:3;4318:14;4311:4;4304:5;4300:16;4265:76;:::i;:::-;4395:2;4374:15;-1:-1:-1;;4370:29:195;4361:39;;;;4402:4;4357:50;;4142:271;-1:-1:-1;;4142:271:195:o;4418:383::-;4615:2;4604:9;4597:21;4578:4;4641:45;4682:2;4671:9;4667:18;4659:6;4641:45;:::i;:::-;4734:9;4726:6;4722:22;4717:2;4706:9;4702:18;4695:50;4762:33;4788:6;4780;4762:33;:::i;:::-;4754:41;4418:383;-1:-1:-1;;;;;4418:383:195:o;4806:317::-;4983:2;4972:9;4965:21;4946:4;5003:45;5044:2;5033:9;5029:18;5021:6;5003:45;:::i;:::-;4995:53;;5113:1;5109;5104:3;5100:11;5096:19;5088:6;5084:32;5079:2;5068:9;5064:18;5057:60;4806:317;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/scripts/Deploy.s.sol\":\"DeployGoerli\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c\",\"dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/scripts/Deploy.s.sol\":{\"keccak256\":\"0x22aa8e24133bfd6fb33bb42d445ec253dae2d842b296bfea798aa7d4aa39732d\",\"urls\":[\"bzz-raw://e8255b90419ea3cf27ef8fb91c42c5aa470ab7ee10b91373b851a805c745a221\",\"dweb:/ipfs/QmQJWJLvJXq2qNeQ2EtUhjvvSJWcFMCULKygyqyy4UAXyD\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce\",\"dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/scripts/Deploy.s.sol":"DeployGoerli"},"libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2","urls":["bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c","dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/scripts/Deploy.s.sol":{"keccak256":"0x22aa8e24133bfd6fb33bb42d445ec253dae2d842b296bfea798aa7d4aa39732d","urls":["bzz-raw://e8255b90419ea3cf27ef8fb91c42c5aa470ab7ee10b91373b851a805c745a221","dweb:/ipfs/QmQJWJLvJXq2qNeQ2EtUhjvvSJWcFMCULKygyqyy4UAXyD"],"license":null},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3","urls":["bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce","dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/scripts/Deploy.s.sol","id":29384,"exportedSymbols":{"DSTest":[31978],"DeployGoerli":[29383],"DeployMainnet":[29229],"IJBDelegatesRegistry":[89035],"IJBDirectory":[85048],"IJBOperatorStore":[85407],"IJBProjects":[86089],"JBTiered721Delegate":[1482],"JBTiered721DelegateDeployer":[1662],"JBTiered721DelegateProjectDeployer":[2169],"JBTiered721DelegateStore":[4477],"JBTiered721GovernanceDelegate":[4567],"Script":[32092],"ScriptBase":[32053],"StdAssertions":[33510],"StdChains":[34230],"StdCheats":[37048],"StdCheatsSafe":[36284],"StdInvariant":[37338],"StdStorage":[38088],"StdStyle":[40752],"StdUtils":[41600],"Test":[41651],"TestBase":[32044],"Vm":[43178],"VmSafe":[42706],"console":[51242],"console2":[59367],"safeconsole":[72605],"stdError":[37114],"stdJson":[37914],"stdMath":[38056],"stdStorage":[39541],"stdStorageSafe":[38980]},"nodeType":"SourceUnit","src":"0:4734:31","nodes":[{"id":29054,"nodeType":"PragmaDirective","src":"0:24:31","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":29055,"nodeType":"ImportDirective","src":"26:30:31","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":32093,"symbolAliases":[],"unitAlias":""},{"id":29056,"nodeType":"ImportDirective","src":"57:31:31","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"forge-std/StdJson.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":37915,"symbolAliases":[],"unitAlias":""},{"id":29057,"nodeType":"ImportDirective","src":"89:28:31","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":41652,"symbolAliases":[],"unitAlias":""},{"id":29059,"nodeType":"ImportDirective","src":"119:118:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","file":"@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":89036,"symbolAliases":[{"foreign":{"id":29058,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"128:20:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29061,"nodeType":"ImportDirective","src":"238:100:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":86090,"symbolAliases":[{"foreign":{"id":29060,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86089,"src":"247:11:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29063,"nodeType":"ImportDirective","src":"339:102:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":85049,"symbolAliases":[{"foreign":{"id":29062,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"348:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29065,"nodeType":"ImportDirective","src":"442:110:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":85408,"symbolAliases":[{"foreign":{"id":29064,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"451:16:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29067,"nodeType":"ImportDirective","src":"554:81:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateDeployer.sol","file":"../JBTiered721DelegateDeployer.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":1663,"symbolAliases":[{"foreign":{"id":29066,"name":"JBTiered721DelegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"563:27:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29069,"nodeType":"ImportDirective","src":"636:95:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateProjectDeployer.sol","file":"../JBTiered721DelegateProjectDeployer.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":2170,"symbolAliases":[{"foreign":{"id":29068,"name":"JBTiered721DelegateProjectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2169,"src":"645:34:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29071,"nodeType":"ImportDirective","src":"732:75:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateStore.sol","file":"../JBTiered721DelegateStore.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":4478,"symbolAliases":[{"foreign":{"id":29070,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"741:24:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29073,"nodeType":"ImportDirective","src":"808:65:31","nodes":[],"absolutePath":"contracts/JBTiered721Delegate.sol","file":"../JBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":1483,"symbolAliases":[{"foreign":{"id":29072,"name":"JBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"817:19:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29075,"nodeType":"ImportDirective","src":"874:85:31","nodes":[],"absolutePath":"contracts/JBTiered721GovernanceDelegate.sol","file":"../JBTiered721GovernanceDelegate.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":4568,"symbolAliases":[{"foreign":{"id":29074,"name":"JBTiered721GovernanceDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4567,"src":"883:29:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29229,"nodeType":"ContractDefinition","src":"961:1885:31","nodes":[{"id":29083,"nodeType":"VariableDeclaration","src":"1000:83:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbDirectory","nameLocation":"1013:11:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},"typeName":{"id":29079,"nodeType":"UserDefinedTypeName","pathNode":{"id":29078,"name":"IJBDirectory","nameLocations":["1000:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":85048,"src":"1000:12:31"},"referencedDeclaration":85048,"src":"1000:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"value":{"arguments":[{"hexValue":"307836353537324642393238623436663961444237636665354134633431323236463633363136316561","id":29081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1040:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x65572FB928b46f9aDB7cfe5A4c41226F636161ea"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29080,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"1027:12:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDirectory_$85048_$","typeString":"type(contract IJBDirectory)"}},"id":29082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1027:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"id":29089,"nodeType":"VariableDeclaration","src":"1089:95:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbOperatorStore","nameLocation":"1106:15:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},"typeName":{"id":29085,"nodeType":"UserDefinedTypeName","pathNode":{"id":29084,"name":"IJBOperatorStore","nameLocations":["1089:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":85407,"src":"1089:16:31"},"referencedDeclaration":85407,"src":"1089:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"value":{"arguments":[{"hexValue":"307836463343356166436130633965446633393236654632644446313763386165363339316166456662","id":29087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1141:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x6F3C5afCa0c9eDf3926eF2dDF17c8ae6391afEfb"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29086,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"1124:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBOperatorStore_$85407_$","typeString":"type(contract IJBOperatorStore)"}},"id":29088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1124:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"id":29095,"nodeType":"VariableDeclaration","src":"1191:45:31","nodes":[],"constant":false,"mutability":"mutable","name":"payMetadataDelegateId","nameLocation":"1198:21:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29090,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1191:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323150","id":29093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1229:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""},"value":"721P"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""}],"id":29092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1222:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29091,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1222:6:31","typeDescriptions":{}}},"id":29094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29101,"nodeType":"VariableDeclaration","src":"1242:48:31","nodes":[],"constant":false,"mutability":"mutable","name":"redeemMetadataDelegateId","nameLocation":"1249:24:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29096,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1242:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323152","id":29099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""},"value":"721R"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""}],"id":29098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1276:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29097,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1276:6:31","typeDescriptions":{}}},"id":29100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1276:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29104,"nodeType":"VariableDeclaration","src":"1297:44:31","nodes":[],"constant":false,"mutability":"mutable","name":"delegateDeployer","nameLocation":"1325:16:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},"typeName":{"id":29103,"nodeType":"UserDefinedTypeName","pathNode":{"id":29102,"name":"JBTiered721DelegateDeployer","nameLocations":["1297:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"1297:27:31"},"referencedDeclaration":1662,"src":"1297:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"visibility":"internal"},{"id":29107,"nodeType":"VariableDeclaration","src":"1347:50:31","nodes":[],"constant":false,"mutability":"mutable","name":"projectDeployer","nameLocation":"1382:15:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"},"typeName":{"id":29106,"nodeType":"UserDefinedTypeName","pathNode":{"id":29105,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["1347:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"1347:34:31"},"referencedDeclaration":2169,"src":"1347:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"visibility":"internal"},{"id":29110,"nodeType":"VariableDeclaration","src":"1403:30:31","nodes":[],"constant":false,"mutability":"mutable","name":"store","nameLocation":"1428:5:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"},"typeName":{"id":29109,"nodeType":"UserDefinedTypeName","pathNode":{"id":29108,"name":"JBTiered721DelegateStore","nameLocations":["1403:24:31"],"nodeType":"IdentifierPath","referencedDeclaration":4477,"src":"1403:24:31"},"referencedDeclaration":4477,"src":"1403:24:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"visibility":"internal"},{"id":29228,"nodeType":"FunctionDefinition","src":"1440:1404:31","nodes":[],"body":{"id":29227,"nodeType":"Block","src":"1464:1380:31","nodes":[],"statements":[{"assignments":[29115],"declarations":[{"constant":false,"id":29115,"mutability":"mutable","name":"registry","nameLocation":"1495:8:31","nodeType":"VariableDeclaration","scope":29227,"src":"1474:29:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":29114,"nodeType":"UserDefinedTypeName","pathNode":{"id":29113,"name":"IJBDelegatesRegistry","nameLocations":["1474:20:31"],"nodeType":"IdentifierPath","referencedDeclaration":89035,"src":"1474:20:31"},"referencedDeclaration":89035,"src":"1474:20:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"visibility":"internal"}],"id":29126,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a756963652d64656c6567617465732d72656769737472792f62726f6164636173742f4465706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e","id":29121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1610:94:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0ba1a6853990ef03a383c2b80a2ead7f3e5ed1ce429d14d76abc2362a5c6175","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json\""},"value":"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d0ba1a6853990ef03a383c2b80a2ead7f3e5ed1ce429d14d76abc2362a5c6175","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json\""}],"expression":{"id":29119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"1577:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1580:8:31","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":42106,"src":"1577:11:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":29122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1577:145:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e735b305d2e636f6e747261637441646472657373","id":29123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1740:34:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""},"value":".transactions[0].contractAddress"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""}],"expression":{"id":29117,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37914,"src":"1540:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$37914_$","typeString":"type(library stdJson)"}},"id":29118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1548:11:31","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":37524,"src":"1540:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) returns (address)"}},"id":29124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1540:248:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29116,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"1506:20:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDelegatesRegistry_$89035_$","typeString":"type(contract IJBDelegatesRegistry)"}},"id":29125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1506:292:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1474:324:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":29132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1891:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1883:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29130,"name":"address","nodeType":"ElementaryTypeName","src":"1883:7:31","typeDescriptions":{}}},"id":29133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1883:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29128,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"1863:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"id":29129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1872:10:31","memberName":"deployerOf","nodeType":"MemberAccess","referencedDeclaration":89018,"src":"1863:19:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_address_$","typeString":"function (address) view external returns (address)"}},"id":29134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1863:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":29137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1906:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1898:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29135,"name":"address","nodeType":"ElementaryTypeName","src":"1898:7:31","typeDescriptions":{}}},"id":29138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1898:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1863:45:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29127,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"1856:6:31","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":29140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1856:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29141,"nodeType":"ExpressionStatement","src":"1856:53:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"1920:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1923:14:31","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":42081,"src":"1920:17:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":29145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29146,"nodeType":"ExpressionStatement","src":"1920:19:31"},{"assignments":[29149],"declarations":[{"constant":false,"id":29149,"mutability":"mutable","name":"noGovernance","nameLocation":"1970:12:31","nodeType":"VariableDeclaration","scope":29227,"src":"1950:32:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":29148,"nodeType":"UserDefinedTypeName","pathNode":{"id":29147,"name":"JBTiered721Delegate","nameLocations":["1950:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"1950:19:31"},"referencedDeclaration":1482,"src":"1950:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"internal"}],"id":29158,"initialValue":{"arguments":[{"id":29153,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2009:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29154,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2022:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29155,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29095,"src":"2039:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29156,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29101,"src":"2062:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1985:23:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721Delegate_$1482_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721Delegate)"},"typeName":{"id":29151,"nodeType":"UserDefinedTypeName","pathNode":{"id":29150,"name":"JBTiered721Delegate","nameLocations":["1989:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"1989:19:31"},"referencedDeclaration":1482,"src":"1989:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}},"id":29157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:102:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"1950:137:31"},{"assignments":[29161],"declarations":[{"constant":false,"id":29161,"mutability":"mutable","name":"onchainGovernance","nameLocation":"2127:17:31","nodeType":"VariableDeclaration","scope":29227,"src":"2097:47:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":29160,"nodeType":"UserDefinedTypeName","pathNode":{"id":29159,"name":"JBTiered721GovernanceDelegate","nameLocations":["2097:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"2097:29:31"},"referencedDeclaration":4567,"src":"2097:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"internal"}],"id":29170,"initialValue":{"arguments":[{"id":29165,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2194:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29166,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2219:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29167,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29095,"src":"2248:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29168,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29101,"src":"2283:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2147:33:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721GovernanceDelegate_$4567_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721GovernanceDelegate)"},"typeName":{"id":29163,"nodeType":"UserDefinedTypeName","pathNode":{"id":29162,"name":"JBTiered721GovernanceDelegate","nameLocations":["2151:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"2151:29:31"},"referencedDeclaration":4567,"src":"2151:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}}},"id":29169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2147:170:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"nodeType":"VariableDeclarationStatement","src":"2097:220:31"},{"expression":{"id":29179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29171,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29104,"src":"2328:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29175,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29161,"src":"2379:17:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},{"id":29176,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29149,"src":"2398:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},{"id":29177,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"2412:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2347:31:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_JBTiered721GovernanceDelegate_$4567_$_t_contract$_JBTiered721Delegate_$1482_$_t_contract$_IJBDelegatesRegistry_$89035_$returns$_t_contract$_JBTiered721DelegateDeployer_$1662_$","typeString":"function (contract JBTiered721GovernanceDelegate,contract JBTiered721Delegate,contract IJBDelegatesRegistry) returns (contract JBTiered721DelegateDeployer)"},"typeName":{"id":29173,"nodeType":"UserDefinedTypeName","pathNode":{"id":29172,"name":"JBTiered721DelegateDeployer","nameLocations":["2351:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"2351:27:31"},"referencedDeclaration":1662,"src":"2351:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}}},"id":29178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2347:74:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"src":"2328:93:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"id":29180,"nodeType":"ExpressionStatement","src":"2328:93:31"},{"expression":{"id":29185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29181,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29110,"src":"2432:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307836313542356235304631466335393141414162353465363333343137363430643646323737334664","id":29183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2465:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x615B5b50F1Fc591AAAb54e633417640d6F2773Fd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29182,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"2440:24:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721DelegateStore_$4477_$","typeString":"type(contract JBTiered721DelegateStore)"}},"id":29184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2440:68:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"src":"2432:76:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"id":29186,"nodeType":"ExpressionStatement","src":"2432:76:31"},{"expression":{"id":29195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29187,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29107,"src":"2519:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29191,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2589:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29192,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29104,"src":"2614:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},{"id":29193,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2644:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}],"id":29190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2537:38:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBTiered721DelegateDeployer_$28090_$_t_contract$_IJBOperatorStore_$85407_$returns$_t_contract$_JBTiered721DelegateProjectDeployer_$2169_$","typeString":"function (contract IJBDirectory,contract IJBTiered721DelegateDeployer,contract IJBOperatorStore) returns (contract JBTiered721DelegateProjectDeployer)"},"typeName":{"id":29189,"nodeType":"UserDefinedTypeName","pathNode":{"id":29188,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["2541:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"2541:34:31"},"referencedDeclaration":2169,"src":"2541:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}},"id":29194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2537:132:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"src":"2519:150:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"id":29196,"nodeType":"ExpressionStatement","src":"2519:150:31"},{"expression":{"arguments":[{"hexValue":"726567697374727920","id":29200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2692:11:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},"value":"registry "},{"arguments":[{"id":29203,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"2713:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2705:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29201,"name":"address","nodeType":"ElementaryTypeName","src":"2705:7:31","typeDescriptions":{}}},"id":29204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2705:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29197,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2680:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2688:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2680:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2680:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29206,"nodeType":"ExpressionStatement","src":"2680:43:31"},{"expression":{"arguments":[{"hexValue":"70726f6a656374206465706c6f796572","id":29210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2745:18:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},"value":"project deployer"},{"arguments":[{"id":29213,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29107,"src":"2773:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}],"id":29212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2765:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29211,"name":"address","nodeType":"ElementaryTypeName","src":"2765:7:31","typeDescriptions":{}}},"id":29214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2765:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29207,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2733:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2741:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2733:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2733:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29216,"nodeType":"ExpressionStatement","src":"2733:57:31"},{"expression":{"arguments":[{"hexValue":"73746f726520","id":29220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2812:8:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},"value":"store "},{"arguments":[{"id":29223,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29110,"src":"2830:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}],"id":29222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2822:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29221,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:31","typeDescriptions":{}}},"id":29224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29217,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2800:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2808:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2800:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29226,"nodeType":"ExpressionStatement","src":"2800:37:31"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1449:3:31","parameters":{"id":29111,"nodeType":"ParameterList","parameters":[],"src":"1452:2:31"},"returnParameters":{"id":29112,"nodeType":"ParameterList","parameters":[],"src":"1464:0:31"},"scope":29229,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":29076,"name":"Script","nameLocations":["987:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":32092,"src":"987:6:31"},"id":29077,"nodeType":"InheritanceSpecifier","src":"987:6:31"}],"canonicalName":"DeployMainnet","contractDependencies":[1482,1662,2169,4567],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29229,32092,41600,36284,34230,32053,32041],"name":"DeployMainnet","nameLocation":"970:13:31","scope":29384,"usedErrors":[],"usedEvents":[]},{"id":29383,"nodeType":"ContractDefinition","src":"2848:1885:31","nodes":[{"id":29237,"nodeType":"VariableDeclaration","src":"2886:83:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbDirectory","nameLocation":"2899:11:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},"typeName":{"id":29233,"nodeType":"UserDefinedTypeName","pathNode":{"id":29232,"name":"IJBDirectory","nameLocations":["2886:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":85048,"src":"2886:12:31"},"referencedDeclaration":85048,"src":"2886:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"value":{"arguments":[{"hexValue":"307838453035626344323831324531343439663045433361453234453243333935463533336439413939","id":29235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2926:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x8E05bcD2812E1449f0EC3aE24E2C395F533d9A99"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29234,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"2913:12:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDirectory_$85048_$","typeString":"type(contract IJBDirectory)"}},"id":29236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2913:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"id":29243,"nodeType":"VariableDeclaration","src":"2975:95:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbOperatorStore","nameLocation":"2992:15:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},"typeName":{"id":29239,"nodeType":"UserDefinedTypeName","pathNode":{"id":29238,"name":"IJBOperatorStore","nameLocations":["2975:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":85407,"src":"2975:16:31"},"referencedDeclaration":85407,"src":"2975:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"value":{"arguments":[{"hexValue":"307839396442366235313736383332333764453943343934626264313738363166333630384633353835","id":29241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3027:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x99dB6b517683237dE9C494bbd17861f3608F3585"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29240,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"3010:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBOperatorStore_$85407_$","typeString":"type(contract IJBOperatorStore)"}},"id":29242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3010:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"id":29249,"nodeType":"VariableDeclaration","src":"3077:45:31","nodes":[],"constant":false,"mutability":"mutable","name":"payMetadataDelegateId","nameLocation":"3084:21:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29244,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3077:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323150","id":29247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3115:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""},"value":"721P"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""}],"id":29246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3108:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29245,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3108:6:31","typeDescriptions":{}}},"id":29248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3108:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29255,"nodeType":"VariableDeclaration","src":"3128:48:31","nodes":[],"constant":false,"mutability":"mutable","name":"redeemMetadataDelegateId","nameLocation":"3135:24:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29250,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3128:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323152","id":29253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3169:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""},"value":"721R"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""}],"id":29252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3162:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29251,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3162:6:31","typeDescriptions":{}}},"id":29254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3162:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29258,"nodeType":"VariableDeclaration","src":"3183:44:31","nodes":[],"constant":false,"mutability":"mutable","name":"delegateDeployer","nameLocation":"3211:16:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},"typeName":{"id":29257,"nodeType":"UserDefinedTypeName","pathNode":{"id":29256,"name":"JBTiered721DelegateDeployer","nameLocations":["3183:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"3183:27:31"},"referencedDeclaration":1662,"src":"3183:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"visibility":"internal"},{"id":29261,"nodeType":"VariableDeclaration","src":"3233:50:31","nodes":[],"constant":false,"mutability":"mutable","name":"projectDeployer","nameLocation":"3268:15:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"},"typeName":{"id":29260,"nodeType":"UserDefinedTypeName","pathNode":{"id":29259,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["3233:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"3233:34:31"},"referencedDeclaration":2169,"src":"3233:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"visibility":"internal"},{"id":29264,"nodeType":"VariableDeclaration","src":"3289:30:31","nodes":[],"constant":false,"mutability":"mutable","name":"store","nameLocation":"3314:5:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"},"typeName":{"id":29263,"nodeType":"UserDefinedTypeName","pathNode":{"id":29262,"name":"JBTiered721DelegateStore","nameLocations":["3289:24:31"],"nodeType":"IdentifierPath","referencedDeclaration":4477,"src":"3289:24:31"},"referencedDeclaration":4477,"src":"3289:24:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"visibility":"internal"},{"id":29382,"nodeType":"FunctionDefinition","src":"3326:1405:31","nodes":[],"body":{"id":29381,"nodeType":"Block","src":"3350:1381:31","nodes":[],"statements":[{"assignments":[29269],"declarations":[{"constant":false,"id":29269,"mutability":"mutable","name":"registry","nameLocation":"3381:8:31","nodeType":"VariableDeclaration","scope":29381,"src":"3360:29:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":29268,"nodeType":"UserDefinedTypeName","pathNode":{"id":29267,"name":"IJBDelegatesRegistry","nameLocations":["3360:20:31"],"nodeType":"IdentifierPath","referencedDeclaration":89035,"src":"3360:20:31"},"referencedDeclaration":89035,"src":"3360:20:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"visibility":"internal"}],"id":29280,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a756963652d64656c6567617465732d72656769737472792f62726f6164636173742f4465706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e","id":29275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3496:94:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_c975ef3cd7f025cc3d8b08417d26c9369f5437b6233746bc1762e1f1ec918ec3","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json\""},"value":"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c975ef3cd7f025cc3d8b08417d26c9369f5437b6233746bc1762e1f1ec918ec3","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json\""}],"expression":{"id":29273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"3463:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3466:8:31","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":42106,"src":"3463:11:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":29276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3463:145:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e735b305d2e636f6e747261637441646472657373","id":29277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3626:34:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""},"value":".transactions[0].contractAddress"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""}],"expression":{"id":29271,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37914,"src":"3426:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$37914_$","typeString":"type(library stdJson)"}},"id":29272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3434:11:31","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":37524,"src":"3426:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) returns (address)"}},"id":29278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:248:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29270,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"3392:20:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDelegatesRegistry_$89035_$","typeString":"type(contract IJBDelegatesRegistry)"}},"id":29279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3392:292:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"nodeType":"VariableDeclarationStatement","src":"3360:324:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":29286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3777:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3769:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29284,"name":"address","nodeType":"ElementaryTypeName","src":"3769:7:31","typeDescriptions":{}}},"id":29287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3769:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29282,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"3749:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"id":29283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3758:10:31","memberName":"deployerOf","nodeType":"MemberAccess","referencedDeclaration":89018,"src":"3749:19:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_address_$","typeString":"function (address) view external returns (address)"}},"id":29288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3749:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":29291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3792:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3784:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29289,"name":"address","nodeType":"ElementaryTypeName","src":"3784:7:31","typeDescriptions":{}}},"id":29292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3784:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3749:45:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29281,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3742:6:31","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":29294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3742:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29295,"nodeType":"ExpressionStatement","src":"3742:53:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29296,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"3806:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3809:14:31","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":42081,"src":"3806:17:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":29299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29300,"nodeType":"ExpressionStatement","src":"3806:19:31"},{"assignments":[29303],"declarations":[{"constant":false,"id":29303,"mutability":"mutable","name":"noGovernance","nameLocation":"3856:12:31","nodeType":"VariableDeclaration","scope":29381,"src":"3836:32:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":29302,"nodeType":"UserDefinedTypeName","pathNode":{"id":29301,"name":"JBTiered721Delegate","nameLocations":["3836:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"3836:19:31"},"referencedDeclaration":1482,"src":"3836:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"internal"}],"id":29312,"initialValue":{"arguments":[{"id":29307,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"3895:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29308,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"3908:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29309,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29249,"src":"3925:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29310,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29255,"src":"3948:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3871:23:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721Delegate_$1482_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721Delegate)"},"typeName":{"id":29305,"nodeType":"UserDefinedTypeName","pathNode":{"id":29304,"name":"JBTiered721Delegate","nameLocations":["3875:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"3875:19:31"},"referencedDeclaration":1482,"src":"3875:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}},"id":29311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:102:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"3836:137:31"},{"assignments":[29315],"declarations":[{"constant":false,"id":29315,"mutability":"mutable","name":"onchainGovernance","nameLocation":"4013:17:31","nodeType":"VariableDeclaration","scope":29381,"src":"3983:47:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":29314,"nodeType":"UserDefinedTypeName","pathNode":{"id":29313,"name":"JBTiered721GovernanceDelegate","nameLocations":["3983:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"3983:29:31"},"referencedDeclaration":4567,"src":"3983:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"internal"}],"id":29324,"initialValue":{"arguments":[{"id":29319,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"4080:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29320,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"4105:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29321,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29249,"src":"4134:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29322,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29255,"src":"4170:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4033:33:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721GovernanceDelegate_$4567_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721GovernanceDelegate)"},"typeName":{"id":29317,"nodeType":"UserDefinedTypeName","pathNode":{"id":29316,"name":"JBTiered721GovernanceDelegate","nameLocations":["4037:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"4037:29:31"},"referencedDeclaration":4567,"src":"4037:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}}},"id":29323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4033:171:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"nodeType":"VariableDeclarationStatement","src":"3983:221:31"},{"expression":{"id":29333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29325,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29258,"src":"4215:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29329,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29315,"src":"4266:17:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},{"id":29330,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29303,"src":"4285:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},{"id":29331,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"4299:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4234:31:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_JBTiered721GovernanceDelegate_$4567_$_t_contract$_JBTiered721Delegate_$1482_$_t_contract$_IJBDelegatesRegistry_$89035_$returns$_t_contract$_JBTiered721DelegateDeployer_$1662_$","typeString":"function (contract JBTiered721GovernanceDelegate,contract JBTiered721Delegate,contract IJBDelegatesRegistry) returns (contract JBTiered721DelegateDeployer)"},"typeName":{"id":29327,"nodeType":"UserDefinedTypeName","pathNode":{"id":29326,"name":"JBTiered721DelegateDeployer","nameLocations":["4238:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"4238:27:31"},"referencedDeclaration":1662,"src":"4238:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}}},"id":29332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4234:74:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"src":"4215:93:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"id":29334,"nodeType":"ExpressionStatement","src":"4215:93:31"},{"expression":{"id":29339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29335,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29264,"src":"4319:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307831353542343966333033343433613333333462423245463432453130433632383433386130363536","id":29337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4352:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x155B49f303443a3334bB2EF42E10C628438a0656"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29336,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"4327:24:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721DelegateStore_$4477_$","typeString":"type(contract JBTiered721DelegateStore)"}},"id":29338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4327:68:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"src":"4319:76:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"id":29340,"nodeType":"ExpressionStatement","src":"4319:76:31"},{"expression":{"id":29349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29341,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29261,"src":"4406:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29345,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"4476:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29346,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29258,"src":"4501:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},{"id":29347,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"4531:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}],"id":29344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4424:38:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBTiered721DelegateDeployer_$28090_$_t_contract$_IJBOperatorStore_$85407_$returns$_t_contract$_JBTiered721DelegateProjectDeployer_$2169_$","typeString":"function (contract IJBDirectory,contract IJBTiered721DelegateDeployer,contract IJBOperatorStore) returns (contract JBTiered721DelegateProjectDeployer)"},"typeName":{"id":29343,"nodeType":"UserDefinedTypeName","pathNode":{"id":29342,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["4428:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"4428:34:31"},"referencedDeclaration":2169,"src":"4428:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}},"id":29348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4424:132:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"src":"4406:150:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"id":29350,"nodeType":"ExpressionStatement","src":"4406:150:31"},{"expression":{"arguments":[{"hexValue":"726567697374727920","id":29354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4579:11:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},"value":"registry "},{"arguments":[{"id":29357,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"4600:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4592:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29355,"name":"address","nodeType":"ElementaryTypeName","src":"4592:7:31","typeDescriptions":{}}},"id":29358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4592:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29351,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4567:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4575:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4567:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4567:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29360,"nodeType":"ExpressionStatement","src":"4567:43:31"},{"expression":{"arguments":[{"hexValue":"70726f6a656374206465706c6f796572","id":29364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4632:18:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},"value":"project deployer"},{"arguments":[{"id":29367,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29261,"src":"4660:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}],"id":29366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4652:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29365,"name":"address","nodeType":"ElementaryTypeName","src":"4652:7:31","typeDescriptions":{}}},"id":29368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29361,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4620:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4628:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4620:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4620:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29370,"nodeType":"ExpressionStatement","src":"4620:57:31"},{"expression":{"arguments":[{"hexValue":"73746f726520","id":29374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4699:8:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},"value":"store "},{"arguments":[{"id":29377,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29264,"src":"4717:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}],"id":29376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4709:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29375,"name":"address","nodeType":"ElementaryTypeName","src":"4709:7:31","typeDescriptions":{}}},"id":29378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4709:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29371,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4687:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4695:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4687:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4687:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29380,"nodeType":"ExpressionStatement","src":"4687:37:31"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"3335:3:31","parameters":{"id":29265,"nodeType":"ParameterList","parameters":[],"src":"3338:2:31"},"returnParameters":{"id":29266,"nodeType":"ParameterList","parameters":[],"src":"3350:0:31"},"scope":29383,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":29230,"name":"Script","nameLocations":["2873:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":32092,"src":"2873:6:31"},"id":29231,"nodeType":"InheritanceSpecifier","src":"2873:6:31"}],"canonicalName":"DeployGoerli","contractDependencies":[1482,1662,2169,4567],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29383,32092,41600,36284,34230,32053,32041],"name":"DeployGoerli","nameLocation":"2857:12:31","scope":29384,"usedErrors":[],"usedEvents":[]}]},"id":31} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x6080604052600b805461ff01600160b81b031916768e05bcd2812e1449f0ec3ae24e2c395f533d9a99010001179055600c80546001600160e01b0319167b373231523732315099db6b517683237de9c494bbd17861f3608f358517905534801561006857600080fd5b5061fcbe80620000796000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673155b49f303443a3334bb2ef42e10c628438a0656179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033a2646970667358221220edfc5c9b7b9d05b798eef410f28b91635851fb067d685c816731053d38d1be3d64736f6c63430008170033","sourceMap":"2848:1885:19:-:0;;;3126:44:38;;;-1:-1:-1;;;;;;2886:83:19;;;;;2975:95;;;-1:-1:-1;;;;;;3128:48:19;;;;;2848:1885;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673155b49f303443a3334bb2ef42e10c628438a0656179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033a2646970667358221220edfc5c9b7b9d05b798eef410f28b91635851fb067d685c816731053d38d1be3d64736f6c63430008170033","sourceMap":"2848:1885:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3326:1405;;;:::i;:::-;;800:28:36;;;;;;;;;;;;;;;179:14:119;;172:22;154:41;;142:2;127:18;800:28:36;;;;;;;3326:1405:19;3463:145;;-1:-1:-1;;;3463:145:19;;408:2:119;3463:145:19;;;390:21:119;447:2;427:18;;;420:30;486:34;466:18;;;459:62;557:34;537:18;;;530:62;629:30;608:19;;;601:59;3360:29:19;;3426:248;;3463:11;;;;677:19:119;;3463:145:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3463:145:19;;;;;;;;;;;;:::i;:::-;3426:248;;;;;;;;;;;;;;;;;:19;:248::i;:::-;3749:31;;-1:-1:-1;;;3749:31:19;;3792:1;3749:31;;;2142:51:119;;;3360:324:19;;-1:-1:-1;;;;;;3749:19:19;;;;;2115:18:119;;3749:31:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3749:45:19;;3742:53;;;;:::i;:::-;317:28:35;309:37;;-1:-1:-1;;;;;3806:17:19;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3895:11:19;;3908:15;;3871:102;;3836:32;;-1:-1:-1;;;;;;3895:11:19;;;;;;;-1:-1:-1;3908:15:19;;;;-1:-1:-1;;;3925:21:19;;;;;;;-1:-1:-1;;;3948:24:19;;;;;3871:102;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4080:11:19;;4105:15;;4033:171;;3836:137;;-1:-1:-1;3983:47:19;;-1:-1:-1;;;;;4080:11:19;;;;;;;4105:15;;;-1:-1:-1;;;4134:21:19;;;;;;;-1:-1:-1;;;4170:24:19;;;;;;4033:171;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;3983:221;;4266:17;4285:12;4299:8;4234:74;;;;;:::i;:::-;-1:-1:-1;;;;;3538:15:119;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;4234:74:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4215:16:19;:93;;-1:-1:-1;;;;;4215:93:19;;;-1:-1:-1;;;;;;4215:93:19;;;;;;;;4319:5;:76;;;;;4352:42;4319:76;;;4476:11;;4531:15;;4424:132;;4476:11;;;;;;;4531:15;;4424:132;;;:::i;:::-;-1:-1:-1;;;;;3538:15:119;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;4424:132:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4406:15:19;:150;;-1:-1:-1;;;;;;4406:150:19;-1:-1:-1;;;;;4406:150:19;;;;;;;;;;4567:43;;;;;;;;;;;;-1:-1:-1;;;4567:43:19;;;;;;4600:8;4567:11;:43::i;:::-;4620:57;;;;;;;;;;;;-1:-1:-1;;;4620:57:19;;;;4660:15;;4620:57;;;-1:-1:-1;;;;;4660:15:19;4620:11;:57::i;:::-;4687:37;;;;;;;;;;;;-1:-1:-1;;;4687:37:19;;;;4717:5;;4687:37;;;-1:-1:-1;;;;;4717:5:19;4687:11;:37::i;:::-;3350:1381;;;3326:1405::o;2321:141:42:-;2425:30;;-1:-1:-1;;;2425:30:42;;2399:7;;2425:19;;;;:30;;2445:4;;2451:3;;2425:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2418:37;2321:141;-1:-1:-1;;;2321:141:42:o;6994:145:49:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:49;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:49;-1:-1:-1;;;7077:54:49;;;7061:15;:71::i;:::-;6994:145;;:::o;181:376::-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;707:127:119:-;768:10;763:3;759:20;756:1;749:31;799:4;796:1;789:15;823:4;820:1;813:15;839:250;924:1;934:113;948:6;945:1;942:13;934:113;;;1024:11;;;1018:18;1005:11;;;998:39;970:2;963:10;934:113;;;-1:-1:-1;;1081:1:119;1063:16;;1056:27;839:250::o;1094:897::-;1174:6;1227:2;1215:9;1206:7;1202:23;1198:32;1195:52;;;1243:1;1240;1233:12;1195:52;1276:9;1270:16;1305:18;1346:2;1338:6;1335:14;1332:34;;;1362:1;1359;1352:12;1332:34;1400:6;1389:9;1385:22;1375:32;;1445:7;1438:4;1434:2;1430:13;1426:27;1416:55;;1467:1;1464;1457:12;1416:55;1496:2;1490:9;1518:2;1514;1511:10;1508:36;;;1524:18;;:::i;:::-;1599:2;1593:9;1567:2;1653:13;;-1:-1:-1;;1649:22:119;;;1673:2;1645:31;1641:40;1629:53;;;1697:18;;;1717:22;;;1694:46;1691:72;;;1743:18;;:::i;:::-;1783:10;1779:2;1772:22;1818:2;1810:6;1803:18;1858:7;1853:2;1848;1844;1840:11;1836:20;1833:33;1830:53;;;1879:1;1876;1869:12;1830:53;1892:68;1957:2;1952;1944:6;1940:15;1935:2;1931;1927:11;1892:68;:::i;:::-;1979:6;1094:897;-1:-1:-1;;;;;;;1094:897:119:o;2204:290::-;2274:6;2327:2;2315:9;2306:7;2302:23;2298:32;2295:52;;;2343:1;2340;2333:12;2295:52;2369:16;;-1:-1:-1;;;;;2414:31:119;;2404:42;;2394:70;;2460:1;2457;2450:12;2499:127;2560:10;2555:3;2551:20;2548:1;2541:31;2591:4;2588:1;2581:15;2615:4;2612:1;2605:15;2631:548;-1:-1:-1;;;;;2962:15:119;;;2944:34;;3014:15;;;;3009:2;2994:18;;2987:43;-1:-1:-1;;;;;;3105:15:119;;;3100:2;3085:18;;3078:43;3157:15;;;3152:2;3137:18;;3130:43;2893:3;2878:19;;2631:548::o;4142:271::-;4184:3;4222:5;4216:12;4249:6;4244:3;4237:19;4265:76;4334:6;4327:4;4322:3;4318:14;4311:4;4304:5;4300:16;4265:76;:::i;:::-;4395:2;4374:15;-1:-1:-1;;4370:29:119;4361:39;;;;4402:4;4357:50;;4142:271;-1:-1:-1;;4142:271:119:o;4418:383::-;4615:2;4604:9;4597:21;4578:4;4641:45;4682:2;4671:9;4667:18;4659:6;4641:45;:::i;:::-;4734:9;4726:6;4722:22;4717:2;4706:9;4702:18;4695:50;4762:33;4788:6;4780;4762:33;:::i;:::-;4754:41;4418:383;-1:-1:-1;;;;;4418:383:119:o;4806:317::-;4983:2;4972:9;4965:21;4946:4;5003:45;5044:2;5033:9;5029:18;5021:6;5003:45;:::i;:::-;4995:53;;5113:1;5109;5104:3;5100:11;5096:19;5088:6;5084:32;5079:2;5068:9;5064:18;5057:60;4806:317;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/scripts/Deploy.s.sol\":\"DeployGoerli\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279\",\"dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/scripts/Deploy.s.sol\":{\"keccak256\":\"0x35bb691be0b85b2d984f8d7ae0ef409edb8078da215ec4424a1a211b5de67ef1\",\"urls\":[\"bzz-raw://aa25712a838944ae52fa6e6ac9768836fbc4f0899f5f5f4c212b5fb20070a19a\",\"dweb:/ipfs/QmYR1K3Y2fUdrdXisR7aAVg7bnbNrpeqewQGaUFKHLkaef\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357\",\"dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/scripts/Deploy.s.sol":"DeployGoerli"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4","urls":["bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279","dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/scripts/Deploy.s.sol":{"keccak256":"0x35bb691be0b85b2d984f8d7ae0ef409edb8078da215ec4424a1a211b5de67ef1","urls":["bzz-raw://aa25712a838944ae52fa6e6ac9768836fbc4f0899f5f5f4c212b5fb20070a19a","dweb:/ipfs/QmYR1K3Y2fUdrdXisR7aAVg7bnbNrpeqewQGaUFKHLkaef"],"license":null},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663","urls":["bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357","dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"id":19} \ No newline at end of file diff --git a/out/Deploy.s.sol/DeployMainnet.json b/out/Deploy.s.sol/DeployMainnet.json index a03d1ca2..3caa6613 100644 --- a/out/Deploy.s.sol/DeployMainnet.json +++ b/out/Deploy.s.sol/DeployMainnet.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x6080604052600b805461ff01600160b81b0319167665572fb928b46f9adb7cfe5a4c41226f636161ea010001179055600c80546001600160e01b0319167b37323152373231506f3c5afca0c9edf3926ef2ddf17c8ae6391afefb17905534801561006857600080fd5b5061fcbe80620000796000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673615b5b50f1fc591aaab54e633417640d6f2773fd179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122038fcc0e78d0c91c8b5acb833d50010c869f316bbfa61c1440f9c56d52df8d38264736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033a264697066735822122040a56c3f811f99b64b813d36fa4802c3c07c08b2b48b5d305d9bfa05ca34e59164736f6c63430008170033","sourceMap":"961:1885:31:-:0;;;3126:44:50;;;-1:-1:-1;;;;;;1000:83:31;;;;;1089:95;;;-1:-1:-1;;;;;;1242:48:31;;;;;961:1885;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673615b5b50f1fc591aaab54e633417640d6f2773fd179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa264697066735822122038fcc0e78d0c91c8b5acb833d50010c869f316bbfa61c1440f9c56d52df8d38264736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033a264697066735822122040a56c3f811f99b64b813d36fa4802c3c07c08b2b48b5d305d9bfa05ca34e59164736f6c63430008170033","sourceMap":"961:1885:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1440:1404;;;:::i;:::-;;800:28:48;;;;;;;;;;;;;;;179:14:195;;172:22;154:41;;142:2;127:18;800:28:48;;;;;;;1440:1404:31;1577:145;;-1:-1:-1;;;1577:145:31;;408:2:195;1577:145:31;;;390:21:195;447:2;427:18;;;420:30;486:34;466:18;;;459:62;557:34;537:18;;;530:62;629:30;608:19;;;601:59;1474:29:31;;1540:248;;1577:11;;;;677:19:195;;1577:145:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1577:145:31;;;;;;;;;;;;:::i;:::-;1540:248;;;;;;;;;;;;;;;;;:19;:248::i;:::-;1863:31;;-1:-1:-1;;;1863:31:31;;1906:1;1863:31;;;2142:51:195;;;1474:324:31;;-1:-1:-1;;;;;;1863:19:31;;;;;2115:18:195;;1863:31:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1863:45:31;;1856:53;;;;:::i;:::-;317:28:47;309:37;;-1:-1:-1;;;;;1920:17:31;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2009:11:31;;2022:15;;1985:102;;1950:32;;-1:-1:-1;;;;;;2009:11:31;;;;;;;-1:-1:-1;2022:15:31;;;;-1:-1:-1;;;2039:21:31;;;;;;;-1:-1:-1;;;2062:24:31;;;;;1985:102;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2194:11:31;;2219:15;;2147:170;;1950:137;;-1:-1:-1;2097:47:31;;-1:-1:-1;;;;;2194:11:31;;;;;;;2219:15;;;-1:-1:-1;;;2248:21:31;;;;;;;-1:-1:-1;;;2283:24:31;;;;;;2147:170;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2097:220;;2379:17;2398:12;2412:8;2347:74;;;;;:::i;:::-;-1:-1:-1;;;;;3538:15:195;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;2347:74:31;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2328:16:31;:93;;-1:-1:-1;;;;;2328:93:31;;;-1:-1:-1;;;;;;2328:93:31;;;;;;;;2432:5;:76;;;;;2465:42;2432:76;;;2589:11;;2644:15;;2537:132;;2589:11;;;;;;;2644:15;;2537:132;;;:::i;:::-;-1:-1:-1;;;;;3538:15:195;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;2537:132:31;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2519:15:31;:150;;-1:-1:-1;;;;;;2519:150:31;-1:-1:-1;;;;;2519:150:31;;;;;;;;;;2680:43;;;;;;;;;;;;-1:-1:-1;;;2680:43:31;;;;;;2713:8;2680:11;:43::i;:::-;2733:57;;;;;;;;;;;;-1:-1:-1;;;2733:57:31;;;;2773:15;;2733:57;;;-1:-1:-1;;;;;2773:15:31;2733:11;:57::i;:::-;2800:37;;;;;;;;;;;;-1:-1:-1;;;2800:37:31;;;;2830:5;;2800:37;;;-1:-1:-1;;;;;2830:5:31;2800:11;:37::i;:::-;1464:1380;;;1440:1404::o;2321:141:54:-;2425:30;;-1:-1:-1;;;2425:30:54;;2399:7;;2425:19;;;;:30;;2445:4;;2451:3;;2425:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2418:37;2321:141;-1:-1:-1;;;2321:141:54:o;6994:145:61:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:61;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:61;-1:-1:-1;;;7077:54:61;;;7061:15;:71::i;:::-;6994:145;;:::o;181:376::-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;707:127:195:-;768:10;763:3;759:20;756:1;749:31;799:4;796:1;789:15;823:4;820:1;813:15;839:250;924:1;934:113;948:6;945:1;942:13;934:113;;;1024:11;;;1018:18;1005:11;;;998:39;970:2;963:10;934:113;;;-1:-1:-1;;1081:1:195;1063:16;;1056:27;839:250::o;1094:897::-;1174:6;1227:2;1215:9;1206:7;1202:23;1198:32;1195:52;;;1243:1;1240;1233:12;1195:52;1276:9;1270:16;1305:18;1346:2;1338:6;1335:14;1332:34;;;1362:1;1359;1352:12;1332:34;1400:6;1389:9;1385:22;1375:32;;1445:7;1438:4;1434:2;1430:13;1426:27;1416:55;;1467:1;1464;1457:12;1416:55;1496:2;1490:9;1518:2;1514;1511:10;1508:36;;;1524:18;;:::i;:::-;1599:2;1593:9;1567:2;1653:13;;-1:-1:-1;;1649:22:195;;;1673:2;1645:31;1641:40;1629:53;;;1697:18;;;1717:22;;;1694:46;1691:72;;;1743:18;;:::i;:::-;1783:10;1779:2;1772:22;1818:2;1810:6;1803:18;1858:7;1853:2;1848;1844;1840:11;1836:20;1833:33;1830:53;;;1879:1;1876;1869:12;1830:53;1892:68;1957:2;1952;1944:6;1940:15;1935:2;1931;1927:11;1892:68;:::i;:::-;1979:6;1094:897;-1:-1:-1;;;;;;;1094:897:195:o;2204:290::-;2274:6;2327:2;2315:9;2306:7;2302:23;2298:32;2295:52;;;2343:1;2340;2333:12;2295:52;2369:16;;-1:-1:-1;;;;;2414:31:195;;2404:42;;2394:70;;2460:1;2457;2450:12;2499:127;2560:10;2555:3;2551:20;2548:1;2541:31;2591:4;2588:1;2581:15;2615:4;2612:1;2605:15;2631:548;-1:-1:-1;;;;;2962:15:195;;;2944:34;;3014:15;;;;3009:2;2994:18;;2987:43;-1:-1:-1;;;;;;3105:15:195;;;3100:2;3085:18;;3078:43;3157:15;;;3152:2;3137:18;;3130:43;2893:3;2878:19;;2631:548::o;4142:271::-;4184:3;4222:5;4216:12;4249:6;4244:3;4237:19;4265:76;4334:6;4327:4;4322:3;4318:14;4311:4;4304:5;4300:16;4265:76;:::i;:::-;4395:2;4374:15;-1:-1:-1;;4370:29:195;4361:39;;;;4402:4;4357:50;;4142:271;-1:-1:-1;;4142:271:195:o;4418:383::-;4615:2;4604:9;4597:21;4578:4;4641:45;4682:2;4671:9;4667:18;4659:6;4641:45;:::i;:::-;4734:9;4726:6;4722:22;4717:2;4706:9;4702:18;4695:50;4762:33;4788:6;4780;4762:33;:::i;:::-;4754:41;4418:383;-1:-1:-1;;;;;4418:383:195:o;4806:317::-;4983:2;4972:9;4965:21;4946:4;5003:45;5044:2;5033:9;5029:18;5021:6;5003:45;:::i;:::-;4995:53;;5113:1;5109;5104:3;5100:11;5096:19;5088:6;5084:32;5079:2;5068:9;5064:18;5057:60;4806:317;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/scripts/Deploy.s.sol\":\"DeployMainnet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c\",\"dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/scripts/Deploy.s.sol\":{\"keccak256\":\"0x22aa8e24133bfd6fb33bb42d445ec253dae2d842b296bfea798aa7d4aa39732d\",\"urls\":[\"bzz-raw://e8255b90419ea3cf27ef8fb91c42c5aa470ab7ee10b91373b851a805c745a221\",\"dweb:/ipfs/QmQJWJLvJXq2qNeQ2EtUhjvvSJWcFMCULKygyqyy4UAXyD\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce\",\"dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/scripts/Deploy.s.sol":"DeployMainnet"},"libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2","urls":["bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c","dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/scripts/Deploy.s.sol":{"keccak256":"0x22aa8e24133bfd6fb33bb42d445ec253dae2d842b296bfea798aa7d4aa39732d","urls":["bzz-raw://e8255b90419ea3cf27ef8fb91c42c5aa470ab7ee10b91373b851a805c745a221","dweb:/ipfs/QmQJWJLvJXq2qNeQ2EtUhjvvSJWcFMCULKygyqyy4UAXyD"],"license":null},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3","urls":["bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce","dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/scripts/Deploy.s.sol","id":29384,"exportedSymbols":{"DSTest":[31978],"DeployGoerli":[29383],"DeployMainnet":[29229],"IJBDelegatesRegistry":[89035],"IJBDirectory":[85048],"IJBOperatorStore":[85407],"IJBProjects":[86089],"JBTiered721Delegate":[1482],"JBTiered721DelegateDeployer":[1662],"JBTiered721DelegateProjectDeployer":[2169],"JBTiered721DelegateStore":[4477],"JBTiered721GovernanceDelegate":[4567],"Script":[32092],"ScriptBase":[32053],"StdAssertions":[33510],"StdChains":[34230],"StdCheats":[37048],"StdCheatsSafe":[36284],"StdInvariant":[37338],"StdStorage":[38088],"StdStyle":[40752],"StdUtils":[41600],"Test":[41651],"TestBase":[32044],"Vm":[43178],"VmSafe":[42706],"console":[51242],"console2":[59367],"safeconsole":[72605],"stdError":[37114],"stdJson":[37914],"stdMath":[38056],"stdStorage":[39541],"stdStorageSafe":[38980]},"nodeType":"SourceUnit","src":"0:4734:31","nodes":[{"id":29054,"nodeType":"PragmaDirective","src":"0:24:31","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":29055,"nodeType":"ImportDirective","src":"26:30:31","nodes":[],"absolutePath":"lib/forge-std/src/Script.sol","file":"forge-std/Script.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":32093,"symbolAliases":[],"unitAlias":""},{"id":29056,"nodeType":"ImportDirective","src":"57:31:31","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"forge-std/StdJson.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":37915,"symbolAliases":[],"unitAlias":""},{"id":29057,"nodeType":"ImportDirective","src":"89:28:31","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":41652,"symbolAliases":[],"unitAlias":""},{"id":29059,"nodeType":"ImportDirective","src":"119:118:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","file":"@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":89036,"symbolAliases":[{"foreign":{"id":29058,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"128:20:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29061,"nodeType":"ImportDirective","src":"238:100:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":86090,"symbolAliases":[{"foreign":{"id":29060,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86089,"src":"247:11:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29063,"nodeType":"ImportDirective","src":"339:102:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":85049,"symbolAliases":[{"foreign":{"id":29062,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"348:12:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29065,"nodeType":"ImportDirective","src":"442:110:31","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":85408,"symbolAliases":[{"foreign":{"id":29064,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"451:16:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29067,"nodeType":"ImportDirective","src":"554:81:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateDeployer.sol","file":"../JBTiered721DelegateDeployer.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":1663,"symbolAliases":[{"foreign":{"id":29066,"name":"JBTiered721DelegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"563:27:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29069,"nodeType":"ImportDirective","src":"636:95:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateProjectDeployer.sol","file":"../JBTiered721DelegateProjectDeployer.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":2170,"symbolAliases":[{"foreign":{"id":29068,"name":"JBTiered721DelegateProjectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2169,"src":"645:34:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29071,"nodeType":"ImportDirective","src":"732:75:31","nodes":[],"absolutePath":"contracts/JBTiered721DelegateStore.sol","file":"../JBTiered721DelegateStore.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":4478,"symbolAliases":[{"foreign":{"id":29070,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"741:24:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29073,"nodeType":"ImportDirective","src":"808:65:31","nodes":[],"absolutePath":"contracts/JBTiered721Delegate.sol","file":"../JBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":1483,"symbolAliases":[{"foreign":{"id":29072,"name":"JBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"817:19:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29075,"nodeType":"ImportDirective","src":"874:85:31","nodes":[],"absolutePath":"contracts/JBTiered721GovernanceDelegate.sol","file":"../JBTiered721GovernanceDelegate.sol","nameLocation":"-1:-1:-1","scope":29384,"sourceUnit":4568,"symbolAliases":[{"foreign":{"id":29074,"name":"JBTiered721GovernanceDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4567,"src":"883:29:31","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29229,"nodeType":"ContractDefinition","src":"961:1885:31","nodes":[{"id":29083,"nodeType":"VariableDeclaration","src":"1000:83:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbDirectory","nameLocation":"1013:11:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},"typeName":{"id":29079,"nodeType":"UserDefinedTypeName","pathNode":{"id":29078,"name":"IJBDirectory","nameLocations":["1000:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":85048,"src":"1000:12:31"},"referencedDeclaration":85048,"src":"1000:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"value":{"arguments":[{"hexValue":"307836353537324642393238623436663961444237636665354134633431323236463633363136316561","id":29081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1040:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x65572FB928b46f9aDB7cfe5A4c41226F636161ea"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29080,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"1027:12:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDirectory_$85048_$","typeString":"type(contract IJBDirectory)"}},"id":29082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1027:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"id":29089,"nodeType":"VariableDeclaration","src":"1089:95:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbOperatorStore","nameLocation":"1106:15:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},"typeName":{"id":29085,"nodeType":"UserDefinedTypeName","pathNode":{"id":29084,"name":"IJBOperatorStore","nameLocations":["1089:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":85407,"src":"1089:16:31"},"referencedDeclaration":85407,"src":"1089:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"value":{"arguments":[{"hexValue":"307836463343356166436130633965446633393236654632644446313763386165363339316166456662","id":29087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1141:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x6F3C5afCa0c9eDf3926eF2dDF17c8ae6391afEfb"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29086,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"1124:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBOperatorStore_$85407_$","typeString":"type(contract IJBOperatorStore)"}},"id":29088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1124:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"id":29095,"nodeType":"VariableDeclaration","src":"1191:45:31","nodes":[],"constant":false,"mutability":"mutable","name":"payMetadataDelegateId","nameLocation":"1198:21:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29090,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1191:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323150","id":29093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1229:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""},"value":"721P"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""}],"id":29092,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1222:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29091,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1222:6:31","typeDescriptions":{}}},"id":29094,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29101,"nodeType":"VariableDeclaration","src":"1242:48:31","nodes":[],"constant":false,"mutability":"mutable","name":"redeemMetadataDelegateId","nameLocation":"1249:24:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29096,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1242:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323152","id":29099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1283:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""},"value":"721R"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""}],"id":29098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1276:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29097,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1276:6:31","typeDescriptions":{}}},"id":29100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1276:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29104,"nodeType":"VariableDeclaration","src":"1297:44:31","nodes":[],"constant":false,"mutability":"mutable","name":"delegateDeployer","nameLocation":"1325:16:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},"typeName":{"id":29103,"nodeType":"UserDefinedTypeName","pathNode":{"id":29102,"name":"JBTiered721DelegateDeployer","nameLocations":["1297:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"1297:27:31"},"referencedDeclaration":1662,"src":"1297:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"visibility":"internal"},{"id":29107,"nodeType":"VariableDeclaration","src":"1347:50:31","nodes":[],"constant":false,"mutability":"mutable","name":"projectDeployer","nameLocation":"1382:15:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"},"typeName":{"id":29106,"nodeType":"UserDefinedTypeName","pathNode":{"id":29105,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["1347:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"1347:34:31"},"referencedDeclaration":2169,"src":"1347:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"visibility":"internal"},{"id":29110,"nodeType":"VariableDeclaration","src":"1403:30:31","nodes":[],"constant":false,"mutability":"mutable","name":"store","nameLocation":"1428:5:31","scope":29229,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"},"typeName":{"id":29109,"nodeType":"UserDefinedTypeName","pathNode":{"id":29108,"name":"JBTiered721DelegateStore","nameLocations":["1403:24:31"],"nodeType":"IdentifierPath","referencedDeclaration":4477,"src":"1403:24:31"},"referencedDeclaration":4477,"src":"1403:24:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"visibility":"internal"},{"id":29228,"nodeType":"FunctionDefinition","src":"1440:1404:31","nodes":[],"body":{"id":29227,"nodeType":"Block","src":"1464:1380:31","nodes":[],"statements":[{"assignments":[29115],"declarations":[{"constant":false,"id":29115,"mutability":"mutable","name":"registry","nameLocation":"1495:8:31","nodeType":"VariableDeclaration","scope":29227,"src":"1474:29:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":29114,"nodeType":"UserDefinedTypeName","pathNode":{"id":29113,"name":"IJBDelegatesRegistry","nameLocations":["1474:20:31"],"nodeType":"IdentifierPath","referencedDeclaration":89035,"src":"1474:20:31"},"referencedDeclaration":89035,"src":"1474:20:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"visibility":"internal"}],"id":29126,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a756963652d64656c6567617465732d72656769737472792f62726f6164636173742f4465706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e","id":29121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1610:94:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_d0ba1a6853990ef03a383c2b80a2ead7f3e5ed1ce429d14d76abc2362a5c6175","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json\""},"value":"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d0ba1a6853990ef03a383c2b80a2ead7f3e5ed1ce429d14d76abc2362a5c6175","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/1/run-latest.json\""}],"expression":{"id":29119,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"1577:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1580:8:31","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":42106,"src":"1577:11:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":29122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1577:145:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e735b305d2e636f6e747261637441646472657373","id":29123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1740:34:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""},"value":".transactions[0].contractAddress"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""}],"expression":{"id":29117,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37914,"src":"1540:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$37914_$","typeString":"type(library stdJson)"}},"id":29118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1548:11:31","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":37524,"src":"1540:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) returns (address)"}},"id":29124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1540:248:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29116,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"1506:20:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDelegatesRegistry_$89035_$","typeString":"type(contract IJBDelegatesRegistry)"}},"id":29125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1506:292:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"nodeType":"VariableDeclarationStatement","src":"1474:324:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":29132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1891:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1883:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29130,"name":"address","nodeType":"ElementaryTypeName","src":"1883:7:31","typeDescriptions":{}}},"id":29133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1883:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29128,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"1863:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"id":29129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1872:10:31","memberName":"deployerOf","nodeType":"MemberAccess","referencedDeclaration":89018,"src":"1863:19:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_address_$","typeString":"function (address) view external returns (address)"}},"id":29134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1863:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":29137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1906:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1898:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29135,"name":"address","nodeType":"ElementaryTypeName","src":"1898:7:31","typeDescriptions":{}}},"id":29138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1898:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1863:45:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29127,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"1856:6:31","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":29140,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1856:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29141,"nodeType":"ExpressionStatement","src":"1856:53:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29142,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"1920:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1923:14:31","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":42081,"src":"1920:17:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":29145,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1920:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29146,"nodeType":"ExpressionStatement","src":"1920:19:31"},{"assignments":[29149],"declarations":[{"constant":false,"id":29149,"mutability":"mutable","name":"noGovernance","nameLocation":"1970:12:31","nodeType":"VariableDeclaration","scope":29227,"src":"1950:32:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":29148,"nodeType":"UserDefinedTypeName","pathNode":{"id":29147,"name":"JBTiered721Delegate","nameLocations":["1950:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"1950:19:31"},"referencedDeclaration":1482,"src":"1950:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"internal"}],"id":29158,"initialValue":{"arguments":[{"id":29153,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2009:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29154,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2022:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29155,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29095,"src":"2039:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29156,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29101,"src":"2062:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1985:23:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721Delegate_$1482_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721Delegate)"},"typeName":{"id":29151,"nodeType":"UserDefinedTypeName","pathNode":{"id":29150,"name":"JBTiered721Delegate","nameLocations":["1989:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"1989:19:31"},"referencedDeclaration":1482,"src":"1989:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}},"id":29157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1985:102:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"1950:137:31"},{"assignments":[29161],"declarations":[{"constant":false,"id":29161,"mutability":"mutable","name":"onchainGovernance","nameLocation":"2127:17:31","nodeType":"VariableDeclaration","scope":29227,"src":"2097:47:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":29160,"nodeType":"UserDefinedTypeName","pathNode":{"id":29159,"name":"JBTiered721GovernanceDelegate","nameLocations":["2097:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"2097:29:31"},"referencedDeclaration":4567,"src":"2097:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"internal"}],"id":29170,"initialValue":{"arguments":[{"id":29165,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2194:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29166,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2219:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29167,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29095,"src":"2248:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29168,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29101,"src":"2283:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2147:33:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721GovernanceDelegate_$4567_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721GovernanceDelegate)"},"typeName":{"id":29163,"nodeType":"UserDefinedTypeName","pathNode":{"id":29162,"name":"JBTiered721GovernanceDelegate","nameLocations":["2151:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"2151:29:31"},"referencedDeclaration":4567,"src":"2151:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}}},"id":29169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2147:170:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"nodeType":"VariableDeclarationStatement","src":"2097:220:31"},{"expression":{"id":29179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29171,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29104,"src":"2328:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29175,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29161,"src":"2379:17:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},{"id":29176,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29149,"src":"2398:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},{"id":29177,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"2412:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2347:31:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_JBTiered721GovernanceDelegate_$4567_$_t_contract$_JBTiered721Delegate_$1482_$_t_contract$_IJBDelegatesRegistry_$89035_$returns$_t_contract$_JBTiered721DelegateDeployer_$1662_$","typeString":"function (contract JBTiered721GovernanceDelegate,contract JBTiered721Delegate,contract IJBDelegatesRegistry) returns (contract JBTiered721DelegateDeployer)"},"typeName":{"id":29173,"nodeType":"UserDefinedTypeName","pathNode":{"id":29172,"name":"JBTiered721DelegateDeployer","nameLocations":["2351:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"2351:27:31"},"referencedDeclaration":1662,"src":"2351:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}}},"id":29178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2347:74:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"src":"2328:93:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"id":29180,"nodeType":"ExpressionStatement","src":"2328:93:31"},{"expression":{"id":29185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29181,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29110,"src":"2432:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307836313542356235304631466335393141414162353465363333343137363430643646323737334664","id":29183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2465:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x615B5b50F1Fc591AAAb54e633417640d6F2773Fd"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29182,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"2440:24:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721DelegateStore_$4477_$","typeString":"type(contract JBTiered721DelegateStore)"}},"id":29184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2440:68:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"src":"2432:76:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"id":29186,"nodeType":"ExpressionStatement","src":"2432:76:31"},{"expression":{"id":29195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29187,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29107,"src":"2519:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29191,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29083,"src":"2589:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29192,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29104,"src":"2614:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},{"id":29193,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29089,"src":"2644:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}],"id":29190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"2537:38:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBTiered721DelegateDeployer_$28090_$_t_contract$_IJBOperatorStore_$85407_$returns$_t_contract$_JBTiered721DelegateProjectDeployer_$2169_$","typeString":"function (contract IJBDirectory,contract IJBTiered721DelegateDeployer,contract IJBOperatorStore) returns (contract JBTiered721DelegateProjectDeployer)"},"typeName":{"id":29189,"nodeType":"UserDefinedTypeName","pathNode":{"id":29188,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["2541:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"2541:34:31"},"referencedDeclaration":2169,"src":"2541:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}},"id":29194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2537:132:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"src":"2519:150:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"id":29196,"nodeType":"ExpressionStatement","src":"2519:150:31"},{"expression":{"arguments":[{"hexValue":"726567697374727920","id":29200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2692:11:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},"value":"registry "},{"arguments":[{"id":29203,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29115,"src":"2713:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2705:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29201,"name":"address","nodeType":"ElementaryTypeName","src":"2705:7:31","typeDescriptions":{}}},"id":29204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2705:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29197,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2680:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2688:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2680:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2680:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29206,"nodeType":"ExpressionStatement","src":"2680:43:31"},{"expression":{"arguments":[{"hexValue":"70726f6a656374206465706c6f796572","id":29210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2745:18:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},"value":"project deployer"},{"arguments":[{"id":29213,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29107,"src":"2773:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}],"id":29212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2765:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29211,"name":"address","nodeType":"ElementaryTypeName","src":"2765:7:31","typeDescriptions":{}}},"id":29214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2765:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29207,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2733:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2741:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2733:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2733:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29216,"nodeType":"ExpressionStatement","src":"2733:57:31"},{"expression":{"arguments":[{"hexValue":"73746f726520","id":29220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2812:8:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},"value":"store "},{"arguments":[{"id":29223,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29110,"src":"2830:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}],"id":29222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2822:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29221,"name":"address","nodeType":"ElementaryTypeName","src":"2822:7:31","typeDescriptions":{}}},"id":29224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2822:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29217,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"2800:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2808:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"2800:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2800:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29226,"nodeType":"ExpressionStatement","src":"2800:37:31"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"1449:3:31","parameters":{"id":29111,"nodeType":"ParameterList","parameters":[],"src":"1452:2:31"},"returnParameters":{"id":29112,"nodeType":"ParameterList","parameters":[],"src":"1464:0:31"},"scope":29229,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":29076,"name":"Script","nameLocations":["987:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":32092,"src":"987:6:31"},"id":29077,"nodeType":"InheritanceSpecifier","src":"987:6:31"}],"canonicalName":"DeployMainnet","contractDependencies":[1482,1662,2169,4567],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29229,32092,41600,36284,34230,32053,32041],"name":"DeployMainnet","nameLocation":"970:13:31","scope":29384,"usedErrors":[],"usedEvents":[]},{"id":29383,"nodeType":"ContractDefinition","src":"2848:1885:31","nodes":[{"id":29237,"nodeType":"VariableDeclaration","src":"2886:83:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbDirectory","nameLocation":"2899:11:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},"typeName":{"id":29233,"nodeType":"UserDefinedTypeName","pathNode":{"id":29232,"name":"IJBDirectory","nameLocations":["2886:12:31"],"nodeType":"IdentifierPath","referencedDeclaration":85048,"src":"2886:12:31"},"referencedDeclaration":85048,"src":"2886:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"value":{"arguments":[{"hexValue":"307838453035626344323831324531343439663045433361453234453243333935463533336439413939","id":29235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2926:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x8E05bcD2812E1449f0EC3aE24E2C395F533d9A99"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29234,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85048,"src":"2913:12:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDirectory_$85048_$","typeString":"type(contract IJBDirectory)"}},"id":29236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2913:56:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"id":29243,"nodeType":"VariableDeclaration","src":"2975:95:31","nodes":[],"constant":false,"mutability":"mutable","name":"jbOperatorStore","nameLocation":"2992:15:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},"typeName":{"id":29239,"nodeType":"UserDefinedTypeName","pathNode":{"id":29238,"name":"IJBOperatorStore","nameLocations":["2975:16:31"],"nodeType":"IdentifierPath","referencedDeclaration":85407,"src":"2975:16:31"},"referencedDeclaration":85407,"src":"2975:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"value":{"arguments":[{"hexValue":"307839396442366235313736383332333764453943343934626264313738363166333630384633353835","id":29241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3027:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x99dB6b517683237dE9C494bbd17861f3608F3585"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29240,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85407,"src":"3010:16:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBOperatorStore_$85407_$","typeString":"type(contract IJBOperatorStore)"}},"id":29242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3010:60:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"id":29249,"nodeType":"VariableDeclaration","src":"3077:45:31","nodes":[],"constant":false,"mutability":"mutable","name":"payMetadataDelegateId","nameLocation":"3084:21:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29244,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3077:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323150","id":29247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3115:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""},"value":"721P"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9461b240fd68dd01f0aca3039417289366584a58f16dcfa89f17d74d24db2d9","typeString":"literal_string \"721P\""}],"id":29246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3108:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29245,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3108:6:31","typeDescriptions":{}}},"id":29248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3108:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29255,"nodeType":"VariableDeclaration","src":"3128:48:31","nodes":[],"constant":false,"mutability":"mutable","name":"redeemMetadataDelegateId","nameLocation":"3135:24:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":29250,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3128:6:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"arguments":[{"hexValue":"37323152","id":29253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3169:6:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""},"value":"721R"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2161c5b8546824581e8cab7af6a187420f6b6bca7ee9a9a0479194f5f0100202","typeString":"literal_string \"721R\""}],"id":29252,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3162:6:31","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29251,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3162:6:31","typeDescriptions":{}}},"id":29254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3162:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"id":29258,"nodeType":"VariableDeclaration","src":"3183:44:31","nodes":[],"constant":false,"mutability":"mutable","name":"delegateDeployer","nameLocation":"3211:16:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},"typeName":{"id":29257,"nodeType":"UserDefinedTypeName","pathNode":{"id":29256,"name":"JBTiered721DelegateDeployer","nameLocations":["3183:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"3183:27:31"},"referencedDeclaration":1662,"src":"3183:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"visibility":"internal"},{"id":29261,"nodeType":"VariableDeclaration","src":"3233:50:31","nodes":[],"constant":false,"mutability":"mutable","name":"projectDeployer","nameLocation":"3268:15:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"},"typeName":{"id":29260,"nodeType":"UserDefinedTypeName","pathNode":{"id":29259,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["3233:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"3233:34:31"},"referencedDeclaration":2169,"src":"3233:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"visibility":"internal"},{"id":29264,"nodeType":"VariableDeclaration","src":"3289:30:31","nodes":[],"constant":false,"mutability":"mutable","name":"store","nameLocation":"3314:5:31","scope":29383,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"},"typeName":{"id":29263,"nodeType":"UserDefinedTypeName","pathNode":{"id":29262,"name":"JBTiered721DelegateStore","nameLocations":["3289:24:31"],"nodeType":"IdentifierPath","referencedDeclaration":4477,"src":"3289:24:31"},"referencedDeclaration":4477,"src":"3289:24:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"visibility":"internal"},{"id":29382,"nodeType":"FunctionDefinition","src":"3326:1405:31","nodes":[],"body":{"id":29381,"nodeType":"Block","src":"3350:1381:31","nodes":[],"statements":[{"assignments":[29269],"declarations":[{"constant":false,"id":29269,"mutability":"mutable","name":"registry","nameLocation":"3381:8:31","nodeType":"VariableDeclaration","scope":29381,"src":"3360:29:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":29268,"nodeType":"UserDefinedTypeName","pathNode":{"id":29267,"name":"IJBDelegatesRegistry","nameLocations":["3360:20:31"],"nodeType":"IdentifierPath","referencedDeclaration":89035,"src":"3360:20:31"},"referencedDeclaration":89035,"src":"3360:20:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"visibility":"internal"}],"id":29280,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a756963652d64656c6567617465732d72656769737472792f62726f6164636173742f4465706c6f792e732e736f6c2f352f72756e2d6c61746573742e6a736f6e","id":29275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3496:94:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_c975ef3cd7f025cc3d8b08417d26c9369f5437b6233746bc1762e1f1ec918ec3","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json\""},"value":"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c975ef3cd7f025cc3d8b08417d26c9369f5437b6233746bc1762e1f1ec918ec3","typeString":"literal_string \"node_modules/@jbx-protocol/juice-delegates-registry/broadcast/Deploy.s.sol/5/run-latest.json\""}],"expression":{"id":29273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"3463:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3466:8:31","memberName":"readFile","nodeType":"MemberAccess","referencedDeclaration":42106,"src":"3463:11:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (string memory) view external returns (string memory)"}},"id":29276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3463:145:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"2e7472616e73616374696f6e735b305d2e636f6e747261637441646472657373","id":29277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3626:34:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""},"value":".transactions[0].contractAddress"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_4ced677ba22bf44842c1322034803f561329b75014d455a0bda06b8a82170b1f","typeString":"literal_string \".transactions[0].contractAddress\""}],"expression":{"id":29271,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37914,"src":"3426:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_stdJson_$37914_$","typeString":"type(library stdJson)"}},"id":29272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3434:11:31","memberName":"readAddress","nodeType":"MemberAccess","referencedDeclaration":37524,"src":"3426:19:31","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_address_$","typeString":"function (string memory,string memory) returns (address)"}},"id":29278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3426:248:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29270,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89035,"src":"3392:20:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDelegatesRegistry_$89035_$","typeString":"type(contract IJBDelegatesRegistry)"}},"id":29279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3392:292:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"nodeType":"VariableDeclarationStatement","src":"3360:324:31"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":29286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3777:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3769:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29284,"name":"address","nodeType":"ElementaryTypeName","src":"3769:7:31","typeDescriptions":{}}},"id":29287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3769:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29282,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"3749:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}},"id":29283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3758:10:31","memberName":"deployerOf","nodeType":"MemberAccess","referencedDeclaration":89018,"src":"3749:19:31","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_address_$","typeString":"function (address) view external returns (address)"}},"id":29288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3749:31:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":29291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3792:1:31","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":29290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3784:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29289,"name":"address","nodeType":"ElementaryTypeName","src":"3784:7:31","typeDescriptions":{}}},"id":29292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3784:10:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3749:45:31","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29281,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"3742:6:31","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":29294,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3742:53:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29295,"nodeType":"ExpressionStatement","src":"3742:53:31"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":29296,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"3806:2:31","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43178","typeString":"contract Vm"}},"id":29298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3809:14:31","memberName":"startBroadcast","nodeType":"MemberAccess","referencedDeclaration":42081,"src":"3806:17:31","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":29299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:19:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29300,"nodeType":"ExpressionStatement","src":"3806:19:31"},{"assignments":[29303],"declarations":[{"constant":false,"id":29303,"mutability":"mutable","name":"noGovernance","nameLocation":"3856:12:31","nodeType":"VariableDeclaration","scope":29381,"src":"3836:32:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":29302,"nodeType":"UserDefinedTypeName","pathNode":{"id":29301,"name":"JBTiered721Delegate","nameLocations":["3836:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"3836:19:31"},"referencedDeclaration":1482,"src":"3836:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"internal"}],"id":29312,"initialValue":{"arguments":[{"id":29307,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"3895:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29308,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"3908:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29309,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29249,"src":"3925:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29310,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29255,"src":"3948:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"3871:23:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721Delegate_$1482_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721Delegate)"},"typeName":{"id":29305,"nodeType":"UserDefinedTypeName","pathNode":{"id":29304,"name":"JBTiered721Delegate","nameLocations":["3875:19:31"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"3875:19:31"},"referencedDeclaration":1482,"src":"3875:19:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}},"id":29311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:102:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"3836:137:31"},{"assignments":[29315],"declarations":[{"constant":false,"id":29315,"mutability":"mutable","name":"onchainGovernance","nameLocation":"4013:17:31","nodeType":"VariableDeclaration","scope":29381,"src":"3983:47:31","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":29314,"nodeType":"UserDefinedTypeName","pathNode":{"id":29313,"name":"JBTiered721GovernanceDelegate","nameLocations":["3983:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"3983:29:31"},"referencedDeclaration":4567,"src":"3983:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"internal"}],"id":29324,"initialValue":{"arguments":[{"id":29319,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"4080:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29320,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"4105:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}},{"id":29321,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29249,"src":"4134:21:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":29322,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29255,"src":"4170:24:31","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":29318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4033:33:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBOperatorStore_$85407_$_t_bytes4_$_t_bytes4_$returns$_t_contract$_JBTiered721GovernanceDelegate_$4567_$","typeString":"function (contract IJBDirectory,contract IJBOperatorStore,bytes4,bytes4) returns (contract JBTiered721GovernanceDelegate)"},"typeName":{"id":29317,"nodeType":"UserDefinedTypeName","pathNode":{"id":29316,"name":"JBTiered721GovernanceDelegate","nameLocations":["4037:29:31"],"nodeType":"IdentifierPath","referencedDeclaration":4567,"src":"4037:29:31"},"referencedDeclaration":4567,"src":"4037:29:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}}},"id":29323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4033:171:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},"nodeType":"VariableDeclarationStatement","src":"3983:221:31"},{"expression":{"id":29333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29325,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29258,"src":"4215:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29329,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29315,"src":"4266:17:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"}},{"id":29330,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29303,"src":"4285:12:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},{"id":29331,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"4299:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4567","typeString":"contract JBTiered721GovernanceDelegate"},{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4234:31:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_JBTiered721GovernanceDelegate_$4567_$_t_contract$_JBTiered721Delegate_$1482_$_t_contract$_IJBDelegatesRegistry_$89035_$returns$_t_contract$_JBTiered721DelegateDeployer_$1662_$","typeString":"function (contract JBTiered721GovernanceDelegate,contract JBTiered721Delegate,contract IJBDelegatesRegistry) returns (contract JBTiered721DelegateDeployer)"},"typeName":{"id":29327,"nodeType":"UserDefinedTypeName","pathNode":{"id":29326,"name":"JBTiered721DelegateDeployer","nameLocations":["4238:27:31"],"nodeType":"IdentifierPath","referencedDeclaration":1662,"src":"4238:27:31"},"referencedDeclaration":1662,"src":"4238:27:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}}},"id":29332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4234:74:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"src":"4215:93:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},"id":29334,"nodeType":"ExpressionStatement","src":"4215:93:31"},{"expression":{"id":29339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29335,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29264,"src":"4319:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"307831353542343966333033343433613333333462423245463432453130433632383433386130363536","id":29337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4352:42:31","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x155B49f303443a3334bB2EF42E10C628438a0656"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":29336,"name":"JBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4477,"src":"4327:24:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721DelegateStore_$4477_$","typeString":"type(contract JBTiered721DelegateStore)"}},"id":29338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4327:68:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"src":"4319:76:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}},"id":29340,"nodeType":"ExpressionStatement","src":"4319:76:31"},{"expression":{"id":29349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29341,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29261,"src":"4406:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29345,"name":"jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29237,"src":"4476:11:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"}},{"id":29346,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29258,"src":"4501:16:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}},{"id":29347,"name":"jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29243,"src":"4531:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85048","typeString":"contract IJBDirectory"},{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"},{"typeIdentifier":"t_contract$_IJBOperatorStore_$85407","typeString":"contract IJBOperatorStore"}],"id":29344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4424:38:31","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85048_$_t_contract$_IJBTiered721DelegateDeployer_$28090_$_t_contract$_IJBOperatorStore_$85407_$returns$_t_contract$_JBTiered721DelegateProjectDeployer_$2169_$","typeString":"function (contract IJBDirectory,contract IJBTiered721DelegateDeployer,contract IJBOperatorStore) returns (contract JBTiered721DelegateProjectDeployer)"},"typeName":{"id":29343,"nodeType":"UserDefinedTypeName","pathNode":{"id":29342,"name":"JBTiered721DelegateProjectDeployer","nameLocations":["4428:34:31"],"nodeType":"IdentifierPath","referencedDeclaration":2169,"src":"4428:34:31"},"referencedDeclaration":2169,"src":"4428:34:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}},"id":29348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4424:132:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"src":"4406:150:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}},"id":29350,"nodeType":"ExpressionStatement","src":"4406:150:31"},{"expression":{"arguments":[{"hexValue":"726567697374727920","id":29354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4579:11:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},"value":"registry "},{"arguments":[{"id":29357,"name":"registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29269,"src":"4600:8:31","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89035","typeString":"contract IJBDelegatesRegistry"}],"id":29356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4592:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29355,"name":"address","nodeType":"ElementaryTypeName","src":"4592:7:31","typeDescriptions":{}}},"id":29358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4592:17:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee410d786f7de2e39fac36aecac47673043f23d13e9e2106916ff4569b4a32ea","typeString":"literal_string \"registry \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29351,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4567:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4575:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4567:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4567:43:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29360,"nodeType":"ExpressionStatement","src":"4567:43:31"},{"expression":{"arguments":[{"hexValue":"70726f6a656374206465706c6f796572","id":29364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4632:18:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},"value":"project deployer"},{"arguments":[{"id":29367,"name":"projectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29261,"src":"4660:15:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateProjectDeployer_$2169","typeString":"contract JBTiered721DelegateProjectDeployer"}],"id":29366,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4652:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29365,"name":"address","nodeType":"ElementaryTypeName","src":"4652:7:31","typeDescriptions":{}}},"id":29368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4652:24:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e5ae8e9e5ad913aaff44a7d5a64247f9d689c9addf417199e918c2a2fe35f7c","typeString":"literal_string \"project deployer\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29361,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4620:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4628:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4620:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4620:57:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29370,"nodeType":"ExpressionStatement","src":"4620:57:31"},{"expression":{"arguments":[{"hexValue":"73746f726520","id":29374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4699:8:31","typeDescriptions":{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},"value":"store "},{"arguments":[{"id":29377,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29264,"src":"4717:5:31","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateStore_$4477","typeString":"contract JBTiered721DelegateStore"}],"id":29376,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4709:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29375,"name":"address","nodeType":"ElementaryTypeName","src":"4709:7:31","typeDescriptions":{}}},"id":29378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4709:14:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b76a226b21016987e392e0838364731196762baf8fdc0cb3673915fe1f79a17e","typeString":"literal_string \"store \""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":29371,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51242,"src":"4687:7:31","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_console_$51242_$","typeString":"type(library console)"}},"id":29373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4695:3:31","memberName":"log","nodeType":"MemberAccess","referencedDeclaration":43937,"src":"4687:11:31","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address) view"}},"id":29379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4687:37:31","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29380,"nodeType":"ExpressionStatement","src":"4687:37:31"}]},"functionSelector":"c0406226","implemented":true,"kind":"function","modifiers":[],"name":"run","nameLocation":"3335:3:31","parameters":{"id":29265,"nodeType":"ParameterList","parameters":[],"src":"3338:2:31"},"returnParameters":{"id":29266,"nodeType":"ParameterList","parameters":[],"src":"3350:0:31"},"scope":29383,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":29230,"name":"Script","nameLocations":["2873:6:31"],"nodeType":"IdentifierPath","referencedDeclaration":32092,"src":"2873:6:31"},"id":29231,"nodeType":"InheritanceSpecifier","src":"2873:6:31"}],"canonicalName":"DeployGoerli","contractDependencies":[1482,1662,2169,4567],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[29383,32092,41600,36284,34230,32053,32041],"name":"DeployGoerli","nameLocation":"2857:12:31","scope":29384,"usedErrors":[],"usedEvents":[]}]},"id":31} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x6080604052600b805461ff01600160b81b0319167665572fb928b46f9adb7cfe5a4c41226f636161ea010001179055600c80546001600160e01b0319167b37323152373231506f3c5afca0c9edf3926ef2ddf17c8ae6391afefb17905534801561006857600080fd5b5061fcbe80620000796000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673615b5b50f1fc591aaab54e633417640d6f2773fd179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033a26469706673582212206aa75a0d329441d4ef2375f2aa2f067859d32232aaca63700131d35953795ffd64736f6c63430008170033","sourceMap":"961:1885:19:-:0;;;3126:44:38;;;-1:-1:-1;;;;;;1000:83:19;;;;;1089:95;;;-1:-1:-1;;;;;;1242:48:19;;;;;961:1885;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c8063c0406226146200003f578063f8ccbf47146200004b575b600080fd5b6200004962000073565b005b600b546200005f9062010000900460ff1681565b604051901515815260200160405180910390f35b6040516360f9bb1160e01b815260206004820152605c60248201527f6e6f64655f6d6f64756c65732f406a62782d70726f746f636f6c2f6a7569636560448201527f2d64656c6567617465732d72656769737472792f62726f6164636173742f446560648201527f706c6f792e732e736f6c2f312f72756e2d6c61746573742e6a736f6e000000006084820152600090620001ab90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119060a401600060405180830381865afa15801562000145573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200016f9190810190620006b5565b6040518060400160405280602081526020017f2e7472616e73616374696f6e735b305d2e636f6e74726163744164647265737381525062000548565b6040516320b6e39960e11b81526000600482018190529192506001600160a01b0383169063416dc73290602401602060405180830381865afa158015620001f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021c91906200076e565b6001600160a01b03161462000235576200023562000799565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316637fb5297f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200029457600080fd5b505af1158015620002a9573d6000803e3d6000fd5b5050600b54600c54604051600094506001600160a01b0363010000009093048316935091811691600160a01b820460e090811b92600160c01b9004901b90620002f29062000641565b620003019493929190620007af565b604051809103906000f0801580156200031e573d6000803e3d6000fd5b50600b54600c546040519293506000926001600160a01b036301000000909304831692821691600160a01b810460e090811b92600160c01b909204901b9062000367906200064f565b620003769493929190620007af565b604051809103906000f08015801562000393573d6000803e3d6000fd5b509050808284604051620003a7906200065d565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f080158015620003e4573d6000803e3d6000fd5b50600d80546001600160a01b039283166001600160a01b03199182168117909255600f805490911673615b5b50f1fc591aaab54e633417640d6f2773fd179055600b54600c546040516301000000909204841693169062000445906200066b565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000482573d6000803e3d6000fd5b50600e80546001600160a01b0319166001600160a01b039290921691909117905560408051808201909152600981526803932b3b4b9ba393c960bd1b6020820152620004cf9084620005d3565b60408051808201909152601081526f383937b532b1ba103232b83637bcb2b960811b6020820152600e546200050e91906001600160a01b0316620005d3565b604080518082019091526006815265039ba37b932960d51b6020820152600f546200054391906001600160a01b0316620005d3565b505050565b604051631e19e65760e01b8152600090737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e6579062000586908690869060040162000812565b6020604051808303816000875af1158015620005a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005cc91906200076e565b9392505050565b6200061c8282604051602401620005ec92919062000844565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b17905262000620565b5050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b615c4f806200087183390190565b6164d780620064c083390190565b610d2b806200c99783390190565b6125c7806200d6c283390190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006ac57818101518382015260200162000692565b50506000910152565b600060208284031215620006c857600080fd5b815167ffffffffffffffff80821115620006e157600080fd5b818401915084601f830112620006f657600080fd5b8151818111156200070b576200070b62000679565b604051601f8201601f19908116603f0116810190838211818310171562000736576200073662000679565b816040528281528760208487010111156200075057600080fd5b620007638360208301602088016200068f565b979650505050505050565b6000602082840312156200078157600080fd5b81516001600160a01b0381168114620005cc57600080fd5b634e487b7160e01b600052600160045260246000fd5b6001600160a01b0394851681529290931660208301526001600160e01b03199081166040830152909116606082015260800190565b60008151808452620007fe8160208601602086016200068f565b601f01601f19169290920160200192915050565b604081526000620008276040830185620007e4565b82810360208401526200083b8185620007e4565b95945050505050565b604081526000620008596040830185620007e4565b905060018060a01b0383166020830152939250505056fe6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c634300081700336101206040523480156200001257600080fd5b50604051620064d7380380620064d78339810160408190526200003591620003cb565b83838383838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200007b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000a191906200042d565b6001600160a01b03808816608052811660a052868181620000c23362000109565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600c80546001600160a01b03191630179055506200045495505050505050565b6200011681600062000119565b50565b6001600160581b038116158015906200013a57506001600160a01b03821615155b1562000177576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015620002475760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200021b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024191906200042d565b6200024a565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380547fff0000000000000000000000000000000000000000000000000000000000000016909117600160a01b8302176001600160f81b031690559091506200034d90829015620003465760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200031a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034091906200042d565b62000353565b8562000353565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200011657600080fd5b80516001600160e01b031981168114620003c657600080fd5b919050565b60008060008060808587031215620003e257600080fd5b8451620003ef8162000397565b6020860151909450620004028162000397565b92506200041260408601620003ad565b91506200042260608601620003ad565b905092959194509250565b6000602082840312156200044057600080fd5b81516200044d8162000397565b9392505050565b60805160a05160c05160e05161010051615ff1620004e66000396000818161053f01528181610c980152611b620152600081816104f20152612ed201526000818161096401528181610bec01526112b70152600081816107160152818161175e01528181612bb8015281816132d301526133d00152600081816108a30152818161278a01526128330152615ff16000f3fe6080604052600436106102c95760003560e01c806370a0823111610175578063a220d696116100dc578063ba23c36e11610095578063d46cf1711161006f578063d46cf171146109a6578063e8a3d485146109d5578063e985e9c5146109ea578063f2fde38b14610a3357600080fd5b8063ba23c36e146108e5578063c41c2f2414610952578063c87b56dd1461098657600080fd5b8063a220d69614610802578063a22cb46514610822578063a51cfd1814610842578063aa4fb15b14610871578063ad007d6314610891578063b88d4fde146108c557600080fd5b80638e539e8c1161012e5780638e539e8c1461074d5780639494bf721461076d57806395d89b411461078d578063975057e7146107a25780639ab24eb0146107c2578063a1250d7f146107e257600080fd5b806370a082311461068f578063715018a6146106af5780637ba62bf9146106c4578063843d92ee146106e45780638b79543c146107045780638da5cb5b1461073857600080fd5b80633fafa12711610234578063587cde1e116101ed5780636352211e116101c75780636352211e1461061a5780636ac6d9411461063a5780636b204943146106675780636c0360eb1461067a57600080fd5b8063587cde1e146105a15780635c19a95c146105da57806361aec7a9146105fa57600080fd5b80633fafa127146104aa57806342842e0e146104c057806346a6d981146104e05780634853f5e81461052d57806354c6d1f514610561578063557e71551461058157600080fd5b80631435aad5116102865780631435aad5146103cf5780631d153ca4146103ef57806323b872dd1461040f578063245a45b51461042f5780632a596e531461046a5780633a46b1a81461048a57600080fd5b806301ffc9a7146102ce57806306fdde0314610303578063081812fc1461032557806308786b1a1461035d578063095ea7b31461039a5780630bf46e59146103bc575b600080fd5b3480156102da57600080fd5b506102ee6102e936600461456d565b610a53565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b50610318610a7e565b6040516102fa91906145da565b34801561033157600080fd5b506103456103403660046145ed565b610b10565b6040516001600160a01b0390911681526020016102fa565b34801561036957600080fd5b50600b546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102fa565b3480156103a657600080fd5b506103ba6103b536600461462b565b610b37565b005b6103ba6103ca366004614657565b610bc3565b3480156103db57600080fd5b506103ba6103ea3660046146d3565b610d8f565b3480156103fb57600080fd5b50600c54610345906001600160a01b031681565b34801561041b57600080fd5b506103ba61042a366004614768565b610fd2565b34801561043b57600080fd5b5061045c61044a3660046147a9565b600f6020526000908152604090205481565b6040519081526020016102fa565b34801561047657600080fd5b506103ba6104853660046147c6565b611004565b34801561049657600080fd5b5061045c6104a536600461462b565b61105d565b3480156104b657600080fd5b5061045c60095481565b3480156104cc57600080fd5b506103ba6104db366004614768565b611086565b3480156104ec57600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102fa565b34801561053957600080fd5b506105147f000000000000000000000000000000000000000000000000000000000000000081565b34801561056d57600080fd5b5061034561057c3660046145ed565b6110a1565b34801561058d57600080fd5b50600e54610345906001600160a01b031681565b3480156105ad57600080fd5b506103456105bc3660046147a9565b6001600160a01b039081166000908152602081905260409020541690565b3480156105e657600080fd5b506103ba6105f53660046147a9565b6110e2565b34801561060657600080fd5b506103ba61061536600461483a565b6110ef565b34801561062657600080fd5b506103456106353660046145ed565b611100565b34801561064657600080fd5b5061065a6106553660046148a1565b611136565b6040516102fa9190614933565b6103ba610675366004614946565b61128f565b34801561068657600080fd5b50610318611366565b34801561069b57600080fd5b5061045c6106aa3660046147a9565b6113f4565b3480156106bb57600080fd5b506103ba61146a565b3480156106d057600080fd5b5061045c6106df366004614a94565b61147f565b3480156106f057600080fd5b506103ba6106ff366004614b51565b6114f3565b34801561071057600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561074457600080fd5b506103456116e9565b34801561075957600080fd5b5061045c6107683660046145ed565b6117d7565b34801561077957600080fd5b5061045c610788366004614beb565b611804565b34801561079957600080fd5b50610318611835565b3480156107ae57600080fd5b50600d54610345906001600160a01b031681565b3480156107ce57600080fd5b5061045c6107dd3660046147a9565b611844565b3480156107ee57600080fd5b506103ba6107fd366004614f18565b611874565b34801561080e57600080fd5b506103ba61081d3660046145ed565b611ad9565b34801561082e57600080fd5b506103ba61083d366004615038565b611b27565b34801561084e57600080fd5b5061086261085d366004614beb565b611b32565b6040516102fa93929190615071565b34801561087d57600080fd5b506103ba61088c366004615112565b611d78565b34801561089d57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b3480156108d157600080fd5b506103ba6108e0366004615134565b611f95565b3480156108f157600080fd5b50600354610922906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102fa565b34801561095e57600080fd5b506103457f000000000000000000000000000000000000000000000000000000000000000081565b34801561099257600080fd5b506103186109a13660046145ed565b611fc8565b3480156109b257600080fd5b506109c66109c13660046151b3565b6121c5565b6040516102fa939291906151ee565b3480156109e157600080fd5b506103186122c5565b3480156109f657600080fd5b506102ee610a0536600461527d565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b348015610a3f57600080fd5b506103ba610a4e3660046147a9565b6122d2565b60006001600160e01b0319821663f882622f60e01b1480610a785750610a788261231e565b92915050565b606060048054610a8d906152ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab9906152ab565b8015610b065780601f10610adb57610100808354040283529160200191610b06565b820191906000526020600020905b815481529060010190602001808311610ae957829003601f168201915b5050505050905090565b6000610b1b826123af565b506000908152600760205260409020546001600160a01b031690565b6000610b4282611100565b9050806001600160a01b0316836001600160a01b031603610b765760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610b965750610b948133610a05565b155b15610bb45760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83836123e4565b505050565b34151580610c615750600954604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610c3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5f91906152ea565b155b80610c725750600954816020013514155b15610c9057604051633efca5c360e11b815260040160405180910390fd5b600080610cca7f0000000000000000000000000000000000000000000000000000000000000000610cc56101e0860186615307565b612452565b9150915060608215610ced5781806020019051810190610cea91906153b7565b90505b80516000805b82811015610d7d57838181518110610d0d57610d0d6153eb565b60200260200101519150866000016020810190610d2a91906147a9565b6000838152600660205260409020546001600160a01b03908116911614610d6c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610d758261265a565b600101610cf3565b50610d87836126db565b505050505050565b610d976116e9565b6009546016610da7838383612740565b8815610e06576010610dba8a8c83615449565b508989604051610dcb929190615508565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610e65576011610e19888a83615449565b508787604051610e2a929190615508565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610f1357600d5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610ebc57600080fd5b505af1158015610ed0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610f2157508315155b15610fc657600d546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610fdc33826128be565b610ff95760405163e5fa0e3560e01b815260040160405180910390fd5b610bbe83838361293d565b8060005b81811015611057576000848483818110611024576110246153eb565b90506040020180360381019061103a9190615518565b905061104e81600001518260200151611d78565b50600101611008565b50505050565b6001600160a01b038216600090815260016020526040812061107f9083612a16565b9392505050565b610bbe83838360405180602001604052806000815250611f95565b6000818152600a60205260408120546001600160a01b031680156110c55792915050565b50506000908152600660205260409020546001600160a01b031690565b6110ec3382612ad7565b50565b6110f7612b49565b6110ec81612c54565b6000818152600660205260408120546001600160a01b031680610a785760405163b49aa3b560e01b815260040160405180910390fd5b60606111406116e9565b6009546017611150838383612740565b600d5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061118990600019908b908b90600190600401615566565b6000604051808303816000875af11580156111a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d091908101906155c5565b509350856000805b82811015611282578681815181106111f2576111f26153eb565b602002602001015191506112068883612caa565b876001600160a01b03168a8a83818110611222576112226153eb565b9050602002016020810190611237919061560b565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a46001016111d8565b5050505050509392505050565b6009543415158061132c5750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061132a91906152ea565b155b8061133b575080826020013514155b15611359576040516331c57b1b60e21b815260040160405180910390fd5b61136282612d74565b5050565b60108054611373906152ab565b80601f016020809104026020016040519081016040528092919081815260200182805461139f906152ab565b80156113ec5780601f106113c1576101008083540402835291602001916113ec565b820191906000526020600020905b8154815290600101906020018083116113cf57829003601f168201915b505050505081565b600d54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611446573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190615628565b611472612b49565b61147d60008061320c565b565b600d5460405163051330b560e21b81526000916001600160a01b03169063144cc2d4906114b29030908790600401615641565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107f9190615628565b6114fb6116e9565b600954601561150b838383612740565b858480156115db57600d546040516320512ba160e01b81526001600160a01b03909116906320512ba190611545908a908a90600401615665565b600060405180830381600087803b15801561155f57600080fd5b505af1158015611573573d6000803e3d6000fd5b5050505060005b818110156115d957878782818110611594576115946153eb565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161157a565b505b81156116de57600d54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b90611614908d908d9060040161578a565b6000604051808303816000875af1158015611633573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261165b91908101906153b7565b905060005b838110156116db5781818151811061167a5761167a6153eb565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c848181106116b5576116b56153eb565b90506101600201336040516116cb9291906157cd565b60405180910390a2600101611660565b50505b505050505050505050565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252600091820361173a5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156117ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d19190615800565b91505090565b60004382106117f9576040516305b5e09b60e51b815260040160405180910390fd5b610a78600283612a16565b600d54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e49290602401611429565b606060058054610a8d906152ab565b6001600160a01b03811660009081526001602052604081206118659061344e565b6001600160e01b031692915050565b600d546001600160a01b03161561188a57600080fd5b6118958a8a8a613488565b600e80546001600160a01b03808a166001600160a01b031992831617909255600d805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600b819055865115611926576010611924888261581d565b505b84511561193b576011611939868261581d565b505b6001600160a01b038616156119a65760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b15801561198d57600080fd5b505af11580156119a1573d6000803e3d6000fd5b505050505b83515115611a24578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916119db91906004016158dc565b6000604051808303816000875af11580156119fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a2291908101906153b7565b505b815180611a32575081602001515b80611a3e575081604001515b80611a4a575081606001515b15611ad057604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b158015611ab757600080fd5b505af1158015611acb573d6000803e3d6000fd5b505050505b6116db33612313565b611ae1612b49565b801580611af457506001600160581b0381115b15611b1c576040516324abfd1160e11b81526000600482015260248101829052604401610d63565b6110ec60008261320c565b611362338383613499565b6000606080608084013515611b5a576040516309f82f1b60e31b815260040160405180910390fd5b600080611b8f7f0000000000000000000000000000000000000000000000000000000000000000610cc56101c0890189615307565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611ba95790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611c2157611c216153eb565b602002602001018190525060608215611c4b5781806020019051810190611c4891906153b7565b90505b6000611c57828961147f565b90506000611c6489611804565b90506000611c778a60c001358484613538565b90506127108a610180013503611ce45780611c966101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611d719a5050505050505050505050565b611d1a81611d0385611cfd6101808f01356127106159cc565b86613538565b611d12906101808e01356159df565b612710613538565b611d286101a08c018c615307565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb91906159f2565b61010081015190915060f51c600190811603611e1a57604051631d2c125760e31b815260040160405180910390fd5b600d54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611e6d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611e9591908101906153b7565b600d546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0e9190615800565b90506000805b85811015611f8c57838181518110611f2e57611f2e6153eb565b60200260200101519150611f428383612caa565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611f14565b50505050505050565b611f9f33836128be565b611fbc5760405163e5fa0e3560e01b815260040160405180910390fd5b6110578484848461360b565b600d54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015612016573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061203a9190615800565b90506001600160a01b038116156120be57604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015612096573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261107f9190810190615ab7565b61107f601080546120ce906152ab565b80601f01602080910402602001604051908101604052809291908181526020018280546120fa906152ab565b80156121475780601f1061211c57610100808354040283529160200191612147565b820191906000526020600020905b81548152906001019060200180831161212a57829003601f168201915b5050600d54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa15801561219c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c09190615628565b61363f565b6101208101356060806121dc610160850185615307565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506001925061221c915050565b60405190808252806020026020018201604052801561226957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161223a5790505b5090506040518060600160405280306001600160a01b031681526020016000815260200160405180602001604052806000815250815250816000815181106122b3576122b36153eb565b60200260200101819052509193909250565b60118054611373906152ab565b6122da612b49565b6001600160a01b038116612313576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610d63565b6110ec81600061320c565b60006001600160e01b03198216637aa3513560e11b148061234f57506001600160e01b031982166371700c6960e01b145b8061236a57506001600160e01b03198216636b20494360e01b145b8061238557506001600160e01b03198216630bf46e5960e01b145b806123a057506001600160e01b0319821663152a902d60e11b145b80610a785750610a78826136a6565b6000818152600660205260409020546001600160a01b03166110ec5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260076020526040902080546001600160a01b0319166001600160a01b038416908117909155819061241982611100565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116124765750506040805160208101909152600080825290612652565b60008484612486600460206159df565b818110612495576124956153eb565b919091013560f81c9150602090505b600086866124b36004856159df565b8181106124c2576124c26153eb565b9050013560f81c60f81b6001600160f81b031916141580156124ed57506124ea602083615aeb565b81105b1561264f57600086866125016004856159df565b818110612510576125106153eb565b919091013560f81c9150506001600160e01b031988168783886125346004836159df565b9261254193929190615b02565b61254a91615b2c565b6001600160e01b03191603612646576000612566602085615aeb565b6125716009856159df565b1015806125a7575087876125866009866159df565b818110612595576125956153eb565b909101356001600160f81b0319161590505b6125df57602088886125ba6009876159df565b8181106125c9576125c96153eb565b6125da9392013560f81c9050615aeb565b6125e1565b865b9050600188886125f2602086615aeb565b6125fe92859290615b02565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b5091995061265298505050505050505050565b506005016124a4565b50505b935093915050565b600061266582611100565b9050612673816000846136f6565b61267e6000836123e4565b60008281526006602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461136281600084613892565b600d546040516386bc2be360e01b81526001600160a01b03909116906386bc2be39061270b908490600401614933565b600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b5050505050565b336001600160a01b03841681148015906127f7575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156127d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127f591906152ea565b155b80156128a0575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e91906152ea565b155b156110575760405163075fd2b160e01b815260040160405180910390fd5b6000806128ca83611100565b9050806001600160a01b0316846001600160a01b0316148061291157506001600160a01b0380821660009081526008602090815260408083209388168352929052205460ff165b806129355750836001600160a01b031661292a84610b10565b6001600160a01b0316145b949350505050565b826001600160a01b031661295082611100565b6001600160a01b0316146129775760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661299e57604051632c95542760e01b815260040160405180910390fd5b6129a98383836136f6565b6129b46000826123e4565b60008181526006602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610bbe838383613892565b6000438210612a675760405162461bcd60e51b815260206004820181905260248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152606401610d63565b6000612a7283613995565b84549091506000612a85868483856139fe565b90508015612ac157612aaa86612a9c6001846159cc565b600091825260209091200190565b5464010000000090046001600160e01b0316612ac4565b60005b6001600160e01b03169695505050505050565b6001600160a01b0382811660008181526020819052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610bbe8183612b4486613a5c565b613a95565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff16928201929092529060009015612c305760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612c07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2b9190615800565b612c33565b81515b90506113628183602001516001600160581b0316846040015160ff16612740565b600380546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612cd157604051633904578f60e11b815260040160405180910390fd5b6000818152600660205260409020546001600160a01b031615612d0757604051632eb5f0c360e21b815260040160405180910390fd5b612d13600083836136f6565b60008181526006602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461136260008383613892565b600b5460009065ffffffffffff811660c0840135819003612d9b5760808401359250612e4d565b606082901c80156127395765ffffffffffff603084901c16612e486080870135612dc683600a615c40565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612e1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e439190615628565b613538565b945050505b5060009050600f81612e676101a0860161018087016147a9565b6001600160a01b03168152602081019190915260400160009081205491508290612e996101a0860161018087016147a9565b6001600160a01b0316612eaf60208701876147a9565b6001600160a01b031603612ec65790820190612ec9565b50815b60008080612eff7f0000000000000000000000000000000000000000000000000000000000000000610cc56102008b018b615307565b915091508115612fd357606081806020019051810190612f1f9190615c4c565b9094509050838015612f9d5750600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f989190615cfc565b606001515b15612fa757600093505b805115612fcd57612fca8682612fc56101a08d016101808e016147a9565b613bd2565b95505b5061304c565b600d54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa15801561301b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061303f9190615cfc565b6060015161304c57600192505b8415613170578261307057604051631b57826960e21b815260040160405180910390fd5b848401868111156130d85761308d6101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4613139565b80871115613139576130f26101a08a016101808b016147a9565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600f60006131506101a08d016101808e016147a9565b6001600160a01b0316815260208101919091526040016000205550613202565b838614613202576131896101a089016101808a016147a9565b6001600160a01b03168461319d81896159cc565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600f60006131e76101a08c016101808d016147a9565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b0381161580159061322c57506001600160a01b03821615155b15613264576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610d63565b604080516060810182526003546001600160a01b0381168252600160a01b81046001600160581b031660208301819052600160f81b90910460ff1692820192909252906000901561334b5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613322573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133469190615800565b61334e565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930191909152600380546001600160f81b031916909117600160a01b8302176001600160f81b0316905590915061105790829015613448576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561341f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134439190615800565b613d14565b85613d14565b8054600090801561347f5761346883612a9c6001846159cc565b5464010000000090046001600160e01b031661107f565b60009392505050565b6134928282613d58565b5050600955565b816001600160a01b0316836001600160a01b0316036134cb576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260086020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036135725783828161356857613568615d63565b049250505061107f565b8381106135a357604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610d63565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b61361684848461293d565b61362284848484613d71565b611057576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061367882613e70565b9050848160405160200161368d929190615d79565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806136d757506001600160e01b03198216635b5e139f60e01b145b80610a7857506301ffc9a760e01b6001600160e01b0319831614610a78565b6001600160a01b03831615610bbe57600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561375c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137849190810190615da8565b90508061014001511561384957600e546009546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156137e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380491906159f2565b90506001600160a01b03841615801590613829575061010081015160f41c6001908116145b15613847576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600a60205260409020546001600160a01b0316611057576000828152600a6020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600d5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156138e9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526139119190810190615da8565b600d5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561396c57600080fd5b505af1158015613980573d6000803e3d6000fd5b5050505061399084848484614008565b611057565b600063ffffffff8211156139fa5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610d63565b5090565b60005b81831015613a54576000613a158484614021565b60008781526020902090915063ffffffff86169082015463ffffffff161115613a4057809250613a4e565b613a4b8160016159df565b93505b50613a01565b509392505050565b600d54604051631266aaaf60e31b81523060048201526001600160a01b0383811660248301526000921690639335557890604401611429565b816001600160a01b0316836001600160a01b031614158015613ab75750600081115b15610bbe576001600160a01b03831615613b45576001600160a01b03831660009081526001602052604081208190613af29061403c85614048565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b3a929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610bbe576001600160a01b03821660009081526001602052604081208190613b7b9061407f85614048565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613bc3929190918252602082015260400190565b60405180910390a25050505050565b600d5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab390613c0c90889088908790600401615ea0565b6000604051808303816000875af1158015613c2b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c5391908101906155c5565b81519093509091506000805b82811015613d0957838181518110613c7957613c796153eb565b60200260200101519150613c8d8683612caa565b856001600160a01b0316878281518110613ca957613ca96153eb565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b33604051613cf99291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613c5f565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6004613d64838261581d565b506005610bbe828261581d565b60006001600160a01b0384163b15613e6857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613db5903390899088908890600401615eff565b6020604051808303816000875af1925050508015613df0575060408051601f3d908101601f19168201909252613ded91810190615f3c565b60015b613e4e573d808015613e1e576040519150601f19603f3d011682016040523d82523d6000602084013e613e23565b606091505b508051600003613e46576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612935565b506001612935565b60608151600003613e8f57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c080368337019050509050600081600081518110613ec957613ec96153eb565b60ff90921660209283029190910190910152825160019060005b81811015613fe4576000868281518110613eff57613eff6153eb565b016020015160f81c905060005b8460ff16811015613f89576008868281518110613f2b57613f2b6153eb565b602002602001015160ff16901b82613f4391906159df565b9150613f50603a83615f59565b868281518110613f6257613f626153eb565b60ff90921660209283029190910190910152613f7f603a83615f6d565b9150600101613f0c565b505b8015613fdb57613f9c603a82615f59565b858560ff1681518110613fb157613fb16153eb565b60ff90921660209283029190910190910152600190930192613fd4603a82615f6d565b9050613f8b565b50600101613ee3565b50613fff613ffa613ff5858561408b565b61412a565b6141cc565b95945050505050565b60808101511561105757611057848483608001516142a5565b60006140306002848418615f6d565b61107f908484166159df565b600061107f82846159cc565b6000806140738561406e61405b8861344e565b6001600160e01b0316868863ffffffff16565b614315565b91509150935093915050565b600061107f82846159df565b606060008260ff166001600160401b038111156140aa576140aa614981565b6040519080825280602002602001820160405280156140d3578160200160208202803683370190505b50905060005b8360ff16811015613a54578481815181106140f6576140f66153eb565b6020026020010151828281518110614110576141106153eb565b60ff909216602092830291909101909101526001016140d9565b80516060906000816001600160401b0381111561414957614149614981565b604051908082528060200260200182016040528015614172578160200160208202803683370190505b50905060005b82811015613a5457848160018751030381518110614198576141986153eb565b60200260200101518282815181106141b2576141b26153eb565b60ff90921660209283029190910190910152600101614178565b80516060906000816001600160401b038111156141eb576141eb614981565b6040519080825280601f01601f191660200182016040528015614215576020820181803683370190505b50905060005b82811015613a54576040518060600160405280603a8152602001615f82603a913985828151811061424e5761424e6153eb565b602002602001015160ff1681518110614269576142696153eb565b602001015160f81c60f81b828281518110614286576142866153eb565b60200101906001600160f81b031916908160001a90535060010161421b565b6001600160a01b0383166142c4576142c1600261407f83614048565b50505b6001600160a01b0382166142e3576142e0600261403c83614048565b50505b6001600160a01b03838116600090815260208190526040808220548584168352912054610bbe92918216911683613a95565b6000806143338461432543613995565b61432e8661434b565b6143b4565b6001600160e01b0391821693501690505b9250929050565b60006001600160e01b038211156139fa5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610d63565b8254600090819080156144fd5760006143d287612a9c6001856159cc565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b0316602084015291925090871610156144545760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610d63565b805163ffffffff80881691160361449d578461447588612a9c6001866159cc565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556144ed565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506126529050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316640100000000029190931617920191909155905081612652565b6001600160e01b0319811681146110ec57600080fd5b60006020828403121561457f57600080fd5b813561107f81614557565b60005b838110156145a557818101518382015260200161458d565b50506000910152565b600081518084526145c681602086016020860161458a565b601f01601f19169290920160200192915050565b60208152600061107f60208301846145ae565b6000602082840312156145ff57600080fd5b5035919050565b6001600160a01b03811681146110ec57600080fd5b803561462681614606565b919050565b6000806040838503121561463e57600080fd5b823561464981614606565b946020939093013593505050565b60006020828403121561466957600080fd5b81356001600160401b0381111561467f57600080fd5b8201610200818503121561107f57600080fd5b60008083601f8401126146a457600080fd5b5081356001600160401b038111156146bb57600080fd5b60208301915083602082850101111561434457600080fd5b600080600080600080600060a0888a0312156146ee57600080fd5b87356001600160401b038082111561470557600080fd5b6147118b838c01614692565b909950975060208a013591508082111561472a57600080fd5b506147378a828b01614692565b909650945050604088013561474b81614606565b969995985093969295946060840135945060809093013592915050565b60008060006060848603121561477d57600080fd5b833561478881614606565b9250602084013561479881614606565b929592945050506040919091013590565b6000602082840312156147bb57600080fd5b813561107f81614606565b600080602083850312156147d957600080fd5b82356001600160401b03808211156147f057600080fd5b818501915085601f83011261480457600080fd5b81358181111561481357600080fd5b8660208260061b850101111561482857600080fd5b60209290920196919550909350505050565b60006020828403121561484c57600080fd5b813560ff8116811461107f57600080fd5b60008083601f84011261486f57600080fd5b5081356001600160401b0381111561488657600080fd5b6020830191508360208260051b850101111561434457600080fd5b6000806000604084860312156148b657600080fd5b83356001600160401b038111156148cc57600080fd5b6148d88682870161485d565b90945092505060208401356148ec81614606565b809150509250925092565b60008151808452602080850194506020840160005b838110156149285781518752958201959082019060010161490c565b509495945050505050565b60208152600061107f60208301846148f7565b60006020828403121561495857600080fd5b81356001600160401b0381111561496e57600080fd5b8201610220818503121561107f57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b03811182821017156149b9576149b9614981565b60405290565b60405161016081016001600160401b03811182821017156149b9576149b9614981565b60405161012081016001600160401b03811182821017156149b9576149b9614981565b60405161018081016001600160401b03811182821017156149b9576149b9614981565b604051601f8201601f191681016001600160401b0381118282101715614a5057614a50614981565b604052919050565b60006001600160401b03821115614a7157614a71614981565b5060051b60200190565b60006101e08284031215614a8e57600080fd5b50919050565b60008060408385031215614aa757600080fd5b82356001600160401b0380821115614abe57600080fd5b818501915085601f830112614ad257600080fd5b81356020614ae7614ae283614a58565b614a28565b82815260059290921b84018101918181019089841115614b0657600080fd5b948201945b83861015614b2457853582529482019490820190614b0b565b96505086013592505080821115614b3a57600080fd5b50614b4785828601614a7b565b9150509250929050565b60008060008060408587031215614b6757600080fd5b84356001600160401b0380821115614b7e57600080fd5b818701915087601f830112614b9257600080fd5b813581811115614ba157600080fd5b88602061016083028501011115614bb757600080fd5b602092830196509450908601359080821115614bd257600080fd5b50614bdf8782880161485d565b95989497509550505050565b600060208284031215614bfd57600080fd5b81356001600160401b03811115614c1357600080fd5b61293584828501614a7b565b60006001600160401b03821115614c3857614c38614981565b50601f01601f191660200190565b6000614c54614ae284614c1f565b9050828152838383011115614c6857600080fd5b828260208301376000602084830101529392505050565b600082601f830112614c9057600080fd5b61107f83833560208501614c46565b80356001600160681b038116811461462657600080fd5b803563ffffffff8116811461462657600080fd5b61ffff811681146110ec57600080fd5b803561462681614cca565b803562ffffff8116811461462657600080fd5b80151581146110ec57600080fd5b803561462681614cf8565b803565ffffffffffff8116811461462657600080fd5b60006080808385031215614d3a57600080fd5b614d42614997565b915082356001600160401b03811115614d5a57600080fd5b8301601f81018513614d6b57600080fd5b80356020614d7b614ae283614a58565b8281526101609283028401820192828201919089851115614d9b57600080fd5b948301945b84861015614e7c5780868b031215614db85760008081fd5b614dc06149bf565b614dc987614c9f565b8152614dd6858801614cb6565b858201526040614de7818901614cb6565b908201526060614df8888201614cda565b90820152614e0787890161461b565b8189015260a0878101359082015260c0614e22818901614ce5565b9082015260e0614e33888201614d06565b90820152610100614e45888201614d06565b90820152610120614e57888201614d06565b90820152610140614e69888201614d06565b9082015283529485019491830191614da0565b50865250614e8b868201614d11565b8186015250505050614e9f60408301614d11565b6040820152614eb06060830161461b565b606082015292915050565b600060808284031215614ecd57600080fd5b614ed5614997565b90508135614ee281614cf8565b81526020820135614ef281614cf8565b60208201526040820135614f0581614cf8565b60408201526060820135614eb081614cf8565b6000806000806000806000806000806101a08b8d031215614f3857600080fd5b8a35995060208b01356001600160401b0380821115614f5657600080fd5b614f628e838f01614c7f565b9a5060408d0135915080821115614f7857600080fd5b614f848e838f01614c7f565b9950614f9260608e0161461b565b985060808d0135915080821115614fa857600080fd5b614fb48e838f01614c7f565b9750614fc260a08e0161461b565b965060c08d0135915080821115614fd857600080fd5b614fe48e838f01614c7f565b955060e08d0135915080821115614ffa57600080fd5b506150078d828e01614d27565b9350506150176101008c0161461b565b91506150278c6101208d01614ebb565b90509295989b9194979a5092959850565b6000806040838503121561504b57600080fd5b823561505681614606565b9150602083013561506681614cf8565b809150509250929050565b60006060858352602060608185015261508d60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526150ed8a8501826145ae565b95890195935050908701906001016150b0565b50909c9b505050505050505050505050565b6000806040838503121561512557600080fd5b50508035926020909101359150565b6000806000806080858703121561514a57600080fd5b843561515581614606565b9350602085013561516581614606565b92506040850135915060608501356001600160401b0381111561518757600080fd5b8501601f8101871361519857600080fd5b6151a787823560208401614c46565b91505092959194509250565b6000602082840312156151c557600080fd5b81356001600160401b038111156151db57600080fd5b82016101a0818503121561107f57600080fd5b60006060858352602060608185015261520a60608501876145ae565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561510057868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a905261526a8a8501826145ae565b958901959350509087019060010161522d565b6000806040838503121561529057600080fd5b823561529b81614606565b9150602083013561506681614606565b600181811c908216806152bf57607f821691505b602082108103614a8e57634e487b7160e01b600052602260045260246000fd5b805161462681614cf8565b6000602082840312156152fc57600080fd5b815161107f81614cf8565b6000808335601e1984360301811261531e57600080fd5b8301803591506001600160401b0382111561533857600080fd5b60200191503681900382131561434457600080fd5b600082601f83011261535e57600080fd5b8151602061536e614ae283614a58565b8083825260208201915060208460051b87010193508684111561539057600080fd5b602086015b848110156153ac5780518352918301918301615395565b509695505050505050565b6000602082840312156153c957600080fd5b81516001600160401b038111156153df57600080fd5b6129358482850161534d565b634e487b7160e01b600052603260045260246000fd5b601f821115610bbe576000816000526020600020601f850160051c8101602086101561542a5750805b601f850160051c820191505b81811015610d8757828155600101615436565b6001600160401b0383111561546057615460614981565b6154748361546e83546152ab565b83615401565b6000601f8411600181146154a857600085156154905750838201355b600019600387901b1c1916600186901b178355612739565b600083815260209020601f19861690835b828110156154d957868501358255602094850194600190920191016154b9565b50868210156154f65760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b60006040828403121561552a57600080fd5b604051604081018181106001600160401b038211171561554c5761554c614981565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b878110156155ad57833561559781614cca565b61ffff1682529282019290820190600101615584565b50809350505050821515604083015295945050505050565b600080604083850312156155d857600080fd5b82516001600160401b038111156155ee57600080fd5b6155fa8582860161534d565b925050602083015190509250929050565b60006020828403121561561d57600080fd5b813561107f81614cca565b60006020828403121561563a57600080fd5b5051919050565b6001600160a01b0383168152604060208201819052600090612935908301846148f7565b6020808252810182905260006001600160fb1b0383111561568557600080fd5b8260051b80856040850137919091016040019392505050565b6156b8826156ab83614c9f565b6001600160681b03169052565b6156c460208201614cb6565b63ffffffff1660208301526156db60408201614cb6565b63ffffffff1660408301526156f260608201614cda565b61ffff1660608301526157076080820161461b565b6001600160a01b0316608083015260a0818101359083015261572b60c08201614ce5565b62ffffff1660c083015261574160e08201614d06565b151560e0830152610100615756828201614d06565b15159083015261012061576a828201614d06565b15159083015261014061577e828201614d06565b80151584830152611057565b6020808252810182905260008360408301825b858110156157c3576157af828461569e565b61016092830192919091019060010161579d565b5095945050505050565b61018081016157dc828561569e565b6001600160a01b03929092166101609190910152919050565b805161462681614606565b60006020828403121561581257600080fd5b815161107f81614606565b81516001600160401b0381111561583657615836614981565b61584a8161584484546152ab565b84615401565b602080601f83116001811461587f57600084156158675750858301515b600019600386901b1c1916600185901b178555610d87565b600085815260208120601f198616915b828110156158ae5788860151825594840194600190910190840161588f565b50858210156158cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b828110156159a957815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e08082015115159086015261010080820151151590860152610120808201511515908601526101409081015115159085015261016090930192908501906001016158f9565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a7857610a786159b6565b80820180821115610a7857610a786159b6565b60006101208284031215615a0557600080fd5b615a0d6149e2565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152615a5960e084016157f5565b60e0820152610100928301519281019290925250919050565b600082601f830112615a8357600080fd5b8151615a91614ae282614c1f565b818152846020838601011115615aa657600080fd5b61293582602083016020870161458a565b600060208284031215615ac957600080fd5b81516001600160401b03811115615adf57600080fd5b61293584828501615a72565b8082028115828204841417610a7857610a786159b6565b60008085851115615b1257600080fd5b83861115615b1f57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015615b545780818660040360031b1b83161692505b505092915050565b600181815b80851115615b97578160001904821115615b7d57615b7d6159b6565b80851615615b8a57918102915b93841c9390800290615b61565b509250929050565b600082615bae57506001610a78565b81615bbb57506000610a78565b8160018114615bd15760028114615bdb57615bf7565b6001915050610a78565b60ff841115615bec57615bec6159b6565b50506001821b610a78565b5060208310610133831016604e8410600b8410161715615c1a575081810a610a78565b615c248383615b5c565b8060001904821115615c3857615c386159b6565b029392505050565b600061107f8383615b9f565b60008060408385031215615c5f57600080fd5b8251615c6a81614cf8565b809250506020808401516001600160401b03811115615c8857600080fd5b8401601f81018613615c9957600080fd5b8051615ca7614ae282614a58565b81815260059190911b82018301908381019088831115615cc657600080fd5b928401925b82841015615ced578351615cde81614cca565b82529284019290840190615ccb565b80955050505050509250929050565b600060808284031215615d0e57600080fd5b615d16614997565b8251615d2181614cf8565b81526020830151615d3181614cf8565b60208201526040830151615d4481614cf8565b60408201526060830151615d5781614cf8565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615d8b81846020880161458a565b835190830190615d9f81836020880161458a565b01949350505050565b600060208284031215615dba57600080fd5b81516001600160401b0380821115615dd157600080fd5b908301906101808286031215615de657600080fd5b615dee614a05565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a0820152615e3060c084016157f5565b60c082015260e083015160e0820152610100808401518183015250610120615e598185016152df565b90820152610140615e6b8482016152df565b908201526101608381015183811115615e8357600080fd5b615e8f88828701615a72565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b81811015615ee757845161ffff1683529383019391830191600101615ec7565b50508093505050508215156040830152949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090615f32908301846145ae565b9695505050505050565b600060208284031215615f4e57600080fd5b815161107f81614557565b600082615f6857615f68615d63565b500690565b600082615f7c57615f7c615d63565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212204546954da4f415b1f3d8d1af3cc5d2bc49f57d073adde31cf4b90d005b3e476564736f6c6343000817003360e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033a26469706673582212206aa75a0d329441d4ef2375f2aa2f067859d32232aaca63700131d35953795ffd64736f6c63430008170033","sourceMap":"961:1885:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1440:1404;;;:::i;:::-;;800:28:36;;;;;;;;;;;;;;;179:14:119;;172:22;154:41;;142:2;127:18;800:28:36;;;;;;;1440:1404:19;1577:145;;-1:-1:-1;;;1577:145:19;;408:2:119;1577:145:19;;;390:21:119;447:2;427:18;;;420:30;486:34;466:18;;;459:62;557:34;537:18;;;530:62;629:30;608:19;;;601:59;1474:29:19;;1540:248;;1577:11;;;;677:19:119;;1577:145:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1577:145:19;;;;;;;;;;;;:::i;:::-;1540:248;;;;;;;;;;;;;;;;;:19;:248::i;:::-;1863:31;;-1:-1:-1;;;1863:31:19;;1906:1;1863:31;;;2142:51:119;;;1474:324:19;;-1:-1:-1;;;;;;1863:19:19;;;;;2115:18:119;;1863:31:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1863:45:19;;1856:53;;;;:::i;:::-;317:28:35;309:37;;-1:-1:-1;;;;;1920:17:19;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2009:11:19;;2022:15;;1985:102;;1950:32;;-1:-1:-1;;;;;;2009:11:19;;;;;;;-1:-1:-1;2022:15:19;;;;-1:-1:-1;;;2039:21:19;;;;;;;-1:-1:-1;;;2062:24:19;;;;;1985:102;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2194:11:19;;2219:15;;2147:170;;1950:137;;-1:-1:-1;2097:47:19;;-1:-1:-1;;;;;2194:11:19;;;;;;;2219:15;;;-1:-1:-1;;;2248:21:19;;;;;;;-1:-1:-1;;;2283:24:19;;;;;;2147:170;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2097:220;;2379:17;2398:12;2412:8;2347:74;;;;;:::i;:::-;-1:-1:-1;;;;;3538:15:119;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;2347:74:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2328:16:19;:93;;-1:-1:-1;;;;;2328:93:19;;;-1:-1:-1;;;;;;2328:93:19;;;;;;;;2432:5;:76;;;;;2465:42;2432:76;;;2589:11;;2644:15;;2537:132;;2589:11;;;;;;;2644:15;;2537:132;;;:::i;:::-;-1:-1:-1;;;;;3538:15:119;;;3520:34;;3590:15;;;3585:2;3570:18;;3563:43;3642:15;;;3637:2;3622:18;;3615:43;3470:2;3455:18;2537:132:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2519:15:19;:150;;-1:-1:-1;;;;;;2519:150:19;-1:-1:-1;;;;;2519:150:19;;;;;;;;;;2680:43;;;;;;;;;;;;-1:-1:-1;;;2680:43:19;;;;;;2713:8;2680:11;:43::i;:::-;2733:57;;;;;;;;;;;;-1:-1:-1;;;2733:57:19;;;;2773:15;;2733:57;;;-1:-1:-1;;;;;2773:15:19;2733:11;:57::i;:::-;2800:37;;;;;;;;;;;;-1:-1:-1;;;2800:37:19;;;;2830:5;;2800:37;;;-1:-1:-1;;;;;2830:5:19;2800:11;:37::i;:::-;1464:1380;;;1440:1404::o;2321:141:42:-;2425:30;;-1:-1:-1;;;2425:30:42;;2399:7;;2425:19;;;;:30;;2445:4;;2451:3;;2425:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2418:37;2321:141;-1:-1:-1;;;2321:141:42:o;6994:145:49:-;7061:71;7124:2;7128;7077:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7077:54:49;;;;;;;;;;;;;;-1:-1:-1;;;;;7077:54:49;-1:-1:-1;;;7077:54:49;;;7061:15;:71::i;:::-;6994:145;;:::o;181:376::-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;707:127:119:-;768:10;763:3;759:20;756:1;749:31;799:4;796:1;789:15;823:4;820:1;813:15;839:250;924:1;934:113;948:6;945:1;942:13;934:113;;;1024:11;;;1018:18;1005:11;;;998:39;970:2;963:10;934:113;;;-1:-1:-1;;1081:1:119;1063:16;;1056:27;839:250::o;1094:897::-;1174:6;1227:2;1215:9;1206:7;1202:23;1198:32;1195:52;;;1243:1;1240;1233:12;1195:52;1276:9;1270:16;1305:18;1346:2;1338:6;1335:14;1332:34;;;1362:1;1359;1352:12;1332:34;1400:6;1389:9;1385:22;1375:32;;1445:7;1438:4;1434:2;1430:13;1426:27;1416:55;;1467:1;1464;1457:12;1416:55;1496:2;1490:9;1518:2;1514;1511:10;1508:36;;;1524:18;;:::i;:::-;1599:2;1593:9;1567:2;1653:13;;-1:-1:-1;;1649:22:119;;;1673:2;1645:31;1641:40;1629:53;;;1697:18;;;1717:22;;;1694:46;1691:72;;;1743:18;;:::i;:::-;1783:10;1779:2;1772:22;1818:2;1810:6;1803:18;1858:7;1853:2;1848;1844;1840:11;1836:20;1833:33;1830:53;;;1879:1;1876;1869:12;1830:53;1892:68;1957:2;1952;1944:6;1940:15;1935:2;1931;1927:11;1892:68;:::i;:::-;1979:6;1094:897;-1:-1:-1;;;;;;;1094:897:119:o;2204:290::-;2274:6;2327:2;2315:9;2306:7;2302:23;2298:32;2295:52;;;2343:1;2340;2333:12;2295:52;2369:16;;-1:-1:-1;;;;;2414:31:119;;2404:42;;2394:70;;2460:1;2457;2450:12;2499:127;2560:10;2555:3;2551:20;2548:1;2541:31;2591:4;2588:1;2581:15;2615:4;2612:1;2605:15;2631:548;-1:-1:-1;;;;;2962:15:119;;;2944:34;;3014:15;;;;3009:2;2994:18;;2987:43;-1:-1:-1;;;;;;3105:15:119;;;3100:2;3085:18;;3078:43;3157:15;;;3152:2;3137:18;;3130:43;2893:3;2878:19;;2631:548::o;4142:271::-;4184:3;4222:5;4216:12;4249:6;4244:3;4237:19;4265:76;4334:6;4327:4;4322:3;4318:14;4311:4;4304:5;4300:16;4265:76;:::i;:::-;4395:2;4374:15;-1:-1:-1;;4370:29:119;4361:39;;;;4402:4;4357:50;;4142:271;-1:-1:-1;;4142:271:119:o;4418:383::-;4615:2;4604:9;4597:21;4578:4;4641:45;4682:2;4671:9;4667:18;4659:6;4641:45;:::i;:::-;4734:9;4726:6;4722:22;4717:2;4706:9;4702:18;4695:50;4762:33;4788:6;4780;4762:33;:::i;:::-;4754:41;4418:383;-1:-1:-1;;;;;4418:383:119:o;4806:317::-;4983:2;4972:9;4965:21;4946:4;5003:45;5044:2;5033:9;5029:18;5021:6;5003:45;:::i;:::-;4995:53;;5113:1;5109;5104:3;5100:11;5096:19;5088:6;5084:32;5079:2;5068:9;5064:18;5057:60;4806:317;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47","run()":"c0406226"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"run\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/scripts/Deploy.s.sol\":\"DeployMainnet\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279\",\"dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/scripts/Deploy.s.sol\":{\"keccak256\":\"0x35bb691be0b85b2d984f8d7ae0ef409edb8078da215ec4424a1a211b5de67ef1\",\"urls\":[\"bzz-raw://aa25712a838944ae52fa6e6ac9768836fbc4f0899f5f5f4c212b5fb20070a19a\",\"dweb:/ipfs/QmYR1K3Y2fUdrdXisR7aAVg7bnbNrpeqewQGaUFKHLkaef\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357\",\"dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"run"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/scripts/Deploy.s.sol":"DeployMainnet"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4","urls":["bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279","dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/scripts/Deploy.s.sol":{"keccak256":"0x35bb691be0b85b2d984f8d7ae0ef409edb8078da215ec4424a1a211b5de67ef1","urls":["bzz-raw://aa25712a838944ae52fa6e6ac9768836fbc4f0899f5f5f4c212b5fb20070a19a","dweb:/ipfs/QmYR1K3Y2fUdrdXisR7aAVg7bnbNrpeqewQGaUFKHLkaef"],"license":null},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663","urls":["bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357","dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"id":19} \ No newline at end of file diff --git a/out/ECDSA.sol/ECDSA.json b/out/ECDSA.sol/ECDSA.json index 804f834b..8ccd57c3 100644 --- a/out/ECDSA.sol/ECDSA.json +++ b/out/ECDSA.sol/ECDSA.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f1a6ee717f1c73e724b668c03047557aa0a4694c2644ee3e05843cb2677adb364736f6c63430008170033","sourceMap":"369:8761:186:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8761:186;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f1a6ee717f1c73e724b668c03047557aa0a4694c2644ee3e05843cb2677adb364736f6c63430008170033","sourceMap":"369:8761:186:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":"ECDSA"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","id":96572,"exportedSymbols":{"ECDSA":[96571],"Math":[97871],"SignedMath":[99517],"Strings":[96205]},"nodeType":"SourceUnit","src":"112:9019:186","nodes":[{"id":96207,"nodeType":"PragmaDirective","src":"112:23:186","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":96208,"nodeType":"ImportDirective","src":"137:24:186","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Strings.sol","file":"../Strings.sol","nameLocation":"-1:-1:-1","scope":96572,"sourceUnit":96206,"symbolAliases":[],"unitAlias":""},{"id":96571,"nodeType":"ContractDefinition","src":"369:8761:186","nodes":[{"id":96215,"nodeType":"EnumDefinition","src":"389:175:186","nodes":[],"canonicalName":"ECDSA.RecoverError","members":[{"id":96210,"name":"NoError","nameLocation":"417:7:186","nodeType":"EnumValue","src":"417:7:186"},{"id":96211,"name":"InvalidSignature","nameLocation":"434:16:186","nodeType":"EnumValue","src":"434:16:186"},{"id":96212,"name":"InvalidSignatureLength","nameLocation":"460:22:186","nodeType":"EnumValue","src":"460:22:186"},{"id":96213,"name":"InvalidSignatureS","nameLocation":"492:17:186","nodeType":"EnumValue","src":"492:17:186"},{"id":96214,"name":"InvalidSignatureV","nameLocation":"519:17:186","nodeType":"EnumValue","src":"519:17:186"}],"name":"RecoverError","nameLocation":"394:12:186"},{"id":96259,"nodeType":"FunctionDefinition","src":"570:511:186","nodes":[],"body":{"id":96258,"nodeType":"Block","src":"624:457:186","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"id":96224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96221,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96218,"src":"638:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96222,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"647:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"660:7:186","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":96210,"src":"647:20:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"src":"638:29:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"id":96230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96227,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96218,"src":"734:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96228,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"743:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96229,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"756:16:186","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":96211,"src":"743:29:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"src":"734:38:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"id":96239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96236,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96218,"src":"843:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96237,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"852:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"865:22:186","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":96212,"src":"852:35:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"src":"843:44:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"id":96248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96245,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96218,"src":"965:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":96246,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"974:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"987:17:186","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":96213,"src":"974:30:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"src":"965:39:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96254,"nodeType":"IfStatement","src":"961:114:186","trueBody":{"id":96253,"nodeType":"Block","src":"1006:69:186","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265202773272076616c7565","id":96250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1027:36:186","typeDescriptions":{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""},"value":"ECDSA: invalid signature 's' value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_520d1f787dbcafbbfc007fd2c4ecf3d2711ec587f3ee9a1215c0b646c3e530bd","typeString":"literal_string \"ECDSA: invalid signature 's' value\""}],"id":96249,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"1020:6:186","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":96251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1020:44:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96252,"nodeType":"ExpressionStatement","src":"1020:44:186"}]}},"id":96255,"nodeType":"IfStatement","src":"839:236:186","trueBody":{"id":96244,"nodeType":"Block","src":"889:66:186","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265206c656e677468","id":96241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"910:33:186","typeDescriptions":{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""},"value":"ECDSA: invalid signature length"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1669ff3ba3cdf64474e1193492d05b8434e29b0b495e60095eb5f5c8ec14ce77","typeString":"literal_string \"ECDSA: invalid signature length\""}],"id":96240,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"903:6:186","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":96242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"903:41:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96243,"nodeType":"ExpressionStatement","src":"903:41:186"}]}},"id":96256,"nodeType":"IfStatement","src":"730:345:186","trueBody":{"id":96235,"nodeType":"Block","src":"774:59:186","statements":[{"expression":{"arguments":[{"hexValue":"45434453413a20696e76616c6964207369676e6174757265","id":96232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"795:26:186","typeDescriptions":{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""},"value":"ECDSA: invalid signature"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00043f6bf76368aa97c21698e9b9d4779e31902453daccf3525ddfb36e53e2be","typeString":"literal_string \"ECDSA: invalid signature\""}],"id":96231,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"788:6:186","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":96233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"788:34:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96234,"nodeType":"ExpressionStatement","src":"788:34:186"}]}},"id":96257,"nodeType":"IfStatement","src":"634:441:186","trueBody":{"id":96226,"nodeType":"Block","src":"669:55:186","statements":[{"functionReturnParameters":96220,"id":96225,"nodeType":"Return","src":"683:7:186"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_throwError","nameLocation":"579:11:186","parameters":{"id":96219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96218,"mutability":"mutable","name":"error","nameLocation":"604:5:186","nodeType":"VariableDeclaration","scope":96259,"src":"591:18:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96217,"nodeType":"UserDefinedTypeName","pathNode":{"id":96216,"name":"RecoverError","nameLocations":["591:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"591:12:186"},"referencedDeclaration":96215,"src":"591:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"590:20:186"},"returnParameters":{"id":96220,"nodeType":"ParameterList","parameters":[],"src":"624:0:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":96305,"nodeType":"FunctionDefinition","src":"2145:730:186","nodes":[],"body":{"id":96304,"nodeType":"Block","src":"2249:626:186","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":96272,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96264,"src":"2263:9:186","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2273:6:186","memberName":"length","nodeType":"MemberAccess","src":"2263:16:186","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"3635","id":96274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2283:2:186","typeDescriptions":{"typeIdentifier":"t_rational_65_by_1","typeString":"int_const 65"},"value":"65"},"src":"2263:22:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":96302,"nodeType":"Block","src":"2788:81:186","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":96296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2818:1:186","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":96295,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2810:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96294,"name":"address","nodeType":"ElementaryTypeName","src":"2810:7:186","typeDescriptions":{}}},"id":96297,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2810:10:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":96298,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"2822:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2835:22:186","memberName":"InvalidSignatureLength","nodeType":"MemberAccess","referencedDeclaration":96212,"src":"2822:35:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"id":96300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2809:49:186","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96271,"id":96301,"nodeType":"Return","src":"2802:56:186"}]},"id":96303,"nodeType":"IfStatement","src":"2259:610:186","trueBody":{"id":96293,"nodeType":"Block","src":"2287:495:186","statements":[{"assignments":[96277],"declarations":[{"constant":false,"id":96277,"mutability":"mutable","name":"r","nameLocation":"2309:1:186","nodeType":"VariableDeclaration","scope":96293,"src":"2301:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96276,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2301:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":96278,"nodeType":"VariableDeclarationStatement","src":"2301:9:186"},{"assignments":[96280],"declarations":[{"constant":false,"id":96280,"mutability":"mutable","name":"s","nameLocation":"2332:1:186","nodeType":"VariableDeclaration","scope":96293,"src":"2324:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96279,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2324:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":96281,"nodeType":"VariableDeclarationStatement","src":"2324:9:186"},{"assignments":[96283],"declarations":[{"constant":false,"id":96283,"mutability":"mutable","name":"v","nameLocation":"2353:1:186","nodeType":"VariableDeclaration","scope":96293,"src":"2347:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":96282,"name":"uint8","nodeType":"ElementaryTypeName","src":"2347:5:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":96284,"nodeType":"VariableDeclarationStatement","src":"2347:7:186"},{"AST":{"nativeSrc":"2555:171:186","nodeType":"YulBlock","src":"2555:171:186","statements":[{"nativeSrc":"2573:32:186","nodeType":"YulAssignment","src":"2573:32:186","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"2588:9:186","nodeType":"YulIdentifier","src":"2588:9:186"},{"kind":"number","nativeSrc":"2599:4:186","nodeType":"YulLiteral","src":"2599:4:186","type":"","value":"0x20"}],"functionName":{"name":"add","nativeSrc":"2584:3:186","nodeType":"YulIdentifier","src":"2584:3:186"},"nativeSrc":"2584:20:186","nodeType":"YulFunctionCall","src":"2584:20:186"}],"functionName":{"name":"mload","nativeSrc":"2578:5:186","nodeType":"YulIdentifier","src":"2578:5:186"},"nativeSrc":"2578:27:186","nodeType":"YulFunctionCall","src":"2578:27:186"},"variableNames":[{"name":"r","nativeSrc":"2573:1:186","nodeType":"YulIdentifier","src":"2573:1:186"}]},{"nativeSrc":"2622:32:186","nodeType":"YulAssignment","src":"2622:32:186","value":{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"2637:9:186","nodeType":"YulIdentifier","src":"2637:9:186"},{"kind":"number","nativeSrc":"2648:4:186","nodeType":"YulLiteral","src":"2648:4:186","type":"","value":"0x40"}],"functionName":{"name":"add","nativeSrc":"2633:3:186","nodeType":"YulIdentifier","src":"2633:3:186"},"nativeSrc":"2633:20:186","nodeType":"YulFunctionCall","src":"2633:20:186"}],"functionName":{"name":"mload","nativeSrc":"2627:5:186","nodeType":"YulIdentifier","src":"2627:5:186"},"nativeSrc":"2627:27:186","nodeType":"YulFunctionCall","src":"2627:27:186"},"variableNames":[{"name":"s","nativeSrc":"2622:1:186","nodeType":"YulIdentifier","src":"2622:1:186"}]},{"nativeSrc":"2671:41:186","nodeType":"YulAssignment","src":"2671:41:186","value":{"arguments":[{"kind":"number","nativeSrc":"2681:1:186","nodeType":"YulLiteral","src":"2681:1:186","type":"","value":"0"},{"arguments":[{"arguments":[{"name":"signature","nativeSrc":"2694:9:186","nodeType":"YulIdentifier","src":"2694:9:186"},{"kind":"number","nativeSrc":"2705:4:186","nodeType":"YulLiteral","src":"2705:4:186","type":"","value":"0x60"}],"functionName":{"name":"add","nativeSrc":"2690:3:186","nodeType":"YulIdentifier","src":"2690:3:186"},"nativeSrc":"2690:20:186","nodeType":"YulFunctionCall","src":"2690:20:186"}],"functionName":{"name":"mload","nativeSrc":"2684:5:186","nodeType":"YulIdentifier","src":"2684:5:186"},"nativeSrc":"2684:27:186","nodeType":"YulFunctionCall","src":"2684:27:186"}],"functionName":{"name":"byte","nativeSrc":"2676:4:186","nodeType":"YulIdentifier","src":"2676:4:186"},"nativeSrc":"2676:36:186","nodeType":"YulFunctionCall","src":"2676:36:186"},"variableNames":[{"name":"v","nativeSrc":"2671:1:186","nodeType":"YulIdentifier","src":"2671:1:186"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":96277,"isOffset":false,"isSlot":false,"src":"2573:1:186","valueSize":1},{"declaration":96280,"isOffset":false,"isSlot":false,"src":"2622:1:186","valueSize":1},{"declaration":96264,"isOffset":false,"isSlot":false,"src":"2588:9:186","valueSize":1},{"declaration":96264,"isOffset":false,"isSlot":false,"src":"2637:9:186","valueSize":1},{"declaration":96264,"isOffset":false,"isSlot":false,"src":"2694:9:186","valueSize":1},{"declaration":96283,"isOffset":false,"isSlot":false,"src":"2671:1:186","valueSize":1}],"id":96285,"nodeType":"InlineAssembly","src":"2546:180:186"},{"expression":{"arguments":[{"id":96287,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96262,"src":"2757:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96288,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96283,"src":"2763:1:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":96289,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96277,"src":"2766:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96290,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96280,"src":"2769:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96286,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[96305,96379,96473],"referencedDeclaration":96473,"src":"2746:10:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":96291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:25:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96271,"id":96292,"nodeType":"Return","src":"2739:32:186"}]}}]},"documentation":{"id":96260,"nodeType":"StructuredDocumentation","src":"1087:1053:186","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature` or error string. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it.\n Documentation for signature generation:\n - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js]\n - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers]\n _Available since v4.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"2154:10:186","parameters":{"id":96265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96262,"mutability":"mutable","name":"hash","nameLocation":"2173:4:186","nodeType":"VariableDeclaration","scope":96305,"src":"2165:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2165:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96264,"mutability":"mutable","name":"signature","nameLocation":"2192:9:186","nodeType":"VariableDeclaration","scope":96305,"src":"2179:22:186","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96263,"name":"bytes","nodeType":"ElementaryTypeName","src":"2179:5:186","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2164:38:186"},"returnParameters":{"id":96271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96305,"src":"2226:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96266,"name":"address","nodeType":"ElementaryTypeName","src":"2226:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96270,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96305,"src":"2235:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96269,"nodeType":"UserDefinedTypeName","pathNode":{"id":96268,"name":"RecoverError","nameLocations":["2235:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"2235:12:186"},"referencedDeclaration":96215,"src":"2235:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"2225:23:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96332,"nodeType":"FunctionDefinition","src":"3661:227:186","nodes":[],"body":{"id":96331,"nodeType":"Block","src":"3748:140:186","nodes":[],"statements":[{"assignments":[96316,96319],"declarations":[{"constant":false,"id":96316,"mutability":"mutable","name":"recovered","nameLocation":"3767:9:186","nodeType":"VariableDeclaration","scope":96331,"src":"3759:17:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96315,"name":"address","nodeType":"ElementaryTypeName","src":"3759:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96319,"mutability":"mutable","name":"error","nameLocation":"3791:5:186","nodeType":"VariableDeclaration","scope":96331,"src":"3778:18:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96318,"nodeType":"UserDefinedTypeName","pathNode":{"id":96317,"name":"RecoverError","nameLocations":["3778:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"3778:12:186"},"referencedDeclaration":96215,"src":"3778:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":96324,"initialValue":{"arguments":[{"id":96321,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96308,"src":"3811:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96322,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96310,"src":"3817:9:186","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96320,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[96305,96379,96473],"referencedDeclaration":96305,"src":"3800:10:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"function (bytes32,bytes memory) pure returns (address,enum ECDSA.RecoverError)"}},"id":96323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3800:27:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"3758:69:186"},{"expression":{"arguments":[{"id":96326,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96319,"src":"3849:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}],"id":96325,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96259,"src":"3837:11:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$96215_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":96327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3837:18:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96328,"nodeType":"ExpressionStatement","src":"3837:18:186"},{"expression":{"id":96329,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96316,"src":"3872:9:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":96314,"id":96330,"nodeType":"Return","src":"3865:16:186"}]},"documentation":{"id":96306,"nodeType":"StructuredDocumentation","src":"2881:775:186","text":" @dev Returns the address that signed a hashed message (`hash`) with\n `signature`. This address can then be used for verification purposes.\n The `ecrecover` EVM opcode allows for malleable (non-unique) signatures:\n this function rejects them by requiring the `s` value to be in the lower\n half order, and the `v` value to be either 27 or 28.\n IMPORTANT: `hash` _must_ be the result of a hash operation for the\n verification to be secure: it is possible to craft signatures that\n recover to arbitrary addresses for non-hashed data. A safe way to ensure\n this is by receiving a hash of the original message (which may otherwise\n be too long), and then calling {toEthSignedMessageHash} on it."},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"3670:7:186","parameters":{"id":96311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96308,"mutability":"mutable","name":"hash","nameLocation":"3686:4:186","nodeType":"VariableDeclaration","scope":96332,"src":"3678:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96307,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3678:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96310,"mutability":"mutable","name":"signature","nameLocation":"3705:9:186","nodeType":"VariableDeclaration","scope":96332,"src":"3692:22:186","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96309,"name":"bytes","nodeType":"ElementaryTypeName","src":"3692:5:186","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3677:38:186"},"returnParameters":{"id":96314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96313,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96332,"src":"3739:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96312,"name":"address","nodeType":"ElementaryTypeName","src":"3739:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3738:9:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96379,"nodeType":"FunctionDefinition","src":"4142:306:186","nodes":[],"body":{"id":96378,"nodeType":"Block","src":"4245:203:186","nodes":[],"statements":[{"assignments":[96348],"declarations":[{"constant":false,"id":96348,"mutability":"mutable","name":"s","nameLocation":"4263:1:186","nodeType":"VariableDeclaration","scope":96378,"src":"4255:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96347,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4255:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":96355,"initialValue":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":96354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96349,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96339,"src":"4267:2:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"arguments":[{"hexValue":"307837666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666","id":96352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4280:66:186","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"},"value":"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_57896044618658097711785492504343953926634992332820282019728792003956564819967_by_1","typeString":"int_const 5789...(69 digits omitted)...9967"}],"id":96351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4272:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":96350,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4272:7:186","typeDescriptions":{}}},"id":96353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4272:75:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4267:80:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4255:92:186"},{"assignments":[96357],"declarations":[{"constant":false,"id":96357,"mutability":"mutable","name":"v","nameLocation":"4363:1:186","nodeType":"VariableDeclaration","scope":96378,"src":"4357:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":96356,"name":"uint8","nodeType":"ElementaryTypeName","src":"4357:5:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":96370,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":96362,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96339,"src":"4382:2:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4374:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96360,"name":"uint256","nodeType":"ElementaryTypeName","src":"4374:7:186","typeDescriptions":{}}},"id":96363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4374:11:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323535","id":96364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4389:3:186","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"4374:18:186","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":96366,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4373:20:186","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"3237","id":96367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4396:2:186","typeDescriptions":{"typeIdentifier":"t_rational_27_by_1","typeString":"int_const 27"},"value":"27"},"src":"4373:25:186","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4367:5:186","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":96358,"name":"uint8","nodeType":"ElementaryTypeName","src":"4367:5:186","typeDescriptions":{}}},"id":96369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4367:32:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"4357:42:186"},{"expression":{"arguments":[{"id":96372,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96335,"src":"4427:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96373,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96357,"src":"4433:1:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":96374,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96337,"src":"4436:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96375,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96348,"src":"4439:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96371,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[96305,96379,96473],"referencedDeclaration":96473,"src":"4416:10:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":96376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4416:25:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96346,"id":96377,"nodeType":"Return","src":"4409:32:186"}]},"documentation":{"id":96333,"nodeType":"StructuredDocumentation","src":"3894:243:186","text":" @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately.\n See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures]\n _Available since v4.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"4151:10:186","parameters":{"id":96340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96335,"mutability":"mutable","name":"hash","nameLocation":"4170:4:186","nodeType":"VariableDeclaration","scope":96379,"src":"4162:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96334,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4162:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96337,"mutability":"mutable","name":"r","nameLocation":"4184:1:186","nodeType":"VariableDeclaration","scope":96379,"src":"4176:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96336,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4176:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96339,"mutability":"mutable","name":"vs","nameLocation":"4195:2:186","nodeType":"VariableDeclaration","scope":96379,"src":"4187:10:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96338,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4187:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4161:37:186"},"returnParameters":{"id":96346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96342,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96379,"src":"4222:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96341,"name":"address","nodeType":"ElementaryTypeName","src":"4222:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96379,"src":"4231:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96344,"nodeType":"UserDefinedTypeName","pathNode":{"id":96343,"name":"RecoverError","nameLocations":["4231:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"4231:12:186"},"referencedDeclaration":96215,"src":"4231:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"4221:23:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96409,"nodeType":"FunctionDefinition","src":"4613:222:186","nodes":[],"body":{"id":96408,"nodeType":"Block","src":"4699:136:186","nodes":[],"statements":[{"assignments":[96392,96395],"declarations":[{"constant":false,"id":96392,"mutability":"mutable","name":"recovered","nameLocation":"4718:9:186","nodeType":"VariableDeclaration","scope":96408,"src":"4710:17:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96391,"name":"address","nodeType":"ElementaryTypeName","src":"4710:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96395,"mutability":"mutable","name":"error","nameLocation":"4742:5:186","nodeType":"VariableDeclaration","scope":96408,"src":"4729:18:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96394,"nodeType":"UserDefinedTypeName","pathNode":{"id":96393,"name":"RecoverError","nameLocations":["4729:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"4729:12:186"},"referencedDeclaration":96215,"src":"4729:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":96401,"initialValue":{"arguments":[{"id":96397,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96382,"src":"4762:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96398,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96384,"src":"4768:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96399,"name":"vs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96386,"src":"4771:2:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96396,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[96305,96379,96473],"referencedDeclaration":96379,"src":"4751:10:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"function (bytes32,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":96400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4751:23:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"4709:65:186"},{"expression":{"arguments":[{"id":96403,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96395,"src":"4796:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}],"id":96402,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96259,"src":"4784:11:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$96215_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":96404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4784:18:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96405,"nodeType":"ExpressionStatement","src":"4784:18:186"},{"expression":{"id":96406,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96392,"src":"4819:9:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":96390,"id":96407,"nodeType":"Return","src":"4812:16:186"}]},"documentation":{"id":96380,"nodeType":"StructuredDocumentation","src":"4454:154:186","text":" @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately.\n _Available since v4.2._"},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"4622:7:186","parameters":{"id":96387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96382,"mutability":"mutable","name":"hash","nameLocation":"4638:4:186","nodeType":"VariableDeclaration","scope":96409,"src":"4630:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96381,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4630:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96384,"mutability":"mutable","name":"r","nameLocation":"4652:1:186","nodeType":"VariableDeclaration","scope":96409,"src":"4644:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96383,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4644:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96386,"mutability":"mutable","name":"vs","nameLocation":"4663:2:186","nodeType":"VariableDeclaration","scope":96409,"src":"4655:10:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96385,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4655:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4629:37:186"},"returnParameters":{"id":96390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96409,"src":"4690:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96388,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4689:9:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96473,"nodeType":"FunctionDefinition","src":"5009:1456:186","nodes":[],"body":{"id":96472,"nodeType":"Block","src":"5120:1345:186","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":96428,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96418,"src":"6016:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6008:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96426,"name":"uint256","nodeType":"ElementaryTypeName","src":"6008:7:186","typeDescriptions":{}}},"id":96429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6008:10:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"307837464646464646464646464646464646464646464646464646464646464646463544353736453733353741343530314444464539324634363638314232304130","id":96430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6021:66:186","typeDescriptions":{"typeIdentifier":"t_rational_57896044618658097711785492504343953926418782139537452191302581570759080747168_by_1","typeString":"int_const 5789...(69 digits omitted)...7168"},"value":"0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0"},"src":"6008:79:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96441,"nodeType":"IfStatement","src":"6004:161:186","trueBody":{"id":96440,"nodeType":"Block","src":"6089:76:186","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":96434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6119:1:186","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":96433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6111:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96432,"name":"address","nodeType":"ElementaryTypeName","src":"6111:7:186","typeDescriptions":{}}},"id":96435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6111:10:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":96436,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"6123:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6136:17:186","memberName":"InvalidSignatureS","nodeType":"MemberAccess","referencedDeclaration":96213,"src":"6123:30:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"id":96438,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6110:44:186","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96425,"id":96439,"nodeType":"Return","src":"6103:51:186"}]}},{"assignments":[96443],"declarations":[{"constant":false,"id":96443,"mutability":"mutable","name":"signer","nameLocation":"6267:6:186","nodeType":"VariableDeclaration","scope":96472,"src":"6259:14:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96442,"name":"address","nodeType":"ElementaryTypeName","src":"6259:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":96450,"initialValue":{"arguments":[{"id":96445,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96412,"src":"6286:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96446,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96414,"src":"6292:1:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":96447,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96416,"src":"6295:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96448,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96418,"src":"6298:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96444,"name":"ecrecover","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-6,"src":"6276:9:186","typeDescriptions":{"typeIdentifier":"t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":96449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6276:24:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6259:41:186"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":96456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96451,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96443,"src":"6314:6:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":96454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6332:1:186","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":96453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6324:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96452,"name":"address","nodeType":"ElementaryTypeName","src":"6324:7:186","typeDescriptions":{}}},"id":96455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6324:10:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6314:20:186","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96466,"nodeType":"IfStatement","src":"6310:101:186","trueBody":{"id":96465,"nodeType":"Block","src":"6336:75:186","statements":[{"expression":{"components":[{"arguments":[{"hexValue":"30","id":96459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6366:1:186","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":96458,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6358:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":96457,"name":"address","nodeType":"ElementaryTypeName","src":"6358:7:186","typeDescriptions":{}}},"id":96460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6358:10:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":96461,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"6370:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6383:16:186","memberName":"InvalidSignature","nodeType":"MemberAccess","referencedDeclaration":96211,"src":"6370:29:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"id":96463,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6357:43:186","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96425,"id":96464,"nodeType":"Return","src":"6350:50:186"}]}},{"expression":{"components":[{"id":96467,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96443,"src":"6429:6:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":96468,"name":"RecoverError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96215,"src":"6437:12:186","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RecoverError_$96215_$","typeString":"type(enum ECDSA.RecoverError)"}},"id":96469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6450:7:186","memberName":"NoError","nodeType":"MemberAccess","referencedDeclaration":96210,"src":"6437:20:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"id":96470,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6428:30:186","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"functionReturnParameters":96425,"id":96471,"nodeType":"Return","src":"6421:37:186"}]},"documentation":{"id":96410,"nodeType":"StructuredDocumentation","src":"4841:163:186","text":" @dev Overload of {ECDSA-tryRecover} that receives the `v`,\n `r` and `s` signature fields separately.\n _Available since v4.3._"},"implemented":true,"kind":"function","modifiers":[],"name":"tryRecover","nameLocation":"5018:10:186","parameters":{"id":96419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96412,"mutability":"mutable","name":"hash","nameLocation":"5037:4:186","nodeType":"VariableDeclaration","scope":96473,"src":"5029:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5029:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96414,"mutability":"mutable","name":"v","nameLocation":"5049:1:186","nodeType":"VariableDeclaration","scope":96473,"src":"5043:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":96413,"name":"uint8","nodeType":"ElementaryTypeName","src":"5043:5:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":96416,"mutability":"mutable","name":"r","nameLocation":"5060:1:186","nodeType":"VariableDeclaration","scope":96473,"src":"5052:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96415,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5052:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96418,"mutability":"mutable","name":"s","nameLocation":"5071:1:186","nodeType":"VariableDeclaration","scope":96473,"src":"5063:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96417,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5063:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5028:45:186"},"returnParameters":{"id":96425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96473,"src":"5097:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96420,"name":"address","nodeType":"ElementaryTypeName","src":"5097:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96473,"src":"5106:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96423,"nodeType":"UserDefinedTypeName","pathNode":{"id":96422,"name":"RecoverError","nameLocations":["5106:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"5106:12:186"},"referencedDeclaration":96215,"src":"5106:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"src":"5096:23:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96506,"nodeType":"FunctionDefinition","src":"6598:232:186","nodes":[],"body":{"id":96505,"nodeType":"Block","src":"6692:138:186","nodes":[],"statements":[{"assignments":[96488,96491],"declarations":[{"constant":false,"id":96488,"mutability":"mutable","name":"recovered","nameLocation":"6711:9:186","nodeType":"VariableDeclaration","scope":96505,"src":"6703:17:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96487,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96491,"mutability":"mutable","name":"error","nameLocation":"6735:5:186","nodeType":"VariableDeclaration","scope":96505,"src":"6722:18:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"},"typeName":{"id":96490,"nodeType":"UserDefinedTypeName","pathNode":{"id":96489,"name":"RecoverError","nameLocations":["6722:12:186"],"nodeType":"IdentifierPath","referencedDeclaration":96215,"src":"6722:12:186"},"referencedDeclaration":96215,"src":"6722:12:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}},"visibility":"internal"}],"id":96498,"initialValue":{"arguments":[{"id":96493,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96476,"src":"6755:4:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96494,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96478,"src":"6761:1:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":96495,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96480,"src":"6764:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":96496,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96482,"src":"6767:1:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":96492,"name":"tryRecover","nodeType":"Identifier","overloadedDeclarations":[96305,96379,96473],"referencedDeclaration":96473,"src":"6744:10:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address,enum ECDSA.RecoverError)"}},"id":96497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6744:25:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_enum$_RecoverError_$96215_$","typeString":"tuple(address,enum ECDSA.RecoverError)"}},"nodeType":"VariableDeclarationStatement","src":"6702:67:186"},{"expression":{"arguments":[{"id":96500,"name":"error","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96491,"src":"6791:5:186","typeDescriptions":{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_RecoverError_$96215","typeString":"enum ECDSA.RecoverError"}],"id":96499,"name":"_throwError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96259,"src":"6779:11:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_RecoverError_$96215_$returns$__$","typeString":"function (enum ECDSA.RecoverError) pure"}},"id":96501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6779:18:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96502,"nodeType":"ExpressionStatement","src":"6779:18:186"},{"expression":{"id":96503,"name":"recovered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96488,"src":"6814:9:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":96486,"id":96504,"nodeType":"Return","src":"6807:16:186"}]},"documentation":{"id":96474,"nodeType":"StructuredDocumentation","src":"6471:122:186","text":" @dev Overload of {ECDSA-recover} that receives the `v`,\n `r` and `s` signature fields separately."},"implemented":true,"kind":"function","modifiers":[],"name":"recover","nameLocation":"6607:7:186","parameters":{"id":96483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96476,"mutability":"mutable","name":"hash","nameLocation":"6623:4:186","nodeType":"VariableDeclaration","scope":96506,"src":"6615:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6615:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96478,"mutability":"mutable","name":"v","nameLocation":"6635:1:186","nodeType":"VariableDeclaration","scope":96506,"src":"6629:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":96477,"name":"uint8","nodeType":"ElementaryTypeName","src":"6629:5:186","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":96480,"mutability":"mutable","name":"r","nameLocation":"6646:1:186","nodeType":"VariableDeclaration","scope":96506,"src":"6638:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6638:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96482,"mutability":"mutable","name":"s","nameLocation":"6657:1:186","nodeType":"VariableDeclaration","scope":96506,"src":"6649:9:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6649:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6614:45:186"},"returnParameters":{"id":96486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96506,"src":"6683:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96484,"name":"address","nodeType":"ElementaryTypeName","src":"6683:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6682:9:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96516,"nodeType":"FunctionDefinition","src":"7120:396:186","nodes":[],"body":{"id":96515,"nodeType":"Block","src":"7206:310:186","nodes":[],"statements":[{"AST":{"nativeSrc":"7362:148:186","nodeType":"YulBlock","src":"7362:148:186","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"7383:4:186","nodeType":"YulLiteral","src":"7383:4:186","type":"","value":"0x00"},{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a3332","kind":"string","nativeSrc":"7389:34:186","nodeType":"YulLiteral","src":"7389:34:186","type":"","value":"\u0019Ethereum Signed Message:\n32"}],"functionName":{"name":"mstore","nativeSrc":"7376:6:186","nodeType":"YulIdentifier","src":"7376:6:186"},"nativeSrc":"7376:48:186","nodeType":"YulFunctionCall","src":"7376:48:186"},"nativeSrc":"7376:48:186","nodeType":"YulExpressionStatement","src":"7376:48:186"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"7444:4:186","nodeType":"YulLiteral","src":"7444:4:186","type":"","value":"0x1c"},{"name":"hash","nativeSrc":"7450:4:186","nodeType":"YulIdentifier","src":"7450:4:186"}],"functionName":{"name":"mstore","nativeSrc":"7437:6:186","nodeType":"YulIdentifier","src":"7437:6:186"},"nativeSrc":"7437:18:186","nodeType":"YulFunctionCall","src":"7437:18:186"},"nativeSrc":"7437:18:186","nodeType":"YulExpressionStatement","src":"7437:18:186"},{"nativeSrc":"7468:32:186","nodeType":"YulAssignment","src":"7468:32:186","value":{"arguments":[{"kind":"number","nativeSrc":"7489:4:186","nodeType":"YulLiteral","src":"7489:4:186","type":"","value":"0x00"},{"kind":"number","nativeSrc":"7495:4:186","nodeType":"YulLiteral","src":"7495:4:186","type":"","value":"0x3c"}],"functionName":{"name":"keccak256","nativeSrc":"7479:9:186","nodeType":"YulIdentifier","src":"7479:9:186"},"nativeSrc":"7479:21:186","nodeType":"YulFunctionCall","src":"7479:21:186"},"variableNames":[{"name":"message","nativeSrc":"7468:7:186","nodeType":"YulIdentifier","src":"7468:7:186"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":96509,"isOffset":false,"isSlot":false,"src":"7450:4:186","valueSize":1},{"declaration":96512,"isOffset":false,"isSlot":false,"src":"7468:7:186","valueSize":1}],"id":96514,"nodeType":"InlineAssembly","src":"7353:157:186"}]},"documentation":{"id":96507,"nodeType":"StructuredDocumentation","src":"6836:279:186","text":" @dev Returns an Ethereum Signed Message, created from a `hash`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7129:22:186","parameters":{"id":96510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96509,"mutability":"mutable","name":"hash","nameLocation":"7160:4:186","nodeType":"VariableDeclaration","scope":96516,"src":"7152:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96508,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7152:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7151:14:186"},"returnParameters":{"id":96513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96512,"mutability":"mutable","name":"message","nameLocation":"7197:7:186","nodeType":"VariableDeclaration","scope":96516,"src":"7189:15:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96511,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7189:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7188:17:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96538,"nodeType":"FunctionDefinition","src":"7801:196:186","nodes":[],"body":{"id":96537,"nodeType":"Block","src":"7881:116:186","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"19457468657265756d205369676e6564204d6573736167653a0a","id":96527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7925:32:186","typeDescriptions":{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},"value":"\u0019Ethereum Signed Message:\n"},{"arguments":[{"expression":{"id":96530,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96519,"src":"7976:1:186","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96531,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7978:6:186","memberName":"length","nodeType":"MemberAccess","src":"7976:8:186","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96528,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96205,"src":"7959:7:186","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Strings_$96205_$","typeString":"type(library Strings)"}},"id":96529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7967:8:186","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":96035,"src":"7959:16:186","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":96532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7959:26:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":96533,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96519,"src":"7987:1:186","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9af2d9c228f6cfddaa6d1e5b94e0bce4ab16bd9a472a2b7fbfd74ebff4c720b4","typeString":"literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":96525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7908:3:186","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7912:12:186","memberName":"encodePacked","nodeType":"MemberAccess","src":"7908:16:186","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":96534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7908:81:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96524,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"7898:9:186","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":96535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7898:92:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":96523,"id":96536,"nodeType":"Return","src":"7891:99:186"}]},"documentation":{"id":96517,"nodeType":"StructuredDocumentation","src":"7522:274:186","text":" @dev Returns an Ethereum Signed Message, created from `s`. This\n produces hash corresponding to the one signed with the\n https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`]\n JSON-RPC method as part of EIP-191.\n See {recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toEthSignedMessageHash","nameLocation":"7810:22:186","parameters":{"id":96520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96519,"mutability":"mutable","name":"s","nameLocation":"7846:1:186","nodeType":"VariableDeclaration","scope":96538,"src":"7833:14:186","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96518,"name":"bytes","nodeType":"ElementaryTypeName","src":"7833:5:186","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7832:16:186"},"returnParameters":{"id":96523,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96522,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96538,"src":"7872:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96521,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7872:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7871:9:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96550,"nodeType":"FunctionDefinition","src":"8336:397:186","nodes":[],"body":{"id":96549,"nodeType":"Block","src":"8443:290:186","nodes":[],"statements":[{"AST":{"nativeSrc":"8505:222:186","nodeType":"YulBlock","src":"8505:222:186","statements":[{"nativeSrc":"8519:22:186","nodeType":"YulVariableDeclaration","src":"8519:22:186","value":{"arguments":[{"kind":"number","nativeSrc":"8536:4:186","nodeType":"YulLiteral","src":"8536:4:186","type":"","value":"0x40"}],"functionName":{"name":"mload","nativeSrc":"8530:5:186","nodeType":"YulIdentifier","src":"8530:5:186"},"nativeSrc":"8530:11:186","nodeType":"YulFunctionCall","src":"8530:11:186"},"variables":[{"name":"ptr","nativeSrc":"8523:3:186","nodeType":"YulTypedName","src":"8523:3:186","type":""}]},{"expression":{"arguments":[{"name":"ptr","nativeSrc":"8561:3:186","nodeType":"YulIdentifier","src":"8561:3:186"},{"hexValue":"1901","kind":"string","nativeSrc":"8566:10:186","nodeType":"YulLiteral","src":"8566:10:186","type":"","value":"\u0019\u0001"}],"functionName":{"name":"mstore","nativeSrc":"8554:6:186","nodeType":"YulIdentifier","src":"8554:6:186"},"nativeSrc":"8554:23:186","nodeType":"YulFunctionCall","src":"8554:23:186"},"nativeSrc":"8554:23:186","nodeType":"YulExpressionStatement","src":"8554:23:186"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"8601:3:186","nodeType":"YulIdentifier","src":"8601:3:186"},{"kind":"number","nativeSrc":"8606:4:186","nodeType":"YulLiteral","src":"8606:4:186","type":"","value":"0x02"}],"functionName":{"name":"add","nativeSrc":"8597:3:186","nodeType":"YulIdentifier","src":"8597:3:186"},"nativeSrc":"8597:14:186","nodeType":"YulFunctionCall","src":"8597:14:186"},{"name":"domainSeparator","nativeSrc":"8613:15:186","nodeType":"YulIdentifier","src":"8613:15:186"}],"functionName":{"name":"mstore","nativeSrc":"8590:6:186","nodeType":"YulIdentifier","src":"8590:6:186"},"nativeSrc":"8590:39:186","nodeType":"YulFunctionCall","src":"8590:39:186"},"nativeSrc":"8590:39:186","nodeType":"YulExpressionStatement","src":"8590:39:186"},{"expression":{"arguments":[{"arguments":[{"name":"ptr","nativeSrc":"8653:3:186","nodeType":"YulIdentifier","src":"8653:3:186"},{"kind":"number","nativeSrc":"8658:4:186","nodeType":"YulLiteral","src":"8658:4:186","type":"","value":"0x22"}],"functionName":{"name":"add","nativeSrc":"8649:3:186","nodeType":"YulIdentifier","src":"8649:3:186"},"nativeSrc":"8649:14:186","nodeType":"YulFunctionCall","src":"8649:14:186"},{"name":"structHash","nativeSrc":"8665:10:186","nodeType":"YulIdentifier","src":"8665:10:186"}],"functionName":{"name":"mstore","nativeSrc":"8642:6:186","nodeType":"YulIdentifier","src":"8642:6:186"},"nativeSrc":"8642:34:186","nodeType":"YulFunctionCall","src":"8642:34:186"},"nativeSrc":"8642:34:186","nodeType":"YulExpressionStatement","src":"8642:34:186"},{"nativeSrc":"8689:28:186","nodeType":"YulAssignment","src":"8689:28:186","value":{"arguments":[{"name":"ptr","nativeSrc":"8707:3:186","nodeType":"YulIdentifier","src":"8707:3:186"},{"kind":"number","nativeSrc":"8712:4:186","nodeType":"YulLiteral","src":"8712:4:186","type":"","value":"0x42"}],"functionName":{"name":"keccak256","nativeSrc":"8697:9:186","nodeType":"YulIdentifier","src":"8697:9:186"},"nativeSrc":"8697:20:186","nodeType":"YulFunctionCall","src":"8697:20:186"},"variableNames":[{"name":"data","nativeSrc":"8689:4:186","nodeType":"YulIdentifier","src":"8689:4:186"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":96546,"isOffset":false,"isSlot":false,"src":"8689:4:186","valueSize":1},{"declaration":96541,"isOffset":false,"isSlot":false,"src":"8613:15:186","valueSize":1},{"declaration":96543,"isOffset":false,"isSlot":false,"src":"8665:10:186","valueSize":1}],"id":96548,"nodeType":"InlineAssembly","src":"8496:231:186"}]},"documentation":{"id":96539,"nodeType":"StructuredDocumentation","src":"8003:328:186","text":" @dev Returns an Ethereum Signed Typed Data, created from a\n `domainSeparator` and a `structHash`. This produces hash corresponding\n to the one signed with the\n https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`]\n JSON-RPC method as part of EIP-712.\n See {recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toTypedDataHash","nameLocation":"8345:15:186","parameters":{"id":96544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96541,"mutability":"mutable","name":"domainSeparator","nameLocation":"8369:15:186","nodeType":"VariableDeclaration","scope":96550,"src":"8361:23:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96540,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8361:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":96543,"mutability":"mutable","name":"structHash","nameLocation":"8394:10:186","nodeType":"VariableDeclaration","scope":96550,"src":"8386:18:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8386:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8360:45:186"},"returnParameters":{"id":96547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96546,"mutability":"mutable","name":"data","nameLocation":"8437:4:186","nodeType":"VariableDeclaration","scope":96550,"src":"8429:12:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8429:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"8428:14:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96570,"nodeType":"FunctionDefinition","src":"8937:191:186","nodes":[],"body":{"id":96569,"nodeType":"Block","src":"9048:80:186","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"1900","id":96563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9092:10:186","typeDescriptions":{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},"value":"\u0019\u0000"},{"id":96564,"name":"validator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96553,"src":"9104:9:186","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":96565,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96555,"src":"9115:4:186","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_73fd5d154550a4a103564cb191928cd38898034de1b952dc21b290898b4b697a","typeString":"literal_string hex\"1900\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":96561,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9075:3:186","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9079:12:186","memberName":"encodePacked","nodeType":"MemberAccess","src":"9075:16:186","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":96566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9075:45:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96560,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9065:9:186","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":96567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9065:56:186","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":96559,"id":96568,"nodeType":"Return","src":"9058:63:186"}]},"documentation":{"id":96551,"nodeType":"StructuredDocumentation","src":"8739:193:186","text":" @dev Returns an Ethereum Signed Data with intended validator, created from a\n `validator` and `data` according to the version 0 of EIP-191.\n See {recover}."},"implemented":true,"kind":"function","modifiers":[],"name":"toDataWithIntendedValidatorHash","nameLocation":"8946:31:186","parameters":{"id":96556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96553,"mutability":"mutable","name":"validator","nameLocation":"8986:9:186","nodeType":"VariableDeclaration","scope":96570,"src":"8978:17:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96552,"name":"address","nodeType":"ElementaryTypeName","src":"8978:7:186","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":96555,"mutability":"mutable","name":"data","nameLocation":"9010:4:186","nodeType":"VariableDeclaration","scope":96570,"src":"8997:17:186","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96554,"name":"bytes","nodeType":"ElementaryTypeName","src":"8997:5:186","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8977:38:186"},"returnParameters":{"id":96559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96558,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96570,"src":"9039:7:186","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":96557,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9039:7:186","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9038:9:186"},"scope":96571,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"ECDSA","contractDependencies":[],"contractKind":"library","documentation":{"id":96209,"nodeType":"StructuredDocumentation","src":"163:205:186","text":" @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.\n These functions can be used to verify that a message was signed by the holder\n of the private keys of a given address."},"fullyImplemented":true,"linearizedBaseContracts":[96571],"name":"ECDSA","nameLocation":"377:5:186","scope":96572,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":186} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f1a6ee717f1c73e724b668c03047557aa0a4694c2644ee3e05843cb2677adb364736f6c63430008170033","sourceMap":"369:8761:186:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;369:8761:186;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209f1a6ee717f1c73e724b668c03047557aa0a4694c2644ee3e05843cb2677adb364736f6c63430008170033","sourceMap":"369:8761:186:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Elliptic Curve Digital Signature Algorithm (ECDSA) operations. These functions can be used to verify that a message was signed by the holder of the private keys of a given address.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":\"ECDSA\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":"ECDSA"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":186} \ No newline at end of file diff --git a/out/ERC165.sol/ERC165.json b/out/ERC165.sol/ERC165.json index aee696be..ed20ef89 100644 --- a/out/ERC165.sol/ERC165.json +++ b/out/ERC165.sol/ERC165.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":"ERC165"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","id":96800,"exportedSymbols":{"ERC165":[96799],"IERC165":[97005]},"nodeType":"SourceUnit","src":"99:888:188","nodes":[{"id":96777,"nodeType":"PragmaDirective","src":"99:23:188","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":96778,"nodeType":"ImportDirective","src":"124:23:188","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"./IERC165.sol","nameLocation":"-1:-1:-1","scope":96800,"sourceUnit":97006,"symbolAliases":[],"unitAlias":""},{"id":96799,"nodeType":"ContractDefinition","src":"726:260:188","nodes":[{"id":96798,"nodeType":"FunctionDefinition","src":"829:155:188","nodes":[],"body":{"id":96797,"nodeType":"Block","src":"920:64:188","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":96795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96790,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96784,"src":"937:11:188","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":96792,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"957:7:188","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC165_$97005_$","typeString":"type(contract IERC165)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC165_$97005_$","typeString":"type(contract IERC165)"}],"id":96791,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"952:4:188","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":96793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:13:188","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC165_$97005","typeString":"type(contract IERC165)"}},"id":96794,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"966:11:188","memberName":"interfaceId","nodeType":"MemberAccess","src":"952:25:188","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"937:40:188","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":96789,"id":96796,"nodeType":"Return","src":"930:47:188"}]},"baseFunctions":[97004],"documentation":{"id":96782,"nodeType":"StructuredDocumentation","src":"768:56:188","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"838:17:188","overrides":{"id":96786,"nodeType":"OverrideSpecifier","overrides":[],"src":"896:8:188"},"parameters":{"id":96785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96784,"mutability":"mutable","name":"interfaceId","nameLocation":"863:11:188","nodeType":"VariableDeclaration","scope":96798,"src":"856:18:188","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":96783,"name":"bytes4","nodeType":"ElementaryTypeName","src":"856:6:188","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"855:20:188"},"returnParameters":{"id":96789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96798,"src":"914:4:188","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96787,"name":"bool","nodeType":"ElementaryTypeName","src":"914:4:188","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"913:6:188"},"scope":96799,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":96780,"name":"IERC165","nameLocations":["754:7:188"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"754:7:188"},"id":96781,"nodeType":"InheritanceSpecifier","src":"754:7:188"}],"canonicalName":"ERC165","contractDependencies":[],"contractKind":"contract","documentation":{"id":96779,"nodeType":"StructuredDocumentation","src":"149:576:188","text":" @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation."},"fullyImplemented":true,"linearizedBaseContracts":[96799,97005],"name":"ERC165","nameLocation":"744:6:188","scope":96800,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":188} \ No newline at end of file +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":"ERC165"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":188} \ No newline at end of file diff --git a/out/ERC20.sol/ERC20.json b/out/ERC20.sol/ERC20.json index 52bcfe6d..48d8660e 100644 --- a/out/ERC20.sol/ERC20.json +++ b/out/ERC20.sol/ERC20.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000b4c38038062000b4c833981016040819052620000349162000122565b60036200004283826200021d565b5060046200005182826200021d565b505050620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b8160405283815260209250866020858801011115620000e857600080fd5b600091505b838210156200010c5785820183015181830184015290820190620000ed565b6000602085830101528094505050505092915050565b600080604083850312156200013657600080fd5b82516001600160401b03808211156200014e57600080fd5b6200015c8683870162000070565b935060208501519150808211156200017357600080fd5b50620001828582860162000070565b9150509250929050565b600181811c90821680620001a157607f821691505b602082108103620001c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000218576000816000526020600020601f850160051c81016020861015620001f35750805b601f850160051c820191505b818110156200021457828155600101620001ff565b5050505b505050565b81516001600160401b038111156200023957620002396200005a565b62000251816200024a84546200018c565b84620001c8565b602080601f831160018114620002895760008415620002705750858301515b600019600386901b1c1916600185901b17855562000214565b600085815260208120601f198616915b82811015620002ba5788860151825594840194600190910190840162000299565b5085821015620002d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085380620002f96000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610707565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610731565b61024c565b604051601281526020016100c3565b6100df610131366004610707565b610270565b6100f361014436600461076d565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610707565b6102a1565b6100df610188366004610707565b610321565b6100f361019b36600461078f565b61032f565b6060600380546101af906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c2565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fc565b61035a565b6060600480546101af906107c2565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b60006020808352835180602085015260005b818110156106ca578581018301518582016040015282016106ae565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070257600080fd5b919050565b6000806040838503121561071a57600080fd5b610723836106eb565b946020939093013593505050565b60008060006060848603121561074657600080fd5b61074f846106eb565b925061075d602085016106eb565b9150604084013590509250925092565b60006020828403121561077f57600080fd5b610788826106eb565b9392505050565b600080604083850312156107a257600080fd5b6107ab836106eb565b91506107b9602084016106eb565b90509250929050565b600181811c908216806107d657607f821691505b6020821081036107f657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212206864b743a6a11ae1d7026b91ea1f77b80047f4c3842c5a3da13042b9e32bb9ef64736f6c63430008170033","sourceMap":"1532:11312:166:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:166;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:197;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:197;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:197;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:562::-;1094:6;1102;1155:2;1143:9;1134:7;1130:23;1126:32;1123:52;;;1171:1;1168;1161:12;1123:52;1198:16;;-1:-1:-1;;;;;1263:14:197;;;1260:34;;;1290:1;1287;1280:12;1260:34;1313:61;1366:7;1357:6;1346:9;1342:22;1313:61;:::i;:::-;1303:71;;1420:2;1409:9;1405:18;1399:25;1383:41;;1449:2;1439:8;1436:16;1433:36;;;1465:1;1462;1455:12;1433:36;;1488:63;1543:7;1532:8;1521:9;1517:24;1488:63;:::i;:::-;1478:73;;;995:562;;;;;:::o;1562:380::-;1641:1;1637:12;;;;1684;;;1705:61;;1759:4;1751:6;1747:17;1737:27;;1705:61;1812:2;1804:6;1801:14;1781:18;1778:38;1775:161;;1858:10;1853:3;1849:20;1846:1;1839:31;1893:4;1890:1;1883:15;1921:4;1918:1;1911:15;1775:161;;1562:380;;;:::o;2073:543::-;2175:2;2170:3;2167:11;2164:446;;;2211:1;2235:5;2232:1;2225:16;2279:4;2276:1;2266:18;2349:2;2337:10;2333:19;2330:1;2326:27;2320:4;2316:38;2385:4;2373:10;2370:20;2367:47;;;-1:-1:-1;2408:4:197;2367:47;2463:2;2458:3;2454:12;2451:1;2447:20;2441:4;2437:31;2427:41;;2518:82;2536:2;2529:5;2526:13;2518:82;;;2581:17;;;2562:1;2551:13;2518:82;;;2522:3;;;2164:446;2073:543;;;:::o;2792:1345::-;2912:10;;-1:-1:-1;;;;;2934:30:197;;2931:56;;;2967:18;;:::i;:::-;2996:97;3086:6;3046:38;3078:4;3072:11;3046:38;:::i;:::-;3040:4;2996:97;:::i;:::-;3148:4;;3205:2;3194:14;;3222:1;3217:663;;;;3924:1;3941:6;3938:89;;;-1:-1:-1;3993:19:197;;;3987:26;3938:89;-1:-1:-1;;2749:1:197;2745:11;;;2741:24;2737:29;2727:40;2773:1;2769:11;;;2724:57;4040:81;;3187:944;;3217:663;2020:1;2013:14;;;2057:4;2044:18;;-1:-1:-1;;3253:20:197;;;3371:236;3385:7;3382:1;3379:14;3371:236;;;3474:19;;;3468:26;3453:42;;3566:27;;;;3534:1;3522:14;;;;3401:19;;3371:236;;;3375:3;3635:6;3626:7;3623:19;3620:201;;;3696:19;;;3690:26;-1:-1:-1;;3779:1:197;3775:14;;;3791:3;3771:24;3767:37;3763:42;3748:58;3733:74;;3620:201;-1:-1:-1;;;;;3867:1:197;3851:14;;;3847:22;3834:36;;-1:-1:-1;2792:1345:197:o;:::-;1532:11312:166;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610707565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610731565b61024c565b604051601281526020016100c3565b6100df610131366004610707565b610270565b6100f361014436600461076d565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610707565b6102a1565b6100df610188366004610707565b610321565b6100f361019b36600461078f565b61032f565b6060600380546101af906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c2565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fc565b61035a565b6060600480546101af906107c2565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b60006020808352835180602085015260005b818110156106ca578581018301518582016040015282016106ae565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070257600080fd5b919050565b6000806040838503121561071a57600080fd5b610723836106eb565b946020939093013593505050565b60008060006060848603121561074657600080fd5b61074f846106eb565b925061075d602085016106eb565b9150604084013590509250925092565b60006020828403121561077f57600080fd5b610788826106eb565b9392505050565b600080604083850312156107a257600080fd5b6107ab836106eb565b91506107b9602084016106eb565b90509250929050565b600181811c908216806107d657607f821691505b6020821081036107f657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212206864b743a6a11ae1d7026b91ea1f77b80047f4c3842c5a3da13042b9e32bb9ef64736f6c63430008170033","sourceMap":"1532:11312:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:197;;1162:22;1144:41;;1132:2;1117:18;4444:197:166;1004:187:197;3255:106:166;3342:12;;3255:106;;;1342:25:197;;;1330:2;1315:18;3255:106:166;1196:177:197;5203:256:166;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:197;;1841:2;1826:18;3104:91:166;1711:184:197;5854:234:166;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:166;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:181;4581:32:166;719:10:181;4597:7:166;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:181;5356:38:166;5372:4;719:10:181;5387:6:166;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:166;;5203:256;-1:-1:-1;;;;5203:256:166:o;5854:234::-;5942:4;719:10:181;5996:64:166;719:10:181;6012:7:166;6049:10;6021:25;719:10:181;6012:7:166;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;6668:4;719:10:181;6668:4:166;6749:25;719:10:181;6766:7:166;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:166;;3170:2:197;6784:85:166;;;3152:21:197;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:197;;;3292:35;3344:19;;6784:85:166;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:181;3873:28:166;719:10:181;3890:2:166;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:166;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:166;;10550:68;;;;-1:-1:-1;;;10550:68:166;;3576:2:197;10550:68:166;;;3558:21:197;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:197;;;3698:34;3749:19;;10550:68:166;3374:400:197;10550:68:166;-1:-1:-1;;;;;10636:21:166;;10628:68;;;;-1:-1:-1;;;10628:68:166;;3981:2:197;10628:68:166;;;3963:21:197;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:197;;;4103:32;4152:19;;10628:68:166;3779:398:197;10628:68:166;-1:-1:-1;;;;;10707:18:166;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:197;;;10758:32:166;;1315:18:197;10758:32:166;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:166;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:166;;4384:2:197;11297:68:166;;;4366:21:197;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:166;4182:353:197;11297:68:166;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:166;;7544:68;;;;-1:-1:-1;;;7544:68:166;;4742:2:197;7544:68:166;;;4724:21:197;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:197;;;4864:35;4916:19;;7544:68:166;4540:401:197;7544:68:166;-1:-1:-1;;;;;7630:16:166;;7622:64;;;;-1:-1:-1;;;7622:64:166;;5148:2:197;7622:64:166;;;5130:21:197;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:197;;;5270:33;5320:19;;7622:64:166;4946:399:197;7622:64:166;-1:-1:-1;;;;;7768:15:166;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:166;;5552:2:197;7793:72:166;;;5534:21:197;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:197;;;5674:36;5727:19;;7793:72:166;5350:402:197;7793:72:166;-1:-1:-1;;;;;7899:15:166;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:197;;;8114:13:166;;8163:26;;1315:18:197;8163:26:166;;;;;;;8200:37;12073:91;14:548:197;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:197;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:197:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:197:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":"ERC20"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","id":91119,"exportedSymbols":{"Context":[95576],"ERC20":[91118],"IERC20":[91196],"IERC20Metadata":[92127]},"nodeType":"SourceUnit","src":"105:12740:166","nodes":[{"id":90533,"nodeType":"PragmaDirective","src":"105:23:166","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":90534,"nodeType":"ImportDirective","src":"130:22:166","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"./IERC20.sol","nameLocation":"-1:-1:-1","scope":91119,"sourceUnit":91197,"symbolAliases":[],"unitAlias":""},{"id":90535,"nodeType":"ImportDirective","src":"153:41:166","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","file":"./extensions/IERC20Metadata.sol","nameLocation":"-1:-1:-1","scope":91119,"sourceUnit":92128,"symbolAliases":[],"unitAlias":""},{"id":90536,"nodeType":"ImportDirective","src":"195:33:166","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":91119,"sourceUnit":95577,"symbolAliases":[],"unitAlias":""},{"id":91118,"nodeType":"ContractDefinition","src":"1532:11312:166","nodes":[{"id":90547,"nodeType":"VariableDeclaration","src":"1588:45:166","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1624:9:166","scope":91118,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":90546,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":90544,"name":"address","nodeType":"ElementaryTypeName","src":"1596:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1588:27:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":90545,"name":"uint256","nodeType":"ElementaryTypeName","src":"1607:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":90553,"nodeType":"VariableDeclaration","src":"1640:67:166","nodes":[],"constant":false,"mutability":"mutable","name":"_allowances","nameLocation":"1696:11:166","scope":91118,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":90552,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":90548,"name":"address","nodeType":"ElementaryTypeName","src":"1648:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1640:47:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":90551,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":90549,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1659:27:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":90550,"name":"uint256","nodeType":"ElementaryTypeName","src":"1678:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":90555,"nodeType":"VariableDeclaration","src":"1714:28:166","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupply","nameLocation":"1730:12:166","scope":91118,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90554,"name":"uint256","nodeType":"ElementaryTypeName","src":"1714:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":90557,"nodeType":"VariableDeclaration","src":"1749:20:166","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1764:5:166","scope":91118,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":90556,"name":"string","nodeType":"ElementaryTypeName","src":"1749:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":90559,"nodeType":"VariableDeclaration","src":"1775:22:166","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1790:7:166","scope":91118,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":90558,"name":"string","nodeType":"ElementaryTypeName","src":"1775:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":90576,"nodeType":"FunctionDefinition","src":"1980:113:166","nodes":[],"body":{"id":90575,"nodeType":"Block","src":"2036:57:166","nodes":[],"statements":[{"expression":{"id":90569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90567,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90557,"src":"2046:5:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90568,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90562,"src":"2054:5:166","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2046:13:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":90570,"nodeType":"ExpressionStatement","src":"2046:13:166"},{"expression":{"id":90573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90571,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90559,"src":"2069:7:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90572,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90564,"src":"2079:7:166","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2069:17:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":90574,"nodeType":"ExpressionStatement","src":"2069:17:166"}]},"documentation":{"id":90560,"nodeType":"StructuredDocumentation","src":"1804:171:166","text":" @dev Sets the values for {name} and {symbol}.\n All two of these values are immutable: they can only be set once during\n construction."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":90565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90562,"mutability":"mutable","name":"name_","nameLocation":"2006:5:166","nodeType":"VariableDeclaration","scope":90576,"src":"1992:19:166","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":90561,"name":"string","nodeType":"ElementaryTypeName","src":"1992:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":90564,"mutability":"mutable","name":"symbol_","nameLocation":"2027:7:166","nodeType":"VariableDeclaration","scope":90576,"src":"2013:21:166","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":90563,"name":"string","nodeType":"ElementaryTypeName","src":"2013:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1991:44:166"},"returnParameters":{"id":90566,"nodeType":"ParameterList","parameters":[],"src":"2036:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":90586,"nodeType":"FunctionDefinition","src":"2158:98:166","nodes":[],"body":{"id":90585,"nodeType":"Block","src":"2227:29:166","nodes":[],"statements":[{"expression":{"id":90583,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90557,"src":"2244:5:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":90582,"id":90584,"nodeType":"Return","src":"2237:12:166"}]},"baseFunctions":[92114],"documentation":{"id":90577,"nodeType":"StructuredDocumentation","src":"2099:54:166","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2167:4:166","overrides":{"id":90579,"nodeType":"OverrideSpecifier","overrides":[],"src":"2194:8:166"},"parameters":{"id":90578,"nodeType":"ParameterList","parameters":[],"src":"2171:2:166"},"returnParameters":{"id":90582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90581,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90586,"src":"2212:13:166","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":90580,"name":"string","nodeType":"ElementaryTypeName","src":"2212:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2211:15:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90596,"nodeType":"FunctionDefinition","src":"2369:102:166","nodes":[],"body":{"id":90595,"nodeType":"Block","src":"2440:31:166","nodes":[],"statements":[{"expression":{"id":90593,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90559,"src":"2457:7:166","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":90592,"id":90594,"nodeType":"Return","src":"2450:14:166"}]},"baseFunctions":[92120],"documentation":{"id":90587,"nodeType":"StructuredDocumentation","src":"2262:102:166","text":" @dev Returns the symbol of the token, usually a shorter version of the\n name."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2378:6:166","overrides":{"id":90589,"nodeType":"OverrideSpecifier","overrides":[],"src":"2407:8:166"},"parameters":{"id":90588,"nodeType":"ParameterList","parameters":[],"src":"2384:2:166"},"returnParameters":{"id":90592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90591,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90596,"src":"2425:13:166","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":90590,"name":"string","nodeType":"ElementaryTypeName","src":"2425:6:166","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2424:15:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90606,"nodeType":"FunctionDefinition","src":"3104:91:166","nodes":[],"body":{"id":90605,"nodeType":"Block","src":"3169:26:166","nodes":[],"statements":[{"expression":{"hexValue":"3138","id":90603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3186:2:166","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"functionReturnParameters":90602,"id":90604,"nodeType":"Return","src":"3179:9:166"}]},"baseFunctions":[92126],"documentation":{"id":90597,"nodeType":"StructuredDocumentation","src":"2477:622:166","text":" @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"3113:8:166","overrides":{"id":90599,"nodeType":"OverrideSpecifier","overrides":[],"src":"3144:8:166"},"parameters":{"id":90598,"nodeType":"ParameterList","parameters":[],"src":"3121:2:166"},"returnParameters":{"id":90602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90606,"src":"3162:5:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":90600,"name":"uint8","nodeType":"ElementaryTypeName","src":"3162:5:166","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3161:7:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90616,"nodeType":"FunctionDefinition","src":"3255:106:166","nodes":[],"body":{"id":90615,"nodeType":"Block","src":"3325:36:166","nodes":[],"statements":[{"expression":{"id":90613,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90555,"src":"3342:12:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90612,"id":90614,"nodeType":"Return","src":"3335:19:166"}]},"baseFunctions":[91145],"documentation":{"id":90607,"nodeType":"StructuredDocumentation","src":"3201:49:166","text":" @dev See {IERC20-totalSupply}."},"functionSelector":"18160ddd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"3264:11:166","overrides":{"id":90609,"nodeType":"OverrideSpecifier","overrides":[],"src":"3298:8:166"},"parameters":{"id":90608,"nodeType":"ParameterList","parameters":[],"src":"3275:2:166"},"returnParameters":{"id":90612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90616,"src":"3316:7:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90610,"name":"uint256","nodeType":"ElementaryTypeName","src":"3316:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3315:9:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90630,"nodeType":"FunctionDefinition","src":"3419:125:166","nodes":[],"body":{"id":90629,"nodeType":"Block","src":"3502:42:166","nodes":[],"statements":[{"expression":{"baseExpression":{"id":90625,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"3519:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90627,"indexExpression":{"id":90626,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90619,"src":"3529:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3519:18:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90624,"id":90628,"nodeType":"Return","src":"3512:25:166"}]},"baseFunctions":[91153],"documentation":{"id":90617,"nodeType":"StructuredDocumentation","src":"3367:47:166","text":" @dev See {IERC20-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"3428:9:166","overrides":{"id":90621,"nodeType":"OverrideSpecifier","overrides":[],"src":"3475:8:166"},"parameters":{"id":90620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90619,"mutability":"mutable","name":"account","nameLocation":"3446:7:166","nodeType":"VariableDeclaration","scope":90630,"src":"3438:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90618,"name":"address","nodeType":"ElementaryTypeName","src":"3438:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3437:17:166"},"returnParameters":{"id":90624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90623,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90630,"src":"3493:7:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90622,"name":"uint256","nodeType":"ElementaryTypeName","src":"3493:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3492:9:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90655,"nodeType":"FunctionDefinition","src":"3740:189:166","nodes":[],"body":{"id":90654,"nodeType":"Block","src":"3825:104:166","nodes":[],"statements":[{"assignments":[90642],"declarations":[{"constant":false,"id":90642,"mutability":"mutable","name":"owner","nameLocation":"3843:5:166","nodeType":"VariableDeclaration","scope":90654,"src":"3835:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90641,"name":"address","nodeType":"ElementaryTypeName","src":"3835:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90645,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":90643,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"3851:10:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":90644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3851:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3835:28:166"},{"expression":{"arguments":[{"id":90647,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90642,"src":"3883:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90648,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90633,"src":"3890:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90649,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90635,"src":"3894:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90646,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90878,"src":"3873:9:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3873:28:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90651,"nodeType":"ExpressionStatement","src":"3873:28:166"},{"expression":{"hexValue":"74727565","id":90652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3918:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":90640,"id":90653,"nodeType":"Return","src":"3911:11:166"}]},"baseFunctions":[91163],"documentation":{"id":90631,"nodeType":"StructuredDocumentation","src":"3550:185:166","text":" @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`."},"functionSelector":"a9059cbb","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"3749:8:166","overrides":{"id":90637,"nodeType":"OverrideSpecifier","overrides":[],"src":"3801:8:166"},"parameters":{"id":90636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90633,"mutability":"mutable","name":"to","nameLocation":"3766:2:166","nodeType":"VariableDeclaration","scope":90655,"src":"3758:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90632,"name":"address","nodeType":"ElementaryTypeName","src":"3758:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90635,"mutability":"mutable","name":"amount","nameLocation":"3778:6:166","nodeType":"VariableDeclaration","scope":90655,"src":"3770:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90634,"name":"uint256","nodeType":"ElementaryTypeName","src":"3770:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3757:28:166"},"returnParameters":{"id":90640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90639,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90655,"src":"3819:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90638,"name":"bool","nodeType":"ElementaryTypeName","src":"3819:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3818:6:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90673,"nodeType":"FunctionDefinition","src":"3987:149:166","nodes":[],"body":{"id":90672,"nodeType":"Block","src":"4085:51:166","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":90666,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90553,"src":"4102:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":90668,"indexExpression":{"id":90667,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90658,"src":"4114:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:18:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90670,"indexExpression":{"id":90669,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90660,"src":"4121:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4102:27:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90665,"id":90671,"nodeType":"Return","src":"4095:34:166"}]},"baseFunctions":[91173],"documentation":{"id":90656,"nodeType":"StructuredDocumentation","src":"3935:47:166","text":" @dev See {IERC20-allowance}."},"functionSelector":"dd62ed3e","implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"3996:9:166","overrides":{"id":90662,"nodeType":"OverrideSpecifier","overrides":[],"src":"4058:8:166"},"parameters":{"id":90661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90658,"mutability":"mutable","name":"owner","nameLocation":"4014:5:166","nodeType":"VariableDeclaration","scope":90673,"src":"4006:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90657,"name":"address","nodeType":"ElementaryTypeName","src":"4006:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90660,"mutability":"mutable","name":"spender","nameLocation":"4029:7:166","nodeType":"VariableDeclaration","scope":90673,"src":"4021:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90659,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4005:32:166"},"returnParameters":{"id":90665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90673,"src":"4076:7:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90663,"name":"uint256","nodeType":"ElementaryTypeName","src":"4076:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:9:166"},"scope":91118,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90698,"nodeType":"FunctionDefinition","src":"4444:197:166","nodes":[],"body":{"id":90697,"nodeType":"Block","src":"4533:108:166","nodes":[],"statements":[{"assignments":[90685],"declarations":[{"constant":false,"id":90685,"mutability":"mutable","name":"owner","nameLocation":"4551:5:166","nodeType":"VariableDeclaration","scope":90697,"src":"4543:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90684,"name":"address","nodeType":"ElementaryTypeName","src":"4543:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90688,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":90686,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4559:10:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":90687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4559:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4543:28:166"},{"expression":{"arguments":[{"id":90690,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90685,"src":"4590:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90691,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90676,"src":"4597:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90692,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90678,"src":"4606:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90689,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91052,"src":"4581:8:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4581:32:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90694,"nodeType":"ExpressionStatement","src":"4581:32:166"},{"expression":{"hexValue":"74727565","id":90695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4630:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":90683,"id":90696,"nodeType":"Return","src":"4623:11:166"}]},"baseFunctions":[91183],"documentation":{"id":90674,"nodeType":"StructuredDocumentation","src":"4142:297:166","text":" @dev See {IERC20-approve}.\n NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4453:7:166","overrides":{"id":90680,"nodeType":"OverrideSpecifier","overrides":[],"src":"4509:8:166"},"parameters":{"id":90679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90676,"mutability":"mutable","name":"spender","nameLocation":"4469:7:166","nodeType":"VariableDeclaration","scope":90698,"src":"4461:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90675,"name":"address","nodeType":"ElementaryTypeName","src":"4461:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90678,"mutability":"mutable","name":"amount","nameLocation":"4486:6:166","nodeType":"VariableDeclaration","scope":90698,"src":"4478:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90677,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4460:33:166"},"returnParameters":{"id":90683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90682,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90698,"src":"4527:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90681,"name":"bool","nodeType":"ElementaryTypeName","src":"4527:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4526:6:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90731,"nodeType":"FunctionDefinition","src":"5203:256:166","nodes":[],"body":{"id":90730,"nodeType":"Block","src":"5306:153:166","nodes":[],"statements":[{"assignments":[90712],"declarations":[{"constant":false,"id":90712,"mutability":"mutable","name":"spender","nameLocation":"5324:7:166","nodeType":"VariableDeclaration","scope":90730,"src":"5316:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90711,"name":"address","nodeType":"ElementaryTypeName","src":"5316:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90715,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":90713,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5334:10:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":90714,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5334:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5316:30:166"},{"expression":{"arguments":[{"id":90717,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90701,"src":"5372:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90718,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90712,"src":"5378:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90719,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90705,"src":"5387:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90716,"name":"_spendAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91095,"src":"5356:15:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5356:38:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90721,"nodeType":"ExpressionStatement","src":"5356:38:166"},{"expression":{"arguments":[{"id":90723,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90701,"src":"5414:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90724,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90703,"src":"5420:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90725,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90705,"src":"5424:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90722,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90878,"src":"5404:9:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5404:27:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90727,"nodeType":"ExpressionStatement","src":"5404:27:166"},{"expression":{"hexValue":"74727565","id":90728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5448:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":90710,"id":90729,"nodeType":"Return","src":"5441:11:166"}]},"baseFunctions":[91195],"documentation":{"id":90699,"nodeType":"StructuredDocumentation","src":"4647:551:166","text":" @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5212:12:166","overrides":{"id":90707,"nodeType":"OverrideSpecifier","overrides":[],"src":"5282:8:166"},"parameters":{"id":90706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90701,"mutability":"mutable","name":"from","nameLocation":"5233:4:166","nodeType":"VariableDeclaration","scope":90731,"src":"5225:12:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90700,"name":"address","nodeType":"ElementaryTypeName","src":"5225:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90703,"mutability":"mutable","name":"to","nameLocation":"5247:2:166","nodeType":"VariableDeclaration","scope":90731,"src":"5239:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90702,"name":"address","nodeType":"ElementaryTypeName","src":"5239:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90705,"mutability":"mutable","name":"amount","nameLocation":"5259:6:166","nodeType":"VariableDeclaration","scope":90731,"src":"5251:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90704,"name":"uint256","nodeType":"ElementaryTypeName","src":"5251:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5224:42:166"},"returnParameters":{"id":90710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90709,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90731,"src":"5300:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90708,"name":"bool","nodeType":"ElementaryTypeName","src":"5300:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5299:6:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90760,"nodeType":"FunctionDefinition","src":"5854:234:166","nodes":[],"body":{"id":90759,"nodeType":"Block","src":"5948:140:166","nodes":[],"statements":[{"assignments":[90742],"declarations":[{"constant":false,"id":90742,"mutability":"mutable","name":"owner","nameLocation":"5966:5:166","nodeType":"VariableDeclaration","scope":90759,"src":"5958:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90741,"name":"address","nodeType":"ElementaryTypeName","src":"5958:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90745,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":90743,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5974:10:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":90744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5974:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5958:28:166"},{"expression":{"arguments":[{"id":90747,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90742,"src":"6005:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90748,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90734,"src":"6012:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":90750,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90742,"src":"6031:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90751,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90734,"src":"6038:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90749,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90673,"src":"6021:9:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":90752,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6021:25:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":90753,"name":"addedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90736,"src":"6049:10:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6021:38:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90746,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91052,"src":"5996:8:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5996:64:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90756,"nodeType":"ExpressionStatement","src":"5996:64:166"},{"expression":{"hexValue":"74727565","id":90757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6077:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":90740,"id":90758,"nodeType":"Return","src":"6070:11:166"}]},"documentation":{"id":90732,"nodeType":"StructuredDocumentation","src":"5465:384:166","text":" @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address."},"functionSelector":"39509351","implemented":true,"kind":"function","modifiers":[],"name":"increaseAllowance","nameLocation":"5863:17:166","parameters":{"id":90737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90734,"mutability":"mutable","name":"spender","nameLocation":"5889:7:166","nodeType":"VariableDeclaration","scope":90760,"src":"5881:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90733,"name":"address","nodeType":"ElementaryTypeName","src":"5881:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90736,"mutability":"mutable","name":"addedValue","nameLocation":"5906:10:166","nodeType":"VariableDeclaration","scope":90760,"src":"5898:18:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90735,"name":"uint256","nodeType":"ElementaryTypeName","src":"5898:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5880:37:166"},"returnParameters":{"id":90740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90739,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90760,"src":"5942:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90738,"name":"bool","nodeType":"ElementaryTypeName","src":"5942:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5941:6:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90801,"nodeType":"FunctionDefinition","src":"6575:427:166","nodes":[],"body":{"id":90800,"nodeType":"Block","src":"6674:328:166","nodes":[],"statements":[{"assignments":[90771],"declarations":[{"constant":false,"id":90771,"mutability":"mutable","name":"owner","nameLocation":"6692:5:166","nodeType":"VariableDeclaration","scope":90800,"src":"6684:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90770,"name":"address","nodeType":"ElementaryTypeName","src":"6684:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90774,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":90772,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"6700:10:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":90773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:12:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6684:28:166"},{"assignments":[90776],"declarations":[{"constant":false,"id":90776,"mutability":"mutable","name":"currentAllowance","nameLocation":"6730:16:166","nodeType":"VariableDeclaration","scope":90800,"src":"6722:24:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90775,"name":"uint256","nodeType":"ElementaryTypeName","src":"6722:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90781,"initialValue":{"arguments":[{"id":90778,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90771,"src":"6759:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90779,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90763,"src":"6766:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90777,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90673,"src":"6749:9:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":90780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6749:25:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6722:52:166"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90783,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90776,"src":"6792:16:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":90784,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90765,"src":"6812:15:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6792:35:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":90786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6829:39:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""},"value":"ERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8","typeString":"literal_string \"ERC20: decreased allowance below zero\""}],"id":90782,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6784:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6784:85:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90788,"nodeType":"ExpressionStatement","src":"6784:85:166"},{"id":90797,"nodeType":"UncheckedBlock","src":"6879:95:166","statements":[{"expression":{"arguments":[{"id":90790,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90771,"src":"6912:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90791,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90763,"src":"6919:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90792,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90776,"src":"6928:16:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":90793,"name":"subtractedValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90765,"src":"6947:15:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6928:34:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90789,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91052,"src":"6903:8:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90795,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6903:60:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90796,"nodeType":"ExpressionStatement","src":"6903:60:166"}]},{"expression":{"hexValue":"74727565","id":90798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6991:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":90769,"id":90799,"nodeType":"Return","src":"6984:11:166"}]},"documentation":{"id":90761,"nodeType":"StructuredDocumentation","src":"6094:476:166","text":" @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`."},"functionSelector":"a457c2d7","implemented":true,"kind":"function","modifiers":[],"name":"decreaseAllowance","nameLocation":"6584:17:166","parameters":{"id":90766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90763,"mutability":"mutable","name":"spender","nameLocation":"6610:7:166","nodeType":"VariableDeclaration","scope":90801,"src":"6602:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90762,"name":"address","nodeType":"ElementaryTypeName","src":"6602:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90765,"mutability":"mutable","name":"subtractedValue","nameLocation":"6627:15:166","nodeType":"VariableDeclaration","scope":90801,"src":"6619:23:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90764,"name":"uint256","nodeType":"ElementaryTypeName","src":"6619:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6601:42:166"},"returnParameters":{"id":90769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90768,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90801,"src":"6668:4:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90767,"name":"bool","nodeType":"ElementaryTypeName","src":"6668:4:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6667:6:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90878,"nodeType":"FunctionDefinition","src":"7456:788:166","nodes":[],"body":{"id":90877,"nodeType":"Block","src":"7534:710:166","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90812,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"7552:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7568:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7560:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90813,"name":"address","nodeType":"ElementaryTypeName","src":"7560:7:166","typeDescriptions":{}}},"id":90816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7560:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7552:18:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373","id":90818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7572:39:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""},"value":"ERC20: transfer from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea","typeString":"literal_string \"ERC20: transfer from the zero address\""}],"id":90811,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7544:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7544:68:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90820,"nodeType":"ExpressionStatement","src":"7544:68:166"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90822,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90806,"src":"7630:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7644:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7636:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90823,"name":"address","nodeType":"ElementaryTypeName","src":"7636:7:166","typeDescriptions":{}}},"id":90826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7636:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7630:16:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220746f20746865207a65726f2061646472657373","id":90828,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7648:37:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""},"value":"ERC20: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f","typeString":"literal_string \"ERC20: transfer to the zero address\""}],"id":90821,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7622:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7622:64:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90830,"nodeType":"ExpressionStatement","src":"7622:64:166"},{"expression":{"arguments":[{"id":90832,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"7718:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90833,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90806,"src":"7724:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90834,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"7728:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90831,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91106,"src":"7697:20:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7697:38:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90836,"nodeType":"ExpressionStatement","src":"7697:38:166"},{"assignments":[90838],"declarations":[{"constant":false,"id":90838,"mutability":"mutable","name":"fromBalance","nameLocation":"7754:11:166","nodeType":"VariableDeclaration","scope":90877,"src":"7746:19:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90837,"name":"uint256","nodeType":"ElementaryTypeName","src":"7746:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90842,"initialValue":{"baseExpression":{"id":90839,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"7768:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90841,"indexExpression":{"id":90840,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"7778:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7768:15:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7746:37:166"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90844,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90838,"src":"7801:11:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":90845,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"7816:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:21:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365","id":90847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7824:40:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""},"value":"ERC20: transfer amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6","typeString":"literal_string \"ERC20: transfer amount exceeds balance\""}],"id":90843,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7793:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7793:72:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90849,"nodeType":"ExpressionStatement","src":"7793:72:166"},{"id":90864,"nodeType":"UncheckedBlock","src":"7875:273:166","statements":[{"expression":{"id":90856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":90850,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"7899:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90852,"indexExpression":{"id":90851,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"7909:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7899:15:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90853,"name":"fromBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90838,"src":"7917:11:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":90854,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"7931:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7917:20:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:38:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90857,"nodeType":"ExpressionStatement","src":"7899:38:166"},{"expression":{"id":90862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":90858,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"8114:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90860,"indexExpression":{"id":90859,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90806,"src":"8124:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8114:13:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":90861,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"8131:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8114:23:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90863,"nodeType":"ExpressionStatement","src":"8114:23:166"}]},{"eventCall":{"arguments":[{"id":90866,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"8172:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90867,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90806,"src":"8178:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90868,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"8182:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90865,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91130,"src":"8163:8:166","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8163:26:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90870,"nodeType":"EmitStatement","src":"8158:31:166"},{"expression":{"arguments":[{"id":90872,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90804,"src":"8220:4:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90873,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90806,"src":"8226:2:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90874,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90808,"src":"8230:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90871,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91117,"src":"8200:19:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8200:37:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90876,"nodeType":"ExpressionStatement","src":"8200:37:166"}]},"documentation":{"id":90802,"nodeType":"StructuredDocumentation","src":"7008:443:166","text":" @dev Moves `amount` of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"7465:9:166","parameters":{"id":90809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90804,"mutability":"mutable","name":"from","nameLocation":"7483:4:166","nodeType":"VariableDeclaration","scope":90878,"src":"7475:12:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90803,"name":"address","nodeType":"ElementaryTypeName","src":"7475:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90806,"mutability":"mutable","name":"to","nameLocation":"7497:2:166","nodeType":"VariableDeclaration","scope":90878,"src":"7489:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90805,"name":"address","nodeType":"ElementaryTypeName","src":"7489:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90808,"mutability":"mutable","name":"amount","nameLocation":"7509:6:166","nodeType":"VariableDeclaration","scope":90878,"src":"7501:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90807,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7474:42:166"},"returnParameters":{"id":90810,"nodeType":"ParameterList","parameters":[],"src":"7534:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":90935,"nodeType":"FunctionDefinition","src":"8520:535:166","nodes":[],"body":{"id":90934,"nodeType":"Block","src":"8585:470:166","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90887,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90881,"src":"8603:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8622:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8614:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90888,"name":"address","nodeType":"ElementaryTypeName","src":"8614:7:166","typeDescriptions":{}}},"id":90891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8614:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8603:21:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206d696e7420746f20746865207a65726f2061646472657373","id":90893,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8626:33:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""},"value":"ERC20: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e","typeString":"literal_string \"ERC20: mint to the zero address\""}],"id":90886,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8595:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8595:65:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90895,"nodeType":"ExpressionStatement","src":"8595:65:166"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":90899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8700:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8692:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90897,"name":"address","nodeType":"ElementaryTypeName","src":"8692:7:166","typeDescriptions":{}}},"id":90900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8692:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90901,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90881,"src":"8704:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90902,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90883,"src":"8713:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90896,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91106,"src":"8671:20:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8671:49:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90904,"nodeType":"ExpressionStatement","src":"8671:49:166"},{"expression":{"id":90907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90905,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90555,"src":"8731:12:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":90906,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90883,"src":"8747:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8731:22:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90908,"nodeType":"ExpressionStatement","src":"8731:22:166"},{"id":90915,"nodeType":"UncheckedBlock","src":"8763:175:166","statements":[{"expression":{"id":90913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":90909,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"8899:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90911,"indexExpression":{"id":90910,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90881,"src":"8909:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8899:18:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":90912,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90883,"src":"8921:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8899:28:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90914,"nodeType":"ExpressionStatement","src":"8899:28:166"}]},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":90919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8969:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90918,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8961:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90917,"name":"address","nodeType":"ElementaryTypeName","src":"8961:7:166","typeDescriptions":{}}},"id":90920,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8961:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90921,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90881,"src":"8973:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90922,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90883,"src":"8982:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90916,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91130,"src":"8952:8:166","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8952:37:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90924,"nodeType":"EmitStatement","src":"8947:42:166"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":90928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90927,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90926,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:166","typeDescriptions":{}}},"id":90929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90930,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90881,"src":"9032:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90931,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90883,"src":"9041:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90925,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91117,"src":"9000:19:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9000:48:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90933,"nodeType":"ExpressionStatement","src":"9000:48:166"}]},"documentation":{"id":90879,"nodeType":"StructuredDocumentation","src":"8250:265:166","text":"@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8529:5:166","parameters":{"id":90884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90881,"mutability":"mutable","name":"account","nameLocation":"8543:7:166","nodeType":"VariableDeclaration","scope":90935,"src":"8535:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90880,"name":"address","nodeType":"ElementaryTypeName","src":"8535:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90883,"mutability":"mutable","name":"amount","nameLocation":"8560:6:166","nodeType":"VariableDeclaration","scope":90935,"src":"8552:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90882,"name":"uint256","nodeType":"ElementaryTypeName","src":"8552:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8534:33:166"},"returnParameters":{"id":90885,"nodeType":"ParameterList","parameters":[],"src":"8585:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91007,"nodeType":"FunctionDefinition","src":"9375:659:166","nodes":[],"body":{"id":91006,"nodeType":"Block","src":"9440:594:166","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90944,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9458:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9477:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9469:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90945,"name":"address","nodeType":"ElementaryTypeName","src":"9469:7:166","typeDescriptions":{}}},"id":90948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9469:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9458:21:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e2066726f6d20746865207a65726f2061646472657373","id":90950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9481:35:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""},"value":"ERC20: burn from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f","typeString":"literal_string \"ERC20: burn from the zero address\""}],"id":90943,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9450:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9450:67:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90952,"nodeType":"ExpressionStatement","src":"9450:67:166"},{"expression":{"arguments":[{"id":90954,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9549:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":90957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9566:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9558:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90955,"name":"address","nodeType":"ElementaryTypeName","src":"9558:7:166","typeDescriptions":{}}},"id":90958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9558:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90959,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"9570:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90953,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91106,"src":"9528:20:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9528:49:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90961,"nodeType":"ExpressionStatement","src":"9528:49:166"},{"assignments":[90963],"declarations":[{"constant":false,"id":90963,"mutability":"mutable","name":"accountBalance","nameLocation":"9596:14:166","nodeType":"VariableDeclaration","scope":91006,"src":"9588:22:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90962,"name":"uint256","nodeType":"ElementaryTypeName","src":"9588:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90967,"initialValue":{"baseExpression":{"id":90964,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"9613:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90966,"indexExpression":{"id":90965,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9623:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9613:18:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9588:43:166"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90969,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90963,"src":"9649:14:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":90970,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"9667:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9649:24:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365","id":90972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9675:36:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""},"value":"ERC20: burn amount exceeds balance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd","typeString":"literal_string \"ERC20: burn amount exceeds balance\""}],"id":90968,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9641:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9641:71:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90974,"nodeType":"ExpressionStatement","src":"9641:71:166"},{"id":90987,"nodeType":"UncheckedBlock","src":"9722:194:166","statements":[{"expression":{"id":90981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":90975,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90547,"src":"9746:9:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":90977,"indexExpression":{"id":90976,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9756:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9746:18:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90978,"name":"accountBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90963,"src":"9767:14:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":90979,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"9784:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9767:23:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9746:44:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90982,"nodeType":"ExpressionStatement","src":"9746:44:166"},{"expression":{"id":90985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90983,"name":"_totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90555,"src":"9883:12:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":90984,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"9899:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9883:22:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90986,"nodeType":"ExpressionStatement","src":"9883:22:166"}]},{"eventCall":{"arguments":[{"id":90989,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9940:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":90992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9957:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9949:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90990,"name":"address","nodeType":"ElementaryTypeName","src":"9949:7:166","typeDescriptions":{}}},"id":90993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9949:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90994,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"9961:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90988,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91130,"src":"9931:8:166","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9931:37:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90996,"nodeType":"EmitStatement","src":"9926:42:166"},{"expression":{"arguments":[{"id":90998,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90938,"src":"9999:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":91001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10016:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91000,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10008:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90999,"name":"address","nodeType":"ElementaryTypeName","src":"10008:7:166","typeDescriptions":{}}},"id":91002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10008:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91003,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90940,"src":"10020:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90997,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91117,"src":"9979:19:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9979:48:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91005,"nodeType":"ExpressionStatement","src":"9979:48:166"}]},"documentation":{"id":90936,"nodeType":"StructuredDocumentation","src":"9061:309:166","text":" @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"9384:5:166","parameters":{"id":90941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90938,"mutability":"mutable","name":"account","nameLocation":"9398:7:166","nodeType":"VariableDeclaration","scope":91007,"src":"9390:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90937,"name":"address","nodeType":"ElementaryTypeName","src":"9390:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90940,"mutability":"mutable","name":"amount","nameLocation":"9415:6:166","nodeType":"VariableDeclaration","scope":91007,"src":"9407:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90939,"name":"uint256","nodeType":"ElementaryTypeName","src":"9407:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9389:33:166"},"returnParameters":{"id":90942,"nodeType":"ParameterList","parameters":[],"src":"9440:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91052,"nodeType":"FunctionDefinition","src":"10457:340:166","nodes":[],"body":{"id":91051,"nodeType":"Block","src":"10540:257:166","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":91023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91018,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91010,"src":"10558:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":91021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10575:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91020,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10567:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":91019,"name":"address","nodeType":"ElementaryTypeName","src":"10567:7:166","typeDescriptions":{}}},"id":91022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10567:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10558:19:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373","id":91024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10579:38:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""},"value":"ERC20: approve from the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208","typeString":"literal_string \"ERC20: approve from the zero address\""}],"id":91017,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10550:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:68:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91026,"nodeType":"ExpressionStatement","src":"10550:68:166"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":91033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91028,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91012,"src":"10636:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":91031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10655:1:166","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10647:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":91029,"name":"address","nodeType":"ElementaryTypeName","src":"10647:7:166","typeDescriptions":{}}},"id":91032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10647:10:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10636:21:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20617070726f766520746f20746865207a65726f2061646472657373","id":91034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10659:36:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""},"value":"ERC20: approve to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029","typeString":"literal_string \"ERC20: approve to the zero address\""}],"id":91027,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10628:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10628:68:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91036,"nodeType":"ExpressionStatement","src":"10628:68:166"},{"expression":{"id":91043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":91037,"name":"_allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90553,"src":"10707:11:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":91040,"indexExpression":{"id":91038,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91010,"src":"10719:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10707:18:166","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":91041,"indexExpression":{"id":91039,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91012,"src":"10726:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10707:27:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":91042,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91014,"src":"10737:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10707:36:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":91044,"nodeType":"ExpressionStatement","src":"10707:36:166"},{"eventCall":{"arguments":[{"id":91046,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91010,"src":"10767:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91047,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91012,"src":"10774:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91048,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91014,"src":"10783:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91045,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91139,"src":"10758:8:166","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10758:32:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91050,"nodeType":"EmitStatement","src":"10753:37:166"}]},"documentation":{"id":91008,"nodeType":"StructuredDocumentation","src":"10040:412:166","text":" @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10466:8:166","parameters":{"id":91015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91010,"mutability":"mutable","name":"owner","nameLocation":"10483:5:166","nodeType":"VariableDeclaration","scope":91052,"src":"10475:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91009,"name":"address","nodeType":"ElementaryTypeName","src":"10475:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91012,"mutability":"mutable","name":"spender","nameLocation":"10498:7:166","nodeType":"VariableDeclaration","scope":91052,"src":"10490:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91011,"name":"address","nodeType":"ElementaryTypeName","src":"10490:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91014,"mutability":"mutable","name":"amount","nameLocation":"10515:6:166","nodeType":"VariableDeclaration","scope":91052,"src":"10507:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91013,"name":"uint256","nodeType":"ElementaryTypeName","src":"10507:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10474:48:166"},"returnParameters":{"id":91016,"nodeType":"ParameterList","parameters":[],"src":"10540:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91095,"nodeType":"FunctionDefinition","src":"11078:411:166","nodes":[],"body":{"id":91094,"nodeType":"Block","src":"11168:321:166","nodes":[],"statements":[{"assignments":[91063],"declarations":[{"constant":false,"id":91063,"mutability":"mutable","name":"currentAllowance","nameLocation":"11186:16:166","nodeType":"VariableDeclaration","scope":91094,"src":"11178:24:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91062,"name":"uint256","nodeType":"ElementaryTypeName","src":"11178:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91068,"initialValue":{"arguments":[{"id":91065,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91055,"src":"11215:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91066,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91057,"src":"11222:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":91064,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90673,"src":"11205:9:166","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":91067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11205:25:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11178:52:166"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91069,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91063,"src":"11244:16:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"arguments":[{"id":91072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11269:7:166","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":91071,"name":"uint256","nodeType":"ElementaryTypeName","src":"11269:7:166","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":91070,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11264:4:166","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":91073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11264:13:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":91074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11278:3:166","memberName":"max","nodeType":"MemberAccess","src":"11264:17:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11244:37:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91093,"nodeType":"IfStatement","src":"11240:243:166","trueBody":{"id":91092,"nodeType":"Block","src":"11283:200:166","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91077,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91063,"src":"11305:16:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":91078,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91059,"src":"11325:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11305:26:166","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"45524332303a20696e73756666696369656e7420616c6c6f77616e6365","id":91080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11333:31:166","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""},"value":"ERC20: insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe","typeString":"literal_string \"ERC20: insufficient allowance\""}],"id":91076,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11297:7:166","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11297:68:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91082,"nodeType":"ExpressionStatement","src":"11297:68:166"},{"id":91091,"nodeType":"UncheckedBlock","src":"11379:94:166","statements":[{"expression":{"arguments":[{"id":91084,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91055,"src":"11416:5:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91085,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91057,"src":"11423:7:166","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91086,"name":"currentAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91063,"src":"11432:16:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":91087,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91059,"src":"11451:6:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11432:25:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91083,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91052,"src":"11407:8:166","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11407:51:166","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91090,"nodeType":"ExpressionStatement","src":"11407:51:166"}]}]}}]},"documentation":{"id":91053,"nodeType":"StructuredDocumentation","src":"10803:270:166","text":" @dev Updates `owner` s allowance for `spender` based on spent `amount`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_spendAllowance","nameLocation":"11087:15:166","parameters":{"id":91060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91055,"mutability":"mutable","name":"owner","nameLocation":"11111:5:166","nodeType":"VariableDeclaration","scope":91095,"src":"11103:13:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91054,"name":"address","nodeType":"ElementaryTypeName","src":"11103:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91057,"mutability":"mutable","name":"spender","nameLocation":"11126:7:166","nodeType":"VariableDeclaration","scope":91095,"src":"11118:15:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91056,"name":"address","nodeType":"ElementaryTypeName","src":"11118:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91059,"mutability":"mutable","name":"amount","nameLocation":"11143:6:166","nodeType":"VariableDeclaration","scope":91095,"src":"11135:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91058,"name":"uint256","nodeType":"ElementaryTypeName","src":"11135:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11102:48:166"},"returnParameters":{"id":91061,"nodeType":"ParameterList","parameters":[],"src":"11168:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91106,"nodeType":"FunctionDefinition","src":"12073:91:166","nodes":[],"body":{"id":91105,"nodeType":"Block","src":"12162:2:166","nodes":[],"statements":[]},"documentation":{"id":91096,"nodeType":"StructuredDocumentation","src":"11495:573:166","text":" @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12082:20:166","parameters":{"id":91103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91098,"mutability":"mutable","name":"from","nameLocation":"12111:4:166","nodeType":"VariableDeclaration","scope":91106,"src":"12103:12:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91097,"name":"address","nodeType":"ElementaryTypeName","src":"12103:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91100,"mutability":"mutable","name":"to","nameLocation":"12125:2:166","nodeType":"VariableDeclaration","scope":91106,"src":"12117:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91099,"name":"address","nodeType":"ElementaryTypeName","src":"12117:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91102,"mutability":"mutable","name":"amount","nameLocation":"12137:6:166","nodeType":"VariableDeclaration","scope":91106,"src":"12129:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91101,"name":"uint256","nodeType":"ElementaryTypeName","src":"12129:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12102:42:166"},"returnParameters":{"id":91104,"nodeType":"ParameterList","parameters":[],"src":"12162:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91117,"nodeType":"FunctionDefinition","src":"12752:90:166","nodes":[],"body":{"id":91116,"nodeType":"Block","src":"12840:2:166","nodes":[],"statements":[]},"documentation":{"id":91107,"nodeType":"StructuredDocumentation","src":"12170:577:166","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"12761:19:166","parameters":{"id":91114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91109,"mutability":"mutable","name":"from","nameLocation":"12789:4:166","nodeType":"VariableDeclaration","scope":91117,"src":"12781:12:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91108,"name":"address","nodeType":"ElementaryTypeName","src":"12781:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91111,"mutability":"mutable","name":"to","nameLocation":"12803:2:166","nodeType":"VariableDeclaration","scope":91117,"src":"12795:10:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91110,"name":"address","nodeType":"ElementaryTypeName","src":"12795:7:166","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91113,"mutability":"mutable","name":"amount","nameLocation":"12815:6:166","nodeType":"VariableDeclaration","scope":91117,"src":"12807:14:166","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91112,"name":"uint256","nodeType":"ElementaryTypeName","src":"12807:7:166","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12780:42:166"},"returnParameters":{"id":91115,"nodeType":"ParameterList","parameters":[],"src":"12840:0:166"},"scope":91118,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":90538,"name":"Context","nameLocations":["1550:7:166"],"nodeType":"IdentifierPath","referencedDeclaration":95576,"src":"1550:7:166"},"id":90539,"nodeType":"InheritanceSpecifier","src":"1550:7:166"},{"baseName":{"id":90540,"name":"IERC20","nameLocations":["1559:6:166"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"1559:6:166"},"id":90541,"nodeType":"InheritanceSpecifier","src":"1559:6:166"},{"baseName":{"id":90542,"name":"IERC20Metadata","nameLocations":["1567:14:166"],"nodeType":"IdentifierPath","referencedDeclaration":92127,"src":"1567:14:166"},"id":90543,"nodeType":"InheritanceSpecifier","src":"1567:14:166"}],"canonicalName":"ERC20","contractDependencies":[],"contractKind":"contract","documentation":{"id":90537,"nodeType":"StructuredDocumentation","src":"230:1301:166","text":" @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}."},"fullyImplemented":true,"linearizedBaseContracts":[91118,92127,91196,95576],"name":"ERC20","nameLocation":"1541:5:166","scope":91119,"usedErrors":[],"usedEvents":[91130,91139]}],"license":"MIT"},"id":166} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000b4c38038062000b4c833981016040819052620000349162000122565b60036200004283826200021d565b5060046200005182826200021d565b505050620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b8160405283815260209250866020858801011115620000e857600080fd5b600091505b838210156200010c5785820183015181830184015290820190620000ed565b6000602085830101528094505050505092915050565b600080604083850312156200013657600080fd5b82516001600160401b03808211156200014e57600080fd5b6200015c8683870162000070565b935060208501519150808211156200017357600080fd5b50620001828582860162000070565b9150509250929050565b600181811c90821680620001a157607f821691505b602082108103620001c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000218576000816000526020600020601f850160051c81016020861015620001f35750805b601f850160051c820191505b818110156200021457828155600101620001ff565b5050505b505050565b81516001600160401b038111156200023957620002396200005a565b62000251816200024a84546200018c565b84620001c8565b602080601f831160018114620002895760008415620002705750858301515b600019600386901b1c1916600185901b17855562000214565b600085815260208120601f198616915b82811015620002ba5788860151825594840194600190910190840162000299565b5085821015620002d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61085380620002f96000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610707565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610731565b61024c565b604051601281526020016100c3565b6100df610131366004610707565b610270565b6100f361014436600461076d565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610707565b6102a1565b6100df610188366004610707565b610321565b6100f361019b36600461078f565b61032f565b6060600380546101af906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c2565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fc565b61035a565b6060600480546101af906107c2565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b60006020808352835180602085015260005b818110156106ca578581018301518582016040015282016106ae565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070257600080fd5b919050565b6000806040838503121561071a57600080fd5b610723836106eb565b946020939093013593505050565b60008060006060848603121561074657600080fd5b61074f846106eb565b925061075d602085016106eb565b9150604084013590509250925092565b60006020828403121561077f57600080fd5b610788826106eb565b9392505050565b600080604083850312156107a257600080fd5b6107ab836106eb565b91506107b9602084016106eb565b90509250929050565b600181811c908216806107d657607f821691505b6020821081036107f657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212206864b743a6a11ae1d7026b91ea1f77b80047f4c3842c5a3da13042b9e32bb9ef64736f6c63430008170033","sourceMap":"1532:11312:166:-:0;;;1980:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2046:5;:13;2054:5;2046;:13;:::i;:::-;-1:-1:-1;2069:7:166;:17;2079:7;2069;:17;:::i;:::-;;1980:113;;1532:11312;;14:127:197;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:197;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:197;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:562::-;1094:6;1102;1155:2;1143:9;1134:7;1130:23;1126:32;1123:52;;;1171:1;1168;1161:12;1123:52;1198:16;;-1:-1:-1;;;;;1263:14:197;;;1260:34;;;1290:1;1287;1280:12;1260:34;1313:61;1366:7;1357:6;1346:9;1342:22;1313:61;:::i;:::-;1303:71;;1420:2;1409:9;1405:18;1399:25;1383:41;;1449:2;1439:8;1436:16;1433:36;;;1465:1;1462;1455:12;1433:36;;1488:63;1543:7;1532:8;1521:9;1517:24;1488:63;:::i;:::-;1478:73;;;995:562;;;;;:::o;1562:380::-;1641:1;1637:12;;;;1684;;;1705:61;;1759:4;1751:6;1747:17;1737:27;;1705:61;1812:2;1804:6;1801:14;1781:18;1778:38;1775:161;;1858:10;1853:3;1849:20;1846:1;1839:31;1893:4;1890:1;1883:15;1921:4;1918:1;1911:15;1775:161;;1562:380;;;:::o;2073:543::-;2175:2;2170:3;2167:11;2164:446;;;2211:1;2235:5;2232:1;2225:16;2279:4;2276:1;2266:18;2349:2;2337:10;2333:19;2330:1;2326:27;2320:4;2316:38;2385:4;2373:10;2370:20;2367:47;;;-1:-1:-1;2408:4:197;2367:47;2463:2;2458:3;2454:12;2451:1;2447:20;2441:4;2437:31;2427:41;;2518:82;2536:2;2529:5;2526:13;2518:82;;;2581:17;;;2562:1;2551:13;2518:82;;;2522:3;;;2164:446;2073:543;;;:::o;2792:1345::-;2912:10;;-1:-1:-1;;;;;2934:30:197;;2931:56;;;2967:18;;:::i;:::-;2996:97;3086:6;3046:38;3078:4;3072:11;3046:38;:::i;:::-;3040:4;2996:97;:::i;:::-;3148:4;;3205:2;3194:14;;3222:1;3217:663;;;;3924:1;3941:6;3938:89;;;-1:-1:-1;3993:19:197;;;3987:26;3938:89;-1:-1:-1;;2749:1:197;2745:11;;;2741:24;2737:29;2727:40;2773:1;2769:11;;;2724:57;4040:81;;3187:944;;3217:663;2020:1;2013:14;;;2057:4;2044:18;;-1:-1:-1;;3253:20:197;;;3371:236;3385:7;3382:1;3379:14;3371:236;;;3474:19;;;3468:26;3453:42;;3566:27;;;;3534:1;3522:14;;;;3401:19;;3371:236;;;3375:3;3635:6;3626:7;3623:19;3620:201;;;3696:19;;;3690:26;-1:-1:-1;;3779:1:197;3775:14;;;3791:3;3771:24;3767:37;3763:42;3748:58;3733:74;;3620:201;-1:-1:-1;;;;;3867:1:197;3851:14;;;3847:22;3834:36;;-1:-1:-1;2792:1345:197:o;:::-;1532:11312:166;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c3919061069c565b60405180910390f35b6100df6100da366004610707565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f366004610731565b61024c565b604051601281526020016100c3565b6100df610131366004610707565b610270565b6100f361014436600461076d565b6001600160a01b031660009081526020819052604090205490565b6100b6610292565b6100df610175366004610707565b6102a1565b6100df610188366004610707565b610321565b6100f361019b36600461078f565b61032f565b6060600380546101af906107c2565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107c2565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b60003361024081858561035a565b60019150505b92915050565b60003361025a85828561047e565b6102658585856104f8565b506001949350505050565b600033610240818585610283838361032f565b61028d91906107fc565b61035a565b6060600480546101af906107c2565b600033816102af828661032f565b9050838110156103145760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b610265828686840361035a565b6000336102408185856104f8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103bc5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161030b565b6001600160a01b03821661041d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161030b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061048a848461032f565b905060001981146104f257818110156104e55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161030b565b6104f2848484840361035a565b50505050565b6001600160a01b03831661055c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161030b565b6001600160a01b0382166105be5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161030b565b6001600160a01b038316600090815260208190526040902054818110156106365760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161030b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104f2565b60006020808352835180602085015260005b818110156106ca578581018301518582016040015282016106ae565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461070257600080fd5b919050565b6000806040838503121561071a57600080fd5b610723836106eb565b946020939093013593505050565b60008060006060848603121561074657600080fd5b61074f846106eb565b925061075d602085016106eb565b9150604084013590509250925092565b60006020828403121561077f57600080fd5b610788826106eb565b9392505050565b600080604083850312156107a257600080fd5b6107ab836106eb565b91506107b9602084016106eb565b90509250929050565b600181811c908216806107d657607f821691505b6020821081036107f657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024657634e487b7160e01b600052601160045260246000fdfea26469706673582212206864b743a6a11ae1d7026b91ea1f77b80047f4c3842c5a3da13042b9e32bb9ef64736f6c63430008170033","sourceMap":"1532:11312:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4444:197;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:197;;1162:22;1144:41;;1132:2;1117:18;4444:197:166;1004:187:197;3255:106:166;3342:12;;3255:106;;;1342:25:197;;;1330:2;1315:18;3255:106:166;1196:177:197;5203:256:166;;;;;;:::i;:::-;;:::i;3104:91::-;;;3186:2;1853:36:197;;1841:2;1826:18;3104:91:166;1711:184:197;5854:234:166;;;;;;:::i;:::-;;:::i;3419:125::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:166;3493:7;3519:18;;;;;;;;;;;;3419:125;2369:102;;;:::i;6575:427::-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;3987:149::-;;;;;;:::i;:::-;;:::i;2158:98::-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:181;4581:32:166;719:10:181;4597:7:166;4606:6;4581:8;:32::i;:::-;4630:4;4623:11;;;4444:197;;;;;:::o;5203:256::-;5300:4;719:10:181;5356:38:166;5372:4;719:10:181;5387:6:166;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:166;;5203:256;-1:-1:-1;;;;5203:256:166:o;5854:234::-;5942:4;719:10:181;5996:64:166;719:10:181;6012:7:166;6049:10;6021:25;719:10:181;6012:7:166;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;2369:102::-;2425:13;2457:7;2450:14;;;;;:::i;6575:427::-;6668:4;719:10:181;6668:4:166;6749:25;719:10:181;6766:7:166;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:166;;3170:2:197;6784:85:166;;;3152:21:197;3209:2;3189:18;;;3182:30;3248:34;3228:18;;;3221:62;-1:-1:-1;;;3299:18:197;;;3292:35;3344:19;;6784:85:166;;;;;;;;;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:181;3873:28:166;719:10:181;3890:2:166;3894:6;3873:9;:28::i;3987:149::-;-1:-1:-1;;;;;4102:18:166;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;10457:340::-;-1:-1:-1;;;;;10558:19:166;;10550:68;;;;-1:-1:-1;;;10550:68:166;;3576:2:197;10550:68:166;;;3558:21:197;3615:2;3595:18;;;3588:30;3654:34;3634:18;;;3627:62;-1:-1:-1;;;3705:18:197;;;3698:34;3749:19;;10550:68:166;3374:400:197;10550:68:166;-1:-1:-1;;;;;10636:21:166;;10628:68;;;;-1:-1:-1;;;10628:68:166;;3981:2:197;10628:68:166;;;3963:21:197;4020:2;4000:18;;;3993:30;4059:34;4039:18;;;4032:62;-1:-1:-1;;;4110:18:197;;;4103:32;4152:19;;10628:68:166;3779:398:197;10628:68:166;-1:-1:-1;;;;;10707:18:166;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;1342:25:197;;;10758:32:166;;1315:18:197;10758:32:166;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:166;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:166;;4384:2:197;11297:68:166;;;4366:21:197;4423:2;4403:18;;;4396:30;4462:31;4442:18;;;4435:59;4511:18;;11297:68:166;4182:353:197;11297:68:166;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;:::-;11168:321;11078:411;;;:::o;7456:788::-;-1:-1:-1;;;;;7552:18:166;;7544:68;;;;-1:-1:-1;;;7544:68:166;;4742:2:197;7544:68:166;;;4724:21:197;4781:2;4761:18;;;4754:30;4820:34;4800:18;;;4793:62;-1:-1:-1;;;4871:18:197;;;4864:35;4916:19;;7544:68:166;4540:401:197;7544:68:166;-1:-1:-1;;;;;7630:16:166;;7622:64;;;;-1:-1:-1;;;7622:64:166;;5148:2:197;7622:64:166;;;5130:21:197;5187:2;5167:18;;;5160:30;5226:34;5206:18;;;5199:62;-1:-1:-1;;;5277:18:197;;;5270:33;5320:19;;7622:64:166;4946:399:197;7622:64:166;-1:-1:-1;;;;;7768:15:166;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:166;;5552:2:197;7793:72:166;;;5534:21:197;5591:2;5571:18;;;5564:30;5630:34;5610:18;;;5603:62;-1:-1:-1;;;5681:18:197;;;5674:36;5727:19;;7793:72:166;5350:402:197;7793:72:166;-1:-1:-1;;;;;7899:15:166;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;1342:25:197;;;8114:13:166;;8163:26;;1315:18:197;8163:26:166;;;;;;;8200:37;12073:91;14:548:197;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:197;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:197:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:197:o;2091:260::-;2159:6;2167;2220:2;2208:9;2199:7;2195:23;2191:32;2188:52;;;2236:1;2233;2226:12;2188:52;2259:29;2278:9;2259:29;:::i;:::-;2249:39;;2307:38;2341:2;2330:9;2326:18;2307:38;:::i;:::-;2297:48;;2091:260;;;;;:::o;2356:380::-;2435:1;2431:12;;;;2478;;;2499:61;;2553:4;2545:6;2541:17;2531:27;;2499:61;2606:2;2598:6;2595:14;2575:18;2572:38;2569:161;;2652:10;2647:3;2643:20;2640:1;2633:31;2687:4;2684:1;2677:15;2715:4;2712:1;2705:15;2569:161;;2356:380;;;:::o;2741:222::-;2806:9;;;2827:10;;;2824:133;;;2879:10;2874:3;2870:20;2867:1;2860:31;2914:4;2911:1;2904:15;2942:4;2939:1;2932:15","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"id":166} \ No newline at end of file diff --git a/out/ERC20Votes.sol/ERC20Votes.json b/out/ERC20Votes.sol/ERC20Votes.json index 929fbbdc..80a2cd0e 100644 --- a/out/ERC20Votes.sol/ERC20Votes.json +++ b/out/ERC20Votes.sol/ERC20Votes.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ERC20Votes.Checkpoint","components":[{"name":"fromBlock","type":"uint32","internalType":"uint32"},{"name":"votes","type":"uint224","internalType":"uint224"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting power can be queried through the public accessors {getVotes} and {getPastVotes}. By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. _Available since v4.2._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":\"ERC20Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"DOMAIN_SEPARATOR()":{"details":"See {IERC20Permit-DOMAIN_SEPARATOR}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"delegate(address)":{"details":"Delegate votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`"},"delegates(address)":{"details":"Get the address `account` is currently delegating to."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past"},"getPastVotes(address,uint256)":{"details":"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past"},"getVotes(address)":{"details":"Gets the current votes balance for `account`"},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"See {IERC20Permit-nonces}."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"See {IERC20Permit-permit}."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":"ERC20Votes"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","id":92103,"exportedSymbols":{"Context":[95576],"Counters":[95650],"ECDSA":[96571],"EIP712":[96775],"ERC20":[91118],"ERC20Permit":[91368],"ERC20Votes":[92102],"IERC20":[91196],"IERC20Metadata":[92127],"IERC20Permit":[92163],"IERC5267":[90362],"IERC5805":[90371],"IERC6372":[90386],"IVotes":[89767],"Math":[97871],"SafeCast":[99412],"ShortString":[95655],"ShortStrings":[95866],"SignedMath":[99517],"StorageSlot":[95976],"Strings":[96205]},"nodeType":"SourceUnit","src":"121:10661:169","nodes":[{"id":91370,"nodeType":"PragmaDirective","src":"121:23:169","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":91371,"nodeType":"ImportDirective","src":"146:27:169","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol","file":"./ERC20Permit.sol","nameLocation":"-1:-1:-1","scope":92103,"sourceUnit":91369,"symbolAliases":[],"unitAlias":""},{"id":91372,"nodeType":"ImportDirective","src":"174:42:169","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol","file":"../../../interfaces/IERC5805.sol","nameLocation":"-1:-1:-1","scope":92103,"sourceUnit":90372,"symbolAliases":[],"unitAlias":""},{"id":91373,"nodeType":"ImportDirective","src":"217:38:169","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","file":"../../../utils/math/Math.sol","nameLocation":"-1:-1:-1","scope":92103,"sourceUnit":97872,"symbolAliases":[],"unitAlias":""},{"id":91374,"nodeType":"ImportDirective","src":"256:42:169","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol","file":"../../../utils/math/SafeCast.sol","nameLocation":"-1:-1:-1","scope":92103,"sourceUnit":99413,"symbolAliases":[],"unitAlias":""},{"id":91375,"nodeType":"ImportDirective","src":"299:47:169","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol","file":"../../../utils/cryptography/ECDSA.sol","nameLocation":"-1:-1:-1","scope":92103,"sourceUnit":96572,"symbolAliases":[],"unitAlias":""},{"id":92102,"nodeType":"ContractDefinition","src":"1243:9538:169","nodes":[{"id":91385,"nodeType":"StructDefinition","src":"1303:74:169","nodes":[],"canonicalName":"ERC20Votes.Checkpoint","members":[{"constant":false,"id":91382,"mutability":"mutable","name":"fromBlock","nameLocation":"1338:9:169","nodeType":"VariableDeclaration","scope":91385,"src":"1331:16:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":91381,"name":"uint32","nodeType":"ElementaryTypeName","src":"1331:6:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":91384,"mutability":"mutable","name":"votes","nameLocation":"1365:5:169","nodeType":"VariableDeclaration","scope":91385,"src":"1357:13:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":91383,"name":"uint224","nodeType":"ElementaryTypeName","src":"1357:7:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"name":"Checkpoint","nameLocation":"1310:10:169","scope":92102,"visibility":"public"},{"id":91390,"nodeType":"VariableDeclaration","src":"1383:127:169","nodes":[],"constant":true,"mutability":"constant","name":"_DELEGATION_TYPEHASH","nameLocation":"1408:20:169","scope":92102,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":91386,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1383:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"44656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929","id":91388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1449:60:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""},"value":"Delegation(address delegatee,uint256 nonce,uint256 expiry)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""}],"id":91387,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1439:9:169","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":91389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1439:71:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":91394,"nodeType":"VariableDeclaration","src":"1517:46:169","nodes":[],"constant":false,"mutability":"mutable","name":"_delegates","nameLocation":"1553:10:169","scope":92102,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":91393,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":91391,"name":"address","nodeType":"ElementaryTypeName","src":"1525:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1517:27:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":91392,"name":"address","nodeType":"ElementaryTypeName","src":"1536:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":91400,"nodeType":"VariableDeclaration","src":"1569:53:169","nodes":[],"constant":false,"mutability":"mutable","name":"_checkpoints","nameLocation":"1610:12:169","scope":92102,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint[])"},"typeName":{"id":91399,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":91395,"name":"address","nodeType":"ElementaryTypeName","src":"1577:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1569:32:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":91397,"nodeType":"UserDefinedTypeName","pathNode":{"id":91396,"name":"Checkpoint","nameLocations":["1588:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"1588:10:169"},"referencedDeclaration":91385,"src":"1588:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":91398,"nodeType":"ArrayTypeName","src":"1588:12:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}}},"visibility":"private"},{"id":91404,"nodeType":"VariableDeclaration","src":"1628:44:169","nodes":[],"constant":false,"mutability":"mutable","name":"_totalSupplyCheckpoints","nameLocation":"1649:23:169","scope":92102,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":91402,"nodeType":"UserDefinedTypeName","pathNode":{"id":91401,"name":"Checkpoint","nameLocations":["1628:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"1628:10:169"},"referencedDeclaration":91385,"src":"1628:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":91403,"nodeType":"ArrayTypeName","src":"1628:12:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"private"},{"id":91418,"nodeType":"FunctionDefinition","src":"1817:118:169","nodes":[],"body":{"id":91417,"nodeType":"Block","src":"1880:55:169","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":91413,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1915:5:169","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":91414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1921:6:169","memberName":"number","nodeType":"MemberAccess","src":"1915:12:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91411,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"1897:8:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":91412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1906:8:169","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":98524,"src":"1897:17:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":91415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1897:31:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":91410,"id":91416,"nodeType":"Return","src":"1890:38:169"}]},"baseFunctions":[90379],"documentation":{"id":91405,"nodeType":"StructuredDocumentation","src":"1679:133:169","text":" @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"functionSelector":"91ddadf4","implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"1826:5:169","overrides":{"id":91407,"nodeType":"OverrideSpecifier","overrides":[],"src":"1854:8:169"},"parameters":{"id":91406,"nodeType":"ParameterList","parameters":[],"src":"1831:2:169"},"returnParameters":{"id":91410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91409,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91418,"src":"1872:6:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":91408,"name":"uint48","nodeType":"ElementaryTypeName","src":"1872:6:169","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"1871:8:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91437,"nodeType":"FunctionDefinition","src":"2047:254:169","nodes":[],"body":{"id":91436,"nodeType":"Block","src":"2122:179:169","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":91426,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91418,"src":"2189:5:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":91427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2189:7:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":91428,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2200:5:169","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":91429,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2206:6:169","memberName":"number","nodeType":"MemberAccess","src":"2200:12:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2189:23:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465","id":91431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2214:31:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_d8b645ec611d4ec3e2023618b4603d577ce189d5bc833b5325ebd41cfe74f8df","typeString":"literal_string \"ERC20Votes: broken clock mode\""},"value":"ERC20Votes: broken clock mode"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d8b645ec611d4ec3e2023618b4603d577ce189d5bc833b5325ebd41cfe74f8df","typeString":"literal_string \"ERC20Votes: broken clock mode\""}],"id":91425,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2181:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2181:65:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91433,"nodeType":"ExpressionStatement","src":"2181:65:169"},{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":91434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:31:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":91424,"id":91435,"nodeType":"Return","src":"2256:38:169"}]},"baseFunctions":[90385],"documentation":{"id":91419,"nodeType":"StructuredDocumentation","src":"1941:48:169","text":" @dev Description of the clock"},"functionSelector":"4bf5d7e9","implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2056:10:169","overrides":{"id":91421,"nodeType":"OverrideSpecifier","overrides":[],"src":"2089:8:169"},"parameters":{"id":91420,"nodeType":"ParameterList","parameters":[],"src":"2066:2:169"},"returnParameters":{"id":91424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91437,"src":"2107:13:169","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":91422,"name":"string","nodeType":"ElementaryTypeName","src":"2107:6:169","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2106:15:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91455,"nodeType":"FunctionDefinition","src":"2378:148:169","nodes":[],"body":{"id":91454,"nodeType":"Block","src":"2476:50:169","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":91448,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"2493:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91450,"indexExpression":{"id":91449,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91440,"src":"2506:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2493:21:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":91452,"indexExpression":{"id":91451,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91442,"src":"2515:3:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2493:26:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage","typeString":"struct ERC20Votes.Checkpoint storage ref"}},"functionReturnParameters":91447,"id":91453,"nodeType":"Return","src":"2486:33:169"}]},"documentation":{"id":91438,"nodeType":"StructuredDocumentation","src":"2307:66:169","text":" @dev Get the `pos`-th checkpoint for `account`."},"functionSelector":"f1127ed8","implemented":true,"kind":"function","modifiers":[],"name":"checkpoints","nameLocation":"2387:11:169","parameters":{"id":91443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91440,"mutability":"mutable","name":"account","nameLocation":"2407:7:169","nodeType":"VariableDeclaration","scope":91455,"src":"2399:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91439,"name":"address","nodeType":"ElementaryTypeName","src":"2399:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91442,"mutability":"mutable","name":"pos","nameLocation":"2423:3:169","nodeType":"VariableDeclaration","scope":91455,"src":"2416:10:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":91441,"name":"uint32","nodeType":"ElementaryTypeName","src":"2416:6:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2398:29:169"},"returnParameters":{"id":91447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91446,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91455,"src":"2457:17:169","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":91445,"nodeType":"UserDefinedTypeName","pathNode":{"id":91444,"name":"Checkpoint","nameLocations":["2457:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"2457:10:169"},"referencedDeclaration":91385,"src":"2457:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"src":"2456:19:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91472,"nodeType":"FunctionDefinition","src":"2601:149:169","nodes":[],"body":{"id":91471,"nodeType":"Block","src":"2679:71:169","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":91465,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"2714:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91467,"indexExpression":{"id":91466,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91458,"src":"2727:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2714:21:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":91468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2736:6:169","memberName":"length","nodeType":"MemberAccess","src":"2714:28:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91463,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"2696:8:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":91464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2705:8:169","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"2696:17:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":91469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2696:47:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":91462,"id":91470,"nodeType":"Return","src":"2689:54:169"}]},"documentation":{"id":91456,"nodeType":"StructuredDocumentation","src":"2532:64:169","text":" @dev Get number of checkpoints for `account`."},"functionSelector":"6fcfff45","implemented":true,"kind":"function","modifiers":[],"name":"numCheckpoints","nameLocation":"2610:14:169","parameters":{"id":91459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91458,"mutability":"mutable","name":"account","nameLocation":"2633:7:169","nodeType":"VariableDeclaration","scope":91472,"src":"2625:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91457,"name":"address","nodeType":"ElementaryTypeName","src":"2625:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2624:17:169"},"returnParameters":{"id":91462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91472,"src":"2671:6:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":91460,"name":"uint32","nodeType":"ElementaryTypeName","src":"2671:6:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"2670:8:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91486,"nodeType":"FunctionDefinition","src":"2838:126:169","nodes":[],"body":{"id":91485,"nodeType":"Block","src":"2921:43:169","nodes":[],"statements":[{"expression":{"baseExpression":{"id":91481,"name":"_delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91394,"src":"2938:10:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":91483,"indexExpression":{"id":91482,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91475,"src":"2949:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2938:19:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":91480,"id":91484,"nodeType":"Return","src":"2931:26:169"}]},"baseFunctions":[89744],"documentation":{"id":91473,"nodeType":"StructuredDocumentation","src":"2756:77:169","text":" @dev Get the address `account` is currently delegating to."},"functionSelector":"587cde1e","implemented":true,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"2847:9:169","overrides":{"id":91477,"nodeType":"OverrideSpecifier","overrides":[],"src":"2894:8:169"},"parameters":{"id":91476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91475,"mutability":"mutable","name":"account","nameLocation":"2865:7:169","nodeType":"VariableDeclaration","scope":91486,"src":"2857:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91474,"name":"address","nodeType":"ElementaryTypeName","src":"2857:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2856:17:169"},"returnParameters":{"id":91480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91486,"src":"2912:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91478,"name":"address","nodeType":"ElementaryTypeName","src":"2912:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2911:9:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91518,"nodeType":"FunctionDefinition","src":"3043:243:169","nodes":[],"body":{"id":91517,"nodeType":"Block","src":"3125:161:169","nodes":[],"statements":[{"assignments":[91496],"declarations":[{"constant":false,"id":91496,"mutability":"mutable","name":"pos","nameLocation":"3143:3:169","nodeType":"VariableDeclaration","scope":91517,"src":"3135:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91495,"name":"uint256","nodeType":"ElementaryTypeName","src":"3135:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91501,"initialValue":{"expression":{"baseExpression":{"id":91497,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"3149:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91499,"indexExpression":{"id":91498,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91489,"src":"3162:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3149:21:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":91500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3171:6:169","memberName":"length","nodeType":"MemberAccess","src":"3149:28:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3135:42:169"},{"id":91516,"nodeType":"UncheckedBlock","src":"3187:93:169","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91502,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91496,"src":"3218:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":91503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3225:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3218:8:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"baseExpression":{"baseExpression":{"id":91506,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"3233:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91508,"indexExpression":{"id":91507,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91489,"src":"3246:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3233:21:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},"id":91512,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91509,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91496,"src":"3255:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":91510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3261:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3255:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3233:30:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage","typeString":"struct ERC20Votes.Checkpoint storage ref"}},"id":91513,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3264:5:169","memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":91384,"src":"3233:36:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":91514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3218:51:169","trueExpression":{"hexValue":"30","id":91505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3229:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":91494,"id":91515,"nodeType":"Return","src":"3211:58:169"}]}]},"baseFunctions":[89718],"documentation":{"id":91487,"nodeType":"StructuredDocumentation","src":"2970:68:169","text":" @dev Gets the current votes balance for `account`"},"functionSelector":"9ab24eb0","implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"3052:8:169","overrides":{"id":91491,"nodeType":"OverrideSpecifier","overrides":[],"src":"3098:8:169"},"parameters":{"id":91490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91489,"mutability":"mutable","name":"account","nameLocation":"3069:7:169","nodeType":"VariableDeclaration","scope":91518,"src":"3061:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91488,"name":"address","nodeType":"ElementaryTypeName","src":"3061:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3060:17:169"},"returnParameters":{"id":91494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91493,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91518,"src":"3116:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91492,"name":"uint256","nodeType":"ElementaryTypeName","src":"3116:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3115:9:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91545,"nodeType":"FunctionDefinition","src":"3466:248:169","nodes":[],"body":{"id":91544,"nodeType":"Block","src":"3571:143:169","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91530,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91523,"src":"3589:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":91531,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91418,"src":"3601:5:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":91532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3601:7:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"3589:19:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20667574757265206c6f6f6b7570","id":91534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3610:27:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb4d8462c9084391e0cf06f1b2a0a5b1a23dc8fede26e3b7b37154948e87a72","typeString":"literal_string \"ERC20Votes: future lookup\""},"value":"ERC20Votes: future lookup"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb4d8462c9084391e0cf06f1b2a0a5b1a23dc8fede26e3b7b37154948e87a72","typeString":"literal_string \"ERC20Votes: future lookup\""}],"id":91529,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3581:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3581:57:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91536,"nodeType":"ExpressionStatement","src":"3581:57:169"},{"expression":{"arguments":[{"baseExpression":{"id":91538,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"3674:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91540,"indexExpression":{"id":91539,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91521,"src":"3687:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3674:21:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91541,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91523,"src":"3697:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91537,"name":"_checkpointsLookup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91675,"src":"3655:18:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)"}},"id":91542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3655:52:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":91528,"id":91543,"nodeType":"Return","src":"3648:59:169"}]},"baseFunctions":[89728],"documentation":{"id":91519,"nodeType":"StructuredDocumentation","src":"3292:169:169","text":" @dev Retrieve the number of votes for `account` at the end of `timepoint`.\n Requirements:\n - `timepoint` must be in the past"},"functionSelector":"3a46b1a8","implemented":true,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"3475:12:169","overrides":{"id":91525,"nodeType":"OverrideSpecifier","overrides":[],"src":"3544:8:169"},"parameters":{"id":91524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91521,"mutability":"mutable","name":"account","nameLocation":"3496:7:169","nodeType":"VariableDeclaration","scope":91545,"src":"3488:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91520,"name":"address","nodeType":"ElementaryTypeName","src":"3488:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91523,"mutability":"mutable","name":"timepoint","nameLocation":"3513:9:169","nodeType":"VariableDeclaration","scope":91545,"src":"3505:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91522,"name":"uint256","nodeType":"ElementaryTypeName","src":"3505:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3487:36:169"},"returnParameters":{"id":91528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91527,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91545,"src":"3562:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91526,"name":"uint256","nodeType":"ElementaryTypeName","src":"3562:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3561:9:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91568,"nodeType":"FunctionDefinition","src":"3976:239:169","nodes":[],"body":{"id":91567,"nodeType":"Block","src":"4070:145:169","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91555,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91548,"src":"4088:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":91556,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91418,"src":"4100:5:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":91557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4100:7:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4088:19:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20667574757265206c6f6f6b7570","id":91559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4109:27:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fb4d8462c9084391e0cf06f1b2a0a5b1a23dc8fede26e3b7b37154948e87a72","typeString":"literal_string \"ERC20Votes: future lookup\""},"value":"ERC20Votes: future lookup"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9fb4d8462c9084391e0cf06f1b2a0a5b1a23dc8fede26e3b7b37154948e87a72","typeString":"literal_string \"ERC20Votes: future lookup\""}],"id":91554,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4080:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4080:57:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91561,"nodeType":"ExpressionStatement","src":"4080:57:169"},{"expression":{"arguments":[{"id":91563,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91404,"src":"4173:23:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91564,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91548,"src":"4198:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91562,"name":"_checkpointsLookup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91675,"src":"4154:18:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) view returns (uint256)"}},"id":91565,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4154:54:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":91553,"id":91566,"nodeType":"Return","src":"4147:61:169"}]},"baseFunctions":[89736],"documentation":{"id":91546,"nodeType":"StructuredDocumentation","src":"3720:251:169","text":" @dev Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances.\n It is NOT the sum of all the delegated votes!\n Requirements:\n - `timepoint` must be in the past"},"functionSelector":"8e539e8c","implemented":true,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"3985:18:169","overrides":{"id":91550,"nodeType":"OverrideSpecifier","overrides":[],"src":"4043:8:169"},"parameters":{"id":91549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91548,"mutability":"mutable","name":"timepoint","nameLocation":"4012:9:169","nodeType":"VariableDeclaration","scope":91568,"src":"4004:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91547,"name":"uint256","nodeType":"ElementaryTypeName","src":"4004:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4003:19:169"},"returnParameters":{"id":91553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91568,"src":"4061:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91551,"name":"uint256","nodeType":"ElementaryTypeName","src":"4061:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4060:9:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":91675,"nodeType":"FunctionDefinition","src":"4299:1895:169","nodes":[],"body":{"id":91674,"nodeType":"Block","src":"4405:1789:169","nodes":[],"statements":[{"assignments":[91581],"declarations":[{"constant":false,"id":91581,"mutability":"mutable","name":"length","nameLocation":"5501:6:169","nodeType":"VariableDeclaration","scope":91674,"src":"5493:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91580,"name":"uint256","nodeType":"ElementaryTypeName","src":"5493:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91584,"initialValue":{"expression":{"id":91582,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91573,"src":"5510:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":91583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5516:6:169","memberName":"length","nodeType":"MemberAccess","src":"5510:12:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5493:29:169"},{"assignments":[91586],"declarations":[{"constant":false,"id":91586,"mutability":"mutable","name":"low","nameLocation":"5541:3:169","nodeType":"VariableDeclaration","scope":91674,"src":"5533:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91585,"name":"uint256","nodeType":"ElementaryTypeName","src":"5533:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91588,"initialValue":{"hexValue":"30","id":91587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5547:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"5533:15:169"},{"assignments":[91590],"declarations":[{"constant":false,"id":91590,"mutability":"mutable","name":"high","nameLocation":"5566:4:169","nodeType":"VariableDeclaration","scope":91674,"src":"5558:12:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91589,"name":"uint256","nodeType":"ElementaryTypeName","src":"5558:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91592,"initialValue":{"id":91591,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91581,"src":"5573:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5558:21:169"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91593,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91581,"src":"5594:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35","id":91594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5603:1:169","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"src":"5594:10:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91626,"nodeType":"IfStatement","src":"5590:242:169","trueBody":{"id":91625,"nodeType":"Block","src":"5606:226:169","statements":[{"assignments":[91597],"declarations":[{"constant":false,"id":91597,"mutability":"mutable","name":"mid","nameLocation":"5628:3:169","nodeType":"VariableDeclaration","scope":91625,"src":"5620:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91596,"name":"uint256","nodeType":"ElementaryTypeName","src":"5620:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91604,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91598,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91581,"src":"5634:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"id":91601,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91581,"src":"5653:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91599,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"5643:4:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":91600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5648:4:169","memberName":"sqrt","nodeType":"MemberAccess","referencedDeclaration":97375,"src":"5643:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":91602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5643:17:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5634:26:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5620:40:169"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":91606,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91573,"src":"5692:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"id":91607,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91597,"src":"5699:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91605,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92101,"src":"5678:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":91608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5678:25:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":91609,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5704:9:169","memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":91382,"src":"5678:35:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":91610,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91575,"src":"5716:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5678:47:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":91623,"nodeType":"Block","src":"5776:46:169","statements":[{"expression":{"id":91621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":91617,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91586,"src":"5794:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91618,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91597,"src":"5800:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":91619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5806:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"5800:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5794:13:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":91622,"nodeType":"ExpressionStatement","src":"5794:13:169"}]},"id":91624,"nodeType":"IfStatement","src":"5674:148:169","trueBody":{"id":91616,"nodeType":"Block","src":"5727:43:169","statements":[{"expression":{"id":91614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":91612,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"5745:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":91613,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91597,"src":"5752:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5745:10:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":91615,"nodeType":"ExpressionStatement","src":"5745:10:169"}]}}]}},{"body":{"id":91658,"nodeType":"Block","src":"5861:223:169","statements":[{"assignments":[91631],"declarations":[{"constant":false,"id":91631,"mutability":"mutable","name":"mid","nameLocation":"5883:3:169","nodeType":"VariableDeclaration","scope":91658,"src":"5875:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91630,"name":"uint256","nodeType":"ElementaryTypeName","src":"5875:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91637,"initialValue":{"arguments":[{"id":91634,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91586,"src":"5902:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":91635,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"5907:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91632,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"5889:4:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":91633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5894:7:169","memberName":"average","nodeType":"MemberAccess","referencedDeclaration":97071,"src":"5889:12:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":91636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5889:23:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5875:37:169"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":91639,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91573,"src":"5944:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"id":91640,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91631,"src":"5951:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91638,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92101,"src":"5930:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":91641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5930:25:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":91642,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5956:9:169","memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":91382,"src":"5930:35:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":91643,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91575,"src":"5968:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5930:47:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":91656,"nodeType":"Block","src":"6028:46:169","statements":[{"expression":{"id":91654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":91650,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91586,"src":"6046:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91651,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91631,"src":"6052:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":91652,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6058:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6052:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6046:13:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":91655,"nodeType":"ExpressionStatement","src":"6046:13:169"}]},"id":91657,"nodeType":"IfStatement","src":"5926:148:169","trueBody":{"id":91649,"nodeType":"Block","src":"5979:43:169","statements":[{"expression":{"id":91647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":91645,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"5997:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":91646,"name":"mid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91631,"src":"6004:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5997:10:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":91648,"nodeType":"ExpressionStatement","src":"5997:10:169"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91627,"name":"low","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91586,"src":"5849:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":91628,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"5855:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5849:10:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91659,"nodeType":"WhileStatement","src":"5842:242:169"},{"id":91673,"nodeType":"UncheckedBlock","src":"6094:94:169","statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91660,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"6125:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":91661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6133:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6125:9:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"arguments":[{"id":91665,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91573,"src":"6155:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91666,"name":"high","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91590,"src":"6162:4:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":91667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6169:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6162:8:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91664,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92101,"src":"6141:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":91669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6141:30:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":91670,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6172:5:169","memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":91384,"src":"6141:36:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":91671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"6125:52:169","trueExpression":{"hexValue":"30","id":91663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6137:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":91579,"id":91672,"nodeType":"Return","src":"6118:59:169"}]}]},"documentation":{"id":91569,"nodeType":"StructuredDocumentation","src":"4221:73:169","text":" @dev Lookup a value in a list of (sorted) checkpoints."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkpointsLookup","nameLocation":"4308:18:169","parameters":{"id":91576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91573,"mutability":"mutable","name":"ckpts","nameLocation":"4348:5:169","nodeType":"VariableDeclaration","scope":91675,"src":"4327:26:169","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":91571,"nodeType":"UserDefinedTypeName","pathNode":{"id":91570,"name":"Checkpoint","nameLocations":["4327:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"4327:10:169"},"referencedDeclaration":91385,"src":"4327:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":91572,"nodeType":"ArrayTypeName","src":"4327:12:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":91575,"mutability":"mutable","name":"timepoint","nameLocation":"4363:9:169","nodeType":"VariableDeclaration","scope":91675,"src":"4355:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91574,"name":"uint256","nodeType":"ElementaryTypeName","src":"4355:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4326:47:169"},"returnParameters":{"id":91579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91578,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91675,"src":"4396:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91577,"name":"uint256","nodeType":"ElementaryTypeName","src":"4396:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4395:9:169"},"scope":92102,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":91689,"nodeType":"FunctionDefinition","src":"6275:112:169","nodes":[],"body":{"id":91688,"nodeType":"Block","src":"6336:51:169","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":91683,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"6356:10:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":91684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6356:12:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91685,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91678,"src":"6370:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":91682,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91886,"src":"6346:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":91686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6346:34:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91687,"nodeType":"ExpressionStatement","src":"6346:34:169"}]},"baseFunctions":[89750],"documentation":{"id":91676,"nodeType":"StructuredDocumentation","src":"6200:70:169","text":" @dev Delegate votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","implemented":true,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"6284:8:169","overrides":{"id":91680,"nodeType":"OverrideSpecifier","overrides":[],"src":"6327:8:169"},"parameters":{"id":91679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91678,"mutability":"mutable","name":"delegatee","nameLocation":"6301:9:169","nodeType":"VariableDeclaration","scope":91689,"src":"6293:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91677,"name":"address","nodeType":"ElementaryTypeName","src":"6293:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6292:19:169"},"returnParameters":{"id":91681,"nodeType":"ParameterList","parameters":[],"src":"6336:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":91749,"nodeType":"FunctionDefinition","src":"6464:574:169","nodes":[],"body":{"id":91748,"nodeType":"Block","src":"6646:392:169","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":91707,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6664:5:169","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":91708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6670:9:169","memberName":"timestamp","nodeType":"MemberAccess","src":"6664:15:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":91709,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91696,"src":"6683:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6664:25:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a207369676e61747572652065787069726564","id":91711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6691:31:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257","typeString":"literal_string \"ERC20Votes: signature expired\""},"value":"ERC20Votes: signature expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_136d0f69bc85a5c125b5cc368e2880ebdb3c89d4d9828f6476431c386ea60257","typeString":"literal_string \"ERC20Votes: signature expired\""}],"id":91706,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6656:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6656:67:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91713,"nodeType":"ExpressionStatement","src":"6656:67:169"},{"assignments":[91715],"declarations":[{"constant":false,"id":91715,"mutability":"mutable","name":"signer","nameLocation":"6741:6:169","nodeType":"VariableDeclaration","scope":91748,"src":"6733:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91714,"name":"address","nodeType":"ElementaryTypeName","src":"6733:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":91733,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":91722,"name":"_DELEGATION_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91390,"src":"6815:20:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":91723,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91692,"src":"6837:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91724,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91694,"src":"6848:5:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":91725,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91696,"src":"6855:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91720,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6804:3:169","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":91721,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6808:6:169","memberName":"encode","nodeType":"MemberAccess","src":"6804:10:169","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":91726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:58:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":91719,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"6794:9:169","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":91727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6794:69:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":91718,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96727,"src":"6777:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":91728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6777:87:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":91729,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91698,"src":"6878:1:169","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":91730,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91700,"src":"6893:1:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":91731,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91702,"src":"6908:1:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":91716,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96571,"src":"6750:5:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$96571_$","typeString":"type(library ECDSA)"}},"id":91717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6756:7:169","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":96506,"src":"6750:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":91732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6750:169:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6733:186:169"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91735,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91694,"src":"6937:5:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":91737,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91715,"src":"6956:6:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":91736,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91367,"src":"6946:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":91738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6946:17:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6937:26:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20696e76616c6964206e6f6e6365","id":91740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6965:27:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872","typeString":"literal_string \"ERC20Votes: invalid nonce\""},"value":"ERC20Votes: invalid nonce"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1a23b43d95073d55a7380117ca03cace60cd22fee15d5cb140d51e46236e6872","typeString":"literal_string \"ERC20Votes: invalid nonce\""}],"id":91734,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6929:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6929:64:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91742,"nodeType":"ExpressionStatement","src":"6929:64:169"},{"expression":{"arguments":[{"id":91744,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91715,"src":"7013:6:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91745,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91692,"src":"7021:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":91743,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91886,"src":"7003:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":91746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7003:28:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91747,"nodeType":"ExpressionStatement","src":"7003:28:169"}]},"baseFunctions":[89766],"documentation":{"id":91690,"nodeType":"StructuredDocumentation","src":"6393:66:169","text":" @dev Delegates votes from signer to `delegatee`"},"functionSelector":"c3cda520","implemented":true,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"6473:13:169","overrides":{"id":91704,"nodeType":"OverrideSpecifier","overrides":[],"src":"6637:8:169"},"parameters":{"id":91703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91692,"mutability":"mutable","name":"delegatee","nameLocation":"6504:9:169","nodeType":"VariableDeclaration","scope":91749,"src":"6496:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91691,"name":"address","nodeType":"ElementaryTypeName","src":"6496:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91694,"mutability":"mutable","name":"nonce","nameLocation":"6531:5:169","nodeType":"VariableDeclaration","scope":91749,"src":"6523:13:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91693,"name":"uint256","nodeType":"ElementaryTypeName","src":"6523:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91696,"mutability":"mutable","name":"expiry","nameLocation":"6554:6:169","nodeType":"VariableDeclaration","scope":91749,"src":"6546:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91695,"name":"uint256","nodeType":"ElementaryTypeName","src":"6546:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91698,"mutability":"mutable","name":"v","nameLocation":"6576:1:169","nodeType":"VariableDeclaration","scope":91749,"src":"6570:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":91697,"name":"uint8","nodeType":"ElementaryTypeName","src":"6570:5:169","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":91700,"mutability":"mutable","name":"r","nameLocation":"6595:1:169","nodeType":"VariableDeclaration","scope":91749,"src":"6587:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":91699,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6587:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":91702,"mutability":"mutable","name":"s","nameLocation":"6614:1:169","nodeType":"VariableDeclaration","scope":91749,"src":"6606:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":91701,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6606:7:169","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6486:135:169"},"returnParameters":{"id":91705,"nodeType":"ParameterList","parameters":[],"src":"6646:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":91762,"nodeType":"FunctionDefinition","src":"7140:103:169","nodes":[],"body":{"id":91761,"nodeType":"Block","src":"7202:41:169","nodes":[],"statements":[{"expression":{"expression":{"arguments":[{"id":91757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7224:7:169","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":91756,"name":"uint224","nodeType":"ElementaryTypeName","src":"7224:7:169","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":91755,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7219:4:169","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":91758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7219:13:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":91759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7233:3:169","memberName":"max","nodeType":"MemberAccess","src":"7219:17:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":91754,"id":91760,"nodeType":"Return","src":"7212:24:169"}]},"documentation":{"id":91750,"nodeType":"StructuredDocumentation","src":"7044:91:169","text":" @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1)."},"implemented":true,"kind":"function","modifiers":[],"name":"_maxSupply","nameLocation":"7149:10:169","parameters":{"id":91751,"nodeType":"ParameterList","parameters":[],"src":"7159:2:169"},"returnParameters":{"id":91754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91753,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91762,"src":"7193:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":91752,"name":"uint224","nodeType":"ElementaryTypeName","src":"7193:7:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"7192:9:169"},"scope":92102,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":91794,"nodeType":"FunctionDefinition","src":"7332:285:169","nodes":[],"body":{"id":91793,"nodeType":"Block","src":"7406:211:169","nodes":[],"statements":[{"expression":{"arguments":[{"id":91774,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91765,"src":"7428:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91775,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91767,"src":"7437:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91771,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7416:5:169","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$92102_$","typeString":"type(contract super ERC20Votes)"}},"id":91773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7422:5:169","memberName":"_mint","nodeType":"MemberAccess","referencedDeclaration":90935,"src":"7416:11:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":91776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7416:28:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91777,"nodeType":"ExpressionStatement","src":"7416:28:169"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":91779,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90616,"src":"7462:11:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":91780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7462:13:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":91781,"name":"_maxSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91762,"src":"7479:10:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint224_$","typeString":"function () view returns (uint224)"}},"id":91782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7479:12:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"7462:29:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433230566f7465733a20746f74616c20737570706c79207269736b73206f766572666c6f77696e6720766f746573","id":91784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7493:50:169","typeDescriptions":{"typeIdentifier":"t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699","typeString":"literal_string \"ERC20Votes: total supply risks overflowing votes\""},"value":"ERC20Votes: total supply risks overflowing votes"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_97859f657b3d95198b68f29ae96ee966779795bec3ef1e76700d2d39fefd7699","typeString":"literal_string \"ERC20Votes: total supply risks overflowing votes\""}],"id":91778,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7454:7:169","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":91785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7454:90:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91786,"nodeType":"ExpressionStatement","src":"7454:90:169"},{"expression":{"arguments":[{"id":91788,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91404,"src":"7572:23:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91789,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92072,"src":"7597:4:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":91790,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91767,"src":"7603:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91787,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92058,"src":"7555:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":91791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7555:55:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":91792,"nodeType":"ExpressionStatement","src":"7555:55:169"}]},"baseFunctions":[90935],"documentation":{"id":91763,"nodeType":"StructuredDocumentation","src":"7249:78:169","text":" @dev Snapshots the totalSupply after it has been increased."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"7341:5:169","overrides":{"id":91769,"nodeType":"OverrideSpecifier","overrides":[],"src":"7397:8:169"},"parameters":{"id":91768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91765,"mutability":"mutable","name":"account","nameLocation":"7355:7:169","nodeType":"VariableDeclaration","scope":91794,"src":"7347:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91764,"name":"address","nodeType":"ElementaryTypeName","src":"7347:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91767,"mutability":"mutable","name":"amount","nameLocation":"7372:6:169","nodeType":"VariableDeclaration","scope":91794,"src":"7364:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91766,"name":"uint256","nodeType":"ElementaryTypeName","src":"7364:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7346:33:169"},"returnParameters":{"id":91770,"nodeType":"ParameterList","parameters":[],"src":"7406:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91817,"nodeType":"FunctionDefinition","src":"7706:190:169","nodes":[],"body":{"id":91816,"nodeType":"Block","src":"7780:116:169","nodes":[],"statements":[{"expression":{"arguments":[{"id":91806,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91797,"src":"7802:7:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91807,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91799,"src":"7811:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91803,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"7790:5:169","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$92102_$","typeString":"type(contract super ERC20Votes)"}},"id":91805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7796:5:169","memberName":"_burn","nodeType":"MemberAccess","referencedDeclaration":91007,"src":"7790:11:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":91808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7790:28:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91809,"nodeType":"ExpressionStatement","src":"7790:28:169"},{"expression":{"arguments":[{"id":91811,"name":"_totalSupplyCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91404,"src":"7846:23:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91812,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92086,"src":"7871:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":91813,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91799,"src":"7882:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91810,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92058,"src":"7829:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":91814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7829:60:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":91815,"nodeType":"ExpressionStatement","src":"7829:60:169"}]},"baseFunctions":[91007],"documentation":{"id":91795,"nodeType":"StructuredDocumentation","src":"7623:78:169","text":" @dev Snapshots the totalSupply after it has been decreased."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"7715:5:169","overrides":{"id":91801,"nodeType":"OverrideSpecifier","overrides":[],"src":"7771:8:169"},"parameters":{"id":91800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91797,"mutability":"mutable","name":"account","nameLocation":"7729:7:169","nodeType":"VariableDeclaration","scope":91817,"src":"7721:15:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91796,"name":"address","nodeType":"ElementaryTypeName","src":"7721:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91799,"mutability":"mutable","name":"amount","nameLocation":"7746:6:169","nodeType":"VariableDeclaration","scope":91817,"src":"7738:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91798,"name":"uint256","nodeType":"ElementaryTypeName","src":"7738:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7720:33:169"},"returnParameters":{"id":91802,"nodeType":"ParameterList","parameters":[],"src":"7780:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91847,"nodeType":"FunctionDefinition","src":"8036:224:169","nodes":[],"body":{"id":91846,"nodeType":"Block","src":"8133:127:169","nodes":[],"statements":[{"expression":{"arguments":[{"id":91831,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91820,"src":"8169:4:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91832,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91822,"src":"8175:2:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91833,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91824,"src":"8179:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":91828,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"8143:5:169","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC20Votes_$92102_$","typeString":"type(contract super ERC20Votes)"}},"id":91830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8149:19:169","memberName":"_afterTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":91117,"src":"8143:25:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91834,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8143:43:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91835,"nodeType":"ExpressionStatement","src":"8143:43:169"},{"expression":{"arguments":[{"arguments":[{"id":91838,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91820,"src":"8224:4:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":91837,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91486,"src":"8214:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":91839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8214:15:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":91841,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91822,"src":"8241:2:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":91840,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91486,"src":"8231:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":91842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8231:13:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91843,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91824,"src":"8246:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91836,"name":"_moveVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91957,"src":"8197:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8197:56:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91845,"nodeType":"ExpressionStatement","src":"8197:56:169"}]},"baseFunctions":[91117],"documentation":{"id":91818,"nodeType":"StructuredDocumentation","src":"7902:129:169","text":" @dev Move voting power when tokens are transferred.\n Emits a {IVotes-DelegateVotesChanged} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"8045:19:169","overrides":{"id":91826,"nodeType":"OverrideSpecifier","overrides":[],"src":"8124:8:169"},"parameters":{"id":91825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91820,"mutability":"mutable","name":"from","nameLocation":"8073:4:169","nodeType":"VariableDeclaration","scope":91847,"src":"8065:12:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91819,"name":"address","nodeType":"ElementaryTypeName","src":"8065:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91822,"mutability":"mutable","name":"to","nameLocation":"8087:2:169","nodeType":"VariableDeclaration","scope":91847,"src":"8079:10:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91821,"name":"address","nodeType":"ElementaryTypeName","src":"8079:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91824,"mutability":"mutable","name":"amount","nameLocation":"8099:6:169","nodeType":"VariableDeclaration","scope":91847,"src":"8091:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91823,"name":"uint256","nodeType":"ElementaryTypeName","src":"8091:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8064:42:169"},"returnParameters":{"id":91827,"nodeType":"ParameterList","parameters":[],"src":"8133:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91886,"nodeType":"FunctionDefinition","src":"8431:380:169","nodes":[],"body":{"id":91885,"nodeType":"Block","src":"8505:306:169","nodes":[],"statements":[{"assignments":[91856],"declarations":[{"constant":false,"id":91856,"mutability":"mutable","name":"currentDelegate","nameLocation":"8523:15:169","nodeType":"VariableDeclaration","scope":91885,"src":"8515:23:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91855,"name":"address","nodeType":"ElementaryTypeName","src":"8515:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":91860,"initialValue":{"arguments":[{"id":91858,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91850,"src":"8551:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":91857,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91486,"src":"8541:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":91859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8541:20:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8515:46:169"},{"assignments":[91862],"declarations":[{"constant":false,"id":91862,"mutability":"mutable","name":"delegatorBalance","nameLocation":"8579:16:169","nodeType":"VariableDeclaration","scope":91885,"src":"8571:24:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91861,"name":"uint256","nodeType":"ElementaryTypeName","src":"8571:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91866,"initialValue":{"arguments":[{"id":91864,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91850,"src":"8608:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":91863,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90630,"src":"8598:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":91865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8598:20:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8571:47:169"},{"expression":{"id":91871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":91867,"name":"_delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91394,"src":"8628:10:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":91869,"indexExpression":{"id":91868,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91850,"src":"8639:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8628:21:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":91870,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91852,"src":"8652:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8628:33:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":91872,"nodeType":"ExpressionStatement","src":"8628:33:169"},{"eventCall":{"arguments":[{"id":91874,"name":"delegator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91850,"src":"8693:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91875,"name":"currentDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91856,"src":"8704:15:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91876,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91852,"src":"8721:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":91873,"name":"DelegateChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89701,"src":"8677:15:169","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":91877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8677:54:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91878,"nodeType":"EmitStatement","src":"8672:59:169"},{"expression":{"arguments":[{"id":91880,"name":"currentDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91856,"src":"8759:15:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91881,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91852,"src":"8776:9:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91882,"name":"delegatorBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91862,"src":"8787:16:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91879,"name":"_moveVotingPower","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91957,"src":"8742:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":91883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8742:62:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91884,"nodeType":"ExpressionStatement","src":"8742:62:169"}]},"documentation":{"id":91848,"nodeType":"StructuredDocumentation","src":"8266:160:169","text":" @dev Change delegation for `delegator` to `delegatee`.\n Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}."},"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"8440:9:169","parameters":{"id":91853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91850,"mutability":"mutable","name":"delegator","nameLocation":"8458:9:169","nodeType":"VariableDeclaration","scope":91886,"src":"8450:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91849,"name":"address","nodeType":"ElementaryTypeName","src":"8450:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91852,"mutability":"mutable","name":"delegatee","nameLocation":"8477:9:169","nodeType":"VariableDeclaration","scope":91886,"src":"8469:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91851,"name":"address","nodeType":"ElementaryTypeName","src":"8469:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8449:38:169"},"returnParameters":{"id":91854,"nodeType":"ParameterList","parameters":[],"src":"8505:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":91957,"nodeType":"FunctionDefinition","src":"8817:597:169","nodes":[],"body":{"id":91956,"nodeType":"Block","src":"8893:521:169","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":91901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":91897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91895,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91888,"src":"8907:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":91896,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91890,"src":"8914:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8907:10:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91898,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91892,"src":"8921:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":91899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8930:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8921:10:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8907:24:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91955,"nodeType":"IfStatement","src":"8903:505:169","trueBody":{"id":91954,"nodeType":"Block","src":"8933:475:169","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":91907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91902,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91888,"src":"8951:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":91905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8966:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91904,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8958:7:169","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":91903,"name":"address","nodeType":"ElementaryTypeName","src":"8958:7:169","typeDescriptions":{}}},"id":91906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8958:10:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8951:17:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91927,"nodeType":"IfStatement","src":"8947:221:169","trueBody":{"id":91926,"nodeType":"Block","src":"8970:198:169","statements":[{"assignments":[91909,91911],"declarations":[{"constant":false,"id":91909,"mutability":"mutable","name":"oldWeight","nameLocation":"8997:9:169","nodeType":"VariableDeclaration","scope":91926,"src":"8989:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91908,"name":"uint256","nodeType":"ElementaryTypeName","src":"8989:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91911,"mutability":"mutable","name":"newWeight","nameLocation":"9016:9:169","nodeType":"VariableDeclaration","scope":91926,"src":"9008:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91910,"name":"uint256","nodeType":"ElementaryTypeName","src":"9008:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91919,"initialValue":{"arguments":[{"baseExpression":{"id":91913,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"9046:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91915,"indexExpression":{"id":91914,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91888,"src":"9059:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9046:17:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91916,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92086,"src":"9065:9:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":91917,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91892,"src":"9076:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91912,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92058,"src":"9029:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":91918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9029:54:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8988:95:169"},{"eventCall":{"arguments":[{"id":91921,"name":"src","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91888,"src":"9127:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91922,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91909,"src":"9132:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":91923,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91911,"src":"9143:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91920,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89710,"src":"9106:20:169","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":91924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9106:47:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91925,"nodeType":"EmitStatement","src":"9101:52:169"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":91933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91928,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91890,"src":"9186:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":91931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9201:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9193:7:169","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":91929,"name":"address","nodeType":"ElementaryTypeName","src":"9193:7:169","typeDescriptions":{}}},"id":91932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9193:10:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9186:17:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":91953,"nodeType":"IfStatement","src":"9182:216:169","trueBody":{"id":91952,"nodeType":"Block","src":"9205:193:169","statements":[{"assignments":[91935,91937],"declarations":[{"constant":false,"id":91935,"mutability":"mutable","name":"oldWeight","nameLocation":"9232:9:169","nodeType":"VariableDeclaration","scope":91952,"src":"9224:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91934,"name":"uint256","nodeType":"ElementaryTypeName","src":"9224:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91937,"mutability":"mutable","name":"newWeight","nameLocation":"9251:9:169","nodeType":"VariableDeclaration","scope":91952,"src":"9243:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91936,"name":"uint256","nodeType":"ElementaryTypeName","src":"9243:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91945,"initialValue":{"arguments":[{"baseExpression":{"id":91939,"name":"_checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91400,"src":"9281:12:169","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_$","typeString":"mapping(address => struct ERC20Votes.Checkpoint storage ref[] storage ref)"}},"id":91941,"indexExpression":{"id":91940,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91890,"src":"9294:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9281:17:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"}},{"id":91942,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92072,"src":"9300:4:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":91943,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91892,"src":"9306:6:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91938,"name":"_writeCheckpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92058,"src":"9264:16:169","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":91944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9264:49:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"9223:90:169"},{"eventCall":{"arguments":[{"id":91947,"name":"dst","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91890,"src":"9357:3:169","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":91948,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91935,"src":"9362:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":91949,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91937,"src":"9373:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91946,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89710,"src":"9336:20:169","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":91950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9336:47:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":91951,"nodeType":"EmitStatement","src":"9331:52:169"}]}}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_moveVotingPower","nameLocation":"8826:16:169","parameters":{"id":91893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91888,"mutability":"mutable","name":"src","nameLocation":"8851:3:169","nodeType":"VariableDeclaration","scope":91957,"src":"8843:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91887,"name":"address","nodeType":"ElementaryTypeName","src":"8843:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91890,"mutability":"mutable","name":"dst","nameLocation":"8864:3:169","nodeType":"VariableDeclaration","scope":91957,"src":"8856:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91889,"name":"address","nodeType":"ElementaryTypeName","src":"8856:7:169","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91892,"mutability":"mutable","name":"amount","nameLocation":"8877:6:169","nodeType":"VariableDeclaration","scope":91957,"src":"8869:14:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91891,"name":"uint256","nodeType":"ElementaryTypeName","src":"8869:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8842:42:169"},"returnParameters":{"id":91894,"nodeType":"ParameterList","parameters":[],"src":"8893:0:169"},"scope":92102,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":92058,"nodeType":"FunctionDefinition","src":"9420:768:169","nodes":[],"body":{"id":92057,"nodeType":"Block","src":"9628:560:169","nodes":[],"statements":[{"assignments":[91981],"declarations":[{"constant":false,"id":91981,"mutability":"mutable","name":"pos","nameLocation":"9646:3:169","nodeType":"VariableDeclaration","scope":92057,"src":"9638:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91980,"name":"uint256","nodeType":"ElementaryTypeName","src":"9638:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":91984,"initialValue":{"expression":{"id":91982,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91961,"src":"9652:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":91983,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9658:6:169","memberName":"length","nodeType":"MemberAccess","src":"9652:12:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9638:26:169"},{"id":92056,"nodeType":"UncheckedBlock","src":"9675:507:169","statements":[{"assignments":[91987],"declarations":[{"constant":false,"id":91987,"mutability":"mutable","name":"oldCkpt","nameLocation":"9717:7:169","nodeType":"VariableDeclaration","scope":92056,"src":"9699:25:169","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":91986,"nodeType":"UserDefinedTypeName","pathNode":{"id":91985,"name":"Checkpoint","nameLocations":["9699:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"9699:10:169"},"referencedDeclaration":91385,"src":"9699:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"id":92002,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91990,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91988,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91981,"src":"9727:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":91989,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9734:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9727:8:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":91996,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91961,"src":"9771:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":91999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":91997,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91981,"src":"9778:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":91998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9784:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9778:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":91995,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92101,"src":"9757:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":92000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9757:29:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":92001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9727:59:169","trueExpression":{"arguments":[{"hexValue":"30","id":91992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9749:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":91993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9752:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":91991,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91385,"src":"9738:10:169","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"type(struct ERC20Votes.Checkpoint storage pointer)"}},"id":91994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9738:16:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"nodeType":"VariableDeclarationStatement","src":"9699:87:169"},{"expression":{"id":92006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92003,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91976,"src":"9801:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":92004,"name":"oldCkpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91987,"src":"9813:7:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"id":92005,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9821:5:169","memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":91384,"src":"9813:13:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"9801:25:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":92007,"nodeType":"ExpressionStatement","src":"9801:25:169"},{"expression":{"id":92013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92008,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91978,"src":"9840:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":92010,"name":"oldWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91976,"src":"9855:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92011,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91973,"src":"9866:5:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92009,"name":"op","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91971,"src":"9852:2:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":92012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9852:20:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9840:32:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":92014,"nodeType":"ExpressionStatement","src":"9840:32:169"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92015,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91981,"src":"9891:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":92016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9897:1:169","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9891:7:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint48","typeString":"uint48"},"id":92022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":92018,"name":"oldCkpt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91987,"src":"9902:7:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}},"id":92019,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9910:9:169","memberName":"fromBlock","nodeType":"MemberAccess","referencedDeclaration":91382,"src":"9902:17:169","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":92020,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91418,"src":"9923:5:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":92021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9923:7:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"9902:28:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9891:39:169","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":92054,"nodeType":"Block","src":"10038:134:169","statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92044,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91418,"src":"10108:5:169","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":92045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10108:7:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":92042,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"10090:8:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":92043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10099:8:169","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"10090:17:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":92046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10090:26:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"id":92049,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91978,"src":"10144:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92047,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"10125:8:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":92048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10134:9:169","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"10125:18:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":92050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10125:29:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":92041,"name":"Checkpoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91385,"src":"10067:10:169","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"type(struct ERC20Votes.Checkpoint storage pointer)"}},"id":92051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["10079:9:169","10118:5:169"],"names":["fromBlock","votes"],"nodeType":"FunctionCall","src":"10067:89:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Checkpoint_$91385_memory_ptr","typeString":"struct ERC20Votes.Checkpoint memory"}],"expression":{"id":92038,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91961,"src":"10056:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},"id":92040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10062:4:169","memberName":"push","nodeType":"MemberAccess","src":"10056:10:169","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_struct$_Checkpoint_$91385_storage_$returns$__$attached_to$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,struct ERC20Votes.Checkpoint storage ref)"}},"id":92052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10056:101:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92053,"nodeType":"ExpressionStatement","src":"10056:101:169"}]},"id":92055,"nodeType":"IfStatement","src":"9887:285:169","trueBody":{"id":92037,"nodeType":"Block","src":"9932:100:169","statements":[{"expression":{"id":92035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"arguments":[{"id":92025,"name":"ckpts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91961,"src":"9964:5:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92026,"name":"pos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91981,"src":"9971:3:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":92027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9977:1:169","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9971:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage ref[] storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92024,"name":"_unsafeAccess","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92101,"src":"9950:13:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr_$_t_uint256_$returns$_t_struct$_Checkpoint_$91385_storage_ptr_$","typeString":"function (struct ERC20Votes.Checkpoint storage ref[] storage pointer,uint256) pure returns (struct ERC20Votes.Checkpoint storage pointer)"}},"id":92029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9950:29:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint storage pointer"}},"id":92030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"9980:5:169","memberName":"votes","nodeType":"MemberAccess","referencedDeclaration":91384,"src":"9950:35:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":92033,"name":"newWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91978,"src":"10007:9:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92031,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"9988:8:169","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":92032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9997:9:169","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"9988:18:169","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":92034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9988:29:169","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"9950:67:169","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"id":92036,"nodeType":"ExpressionStatement","src":"9950:67:169"}]}}]}]},"implemented":true,"kind":"function","modifiers":[],"name":"_writeCheckpoint","nameLocation":"9429:16:169","parameters":{"id":91974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91961,"mutability":"mutable","name":"ckpts","nameLocation":"9476:5:169","nodeType":"VariableDeclaration","scope":92058,"src":"9455:26:169","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":91959,"nodeType":"UserDefinedTypeName","pathNode":{"id":91958,"name":"Checkpoint","nameLocations":["9455:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"9455:10:169"},"referencedDeclaration":91385,"src":"9455:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":91960,"nodeType":"ArrayTypeName","src":"9455:12:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":91971,"mutability":"mutable","name":"op","nameLocation":"9541:2:169","nodeType":"VariableDeclaration","scope":92058,"src":"9491:52:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"typeName":{"id":91970,"nodeType":"FunctionTypeName","parameterTypes":{"id":91966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91963,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91970,"src":"9500:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91962,"name":"uint256","nodeType":"ElementaryTypeName","src":"9500:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91965,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91970,"src":"9509:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91964,"name":"uint256","nodeType":"ElementaryTypeName","src":"9509:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9499:18:169"},"returnParameterTypes":{"id":91969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91970,"src":"9532:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91967,"name":"uint256","nodeType":"ElementaryTypeName","src":"9532:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9531:9:169"},"src":"9491:52:169","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"},"visibility":"internal"},"visibility":"internal"},{"constant":false,"id":91973,"mutability":"mutable","name":"delta","nameLocation":"9561:5:169","nodeType":"VariableDeclaration","scope":92058,"src":"9553:13:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91972,"name":"uint256","nodeType":"ElementaryTypeName","src":"9553:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9445:127:169"},"returnParameters":{"id":91979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91976,"mutability":"mutable","name":"oldWeight","nameLocation":"9598:9:169","nodeType":"VariableDeclaration","scope":92058,"src":"9590:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91975,"name":"uint256","nodeType":"ElementaryTypeName","src":"9590:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":91978,"mutability":"mutable","name":"newWeight","nameLocation":"9617:9:169","nodeType":"VariableDeclaration","scope":92058,"src":"9609:17:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91977,"name":"uint256","nodeType":"ElementaryTypeName","src":"9609:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9589:38:169"},"scope":92102,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":92072,"nodeType":"FunctionDefinition","src":"10194:96:169","nodes":[],"body":{"id":92071,"nodeType":"Block","src":"10261:29:169","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92067,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92060,"src":"10278:1:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":92068,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92062,"src":"10282:1:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10278:5:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":92066,"id":92070,"nodeType":"Return","src":"10271:12:169"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"10203:4:169","parameters":{"id":92063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92060,"mutability":"mutable","name":"a","nameLocation":"10216:1:169","nodeType":"VariableDeclaration","scope":92072,"src":"10208:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92059,"name":"uint256","nodeType":"ElementaryTypeName","src":"10208:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92062,"mutability":"mutable","name":"b","nameLocation":"10227:1:169","nodeType":"VariableDeclaration","scope":92072,"src":"10219:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92061,"name":"uint256","nodeType":"ElementaryTypeName","src":"10219:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10207:22:169"},"returnParameters":{"id":92066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92072,"src":"10252:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92064,"name":"uint256","nodeType":"ElementaryTypeName","src":"10252:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10251:9:169"},"scope":92102,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":92086,"nodeType":"FunctionDefinition","src":"10296:101:169","nodes":[],"body":{"id":92085,"nodeType":"Block","src":"10368:29:169","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92081,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92074,"src":"10385:1:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":92082,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92076,"src":"10389:1:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10385:5:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":92080,"id":92084,"nodeType":"Return","src":"10378:12:169"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_subtract","nameLocation":"10305:9:169","parameters":{"id":92077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92074,"mutability":"mutable","name":"a","nameLocation":"10323:1:169","nodeType":"VariableDeclaration","scope":92086,"src":"10315:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92073,"name":"uint256","nodeType":"ElementaryTypeName","src":"10315:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92076,"mutability":"mutable","name":"b","nameLocation":"10334:1:169","nodeType":"VariableDeclaration","scope":92086,"src":"10326:9:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92075,"name":"uint256","nodeType":"ElementaryTypeName","src":"10326:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10314:22:169"},"returnParameters":{"id":92080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92086,"src":"10359:7:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92078,"name":"uint256","nodeType":"ElementaryTypeName","src":"10359:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10358:9:169"},"scope":92102,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":92101,"nodeType":"FunctionDefinition","src":"10540:239:169","nodes":[],"body":{"id":92100,"nodeType":"Block","src":"10653:126:169","nodes":[],"statements":[{"AST":{"nativeSrc":"10672:101:169","nodeType":"YulBlock","src":"10672:101:169","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"10693:1:169","nodeType":"YulLiteral","src":"10693:1:169","type":"","value":"0"},{"name":"ckpts.slot","nativeSrc":"10696:10:169","nodeType":"YulIdentifier","src":"10696:10:169"}],"functionName":{"name":"mstore","nativeSrc":"10686:6:169","nodeType":"YulIdentifier","src":"10686:6:169"},"nativeSrc":"10686:21:169","nodeType":"YulFunctionCall","src":"10686:21:169"},"nativeSrc":"10686:21:169","nodeType":"YulExpressionStatement","src":"10686:21:169"},{"nativeSrc":"10720:43:169","nodeType":"YulAssignment","src":"10720:43:169","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"10749:1:169","nodeType":"YulLiteral","src":"10749:1:169","type":"","value":"0"},{"kind":"number","nativeSrc":"10752:4:169","nodeType":"YulLiteral","src":"10752:4:169","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nativeSrc":"10739:9:169","nodeType":"YulIdentifier","src":"10739:9:169"},"nativeSrc":"10739:18:169","nodeType":"YulFunctionCall","src":"10739:18:169"},{"name":"pos","nativeSrc":"10759:3:169","nodeType":"YulIdentifier","src":"10759:3:169"}],"functionName":{"name":"add","nativeSrc":"10735:3:169","nodeType":"YulIdentifier","src":"10735:3:169"},"nativeSrc":"10735:28:169","nodeType":"YulFunctionCall","src":"10735:28:169"},"variableNames":[{"name":"result.slot","nativeSrc":"10720:11:169","nodeType":"YulIdentifier","src":"10720:11:169"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":92091,"isOffset":false,"isSlot":true,"src":"10696:10:169","suffix":"slot","valueSize":1},{"declaration":92093,"isOffset":false,"isSlot":false,"src":"10759:3:169","valueSize":1},{"declaration":92097,"isOffset":false,"isSlot":true,"src":"10720:11:169","suffix":"slot","valueSize":1}],"id":92099,"nodeType":"InlineAssembly","src":"10663:110:169"}]},"documentation":{"id":92087,"nodeType":"StructuredDocumentation","src":"10403:132:169","text":" @dev Access an element of the array without performing bounds check. The position is assumed to be within bounds."},"implemented":true,"kind":"function","modifiers":[],"name":"_unsafeAccess","nameLocation":"10549:13:169","parameters":{"id":92094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92091,"mutability":"mutable","name":"ckpts","nameLocation":"10584:5:169","nodeType":"VariableDeclaration","scope":92101,"src":"10563:26:169","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"},"typeName":{"baseType":{"id":92089,"nodeType":"UserDefinedTypeName","pathNode":{"id":92088,"name":"Checkpoint","nameLocations":["10563:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"10563:10:169"},"referencedDeclaration":91385,"src":"10563:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"id":92090,"nodeType":"ArrayTypeName","src":"10563:12:169","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Checkpoint_$91385_storage_$dyn_storage_ptr","typeString":"struct ERC20Votes.Checkpoint[]"}},"visibility":"internal"},{"constant":false,"id":92093,"mutability":"mutable","name":"pos","nameLocation":"10599:3:169","nodeType":"VariableDeclaration","scope":92101,"src":"10591:11:169","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92092,"name":"uint256","nodeType":"ElementaryTypeName","src":"10591:7:169","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10562:41:169"},"returnParameters":{"id":92098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92097,"mutability":"mutable","name":"result","nameLocation":"10645:6:169","nodeType":"VariableDeclaration","scope":92101,"src":"10626:25:169","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"},"typeName":{"id":92096,"nodeType":"UserDefinedTypeName","pathNode":{"id":92095,"name":"Checkpoint","nameLocations":["10626:10:169"],"nodeType":"IdentifierPath","referencedDeclaration":91385,"src":"10626:10:169"},"referencedDeclaration":91385,"src":"10626:10:169","typeDescriptions":{"typeIdentifier":"t_struct$_Checkpoint_$91385_storage_ptr","typeString":"struct ERC20Votes.Checkpoint"}},"visibility":"internal"}],"src":"10625:27:169"},"scope":92102,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":true,"baseContracts":[{"baseName":{"id":91377,"name":"ERC20Permit","nameLocations":["1275:11:169"],"nodeType":"IdentifierPath","referencedDeclaration":91368,"src":"1275:11:169"},"id":91378,"nodeType":"InheritanceSpecifier","src":"1275:11:169"},{"baseName":{"id":91379,"name":"IERC5805","nameLocations":["1288:8:169"],"nodeType":"IdentifierPath","referencedDeclaration":90371,"src":"1288:8:169"},"id":91380,"nodeType":"InheritanceSpecifier","src":"1288:8:169"}],"canonicalName":"ERC20Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":91376,"nodeType":"StructuredDocumentation","src":"348:894:169","text":" @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's,\n and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1.\n NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module.\n This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either\n by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting\n power can be queried through the public accessors {getVotes} and {getPastVotes}.\n By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it\n requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked.\n _Available since v4.2._"},"fullyImplemented":true,"internalFunctionIDs":{"92072":1,"92086":2},"linearizedBaseContracts":[92102,90371,89767,90386,91368,96775,90362,92163,91118,92127,91196,95576],"name":"ERC20Votes","nameLocation":"1261:10:169","scope":92103,"usedErrors":[95663,95665],"usedEvents":[89701,89710,90342,91130,91139]}],"license":"MIT"},"id":169} \ No newline at end of file +{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ERC20Votes.Checkpoint","components":[{"name":"fromBlock","type":"uint32","internalType":"uint32"},{"name":"votes","type":"uint224","internalType":"uint224"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting power can be queried through the public accessors {getVotes} and {getPastVotes}. By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. _Available since v4.2._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":\"ERC20Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"DOMAIN_SEPARATOR()":{"details":"See {IERC20Permit-DOMAIN_SEPARATOR}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"delegate(address)":{"details":"Delegate votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`"},"delegates(address)":{"details":"Get the address `account` is currently delegating to."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past"},"getPastVotes(address,uint256)":{"details":"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past"},"getVotes(address)":{"details":"Gets the current votes balance for `account`"},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"See {IERC20Permit-nonces}."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"See {IERC20Permit-permit}."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":"ERC20Votes"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":169} \ No newline at end of file diff --git a/out/ERC721.sol/ERC721.json b/out/ERC721.sol/ERC721.json index 2b0e745e..0fc4dab5 100644 --- a/out/ERC721.sol/ERC721.json +++ b/out/ERC721.sol/ERC721.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610de1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b4578063b88d4fde146101c7578063c87b56dd146101da578063e985e9c5146101ed57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ac57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610a51565b610229565b60405190151581526020015b60405180910390f35b61010461027b565b6040516100f39190610abe565b61012461011f366004610ad1565b61030d565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610b06565b610334565b005b61014f61015f366004610b30565b6103c0565b61014f610172366004610b30565b6103f2565b610124610185366004610ad1565b61040d565b61019e610198366004610b6c565b50600090565b6040519081526020016100f3565b610104610443565b61014f6101c2366004610b87565b610452565b61014f6101d5366004610bd9565b610461565b6101046101e8366004610ad1565b61049a565b6100e76101fb366004610cb5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025a57506001600160e01b03198216635b5e139f60e01b145b8061027557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028a90610ce8565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610ce8565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60006103188261050e565b506000908152600360205260409020546001600160a01b031690565b600061033f8261040d565b9050806001600160a01b0316836001600160a01b0316036103735760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610393575061039181336101fb565b155b156103b15760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb8383610546565b505050565b6103ca33826105b4565b6103e75760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb838383610633565b6103bb83838360405180602001604052806000815250610461565b6000818152600260205260408120546001600160a01b0316806102755760405163b49aa3b560e01b815260040160405180910390fd5b60606001805461028a90610ce8565b61045d3383836106fb565b5050565b61046b33836105b4565b6104885760405163e5fa0e3560e01b815260040160405180910390fd5b6104948484848461079a565b50505050565b60606104a58261050e565b60006104bc60408051602081019091526000815290565b905060008151116104dc5760405180602001604052806000815250610507565b806104e6846107ce565b6040516020016104f7929190610d22565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166105435760405163b49aa3b560e01b815260040160405180910390fd5b50565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061057b8261040d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806105c08361040d565b9050806001600160a01b0316846001600160a01b0316148061060757506001600160a01b0380821660009081526004602090815260408083209388168352929052205460ff165b8061062b5750836001600160a01b03166106208461030d565b6001600160a01b0316145b949350505050565b826001600160a01b03166106468261040d565b6001600160a01b03161461066d5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661069457604051632c95542760e01b815260040160405180910390fd5b61069f600082610546565b60008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361072d576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6107a5848484610633565b6107b184848484610861565b610494576040516336f57c1b60e11b815260040160405180910390fd5b606060006107db83610963565b600101905060008167ffffffffffffffff8111156107fb576107fb610bc3565b6040519080825280601f01601f191660200182016040528015610825576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461082f57509392505050565b60006001600160a01b0384163b1561095857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906108a5903390899088908890600401610d51565b6020604051808303816000875af19250505080156108e0575060408051601f3d908101601f191682019092526108dd91810190610d8e565b60015b61093e573d80801561090e576040519150601f19603f3d011682016040523d82523d6000602084013e610913565b606091505b508051600003610936576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061062b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106109a25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106109ce576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106109ec57662386f26fc10000830492506010015b6305f5e1008310610a04576305f5e100830492506008015b6127108310610a1857612710830492506004015b60648310610a2a576064830492506002015b600a83106102755760010192915050565b6001600160e01b03198116811461054357600080fd5b600060208284031215610a6357600080fd5b813561050781610a3b565b60005b83811015610a89578181015183820152602001610a71565b50506000910152565b60008151808452610aaa816020860160208601610a6e565b601f01601f19169290920160200192915050565b6020815260006105076020830184610a92565b600060208284031215610ae357600080fd5b5035919050565b80356001600160a01b0381168114610b0157600080fd5b919050565b60008060408385031215610b1957600080fd5b610b2283610aea565b946020939093013593505050565b600080600060608486031215610b4557600080fd5b610b4e84610aea565b9250610b5c60208501610aea565b9150604084013590509250925092565b600060208284031215610b7e57600080fd5b61050782610aea565b60008060408385031215610b9a57600080fd5b610ba383610aea565b915060208301358015158114610bb857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610bef57600080fd5b610bf885610aea565b9350610c0660208601610aea565b925060408501359150606085013567ffffffffffffffff80821115610c2a57600080fd5b818701915087601f830112610c3e57600080fd5b813581811115610c5057610c50610bc3565b604051601f8201601f19908116603f01168101908382118183101715610c7857610c78610bc3565b816040528281528a6020848701011115610c9157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610cc857600080fd5b610cd183610aea565b9150610cdf60208401610aea565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610d34818460208801610a6e565b835190830190610d48818360208801610a6e565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d8490830184610a92565b9695505050505050565b600060208284031215610da057600080fd5b815161050781610a3b56fea2646970667358221220a217e57d4d2127b8ef98b9c84b3565db47356d45a3aabf8fe32ffa4e6c80edec64736f6c63430008170033","sourceMap":"1058:12214:5:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b4578063b88d4fde146101c7578063c87b56dd146101da578063e985e9c5146101ed57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ac57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610a51565b610229565b60405190151581526020015b60405180910390f35b61010461027b565b6040516100f39190610abe565b61012461011f366004610ad1565b61030d565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610b06565b610334565b005b61014f61015f366004610b30565b6103c0565b61014f610172366004610b30565b6103f2565b610124610185366004610ad1565b61040d565b61019e610198366004610b6c565b50600090565b6040519081526020016100f3565b610104610443565b61014f6101c2366004610b87565b610452565b61014f6101d5366004610bd9565b610461565b6101046101e8366004610ad1565b61049a565b6100e76101fb366004610cb5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025a57506001600160e01b03198216635b5e139f60e01b145b8061027557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028a90610ce8565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610ce8565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60006103188261050e565b506000908152600360205260409020546001600160a01b031690565b600061033f8261040d565b9050806001600160a01b0316836001600160a01b0316036103735760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610393575061039181336101fb565b155b156103b15760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb8383610546565b505050565b6103ca33826105b4565b6103e75760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb838383610633565b6103bb83838360405180602001604052806000815250610461565b6000818152600260205260408120546001600160a01b0316806102755760405163b49aa3b560e01b815260040160405180910390fd5b60606001805461028a90610ce8565b61045d3383836106fb565b5050565b61046b33836105b4565b6104885760405163e5fa0e3560e01b815260040160405180910390fd5b6104948484848461079a565b50505050565b60606104a58261050e565b60006104bc60408051602081019091526000815290565b905060008151116104dc5760405180602001604052806000815250610507565b806104e6846107ce565b6040516020016104f7929190610d22565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166105435760405163b49aa3b560e01b815260040160405180910390fd5b50565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061057b8261040d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806105c08361040d565b9050806001600160a01b0316846001600160a01b0316148061060757506001600160a01b0380821660009081526004602090815260408083209388168352929052205460ff165b8061062b5750836001600160a01b03166106208461030d565b6001600160a01b0316145b949350505050565b826001600160a01b03166106468261040d565b6001600160a01b03161461066d5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661069457604051632c95542760e01b815260040160405180910390fd5b61069f600082610546565b60008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361072d576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6107a5848484610633565b6107b184848484610861565b610494576040516336f57c1b60e11b815260040160405180910390fd5b606060006107db83610963565b600101905060008167ffffffffffffffff8111156107fb576107fb610bc3565b6040519080825280601f01601f191660200182016040528015610825576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461082f57509392505050565b60006001600160a01b0384163b1561095857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906108a5903390899088908890600401610d51565b6020604051808303816000875af19250505080156108e0575060408051601f3d908101601f191682019092526108dd91810190610d8e565b60015b61093e573d80801561090e576040519150601f19603f3d011682016040523d82523d6000602084013e610913565b606091505b508051600003610936576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061062b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106109a25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106109ce576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106109ec57662386f26fc10000830492506010015b6305f5e1008310610a04576305f5e100830492506008015b6127108310610a1857612710830492506004015b60648310610a2a576064830492506002015b600a83106102755760010192915050565b6001600160e01b03198116811461054357600080fd5b600060208284031215610a6357600080fd5b813561050781610a3b565b60005b83811015610a89578181015183820152602001610a71565b50506000910152565b60008151808452610aaa816020860160208601610a6e565b601f01601f19169290920160200192915050565b6020815260006105076020830184610a92565b600060208284031215610ae357600080fd5b5035919050565b80356001600160a01b0381168114610b0157600080fd5b919050565b60008060408385031215610b1957600080fd5b610b2283610aea565b946020939093013593505050565b600080600060608486031215610b4557600080fd5b610b4e84610aea565b9250610b5c60208501610aea565b9150604084013590509250925092565b600060208284031215610b7e57600080fd5b61050782610aea565b60008060408385031215610b9a57600080fd5b610ba383610aea565b915060208301358015158114610bb857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610bef57600080fd5b610bf885610aea565b9350610c0660208601610aea565b925060408501359150606085013567ffffffffffffffff80821115610c2a57600080fd5b818701915087601f830112610c3e57600080fd5b813581811115610c5057610c50610bc3565b604051601f8201601f19908116603f01168101908382118183101715610c7857610c78610bc3565b816040528281528a6020848701011115610c9157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610cc857600080fd5b610cd183610aea565b9150610cdf60208401610aea565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610d34818460208801610a6e565b835190830190610d48818360208801610a6e565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d8490830184610a92565b9695505050505050565b600060208284031215610da057600080fd5b815161050781610a3b56fea2646970667358221220a217e57d4d2127b8ef98b9c84b3565db47356d45a3aabf8fe32ffa4e6c80edec64736f6c63430008170033","sourceMap":"1058:12214:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:276;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;2227:276:5;;;;;;;;3042:98;;;:::i;:::-;;;;;;;:::i;4461:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:197;;;1679:51;;1667:2;1652:18;4461:167:5;1533:203:197;4039:361:5;;;;;;:::i;:::-;;:::i;:::-;;5138:282;;;;;;:::i;:::-;;:::i;5486:149::-;;;;;;:::i;:::-;;:::i;2768:212::-;;;;;;:::i;:::-;;:::i;2580:131::-;;;;;;:::i;:::-;-1:-1:-1;2654:15:5;;2580:131;;;;2848:25:197;;;2836:2;2821:18;2580:131:5;2702:177:197;3204:102:5;;;:::i;4695:153::-;;;;;;:::i;:::-;;:::i;5701:262::-;;;;;;:::i;:::-;;:::i;3372:276::-;;;;;;:::i;:::-;;:::i;4914:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4914:162;2227:276;2329:4;-1:-1:-1;;;;;;2352:40:5;;-1:-1:-1;;;2352:40:5;;:92;;-1:-1:-1;;;;;;;2396:48:5;;-1:-1:-1;;;2396:48:5;2352:92;:144;;;-1:-1:-1;;;;;;;;;;937:40:188;;;2460:36:5;2345:151;2227:276;-1:-1:-1;;2227:276:5:o;3042:98::-;3096:13;3128:5;3121:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3042:98;:::o;4461:167::-;4537:7;4556:23;4571:7;4556:14;:23::i;:::-;-1:-1:-1;4597:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4597:24:5;;4461:167::o;4039:361::-;4119:13;4135:23;4150:7;4135:14;:23::i;:::-;4119:39;;4179:5;-1:-1:-1;;;;;4173:11:5;:2;-1:-1:-1;;;;;4173:11:5;;4169:51;;4193:27;;-1:-1:-1;;;4193:27:5;;;;;;;;;;;4169:51;719:10:181;-1:-1:-1;;;;;4235:21:5;;;;;;:63;;-1:-1:-1;4261:37:5;4278:5;719:10:181;4914:162:5;:::i;4261:37::-;4260:38;4235:63;4231:131;;;4321:30;;-1:-1:-1;;;4321:30:5;;;;;;;;;;;4231:131;4372:21;4381:2;4385:7;4372:8;:21::i;:::-;4109:291;4039:361;;:::o;5138:282::-;5294:41;719:10:181;5327:7:5;5294:18;:41::i;:::-;5289:85;;5344:30;;-1:-1:-1;;;5344:30:5;;;;;;;;;;;5289:85;5385:28;5395:4;5401:2;5405:7;5385:9;:28::i;5486:149::-;5589:39;5606:4;5612:2;5616:7;5589:39;;;;;;;;;;;;:16;:39::i;2768:212::-;2840:7;2875:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2875:16:5;;2901:50;;2933:18;;-1:-1:-1;;;2933:18:5;;;;;;;;;;;3204:102;3260:13;3292:7;3285:14;;;;;:::i;4695:153::-;4789:52;719:10:181;4822:8:5;4832;4789:18;:52::i;:::-;4695:153;;:::o;5701:262::-;5828:41;719:10:181;5861:7:5;5828:18;:41::i;:::-;5823:85;;5878:30;;-1:-1:-1;;;5878:30:5;;;;;;;;;;;5823:85;5918:38;5932:4;5938:2;5942:7;5951:4;5918:13;:38::i;:::-;5701:262;;;;:::o;3372:276::-;3445:13;3470:23;3485:7;3470:14;:23::i;:::-;3504:21;3528:10;3966:9;;;;;;;;;-1:-1:-1;3966:9:5;;;3890:92;3528:10;3504:34;;3579:1;3561:7;3555:21;:25;:86;;;;;;;;;;;;;;;;;3607:7;3616:18;:7;:16;:18::i;:::-;3590:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3555:86;3548:93;3372:276;-1:-1:-1;;;3372:276:5:o;10690:128::-;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;10763:48;;10793:18;;-1:-1:-1;;;10793:18:5;;;;;;;;;;;10763:48;10690:128;:::o;10028:171::-;10102:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;10102:29:5;-1:-1:-1;;;;;10102:29:5;;;;;;;;:24;;10155:23;10102:24;10155:14;:23::i;:::-;-1:-1:-1;;;;;10146:46:5;;;;;;;;;;;10028:171;;:::o;7657:261::-;7750:4;7766:13;7782:23;7797:7;7782:14;:23::i;:::-;7766:39;;7834:5;-1:-1:-1;;;;;7823:16:5;:7;-1:-1:-1;;;;;7823:16:5;;:52;;;-1:-1:-1;;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7843:32;7823:87;;;;7903:7;-1:-1:-1;;;;;7879:31:5;:20;7891:7;7879:11;:20::i;:::-;-1:-1:-1;;;;;7879:31:5;;7823:87;7815:96;7657:261;-1:-1:-1;;;;7657:261:5:o;9429:487::-;9549:4;-1:-1:-1;;;;;9522:31:5;:23;9537:7;9522:14;:23::i;:::-;-1:-1:-1;;;;;9522:31:5;;9518:61;;9562:17;;-1:-1:-1;;;9562:17:5;;;;;;;;;;;9518:61;-1:-1:-1;;;;;9593:16:5;;9589:55;;9618:26;;-1:-1:-1;;;9618:26:5;;;;;;;;;;;9589:55;9756:29;9773:1;9777:7;9756:8;:29::i;:::-;9796:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9796:21:5;-1:-1:-1;;;;;9796:21:5;;;;;;;;;9833:27;;9796:16;;9833:27;;;;;;;4109:291;4039:361;;:::o;10335:271::-;10451:8;-1:-1:-1;;;;;10442:17:5;:5;-1:-1:-1;;;;;10442:17:5;;10438:49;;10468:19;;-1:-1:-1;;;10468:19:5;;;;;;;;;;;10438:49;-1:-1:-1;;;;;10497:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;10497:46:5;;;;;;;;;;10558:41;;540::197;;;10558::5;;513:18:197;10558:41:5;;;;;;;10335:271;;;:::o;6824:247::-;6936:28;6946:4;6952:2;6956:7;6936:9;:28::i;:::-;6979:47;7002:4;7008:2;7012:7;7021:4;6979:22;:47::i;:::-;6974:90;;7035:29;;-1:-1:-1;;;7035:29:5;;;;;;;;;;;447:696:185;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:185;-1:-1:-1;604:41:185;-1:-1:-1;765:28:185;;;781:2;765:28;820:280;-1:-1:-1;;851:5:185;-1:-1:-1;;;985:2:185;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:185;820:280;1064:21;-1:-1:-1;1120:6:185;447:696;-1:-1:-1;;;447:696:185:o;11370:789:5:-;11497:4;-1:-1:-1;;;;;11521:13:5;;1702:19:179;:23;11517:636:5;;11556:71;;-1:-1:-1;;;11556:71:5;;-1:-1:-1;;;;;11556:36:5;;;;;:71;;719:10:181;;11607:4:5;;11613:7;;11622:4;;11556:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11556:71:5;;;;;;;;-1:-1:-1;;11556:71:5;;;;;;;;;;;;:::i;:::-;;;11552:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11794:6;:13;11811:1;11794:18;11790:297;;11843:29;;-1:-1:-1;;;11843:29:5;;;;;;;;;;;11790:297;12039:6;12033:13;12024:6;12020:2;12016:15;12009:38;11552:549;-1:-1:-1;;;;;;11677:51:5;-1:-1:-1;;;11677:51:5;;-1:-1:-1;11670:58:5;;11517:636;-1:-1:-1;12138:4:5;11370:789;;;;;;:::o;10139:916:191:-;10192:7;;-1:-1:-1;;;10267:17:191;;10263:103;;-1:-1:-1;;;10304:17:191;;;-1:-1:-1;10349:2:191;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:191;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:191;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:191;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:191;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:191;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:191:o;14:131:197:-;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:197;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:197;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:197:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:197;;1348:180;-1:-1:-1;1348:180:197:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:197;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:197:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:197;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5161:496::-;5340:3;5378:6;5372:13;5394:66;5453:6;5448:3;5441:4;5433:6;5429:17;5394:66;:::i;:::-;5523:13;;5482:16;;;;5545:70;5523:13;5482:16;5592:4;5580:17;;5545:70;:::i;:::-;5631:20;;5161:496;-1:-1:-1;;;;5161:496:197:o;5794:489::-;-1:-1:-1;;;;;6063:15:197;;;6045:34;;6115:15;;6110:2;6095:18;;6088:43;6162:2;6147:18;;6140:34;;;6210:3;6205:2;6190:18;;6183:31;;;5988:4;;6231:46;;6257:19;;6249:6;6231:46;:::i;:::-;6223:54;5794:489;-1:-1:-1;;;;;;5794:489:197:o;6288:249::-;6357:6;6410:2;6398:9;6389:7;6385:23;6381:32;6378:52;;;6426:1;6423;6416:12;6378:52;6458:9;6452:16;6477:30;6501:5;6477:30;:::i","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Doesn't track balances.Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"Balance tracking to be overriden by childs\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"Balance tracking to be overriden by childs"},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/ERC721.sol":"ERC721"},"libraries":{}},"sources":{"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/abstract/ERC721.sol","id":5377,"exportedSymbols":{"Address":[94013],"Context":[95576],"ERC165":[96799],"ERC721":[5376],"IERC165":[97005],"IERC721":[93582],"IERC721Metadata":[93680],"IERC721Receiver":[93600],"Strings":[96205]},"nodeType":"SourceUnit","src":"107:13166:5","nodes":[{"id":4562,"nodeType":"PragmaDirective","src":"107:24:5","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":4564,"nodeType":"ImportDirective","src":"133:75:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":93583,"symbolAliases":[{"foreign":{"id":4563,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93582,"src":"142:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4566,"nodeType":"ImportDirective","src":"209:91:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":93601,"symbolAliases":[{"foreign":{"id":4565,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93600,"src":"218:15:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4568,"nodeType":"ImportDirective","src":"301:102:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":93681,"symbolAliases":[{"foreign":{"id":4567,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93680,"src":"310:15:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4570,"nodeType":"ImportDirective","src":"404:68:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Address.sol","file":"@openzeppelin/contracts/utils/Address.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":94014,"symbolAliases":[{"foreign":{"id":4569,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94013,"src":"413:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4572,"nodeType":"ImportDirective","src":"473:68:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","file":"@openzeppelin/contracts/utils/Context.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":95577,"symbolAliases":[{"foreign":{"id":4571,"name":"Context","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95576,"src":"482:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4574,"nodeType":"ImportDirective","src":"542:68:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Strings.sol","file":"@openzeppelin/contracts/utils/Strings.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":96206,"symbolAliases":[{"foreign":{"id":4573,"name":"Strings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96205,"src":"551:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4576,"nodeType":"ImportDirective","src":"611:80:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":96800,"symbolAliases":[{"foreign":{"id":4575,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96799,"src":"620:6:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4578,"nodeType":"ImportDirective","src":"692:82:5","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":5377,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":4577,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"701:7:5","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5376,"nodeType":"ContractDefinition","src":"1058:12214:5","nodes":[{"id":4590,"nodeType":"UsingForDirective","src":"1125:26:5","nodes":[],"global":false,"libraryName":{"id":4588,"name":"Address","nameLocations":["1131:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":94013,"src":"1131:7:5"},"typeName":{"id":4589,"name":"address","nodeType":"ElementaryTypeName","src":"1143:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":4593,"nodeType":"UsingForDirective","src":"1156:26:5","nodes":[],"global":false,"libraryName":{"id":4591,"name":"Strings","nameLocations":["1162:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":96205,"src":"1162:7:5"},"typeName":{"id":4592,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":4595,"nodeType":"ErrorDefinition","src":"1188:22:5","nodes":[],"errorSelector":"bad7c30c","name":"ALEADY_MINTED","nameLocation":"1194:13:5","parameters":{"id":4594,"nodeType":"ParameterList","parameters":[],"src":"1207:2:5"}},{"id":4597,"nodeType":"ErrorDefinition","src":"1215:26:5","nodes":[],"errorSelector":"0df0273a","name":"APPROVE_TO_CALLER","nameLocation":"1221:17:5","parameters":{"id":4596,"nodeType":"ParameterList","parameters":[],"src":"1238:2:5"}},{"id":4599,"nodeType":"ErrorDefinition","src":"1246:34:5","nodes":[],"errorSelector":"133f8be9","name":"APPROVAL_TO_CURRENT_OWNER","nameLocation":"1252:25:5","parameters":{"id":4598,"nodeType":"ParameterList","parameters":[],"src":"1277:2:5"}},{"id":4601,"nodeType":"ErrorDefinition","src":"1285:37:5","nodes":[],"errorSelector":"e5fa0e35","name":"CALLER_NOT_OWNER_OR_APPROVED","nameLocation":"1291:28:5","parameters":{"id":4600,"nodeType":"ParameterList","parameters":[],"src":"1319:2:5"}},{"id":4603,"nodeType":"ErrorDefinition","src":"1327:25:5","nodes":[],"errorSelector":"b49aa3b5","name":"INVALID_TOKEN_ID","nameLocation":"1333:16:5","parameters":{"id":4602,"nodeType":"ParameterList","parameters":[],"src":"1349:2:5"}},{"id":4605,"nodeType":"ErrorDefinition","src":"1357:24:5","nodes":[],"errorSelector":"a195bc53","name":"INCORRECT_OWNER","nameLocation":"1363:15:5","parameters":{"id":4604,"nodeType":"ParameterList","parameters":[],"src":"1378:2:5"}},{"id":4607,"nodeType":"ErrorDefinition","src":"1386:21:5","nodes":[],"errorSelector":"7208af1e","name":"MINT_TO_ZERO","nameLocation":"1392:12:5","parameters":{"id":4606,"nodeType":"ParameterList","parameters":[],"src":"1404:2:5"}},{"id":4609,"nodeType":"ErrorDefinition","src":"1412:36:5","nodes":[],"errorSelector":"6deaf836","name":"TRANSFER_TO_NON_IMPLEMENTER","nameLocation":"1418:27:5","parameters":{"id":4608,"nodeType":"ParameterList","parameters":[],"src":"1445:2:5"}},{"id":4611,"nodeType":"ErrorDefinition","src":"1453:33:5","nodes":[],"errorSelector":"2c955427","name":"TRANSFER_TO_ZERO_ADDRESS","nameLocation":"1459:24:5","parameters":{"id":4610,"nodeType":"ParameterList","parameters":[],"src":"1483:2:5"}},{"id":4613,"nodeType":"VariableDeclaration","src":"1510:20:5","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"1525:5:5","scope":5376,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":4612,"name":"string","nodeType":"ElementaryTypeName","src":"1510:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":4615,"nodeType":"VariableDeclaration","src":"1557:22:5","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"1572:7:5","scope":5376,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":4614,"name":"string","nodeType":"ElementaryTypeName","src":"1557:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":4619,"nodeType":"VariableDeclaration","src":"1632:44:5","nodes":[],"constant":false,"mutability":"mutable","name":"_owners","nameLocation":"1669:7:5","scope":5376,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":4618,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4616,"name":"uint256","nodeType":"ElementaryTypeName","src":"1640:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1632:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4617,"name":"address","nodeType":"ElementaryTypeName","src":"1651:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":4623,"nodeType":"VariableDeclaration","src":"1732:51:5","nodes":[],"constant":false,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1768:15:5","scope":5376,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":4622,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4620,"name":"uint256","nodeType":"ElementaryTypeName","src":"1740:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1732:27:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4621,"name":"address","nodeType":"ElementaryTypeName","src":"1751:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":4629,"nodeType":"VariableDeclaration","src":"1838:71:5","nodes":[],"constant":false,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1891:18:5","scope":5376,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":4628,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4624,"name":"address","nodeType":"ElementaryTypeName","src":"1846:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1838:44:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4627,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4625,"name":"address","nodeType":"ElementaryTypeName","src":"1865:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1857:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4626,"name":"bool","nodeType":"ElementaryTypeName","src":"1876:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"id":4646,"nodeType":"FunctionDefinition","src":"2029:131:5","nodes":[],"body":{"id":4645,"nodeType":"Block","src":"2103:57:5","nodes":[],"statements":[{"expression":{"id":4639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4637,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4613,"src":"2113:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4638,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4632,"src":"2121:5:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2113:13:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4640,"nodeType":"ExpressionStatement","src":"2113:13:5"},{"expression":{"id":4643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4641,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"2136:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4642,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4634,"src":"2146:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"2136:17:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":4644,"nodeType":"ExpressionStatement","src":"2136:17:5"}]},"documentation":{"id":4630,"nodeType":"StructuredDocumentation","src":"1916:108:5","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"implemented":true,"kind":"function","modifiers":[],"name":"_initialize","nameLocation":"2038:11:5","parameters":{"id":4635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4632,"mutability":"mutable","name":"name_","nameLocation":"2064:5:5","nodeType":"VariableDeclaration","scope":4646,"src":"2050:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4631,"name":"string","nodeType":"ElementaryTypeName","src":"2050:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":4634,"mutability":"mutable","name":"symbol_","nameLocation":"2085:7:5","nodeType":"VariableDeclaration","scope":4646,"src":"2071:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4633,"name":"string","nodeType":"ElementaryTypeName","src":"2071:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2049:44:5"},"returnParameters":{"id":4636,"nodeType":"ParameterList","parameters":[],"src":"2103:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":4677,"nodeType":"FunctionDefinition","src":"2227:276:5","nodes":[],"body":{"id":4676,"nodeType":"Block","src":"2335:168:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":4662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4657,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4649,"src":"2352:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4659,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93582,"src":"2372:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$93582_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$93582_$","typeString":"type(contract IERC721)"}],"id":4658,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2367:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2367:13:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$93582","typeString":"type(contract IERC721)"}},"id":4661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2381:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"2367:25:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2352:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":4668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4663,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4649,"src":"2396:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":4665,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93680,"src":"2416:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$93680_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$93680_$","typeString":"type(contract IERC721Metadata)"}],"id":4664,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2411:4:5","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":4666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2411:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$93680","typeString":"type(contract IERC721Metadata)"}},"id":4667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2433:11:5","memberName":"interfaceId","nodeType":"MemberAccess","src":"2411:33:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"2396:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2352:92:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":4672,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4649,"src":"2484:11:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":4670,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2460:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721_$5376_$","typeString":"type(contract super ERC721)"}},"id":4671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:17:5","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":96798,"src":"2460:23:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":4673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2460:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2352:144:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4656,"id":4675,"nodeType":"Return","src":"2345:151:5"}]},"baseFunctions":[96798,97004],"documentation":{"id":4647,"nodeType":"StructuredDocumentation","src":"2166:56:5","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"2236:17:5","overrides":{"id":4653,"nodeType":"OverrideSpecifier","overrides":[{"id":4651,"name":"ERC165","nameLocations":["2303:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"2303:6:5"},{"id":4652,"name":"IERC165","nameLocations":["2311:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"2311:7:5"}],"src":"2294:25:5"},"parameters":{"id":4650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4649,"mutability":"mutable","name":"interfaceId","nameLocation":"2261:11:5","nodeType":"VariableDeclaration","scope":4677,"src":"2254:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":4648,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2254:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2253:20:5"},"returnParameters":{"id":4656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4677,"src":"2329:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4654,"name":"bool","nodeType":"ElementaryTypeName","src":"2329:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2328:6:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4691,"nodeType":"FunctionDefinition","src":"2580:131:5","nodes":[],"body":{"id":4690,"nodeType":"Block","src":"2671:40:5","nodes":[],"statements":[{"expression":{"id":4686,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4680,"src":"2681:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":4687,"nodeType":"ExpressionStatement","src":"2681:5:5"},{"expression":{"hexValue":"30","id":4688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2703:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":4685,"id":4689,"nodeType":"Return","src":"2696:8:5"}]},"baseFunctions":[93507],"documentation":{"id":4678,"nodeType":"StructuredDocumentation","src":"2509:66:5","text":" @dev Balance tracking to be overriden by childs"},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2589:9:5","overrides":{"id":4682,"nodeType":"OverrideSpecifier","overrides":[],"src":"2636:8:5"},"parameters":{"id":4681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4680,"mutability":"mutable","name":"owner","nameLocation":"2607:5:5","nodeType":"VariableDeclaration","scope":4691,"src":"2599:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4679,"name":"address","nodeType":"ElementaryTypeName","src":"2599:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2598:15:5"},"returnParameters":{"id":4685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4684,"mutability":"mutable","name":"balance","nameLocation":"2662:7:5","nodeType":"VariableDeclaration","scope":4691,"src":"2654:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4683,"name":"uint256","nodeType":"ElementaryTypeName","src":"2654:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2653:17:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":4719,"nodeType":"FunctionDefinition","src":"2768:212:5","nodes":[],"body":{"id":4718,"nodeType":"Block","src":"2849:131:5","nodes":[],"statements":[{"assignments":[4701],"declarations":[{"constant":false,"id":4701,"mutability":"mutable","name":"owner","nameLocation":"2867:5:5","nodeType":"VariableDeclaration","scope":4718,"src":"2859:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4700,"name":"address","nodeType":"ElementaryTypeName","src":"2859:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4705,"initialValue":{"baseExpression":{"id":4702,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"2875:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":4704,"indexExpression":{"id":4703,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4694,"src":"2883:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2875:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2859:32:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4706,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"2905:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2922:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2914:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4707,"name":"address","nodeType":"ElementaryTypeName","src":"2914:7:5","typeDescriptions":{}}},"id":4710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2914:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2905:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4715,"nodeType":"IfStatement","src":"2901:50:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4712,"name":"INVALID_TOKEN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4603,"src":"2933:16:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2933:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4714,"nodeType":"RevertStatement","src":"2926:25:5"}},{"expression":{"id":4716,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4701,"src":"2968:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4699,"id":4717,"nodeType":"Return","src":"2961:12:5"}]},"baseFunctions":[93515],"documentation":{"id":4692,"nodeType":"StructuredDocumentation","src":"2717:46:5","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2777:7:5","overrides":{"id":4696,"nodeType":"OverrideSpecifier","overrides":[],"src":"2822:8:5"},"parameters":{"id":4695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4694,"mutability":"mutable","name":"tokenId","nameLocation":"2793:7:5","nodeType":"VariableDeclaration","scope":4719,"src":"2785:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4693,"name":"uint256","nodeType":"ElementaryTypeName","src":"2785:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2784:17:5"},"returnParameters":{"id":4699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4698,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4719,"src":"2840:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4697,"name":"address","nodeType":"ElementaryTypeName","src":"2840:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2839:9:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4729,"nodeType":"FunctionDefinition","src":"3042:98:5","nodes":[],"body":{"id":4728,"nodeType":"Block","src":"3111:29:5","nodes":[],"statements":[{"expression":{"id":4726,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4613,"src":"3128:5:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":4725,"id":4727,"nodeType":"Return","src":"3121:12:5"}]},"baseFunctions":[93665],"documentation":{"id":4720,"nodeType":"StructuredDocumentation","src":"2986:51:5","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"3051:4:5","overrides":{"id":4722,"nodeType":"OverrideSpecifier","overrides":[],"src":"3078:8:5"},"parameters":{"id":4721,"nodeType":"ParameterList","parameters":[],"src":"3055:2:5"},"returnParameters":{"id":4725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4724,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4729,"src":"3096:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4723,"name":"string","nodeType":"ElementaryTypeName","src":"3096:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3095:15:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4739,"nodeType":"FunctionDefinition","src":"3204:102:5","nodes":[],"body":{"id":4738,"nodeType":"Block","src":"3275:31:5","nodes":[],"statements":[{"expression":{"id":4736,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4615,"src":"3292:7:5","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":4735,"id":4737,"nodeType":"Return","src":"3285:14:5"}]},"baseFunctions":[93671],"documentation":{"id":4730,"nodeType":"StructuredDocumentation","src":"3146:53:5","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"3213:6:5","overrides":{"id":4732,"nodeType":"OverrideSpecifier","overrides":[],"src":"3242:8:5"},"parameters":{"id":4731,"nodeType":"ParameterList","parameters":[],"src":"3219:2:5"},"returnParameters":{"id":4735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4739,"src":"3260:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4733,"name":"string","nodeType":"ElementaryTypeName","src":"3260:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3259:15:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4778,"nodeType":"FunctionDefinition","src":"3372:276:5","nodes":[],"body":{"id":4777,"nodeType":"Block","src":"3460:188:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":4749,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4742,"src":"3485:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4748,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5292,"src":"3470:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":4750,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3470:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4751,"nodeType":"ExpressionStatement","src":"3470:23:5"},{"assignments":[4753],"declarations":[{"constant":false,"id":4753,"mutability":"mutable","name":"baseURI","nameLocation":"3518:7:5","nodeType":"VariableDeclaration","scope":4777,"src":"3504:21:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4752,"name":"string","nodeType":"ElementaryTypeName","src":"3504:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":4756,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":4754,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4787,"src":"3528:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":4755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3528:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"3504:34:5"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":4759,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"3561:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4758,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3555:5:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":4757,"name":"bytes","nodeType":"ElementaryTypeName","src":"3555:5:5","typeDescriptions":{}}},"id":4760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3555:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":4761,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3570:6:5","memberName":"length","nodeType":"MemberAccess","src":"3555:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3579:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3555:25:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":4774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3639:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":4775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"3555:86:5","trueExpression":{"arguments":[{"arguments":[{"id":4768,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4753,"src":"3607:7:5","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":4769,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4742,"src":"3616:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3624:8:5","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":96035,"src":"3616:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":4771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3616:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":4766,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3590:3:5","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":4767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3594:12:5","memberName":"encodePacked","nodeType":"MemberAccess","src":"3590:16:5","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":4772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4765,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3583:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":4764,"name":"string","nodeType":"ElementaryTypeName","src":"3583:6:5","typeDescriptions":{}}},"id":4773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3583:53:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":4747,"id":4776,"nodeType":"Return","src":"3548:93:5"}]},"baseFunctions":[93679],"documentation":{"id":4740,"nodeType":"StructuredDocumentation","src":"3312:55:5","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"3381:8:5","overrides":{"id":4744,"nodeType":"OverrideSpecifier","overrides":[],"src":"3427:8:5"},"parameters":{"id":4743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4742,"mutability":"mutable","name":"tokenId","nameLocation":"3398:7:5","nodeType":"VariableDeclaration","scope":4778,"src":"3390:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4741,"name":"uint256","nodeType":"ElementaryTypeName","src":"3390:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3389:17:5"},"returnParameters":{"id":4747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4746,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4778,"src":"3445:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4745,"name":"string","nodeType":"ElementaryTypeName","src":"3445:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3444:15:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4787,"nodeType":"FunctionDefinition","src":"3890:92:5","nodes":[],"body":{"id":4786,"nodeType":"Block","src":"3956:26:5","nodes":[],"statements":[{"expression":{"hexValue":"","id":4784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3973:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":4783,"id":4785,"nodeType":"Return","src":"3966:9:5"}]},"documentation":{"id":4779,"nodeType":"StructuredDocumentation","src":"3654:231:5","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"3899:8:5","parameters":{"id":4780,"nodeType":"ParameterList","parameters":[],"src":"3907:2:5"},"returnParameters":{"id":4783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4782,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4787,"src":"3941:13:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":4781,"name":"string","nodeType":"ElementaryTypeName","src":"3941:6:5","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3940:15:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":4832,"nodeType":"FunctionDefinition","src":"4039:361:5","nodes":[],"body":{"id":4831,"nodeType":"Block","src":"4109:291:5","nodes":[],"statements":[{"assignments":[4797],"declarations":[{"constant":false,"id":4797,"mutability":"mutable","name":"owner","nameLocation":"4127:5:5","nodeType":"VariableDeclaration","scope":4831,"src":"4119:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4796,"name":"address","nodeType":"ElementaryTypeName","src":"4119:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4802,"initialValue":{"arguments":[{"id":4800,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4792,"src":"4150:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4798,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"4135:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":4799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4142:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":4719,"src":"4135:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":4801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4135:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4119:39:5"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4803,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4790,"src":"4173:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4804,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4797,"src":"4179:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4173:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4809,"nodeType":"IfStatement","src":"4169:51:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4806,"name":"APPROVAL_TO_CURRENT_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4599,"src":"4193:25:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4193:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4808,"nodeType":"RevertStatement","src":"4186:34:5"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":4810,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4235:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4235:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":4812,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4797,"src":"4251:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4235:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":4819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4260:38:5","subExpression":{"arguments":[{"id":4815,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4797,"src":"4278:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":4816,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4285:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4285:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4814,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4885,"src":"4261:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":4818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4261:37:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4235:63:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4825,"nodeType":"IfStatement","src":"4231:131:5","trueBody":{"id":4824,"nodeType":"Block","src":"4300:62:5","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4821,"name":"CALLER_NOT_OWNER_OR_APPROVED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4601,"src":"4321:28:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4321:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4823,"nodeType":"RevertStatement","src":"4314:37:5"}]}},{"expression":{"arguments":[{"id":4827,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4790,"src":"4381:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4828,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4792,"src":"4385:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4826,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5245,"src":"4372:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":4829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4372:21:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4830,"nodeType":"ExpressionStatement","src":"4372:21:5"}]},"baseFunctions":[93555],"documentation":{"id":4788,"nodeType":"StructuredDocumentation","src":"3988:46:5","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"4048:7:5","overrides":{"id":4794,"nodeType":"OverrideSpecifier","overrides":[],"src":"4100:8:5"},"parameters":{"id":4793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4790,"mutability":"mutable","name":"to","nameLocation":"4064:2:5","nodeType":"VariableDeclaration","scope":4832,"src":"4056:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4789,"name":"address","nodeType":"ElementaryTypeName","src":"4056:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4792,"mutability":"mutable","name":"tokenId","nameLocation":"4076:7:5","nodeType":"VariableDeclaration","scope":4832,"src":"4068:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4791,"name":"uint256","nodeType":"ElementaryTypeName","src":"4068:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4055:29:5"},"returnParameters":{"id":4795,"nodeType":"ParameterList","parameters":[],"src":"4109:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":4850,"nodeType":"FunctionDefinition","src":"4461:167:5","nodes":[],"body":{"id":4849,"nodeType":"Block","src":"4546:82:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":4842,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4835,"src":"4571:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4841,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5292,"src":"4556:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":4843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4556:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4844,"nodeType":"ExpressionStatement","src":"4556:23:5"},{"expression":{"baseExpression":{"id":4845,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4623,"src":"4597:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":4847,"indexExpression":{"id":4846,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4835,"src":"4613:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4597:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":4840,"id":4848,"nodeType":"Return","src":"4590:31:5"}]},"baseFunctions":[93571],"documentation":{"id":4833,"nodeType":"StructuredDocumentation","src":"4406:50:5","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4470:11:5","overrides":{"id":4837,"nodeType":"OverrideSpecifier","overrides":[],"src":"4519:8:5"},"parameters":{"id":4836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4835,"mutability":"mutable","name":"tokenId","nameLocation":"4490:7:5","nodeType":"VariableDeclaration","scope":4850,"src":"4482:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4834,"name":"uint256","nodeType":"ElementaryTypeName","src":"4482:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4481:17:5"},"returnParameters":{"id":4840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4839,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4850,"src":"4537:7:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4838,"name":"address","nodeType":"ElementaryTypeName","src":"4537:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4536:9:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4867,"nodeType":"FunctionDefinition","src":"4695:153:5","nodes":[],"body":{"id":4866,"nodeType":"Block","src":"4779:69:5","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4860,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4808:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4808:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4862,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4853,"src":"4822:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4863,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4855,"src":"4832:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":4859,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5277,"src":"4789:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":4864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4789:52:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4865,"nodeType":"ExpressionStatement","src":"4789:52:5"}]},"baseFunctions":[93563],"documentation":{"id":4851,"nodeType":"StructuredDocumentation","src":"4634:56:5","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4704:17:5","overrides":{"id":4857,"nodeType":"OverrideSpecifier","overrides":[],"src":"4770:8:5"},"parameters":{"id":4856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4853,"mutability":"mutable","name":"operator","nameLocation":"4730:8:5","nodeType":"VariableDeclaration","scope":4867,"src":"4722:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4852,"name":"address","nodeType":"ElementaryTypeName","src":"4722:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4855,"mutability":"mutable","name":"approved","nameLocation":"4745:8:5","nodeType":"VariableDeclaration","scope":4867,"src":"4740:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4854,"name":"bool","nodeType":"ElementaryTypeName","src":"4740:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4721:33:5"},"returnParameters":{"id":4858,"nodeType":"ParameterList","parameters":[],"src":"4779:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":4885,"nodeType":"FunctionDefinition","src":"4914:162:5","nodes":[],"body":{"id":4884,"nodeType":"Block","src":"5017:59:5","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":4878,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"5034:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":4880,"indexExpression":{"id":4879,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4870,"src":"5053:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5034:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":4882,"indexExpression":{"id":4881,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4872,"src":"5060:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5034:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4877,"id":4883,"nodeType":"Return","src":"5027:42:5"}]},"baseFunctions":[93581],"documentation":{"id":4868,"nodeType":"StructuredDocumentation","src":"4854:55:5","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4923:16:5","overrides":{"id":4874,"nodeType":"OverrideSpecifier","overrides":[],"src":"4993:8:5"},"parameters":{"id":4873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4870,"mutability":"mutable","name":"owner","nameLocation":"4948:5:5","nodeType":"VariableDeclaration","scope":4885,"src":"4940:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4869,"name":"address","nodeType":"ElementaryTypeName","src":"4940:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4872,"mutability":"mutable","name":"operator","nameLocation":"4963:8:5","nodeType":"VariableDeclaration","scope":4885,"src":"4955:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4871,"name":"address","nodeType":"ElementaryTypeName","src":"4955:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4939:33:5"},"returnParameters":{"id":4877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4885,"src":"5011:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4875,"name":"bool","nodeType":"ElementaryTypeName","src":"5011:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5010:6:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":4913,"nodeType":"FunctionDefinition","src":"5138:282:5","nodes":[],"body":{"id":4912,"nodeType":"Block","src":"5227:193:5","nodes":[],"statements":[{"condition":{"id":4901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5293:42:5","subExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4897,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5313:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5313:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4899,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4892,"src":"5327:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4896,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5045,"src":"5294:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":4900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5294:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4905,"nodeType":"IfStatement","src":"5289:85:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4902,"name":"CALLER_NOT_OWNER_OR_APPROVED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4601,"src":"5344:28:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4904,"nodeType":"RevertStatement","src":"5337:37:5"}},{"expression":{"arguments":[{"id":4907,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4888,"src":"5395:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4908,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4890,"src":"5401:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4909,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4892,"src":"5405:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4906,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5221,"src":"5385:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":4910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5385:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4911,"nodeType":"ExpressionStatement","src":"5385:28:5"}]},"baseFunctions":[93547],"documentation":{"id":4886,"nodeType":"StructuredDocumentation","src":"5082:51:5","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"5147:12:5","overrides":{"id":4894,"nodeType":"OverrideSpecifier","overrides":[],"src":"5218:8:5"},"parameters":{"id":4893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4888,"mutability":"mutable","name":"from","nameLocation":"5168:4:5","nodeType":"VariableDeclaration","scope":4913,"src":"5160:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4887,"name":"address","nodeType":"ElementaryTypeName","src":"5160:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4890,"mutability":"mutable","name":"to","nameLocation":"5182:2:5","nodeType":"VariableDeclaration","scope":4913,"src":"5174:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4889,"name":"address","nodeType":"ElementaryTypeName","src":"5174:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4892,"mutability":"mutable","name":"tokenId","nameLocation":"5194:7:5","nodeType":"VariableDeclaration","scope":4913,"src":"5186:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4891,"name":"uint256","nodeType":"ElementaryTypeName","src":"5186:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5159:43:5"},"returnParameters":{"id":4895,"nodeType":"ParameterList","parameters":[],"src":"5227:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":4932,"nodeType":"FunctionDefinition","src":"5486:149:5","nodes":[],"body":{"id":4931,"nodeType":"Block","src":"5579:56:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":4925,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"5606:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4926,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"5612:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4927,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4920,"src":"5616:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":4928,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5625:2:5","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":4924,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[4932,4963],"referencedDeclaration":4963,"src":"5589:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":4929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5589:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4930,"nodeType":"ExpressionStatement","src":"5589:39:5"}]},"baseFunctions":[93537],"documentation":{"id":4914,"nodeType":"StructuredDocumentation","src":"5426:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5495:16:5","overrides":{"id":4922,"nodeType":"OverrideSpecifier","overrides":[],"src":"5570:8:5"},"parameters":{"id":4921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4916,"mutability":"mutable","name":"from","nameLocation":"5520:4:5","nodeType":"VariableDeclaration","scope":4932,"src":"5512:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4915,"name":"address","nodeType":"ElementaryTypeName","src":"5512:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4918,"mutability":"mutable","name":"to","nameLocation":"5534:2:5","nodeType":"VariableDeclaration","scope":4932,"src":"5526:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4917,"name":"address","nodeType":"ElementaryTypeName","src":"5526:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4920,"mutability":"mutable","name":"tokenId","nameLocation":"5546:7:5","nodeType":"VariableDeclaration","scope":4932,"src":"5538:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4919,"name":"uint256","nodeType":"ElementaryTypeName","src":"5538:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5511:43:5"},"returnParameters":{"id":4923,"nodeType":"ParameterList","parameters":[],"src":"5579:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":4963,"nodeType":"FunctionDefinition","src":"5701:262:5","nodes":[],"body":{"id":4962,"nodeType":"Block","src":"5813:150:5","nodes":[],"statements":[{"condition":{"id":4950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5827:42:5","subExpression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":4946,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5847:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":4947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5847:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4948,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4939,"src":"5861:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4945,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5045,"src":"5828:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":4949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5828:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4954,"nodeType":"IfStatement","src":"5823:85:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4951,"name":"CALLER_NOT_OWNER_OR_APPROVED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4601,"src":"5878:28:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5878:30:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4953,"nodeType":"RevertStatement","src":"5871:37:5"}},{"expression":{"arguments":[{"id":4956,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4935,"src":"5932:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4957,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4937,"src":"5938:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4958,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4939,"src":"5942:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4959,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4941,"src":"5951:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4955,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4993,"src":"5918:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":4960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5918:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4961,"nodeType":"ExpressionStatement","src":"5918:38:5"}]},"baseFunctions":[93527],"documentation":{"id":4933,"nodeType":"StructuredDocumentation","src":"5641:55:5","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5710:16:5","overrides":{"id":4943,"nodeType":"OverrideSpecifier","overrides":[],"src":"5804:8:5"},"parameters":{"id":4942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4935,"mutability":"mutable","name":"from","nameLocation":"5735:4:5","nodeType":"VariableDeclaration","scope":4963,"src":"5727:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4934,"name":"address","nodeType":"ElementaryTypeName","src":"5727:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4937,"mutability":"mutable","name":"to","nameLocation":"5749:2:5","nodeType":"VariableDeclaration","scope":4963,"src":"5741:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4936,"name":"address","nodeType":"ElementaryTypeName","src":"5741:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4939,"mutability":"mutable","name":"tokenId","nameLocation":"5761:7:5","nodeType":"VariableDeclaration","scope":4963,"src":"5753:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4938,"name":"uint256","nodeType":"ElementaryTypeName","src":"5753:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4941,"mutability":"mutable","name":"data","nameLocation":"5783:4:5","nodeType":"VariableDeclaration","scope":4963,"src":"5770:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4940,"name":"bytes","nodeType":"ElementaryTypeName","src":"5770:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5726:62:5"},"returnParameters":{"id":4944,"nodeType":"ParameterList","parameters":[],"src":"5813:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":4993,"nodeType":"FunctionDefinition","src":"6824:247:5","nodes":[],"body":{"id":4992,"nodeType":"Block","src":"6926:145:5","nodes":[],"statements":[{"expression":{"arguments":[{"id":4976,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"6946:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4977,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"6952:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4978,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4970,"src":"6956:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4975,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5221,"src":"6936:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":4979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6936:28:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4980,"nodeType":"ExpressionStatement","src":"6936:28:5"},{"condition":{"id":4987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6978:48:5","subExpression":{"arguments":[{"id":4982,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4966,"src":"7002:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4983,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4968,"src":"7008:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4984,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4970,"src":"7012:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4985,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4972,"src":"7021:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":4981,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5353,"src":"6979:22:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":4986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6979:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4991,"nodeType":"IfStatement","src":"6974:90:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4988,"name":"TRANSFER_TO_NON_IMPLEMENTER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4609,"src":"7035:27:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":4989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7035:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4990,"nodeType":"RevertStatement","src":"7028:36:5"}}]},"documentation":{"id":4964,"nodeType":"StructuredDocumentation","src":"5969:850:5","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"6833:13:5","parameters":{"id":4973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4966,"mutability":"mutable","name":"from","nameLocation":"6855:4:5","nodeType":"VariableDeclaration","scope":4993,"src":"6847:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4965,"name":"address","nodeType":"ElementaryTypeName","src":"6847:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4968,"mutability":"mutable","name":"to","nameLocation":"6869:2:5","nodeType":"VariableDeclaration","scope":4993,"src":"6861:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4967,"name":"address","nodeType":"ElementaryTypeName","src":"6861:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4970,"mutability":"mutable","name":"tokenId","nameLocation":"6881:7:5","nodeType":"VariableDeclaration","scope":4993,"src":"6873:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4969,"name":"uint256","nodeType":"ElementaryTypeName","src":"6873:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4972,"mutability":"mutable","name":"data","nameLocation":"6903:4:5","nodeType":"VariableDeclaration","scope":4993,"src":"6890:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":4971,"name":"bytes","nodeType":"ElementaryTypeName","src":"6890:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6846:62:5"},"returnParameters":{"id":4974,"nodeType":"ParameterList","parameters":[],"src":"6926:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5011,"nodeType":"FunctionDefinition","src":"7374:125:5","nodes":[],"body":{"id":5010,"nodeType":"Block","src":"7445:54:5","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5001,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"7462:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5003,"indexExpression":{"id":5002,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4996,"src":"7470:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7462:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":5006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7490:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7482:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5004,"name":"address","nodeType":"ElementaryTypeName","src":"7482:7:5","typeDescriptions":{}}},"id":5007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7482:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7462:30:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5000,"id":5009,"nodeType":"Return","src":"7455:37:5"}]},"documentation":{"id":4994,"nodeType":"StructuredDocumentation","src":"7077:292:5","text":" @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."},"implemented":true,"kind":"function","modifiers":[],"name":"_exists","nameLocation":"7383:7:5","parameters":{"id":4997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4996,"mutability":"mutable","name":"tokenId","nameLocation":"7399:7:5","nodeType":"VariableDeclaration","scope":5011,"src":"7391:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4995,"name":"uint256","nodeType":"ElementaryTypeName","src":"7391:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7390:17:5"},"returnParameters":{"id":5000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4999,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5011,"src":"7439:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4998,"name":"bool","nodeType":"ElementaryTypeName","src":"7439:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7438:6:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5045,"nodeType":"FunctionDefinition","src":"7657:261:5","nodes":[],"body":{"id":5044,"nodeType":"Block","src":"7756:162:5","nodes":[],"statements":[{"assignments":[5022],"declarations":[{"constant":false,"id":5022,"mutability":"mutable","name":"owner","nameLocation":"7774:5:5","nodeType":"VariableDeclaration","scope":5044,"src":"7766:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5021,"name":"address","nodeType":"ElementaryTypeName","src":"7766:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5027,"initialValue":{"arguments":[{"id":5025,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5016,"src":"7797:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5023,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"7782:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":5024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7789:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":4719,"src":"7782:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7782:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7766:39:5"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5028,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5014,"src":"7823:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5029,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"7834:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7823:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":5032,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"7860:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5033,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5014,"src":"7867:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":5031,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4885,"src":"7843:16:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":5034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7843:32:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7823:52:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5037,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5016,"src":"7891:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5036,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4850,"src":"7879:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7879:20:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5039,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5014,"src":"7903:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7879:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7823:87:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":5042,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7822:89:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5020,"id":5043,"nodeType":"Return","src":"7815:96:5"}]},"documentation":{"id":5012,"nodeType":"StructuredDocumentation","src":"7505:147:5","text":" @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."},"implemented":true,"kind":"function","modifiers":[],"name":"_isApprovedOrOwner","nameLocation":"7666:18:5","parameters":{"id":5017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5014,"mutability":"mutable","name":"spender","nameLocation":"7693:7:5","nodeType":"VariableDeclaration","scope":5045,"src":"7685:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5013,"name":"address","nodeType":"ElementaryTypeName","src":"7685:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5016,"mutability":"mutable","name":"tokenId","nameLocation":"7710:7:5","nodeType":"VariableDeclaration","scope":5045,"src":"7702:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5015,"name":"uint256","nodeType":"ElementaryTypeName","src":"7702:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7684:34:5"},"returnParameters":{"id":5020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5019,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5045,"src":"7750:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5018,"name":"bool","nodeType":"ElementaryTypeName","src":"7750:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7749:6:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5104,"nodeType":"FunctionDefinition","src":"8146:367:5","nodes":[],"body":{"id":5103,"nodeType":"Block","src":"8207:306:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5053,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"8221:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8235:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8227:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5054,"name":"address","nodeType":"ElementaryTypeName","src":"8227:7:5","typeDescriptions":{}}},"id":5057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8227:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8221:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5062,"nodeType":"IfStatement","src":"8217:43:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5059,"name":"MINT_TO_ZERO","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4607,"src":"8246:12:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8246:14:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5061,"nodeType":"RevertStatement","src":"8239:21:5"}},{"condition":{"arguments":[{"id":5064,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5050,"src":"8282:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5063,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5011,"src":"8274:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":5065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8274:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5069,"nodeType":"IfStatement","src":"8270:44:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5066,"name":"ALEADY_MINTED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4595,"src":"8299:13:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8299:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5068,"nodeType":"RevertStatement","src":"8292:22:5"}},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":5073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8354:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8346:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5071,"name":"address","nodeType":"ElementaryTypeName","src":"8346:7:5","typeDescriptions":{}}},"id":5074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8346:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5075,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"8358:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5076,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5050,"src":"8362:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5070,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5364,"src":"8325:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8325:45:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5078,"nodeType":"ExpressionStatement","src":"8325:45:5"},{"expression":{"id":5083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5079,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"8381:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5081,"indexExpression":{"id":5080,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5050,"src":"8389:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8381:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5082,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"8400:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8381:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5084,"nodeType":"ExpressionStatement","src":"8381:21:5"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":5088,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8435:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8427:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5086,"name":"address","nodeType":"ElementaryTypeName","src":"8427:7:5","typeDescriptions":{}}},"id":5089,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8427:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5090,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"8439:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5091,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5050,"src":"8443:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5085,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"8418:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:33:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5093,"nodeType":"EmitStatement","src":"8413:38:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":5097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8490:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8482:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5095,"name":"address","nodeType":"ElementaryTypeName","src":"8482:7:5","typeDescriptions":{}}},"id":5098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8482:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5099,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5048,"src":"8494:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5100,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5050,"src":"8498:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5094,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"8462:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8462:44:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5102,"nodeType":"ExpressionStatement","src":"8462:44:5"}]},"documentation":{"id":5046,"nodeType":"StructuredDocumentation","src":"7924:217:5","text":" @dev Mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8155:5:5","parameters":{"id":5051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5048,"mutability":"mutable","name":"to","nameLocation":"8169:2:5","nodeType":"VariableDeclaration","scope":5104,"src":"8161:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5047,"name":"address","nodeType":"ElementaryTypeName","src":"8161:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5050,"mutability":"mutable","name":"tokenId","nameLocation":"8181:7:5","nodeType":"VariableDeclaration","scope":5104,"src":"8173:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5049,"name":"uint256","nodeType":"ElementaryTypeName","src":"8173:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8160:29:5"},"returnParameters":{"id":5052,"nodeType":"ParameterList","parameters":[],"src":"8207:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5158,"nodeType":"FunctionDefinition","src":"8730:375:5","nodes":[],"body":{"id":5157,"nodeType":"Block","src":"8779:326:5","nodes":[],"statements":[{"assignments":[5111],"declarations":[{"constant":false,"id":5111,"mutability":"mutable","name":"owner","nameLocation":"8797:5:5","nodeType":"VariableDeclaration","scope":5157,"src":"8789:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5110,"name":"address","nodeType":"ElementaryTypeName","src":"8789:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":5116,"initialValue":{"arguments":[{"id":5114,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"8820:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5112,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"8805:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":5113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8812:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":4719,"src":"8805:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8805:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"8789:39:5"},{"expression":{"arguments":[{"id":5118,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5111,"src":"8860:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":5121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8875:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8867:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5119,"name":"address","nodeType":"ElementaryTypeName","src":"8867:7:5","typeDescriptions":{}}},"id":5122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8867:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5123,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"8879:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5117,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5364,"src":"8839:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8839:48:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5125,"nodeType":"ExpressionStatement","src":"8839:48:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":5129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8942:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8934:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5127,"name":"address","nodeType":"ElementaryTypeName","src":"8934:7:5","typeDescriptions":{}}},"id":5130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8934:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5131,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"8946:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5126,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5245,"src":"8925:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":5132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8925:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5133,"nodeType":"ExpressionStatement","src":"8925:29:5"},{"expression":{"id":5137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8965:23:5","subExpression":{"baseExpression":{"id":5134,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"8972:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5136,"indexExpression":{"id":5135,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"8980:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8972:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5138,"nodeType":"ExpressionStatement","src":"8965:23:5"},{"eventCall":{"arguments":[{"id":5140,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5111,"src":"9013:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":5143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9020:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5141,"name":"address","nodeType":"ElementaryTypeName","src":"9020:7:5","typeDescriptions":{}}},"id":5144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9020:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5145,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"9032:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5139,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"9004:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9004:36:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5147,"nodeType":"EmitStatement","src":"8999:41:5"},{"expression":{"arguments":[{"id":5149,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5111,"src":"9071:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":5152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9086:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9078:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5150,"name":"address","nodeType":"ElementaryTypeName","src":"9078:7:5","typeDescriptions":{}}},"id":5153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9078:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5154,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5107,"src":"9090:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5148,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"9051:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9051:47:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5156,"nodeType":"ExpressionStatement","src":"9051:47:5"}]},"documentation":{"id":5105,"nodeType":"StructuredDocumentation","src":"8519:206:5","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"8739:5:5","parameters":{"id":5108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5107,"mutability":"mutable","name":"tokenId","nameLocation":"8753:7:5","nodeType":"VariableDeclaration","scope":5158,"src":"8745:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5106,"name":"uint256","nodeType":"ElementaryTypeName","src":"8745:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8744:17:5"},"returnParameters":{"id":5109,"nodeType":"ParameterList","parameters":[],"src":"8779:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5221,"nodeType":"FunctionDefinition","src":"9429:487:5","nodes":[],"body":{"id":5220,"nodeType":"Block","src":"9508:408:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":5170,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9537:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5168,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"9522:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":5169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9529:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":4719,"src":"9522:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9522:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5172,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"9549:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9522:31:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5177,"nodeType":"IfStatement","src":"9518:61:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5174,"name":"INCORRECT_OWNER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4605,"src":"9562:15:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9562:17:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5176,"nodeType":"RevertStatement","src":"9555:24:5"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5178,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"9593:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":5181,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9607:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9599:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5179,"name":"address","nodeType":"ElementaryTypeName","src":"9599:7:5","typeDescriptions":{}}},"id":5182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9599:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9593:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5187,"nodeType":"IfStatement","src":"9589:55:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5184,"name":"TRANSFER_TO_ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4611,"src":"9618:24:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9618:26:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5186,"nodeType":"RevertStatement","src":"9611:33:5"}},{"expression":{"arguments":[{"id":5189,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"9676:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5190,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"9682:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5191,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9686:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5188,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5364,"src":"9655:20:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9655:39:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5193,"nodeType":"ExpressionStatement","src":"9655:39:5"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":5197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9773:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":5196,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9765:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":5195,"name":"address","nodeType":"ElementaryTypeName","src":"9765:7:5","typeDescriptions":{}}},"id":5198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9765:10:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5199,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9777:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5194,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5245,"src":"9756:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":5200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9756:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5201,"nodeType":"ExpressionStatement","src":"9756:29:5"},{"expression":{"id":5206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5202,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"9796:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5204,"indexExpression":{"id":5203,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9804:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9796:16:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5205,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"9815:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9796:21:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5207,"nodeType":"ExpressionStatement","src":"9796:21:5"},{"eventCall":{"arguments":[{"id":5209,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"9842:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5210,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"9848:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5211,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9852:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5208,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"9833:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9833:27:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5213,"nodeType":"EmitStatement","src":"9828:32:5"},{"expression":{"arguments":[{"id":5215,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5161,"src":"9891:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5216,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5163,"src":"9897:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5217,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5165,"src":"9901:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5214,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5375,"src":"9871:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9871:38:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5219,"nodeType":"ExpressionStatement","src":"9871:38:5"}]},"documentation":{"id":5159,"nodeType":"StructuredDocumentation","src":"9111:313:5","text":" @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"9438:9:5","parameters":{"id":5166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5161,"mutability":"mutable","name":"from","nameLocation":"9456:4:5","nodeType":"VariableDeclaration","scope":5221,"src":"9448:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5160,"name":"address","nodeType":"ElementaryTypeName","src":"9448:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5163,"mutability":"mutable","name":"to","nameLocation":"9470:2:5","nodeType":"VariableDeclaration","scope":5221,"src":"9462:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5162,"name":"address","nodeType":"ElementaryTypeName","src":"9462:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5165,"mutability":"mutable","name":"tokenId","nameLocation":"9482:7:5","nodeType":"VariableDeclaration","scope":5221,"src":"9474:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5164,"name":"uint256","nodeType":"ElementaryTypeName","src":"9474:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9447:43:5"},"returnParameters":{"id":5167,"nodeType":"ParameterList","parameters":[],"src":"9508:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5245,"nodeType":"FunctionDefinition","src":"10028:171:5","nodes":[],"body":{"id":5244,"nodeType":"Block","src":"10092:107:5","nodes":[],"statements":[{"expression":{"id":5233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5229,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4623,"src":"10102:15:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5231,"indexExpression":{"id":5230,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5226,"src":"10118:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10102:24:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5232,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5224,"src":"10129:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10102:29:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5234,"nodeType":"ExpressionStatement","src":"10102:29:5"},{"eventCall":{"arguments":[{"arguments":[{"id":5238,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5226,"src":"10170:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":5236,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"10155:6:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":5237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10162:7:5","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":4719,"src":"10155:14:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":5239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10155:23:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5240,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5224,"src":"10180:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5241,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5226,"src":"10184:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5235,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93490,"src":"10146:8:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":5242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10146:46:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5243,"nodeType":"EmitStatement","src":"10141:51:5"}]},"documentation":{"id":5222,"nodeType":"StructuredDocumentation","src":"9922:101:5","text":" @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"10037:8:5","parameters":{"id":5227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5224,"mutability":"mutable","name":"to","nameLocation":"10054:2:5","nodeType":"VariableDeclaration","scope":5245,"src":"10046:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5223,"name":"address","nodeType":"ElementaryTypeName","src":"10046:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5226,"mutability":"mutable","name":"tokenId","nameLocation":"10066:7:5","nodeType":"VariableDeclaration","scope":5245,"src":"10058:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5225,"name":"uint256","nodeType":"ElementaryTypeName","src":"10058:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10045:29:5"},"returnParameters":{"id":5228,"nodeType":"ParameterList","parameters":[],"src":"10092:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5277,"nodeType":"FunctionDefinition","src":"10335:271:5","nodes":[],"body":{"id":5276,"nodeType":"Block","src":"10428:178:5","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5255,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5248,"src":"10442:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":5256,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5250,"src":"10451:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10442:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5261,"nodeType":"IfStatement","src":"10438:49:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5258,"name":"APPROVE_TO_CALLER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4597,"src":"10468:17:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10468:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5260,"nodeType":"RevertStatement","src":"10461:26:5"}},{"expression":{"id":5268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":5262,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4629,"src":"10497:18:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":5265,"indexExpression":{"id":5263,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5248,"src":"10516:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10497:25:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":5266,"indexExpression":{"id":5264,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5250,"src":"10523:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10497:35:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5267,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5252,"src":"10535:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10497:46:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5269,"nodeType":"ExpressionStatement","src":"10497:46:5"},{"eventCall":{"arguments":[{"id":5271,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5248,"src":"10573:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5272,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5250,"src":"10580:8:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5273,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5252,"src":"10590:8:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":5270,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93499,"src":"10558:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":5274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10558:41:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5275,"nodeType":"EmitStatement","src":"10553:46:5"}]},"documentation":{"id":5246,"nodeType":"StructuredDocumentation","src":"10205:125:5","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"10344:18:5","parameters":{"id":5253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5248,"mutability":"mutable","name":"owner","nameLocation":"10371:5:5","nodeType":"VariableDeclaration","scope":5277,"src":"10363:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5247,"name":"address","nodeType":"ElementaryTypeName","src":"10363:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5250,"mutability":"mutable","name":"operator","nameLocation":"10386:8:5","nodeType":"VariableDeclaration","scope":5277,"src":"10378:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5249,"name":"address","nodeType":"ElementaryTypeName","src":"10378:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5252,"mutability":"mutable","name":"approved","nameLocation":"10401:8:5","nodeType":"VariableDeclaration","scope":5277,"src":"10396:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5251,"name":"bool","nodeType":"ElementaryTypeName","src":"10396:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10362:48:5"},"returnParameters":{"id":5254,"nodeType":"ParameterList","parameters":[],"src":"10428:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5292,"nodeType":"FunctionDefinition","src":"10690:128:5","nodes":[],"body":{"id":5291,"nodeType":"Block","src":"10753:65:5","nodes":[],"statements":[{"condition":{"id":5286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10767:17:5","subExpression":{"arguments":[{"id":5284,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5280,"src":"10776:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5283,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5011,"src":"10768:7:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":5285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10768:16:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5290,"nodeType":"IfStatement","src":"10763:48:5","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5287,"name":"INVALID_TOKEN_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4603,"src":"10793:16:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10793:18:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5289,"nodeType":"RevertStatement","src":"10786:25:5"}}]},"documentation":{"id":5278,"nodeType":"StructuredDocumentation","src":"10612:73:5","text":" @dev Reverts if the `tokenId` has not been minted yet."},"implemented":true,"kind":"function","modifiers":[],"name":"_requireMinted","nameLocation":"10699:14:5","parameters":{"id":5281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5280,"mutability":"mutable","name":"tokenId","nameLocation":"10722:7:5","nodeType":"VariableDeclaration","scope":5292,"src":"10714:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5279,"name":"uint256","nodeType":"ElementaryTypeName","src":"10714:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10713:17:5"},"returnParameters":{"id":5282,"nodeType":"ParameterList","parameters":[],"src":"10753:0:5"},"scope":5376,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":5353,"nodeType":"FunctionDefinition","src":"11370:789:5","nodes":[],"body":{"id":5352,"nodeType":"Block","src":"11507:652:5","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":5306,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5297,"src":"11521:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":5307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11524:10:5","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":93701,"src":"11521:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":5308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11521:15:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5350,"nodeType":"Block","src":"12117:36:5","statements":[{"expression":{"hexValue":"74727565","id":5348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12138:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":5305,"id":5349,"nodeType":"Return","src":"12131:11:5"}]},"id":5351,"nodeType":"IfStatement","src":"11517:636:5","trueBody":{"id":5347,"nodeType":"Block","src":"11538:573:5","statements":[{"clauses":[{"block":{"id":5328,"nodeType":"Block","src":"11652:91:5","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5322,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5320,"src":"11677:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":5323,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93600,"src":"11687:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$93600_$","typeString":"type(contract IERC721Receiver)"}},"id":5324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11703:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":93599,"src":"11687:32:5","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":5325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11720:8:5","memberName":"selector","nodeType":"MemberAccess","src":"11687:41:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"11677:51:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5305,"id":5327,"nodeType":"Return","src":"11670:58:5"}]},"errorName":"","id":5329,"nodeType":"TryCatchClause","parameters":{"id":5321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5320,"mutability":"mutable","name":"retval","nameLocation":"11644:6:5","nodeType":"VariableDeclaration","scope":5329,"src":"11637:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5319,"name":"bytes4","nodeType":"ElementaryTypeName","src":"11637:6:5","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"11636:15:5"},"src":"11628:115:5"},{"block":{"id":5344,"nodeType":"Block","src":"11772:329:5","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5333,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5331,"src":"11794:6:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":5334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11801:6:5","memberName":"length","nodeType":"MemberAccess","src":"11794:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":5335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11811:1:5","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11794:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":5342,"nodeType":"Block","src":"11897:190:5","statements":[{"AST":{"nativeSrc":"11983:86:5","nodeType":"YulBlock","src":"11983:86:5","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"12020:2:5","nodeType":"YulLiteral","src":"12020:2:5","type":"","value":"32"},{"name":"reason","nativeSrc":"12024:6:5","nodeType":"YulIdentifier","src":"12024:6:5"}],"functionName":{"name":"add","nativeSrc":"12016:3:5","nodeType":"YulIdentifier","src":"12016:3:5"},"nativeSrc":"12016:15:5","nodeType":"YulFunctionCall","src":"12016:15:5"},{"arguments":[{"name":"reason","nativeSrc":"12039:6:5","nodeType":"YulIdentifier","src":"12039:6:5"}],"functionName":{"name":"mload","nativeSrc":"12033:5:5","nodeType":"YulIdentifier","src":"12033:5:5"},"nativeSrc":"12033:13:5","nodeType":"YulFunctionCall","src":"12033:13:5"}],"functionName":{"name":"revert","nativeSrc":"12009:6:5","nodeType":"YulIdentifier","src":"12009:6:5"},"nativeSrc":"12009:38:5","nodeType":"YulFunctionCall","src":"12009:38:5"},"nativeSrc":"12009:38:5","nodeType":"YulExpressionStatement","src":"12009:38:5"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":5331,"isOffset":false,"isSlot":false,"src":"12024:6:5","valueSize":1},{"declaration":5331,"isOffset":false,"isSlot":false,"src":"12039:6:5","valueSize":1}],"id":5341,"nodeType":"InlineAssembly","src":"11974:95:5"}]},"id":5343,"nodeType":"IfStatement","src":"11790:297:5","trueBody":{"id":5340,"nodeType":"Block","src":"11814:77:5","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5337,"name":"TRANSFER_TO_NON_IMPLEMENTER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4609,"src":"11843:27:5","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11843:29:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5339,"nodeType":"RevertStatement","src":"11836:36:5"}]}}]},"errorName":"","id":5345,"nodeType":"TryCatchClause","parameters":{"id":5332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5331,"mutability":"mutable","name":"reason","nameLocation":"11764:6:5","nodeType":"VariableDeclaration","scope":5345,"src":"11751:19:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5330,"name":"bytes","nodeType":"ElementaryTypeName","src":"11751:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11750:21:5"},"src":"11744:357:5"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":5313,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"11593:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":5314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11593:12:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5315,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5295,"src":"11607:4:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":5316,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5299,"src":"11613:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5317,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5301,"src":"11622:4:5","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":5310,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5297,"src":"11572:2:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5309,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93600,"src":"11556:15:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$93600_$","typeString":"type(contract IERC721Receiver)"}},"id":5311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:19:5","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$93600","typeString":"contract IERC721Receiver"}},"id":5312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11576:16:5","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":93599,"src":"11556:36:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":5318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11556:71:5","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":5346,"nodeType":"TryStatement","src":"11552:549:5"}]}}]},"documentation":{"id":5293,"nodeType":"StructuredDocumentation","src":"10824:541:5","text":" @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"11379:22:5","parameters":{"id":5302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5295,"mutability":"mutable","name":"from","nameLocation":"11410:4:5","nodeType":"VariableDeclaration","scope":5353,"src":"11402:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5294,"name":"address","nodeType":"ElementaryTypeName","src":"11402:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5297,"mutability":"mutable","name":"to","nameLocation":"11424:2:5","nodeType":"VariableDeclaration","scope":5353,"src":"11416:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5296,"name":"address","nodeType":"ElementaryTypeName","src":"11416:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5299,"mutability":"mutable","name":"tokenId","nameLocation":"11436:7:5","nodeType":"VariableDeclaration","scope":5353,"src":"11428:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5298,"name":"uint256","nodeType":"ElementaryTypeName","src":"11428:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5301,"mutability":"mutable","name":"data","nameLocation":"11458:4:5","nodeType":"VariableDeclaration","scope":5353,"src":"11445:17:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5300,"name":"bytes","nodeType":"ElementaryTypeName","src":"11445:5:5","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11401:62:5"},"returnParameters":{"id":5305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5304,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5353,"src":"11497:4:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5303,"name":"bool","nodeType":"ElementaryTypeName","src":"11497:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11496:6:5"},"scope":5376,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":5364,"nodeType":"FunctionDefinition","src":"12715:92:5","nodes":[],"body":{"id":5363,"nodeType":"Block","src":"12805:2:5","nodes":[],"statements":[]},"documentation":{"id":5354,"nodeType":"StructuredDocumentation","src":"12165:545:5","text":" @dev Hook that is called before any token transfer. This includes minting\n and burning.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n transferred to `to`.\n - When `from` is zero, `tokenId` will be minted for `to`.\n - When `to` is zero, ``from``'s `tokenId` will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"12724:20:5","parameters":{"id":5361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5356,"mutability":"mutable","name":"from","nameLocation":"12753:4:5","nodeType":"VariableDeclaration","scope":5364,"src":"12745:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5355,"name":"address","nodeType":"ElementaryTypeName","src":"12745:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5358,"mutability":"mutable","name":"to","nameLocation":"12767:2:5","nodeType":"VariableDeclaration","scope":5364,"src":"12759:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5357,"name":"address","nodeType":"ElementaryTypeName","src":"12759:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5360,"mutability":"mutable","name":"tokenId","nameLocation":"12779:7:5","nodeType":"VariableDeclaration","scope":5364,"src":"12771:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5359,"name":"uint256","nodeType":"ElementaryTypeName","src":"12771:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12744:43:5"},"returnParameters":{"id":5362,"nodeType":"ParameterList","parameters":[],"src":"12805:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5375,"nodeType":"FunctionDefinition","src":"13179:91:5","nodes":[],"body":{"id":5374,"nodeType":"Block","src":"13268:2:5","nodes":[],"statements":[]},"documentation":{"id":5365,"nodeType":"StructuredDocumentation","src":"12813:361:5","text":" @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"13188:19:5","parameters":{"id":5372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5367,"mutability":"mutable","name":"from","nameLocation":"13216:4:5","nodeType":"VariableDeclaration","scope":5375,"src":"13208:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5366,"name":"address","nodeType":"ElementaryTypeName","src":"13208:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5369,"mutability":"mutable","name":"to","nameLocation":"13230:2:5","nodeType":"VariableDeclaration","scope":5375,"src":"13222:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5368,"name":"address","nodeType":"ElementaryTypeName","src":"13222:7:5","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5371,"mutability":"mutable","name":"tokenId","nameLocation":"13242:7:5","nodeType":"VariableDeclaration","scope":5375,"src":"13234:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5370,"name":"uint256","nodeType":"ElementaryTypeName","src":"13234:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13207:43:5"},"returnParameters":{"id":5373,"nodeType":"ParameterList","parameters":[],"src":"13268:0:5"},"scope":5376,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":4580,"name":"Context","nameLocations":["1077:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":95576,"src":"1077:7:5"},"id":4581,"nodeType":"InheritanceSpecifier","src":"1077:7:5"},{"baseName":{"id":4582,"name":"ERC165","nameLocations":["1086:6:5"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"1086:6:5"},"id":4583,"nodeType":"InheritanceSpecifier","src":"1086:6:5"},{"baseName":{"id":4584,"name":"IERC721","nameLocations":["1094:7:5"],"nodeType":"IdentifierPath","referencedDeclaration":93582,"src":"1094:7:5"},"id":4585,"nodeType":"InheritanceSpecifier","src":"1094:7:5"},{"baseName":{"id":4586,"name":"IERC721Metadata","nameLocations":["1103:15:5"],"nodeType":"IdentifierPath","referencedDeclaration":93680,"src":"1103:15:5"},"id":4587,"nodeType":"InheritanceSpecifier","src":"1103:15:5"}],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":4579,"nodeType":"StructuredDocumentation","src":"776:281:5","text":" @dev Doesn't track balances.\n @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"linearizedBaseContracts":[5376,93680,93582,96799,97005,95576],"name":"ERC721","nameLocation":"1067:6:5","scope":5377,"usedErrors":[4595,4597,4599,4601,4603,4605,4607,4609,4611],"usedEvents":[93481,93490,93499]}],"license":"MIT"},"id":5} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610de1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b4578063b88d4fde146101c7578063c87b56dd146101da578063e985e9c5146101ed57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ac57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610a51565b610229565b60405190151581526020015b60405180910390f35b61010461027b565b6040516100f39190610abe565b61012461011f366004610ad1565b61030d565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610b06565b610334565b005b61014f61015f366004610b30565b6103c0565b61014f610172366004610b30565b6103f2565b610124610185366004610ad1565b61040d565b61019e610198366004610b6c565b50600090565b6040519081526020016100f3565b610104610443565b61014f6101c2366004610b87565b610452565b61014f6101d5366004610bd9565b610461565b6101046101e8366004610ad1565b61049a565b6100e76101fb366004610cb5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025a57506001600160e01b03198216635b5e139f60e01b145b8061027557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028a90610ce8565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610ce8565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60006103188261050e565b506000908152600360205260409020546001600160a01b031690565b600061033f8261040d565b9050806001600160a01b0316836001600160a01b0316036103735760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610393575061039181336101fb565b155b156103b15760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb8383610546565b505050565b6103ca33826105b4565b6103e75760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb838383610633565b6103bb83838360405180602001604052806000815250610461565b6000818152600260205260408120546001600160a01b0316806102755760405163b49aa3b560e01b815260040160405180910390fd5b60606001805461028a90610ce8565b61045d3383836106fb565b5050565b61046b33836105b4565b6104885760405163e5fa0e3560e01b815260040160405180910390fd5b6104948484848461079a565b50505050565b60606104a58261050e565b60006104bc60408051602081019091526000815290565b905060008151116104dc5760405180602001604052806000815250610507565b806104e6846107ce565b6040516020016104f7929190610d22565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166105435760405163b49aa3b560e01b815260040160405180910390fd5b50565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061057b8261040d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806105c08361040d565b9050806001600160a01b0316846001600160a01b0316148061060757506001600160a01b0380821660009081526004602090815260408083209388168352929052205460ff165b8061062b5750836001600160a01b03166106208461030d565b6001600160a01b0316145b949350505050565b826001600160a01b03166106468261040d565b6001600160a01b03161461066d5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661069457604051632c95542760e01b815260040160405180910390fd5b61069f600082610546565b60008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361072d576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6107a5848484610633565b6107b184848484610861565b610494576040516336f57c1b60e11b815260040160405180910390fd5b606060006107db83610963565b600101905060008167ffffffffffffffff8111156107fb576107fb610bc3565b6040519080825280601f01601f191660200182016040528015610825576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461082f57509392505050565b60006001600160a01b0384163b1561095857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906108a5903390899088908890600401610d51565b6020604051808303816000875af19250505080156108e0575060408051601f3d908101601f191682019092526108dd91810190610d8e565b60015b61093e573d80801561090e576040519150601f19603f3d011682016040523d82523d6000602084013e610913565b606091505b508051600003610936576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061062b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106109a25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106109ce576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106109ec57662386f26fc10000830492506010015b6305f5e1008310610a04576305f5e100830492506008015b6127108310610a1857612710830492506004015b60648310610a2a576064830492506002015b600a83106102755760010192915050565b6001600160e01b03198116811461054357600080fd5b600060208284031215610a6357600080fd5b813561050781610a3b565b60005b83811015610a89578181015183820152602001610a71565b50506000910152565b60008151808452610aaa816020860160208601610a6e565b601f01601f19169290920160200192915050565b6020815260006105076020830184610a92565b600060208284031215610ae357600080fd5b5035919050565b80356001600160a01b0381168114610b0157600080fd5b919050565b60008060408385031215610b1957600080fd5b610b2283610aea565b946020939093013593505050565b600080600060608486031215610b4557600080fd5b610b4e84610aea565b9250610b5c60208501610aea565b9150604084013590509250925092565b600060208284031215610b7e57600080fd5b61050782610aea565b60008060408385031215610b9a57600080fd5b610ba383610aea565b915060208301358015158114610bb857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610bef57600080fd5b610bf885610aea565b9350610c0660208601610aea565b925060408501359150606085013567ffffffffffffffff80821115610c2a57600080fd5b818701915087601f830112610c3e57600080fd5b813581811115610c5057610c50610bc3565b604051601f8201601f19908116603f01168101908382118183101715610c7857610c78610bc3565b816040528281528a6020848701011115610c9157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610cc857600080fd5b610cd183610aea565b9150610cdf60208401610aea565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610d34818460208801610a6e565b835190830190610d48818360208801610a6e565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d8490830184610a92565b9695505050505050565b600060208284031215610da057600080fd5b815161050781610a3b56fea2646970667358221220a217e57d4d2127b8ef98b9c84b3565db47356d45a3aabf8fe32ffa4e6c80edec64736f6c63430008170033","sourceMap":"1058:12214:5:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b4578063b88d4fde146101c7578063c87b56dd146101da578063e985e9c5146101ed57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ac57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610a51565b610229565b60405190151581526020015b60405180910390f35b61010461027b565b6040516100f39190610abe565b61012461011f366004610ad1565b61030d565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610b06565b610334565b005b61014f61015f366004610b30565b6103c0565b61014f610172366004610b30565b6103f2565b610124610185366004610ad1565b61040d565b61019e610198366004610b6c565b50600090565b6040519081526020016100f3565b610104610443565b61014f6101c2366004610b87565b610452565b61014f6101d5366004610bd9565b610461565b6101046101e8366004610ad1565b61049a565b6100e76101fb366004610cb5565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025a57506001600160e01b03198216635b5e139f60e01b145b8061027557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028a90610ce8565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610ce8565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60006103188261050e565b506000908152600360205260409020546001600160a01b031690565b600061033f8261040d565b9050806001600160a01b0316836001600160a01b0316036103735760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610393575061039181336101fb565b155b156103b15760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb8383610546565b505050565b6103ca33826105b4565b6103e75760405163e5fa0e3560e01b815260040160405180910390fd5b6103bb838383610633565b6103bb83838360405180602001604052806000815250610461565b6000818152600260205260408120546001600160a01b0316806102755760405163b49aa3b560e01b815260040160405180910390fd5b60606001805461028a90610ce8565b61045d3383836106fb565b5050565b61046b33836105b4565b6104885760405163e5fa0e3560e01b815260040160405180910390fd5b6104948484848461079a565b50505050565b60606104a58261050e565b60006104bc60408051602081019091526000815290565b905060008151116104dc5760405180602001604052806000815250610507565b806104e6846107ce565b6040516020016104f7929190610d22565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166105435760405163b49aa3b560e01b815260040160405180910390fd5b50565b600081815260036020526040902080546001600160a01b0319166001600160a01b038416908117909155819061057b8261040d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806105c08361040d565b9050806001600160a01b0316846001600160a01b0316148061060757506001600160a01b0380821660009081526004602090815260408083209388168352929052205460ff165b8061062b5750836001600160a01b03166106208461030d565b6001600160a01b0316145b949350505050565b826001600160a01b03166106468261040d565b6001600160a01b03161461066d5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661069457604051632c95542760e01b815260040160405180910390fd5b61069f600082610546565b60008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361072d576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260046020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6107a5848484610633565b6107b184848484610861565b610494576040516336f57c1b60e11b815260040160405180910390fd5b606060006107db83610963565b600101905060008167ffffffffffffffff8111156107fb576107fb610bc3565b6040519080825280601f01601f191660200182016040528015610825576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461082f57509392505050565b60006001600160a01b0384163b1561095857604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906108a5903390899088908890600401610d51565b6020604051808303816000875af19250505080156108e0575060408051601f3d908101601f191682019092526108dd91810190610d8e565b60015b61093e573d80801561090e576040519150601f19603f3d011682016040523d82523d6000602084013e610913565b606091505b508051600003610936576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061062b565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106109a25772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106109ce576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106109ec57662386f26fc10000830492506010015b6305f5e1008310610a04576305f5e100830492506008015b6127108310610a1857612710830492506004015b60648310610a2a576064830492506002015b600a83106102755760010192915050565b6001600160e01b03198116811461054357600080fd5b600060208284031215610a6357600080fd5b813561050781610a3b565b60005b83811015610a89578181015183820152602001610a71565b50506000910152565b60008151808452610aaa816020860160208601610a6e565b601f01601f19169290920160200192915050565b6020815260006105076020830184610a92565b600060208284031215610ae357600080fd5b5035919050565b80356001600160a01b0381168114610b0157600080fd5b919050565b60008060408385031215610b1957600080fd5b610b2283610aea565b946020939093013593505050565b600080600060608486031215610b4557600080fd5b610b4e84610aea565b9250610b5c60208501610aea565b9150604084013590509250925092565b600060208284031215610b7e57600080fd5b61050782610aea565b60008060408385031215610b9a57600080fd5b610ba383610aea565b915060208301358015158114610bb857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610bef57600080fd5b610bf885610aea565b9350610c0660208601610aea565b925060408501359150606085013567ffffffffffffffff80821115610c2a57600080fd5b818701915087601f830112610c3e57600080fd5b813581811115610c5057610c50610bc3565b604051601f8201601f19908116603f01168101908382118183101715610c7857610c78610bc3565b816040528281528a6020848701011115610c9157600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610cc857600080fd5b610cd183610aea565b9150610cdf60208401610aea565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1c57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351610d34818460208801610a6e565b835190830190610d48818360208801610a6e565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610d8490830184610a92565b9695505050505050565b600060208284031215610da057600080fd5b815161050781610a3b56fea2646970667358221220a217e57d4d2127b8ef98b9c84b3565db47356d45a3aabf8fe32ffa4e6c80edec64736f6c63430008170033","sourceMap":"1058:12214:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2227:276;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;2227:276:5;;;;;;;;3042:98;;;:::i;:::-;;;;;;;:::i;4461:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:197;;;1679:51;;1667:2;1652:18;4461:167:5;1533:203:197;4039:361:5;;;;;;:::i;:::-;;:::i;:::-;;5138:282;;;;;;:::i;:::-;;:::i;5486:149::-;;;;;;:::i;:::-;;:::i;2768:212::-;;;;;;:::i;:::-;;:::i;2580:131::-;;;;;;:::i;:::-;-1:-1:-1;2654:15:5;;2580:131;;;;2848:25:197;;;2836:2;2821:18;2580:131:5;2702:177:197;3204:102:5;;;:::i;4695:153::-;;;;;;:::i;:::-;;:::i;5701:262::-;;;;;;:::i;:::-;;:::i;3372:276::-;;;;;;:::i;:::-;;:::i;4914:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4914:162;2227:276;2329:4;-1:-1:-1;;;;;;2352:40:5;;-1:-1:-1;;;2352:40:5;;:92;;-1:-1:-1;;;;;;;2396:48:5;;-1:-1:-1;;;2396:48:5;2352:92;:144;;;-1:-1:-1;;;;;;;;;;937:40:188;;;2460:36:5;2345:151;2227:276;-1:-1:-1;;2227:276:5:o;3042:98::-;3096:13;3128:5;3121:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3042:98;:::o;4461:167::-;4537:7;4556:23;4571:7;4556:14;:23::i;:::-;-1:-1:-1;4597:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4597:24:5;;4461:167::o;4039:361::-;4119:13;4135:23;4150:7;4135:14;:23::i;:::-;4119:39;;4179:5;-1:-1:-1;;;;;4173:11:5;:2;-1:-1:-1;;;;;4173:11:5;;4169:51;;4193:27;;-1:-1:-1;;;4193:27:5;;;;;;;;;;;4169:51;719:10:181;-1:-1:-1;;;;;4235:21:5;;;;;;:63;;-1:-1:-1;4261:37:5;4278:5;719:10:181;4914:162:5;:::i;4261:37::-;4260:38;4235:63;4231:131;;;4321:30;;-1:-1:-1;;;4321:30:5;;;;;;;;;;;4231:131;4372:21;4381:2;4385:7;4372:8;:21::i;:::-;4109:291;4039:361;;:::o;5138:282::-;5294:41;719:10:181;5327:7:5;5294:18;:41::i;:::-;5289:85;;5344:30;;-1:-1:-1;;;5344:30:5;;;;;;;;;;;5289:85;5385:28;5395:4;5401:2;5405:7;5385:9;:28::i;5486:149::-;5589:39;5606:4;5612:2;5616:7;5589:39;;;;;;;;;;;;:16;:39::i;2768:212::-;2840:7;2875:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2875:16:5;;2901:50;;2933:18;;-1:-1:-1;;;2933:18:5;;;;;;;;;;;3204:102;3260:13;3292:7;3285:14;;;;;:::i;4695:153::-;4789:52;719:10:181;4822:8:5;4832;4789:18;:52::i;:::-;4695:153;;:::o;5701:262::-;5828:41;719:10:181;5861:7:5;5828:18;:41::i;:::-;5823:85;;5878:30;;-1:-1:-1;;;5878:30:5;;;;;;;;;;;5823:85;5918:38;5932:4;5938:2;5942:7;5951:4;5918:13;:38::i;:::-;5701:262;;;;:::o;3372:276::-;3445:13;3470:23;3485:7;3470:14;:23::i;:::-;3504:21;3528:10;3966:9;;;;;;;;;-1:-1:-1;3966:9:5;;;3890:92;3528:10;3504:34;;3579:1;3561:7;3555:21;:25;:86;;;;;;;;;;;;;;;;;3607:7;3616:18;:7;:16;:18::i;:::-;3590:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3555:86;3548:93;3372:276;-1:-1:-1;;;3372:276:5:o;10690:128::-;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;10763:48;;10793:18;;-1:-1:-1;;;10793:18:5;;;;;;;;;;;10763:48;10690:128;:::o;10028:171::-;10102:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;10102:29:5;-1:-1:-1;;;;;10102:29:5;;;;;;;;:24;;10155:23;10102:24;10155:14;:23::i;:::-;-1:-1:-1;;;;;10146:46:5;;;;;;;;;;;10028:171;;:::o;7657:261::-;7750:4;7766:13;7782:23;7797:7;7782:14;:23::i;:::-;7766:39;;7834:5;-1:-1:-1;;;;;7823:16:5;:7;-1:-1:-1;;;;;7823:16:5;;:52;;;-1:-1:-1;;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7843:32;7823:87;;;;7903:7;-1:-1:-1;;;;;7879:31:5;:20;7891:7;7879:11;:20::i;:::-;-1:-1:-1;;;;;7879:31:5;;7823:87;7815:96;7657:261;-1:-1:-1;;;;7657:261:5:o;9429:487::-;9549:4;-1:-1:-1;;;;;9522:31:5;:23;9537:7;9522:14;:23::i;:::-;-1:-1:-1;;;;;9522:31:5;;9518:61;;9562:17;;-1:-1:-1;;;9562:17:5;;;;;;;;;;;9518:61;-1:-1:-1;;;;;9593:16:5;;9589:55;;9618:26;;-1:-1:-1;;;9618:26:5;;;;;;;;;;;9589:55;9756:29;9773:1;9777:7;9756:8;:29::i;:::-;9796:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9796:21:5;-1:-1:-1;;;;;9796:21:5;;;;;;;;;9833:27;;9796:16;;9833:27;;;;;;;4109:291;4039:361;;:::o;10335:271::-;10451:8;-1:-1:-1;;;;;10442:17:5;:5;-1:-1:-1;;;;;10442:17:5;;10438:49;;10468:19;;-1:-1:-1;;;10468:19:5;;;;;;;;;;;10438:49;-1:-1:-1;;;;;10497:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;10497:46:5;;;;;;;;;;10558:41;;540::197;;;10558::5;;513:18:197;10558:41:5;;;;;;;10335:271;;;:::o;6824:247::-;6936:28;6946:4;6952:2;6956:7;6936:9;:28::i;:::-;6979:47;7002:4;7008:2;7012:7;7021:4;6979:22;:47::i;:::-;6974:90;;7035:29;;-1:-1:-1;;;7035:29:5;;;;;;;;;;;447:696:185;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:185;-1:-1:-1;604:41:185;-1:-1:-1;765:28:185;;;781:2;765:28;820:280;-1:-1:-1;;851:5:185;-1:-1:-1;;;985:2:185;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:185;820:280;1064:21;-1:-1:-1;1120:6:185;447:696;-1:-1:-1;;;447:696:185:o;11370:789:5:-;11497:4;-1:-1:-1;;;;;11521:13:5;;1702:19:179;:23;11517:636:5;;11556:71;;-1:-1:-1;;;11556:71:5;;-1:-1:-1;;;;;11556:36:5;;;;;:71;;719:10:181;;11607:4:5;;11613:7;;11622:4;;11556:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11556:71:5;;;;;;;;-1:-1:-1;;11556:71:5;;;;;;;;;;;;:::i;:::-;;;11552:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11794:6;:13;11811:1;11794:18;11790:297;;11843:29;;-1:-1:-1;;;11843:29:5;;;;;;;;;;;11790:297;12039:6;12033:13;12024:6;12020:2;12016:15;12009:38;11552:549;-1:-1:-1;;;;;;11677:51:5;-1:-1:-1;;;11677:51:5;;-1:-1:-1;11670:58:5;;11517:636;-1:-1:-1;12138:4:5;11370:789;;;;;;:::o;10139:916:191:-;10192:7;;-1:-1:-1;;;10267:17:191;;10263:103;;-1:-1:-1;;;10304:17:191;;;-1:-1:-1;10349:2:191;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:191;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:191;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:191;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:191;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:191;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:191:o;14:131:197:-;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:197;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:197;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:197:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:197;;1348:180;-1:-1:-1;1348:180:197:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:197;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:197:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:197;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5161:496::-;5340:3;5378:6;5372:13;5394:66;5453:6;5448:3;5441:4;5433:6;5429:17;5394:66;:::i;:::-;5523:13;;5482:16;;;;5545:70;5523:13;5482:16;5592:4;5580:17;;5545:70;:::i;:::-;5631:20;;5161:496;-1:-1:-1;;;;5161:496:197:o;5794:489::-;-1:-1:-1;;;;;6063:15:197;;;6045:34;;6115:15;;6110:2;6095:18;;6088:43;6162:2;6147:18;;6140:34;;;6210:3;6205:2;6190:18;;6183:31;;;5988:4;;6231:46;;6257:19;;6249:6;6231:46;:::i;:::-;6223:54;5794:489;-1:-1:-1;;;;;;5794:489:197:o;6288:249::-;6357:6;6410:2;6398:9;6389:7;6385:23;6381:32;6378:52;;;6426:1;6423;6416:12;6378:52;6458:9;6452:16;6477:30;6501:5;6477:30;:::i","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Doesn't track balances.Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"Balance tracking to be overriden by childs\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"Balance tracking to be overriden by childs"},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/ERC721.sol":"ERC721"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":5} \ No newline at end of file diff --git a/out/ERC721/ERC721.sol/ERC721.json b/out/ERC721/ERC721.sol/ERC721.json index 69548c67..9841857c 100644 --- a/out/ERC721/ERC721.sol/ERC721.json +++ b/out/ERC721/ERC721.sol/ERC721.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50604051620013ec380380620013ec833981016040819052620000349162000122565b60006200004283826200021d565b5060016200005182826200021d565b505050620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b8160405283815260209250866020858801011115620000e857600080fd5b600091505b838210156200010c5785820183015181830184015290820190620000ed565b6000602085830101528094505050505092915050565b600080604083850312156200013657600080fd5b82516001600160401b03808211156200014e57600080fd5b6200015c8683870162000070565b935060208501519150808211156200017357600080fd5b50620001828582860162000070565b9150509250929050565b600181811c90821680620001a157607f821691505b602082108103620001c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000218576000816000526020600020601f850160051c81016020861015620001f35750805b601f850160051c820191505b818110156200021457828155600101620001ff565b5050505b505050565b81516001600160401b038111156200023957620002396200005a565b62000251816200024a84546200018c565b84620001c8565b602080601f831160018114620002895760008415620002705750858301515b600019600386901b1c1916600185901b17855562000214565b600085815260208120601f198616915b82811015620002ba5788860151825594840194600190910190840162000299565b5085821015620002d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d1ab7f927cfe677f835d3009e67227aaa84eccc306e9c37cd7e754b43400323d64736f6c63430008170033","sourceMap":"628:16377:173:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:173;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:197;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:197;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:197;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:562::-;1094:6;1102;1155:2;1143:9;1134:7;1130:23;1126:32;1123:52;;;1171:1;1168;1161:12;1123:52;1198:16;;-1:-1:-1;;;;;1263:14:197;;;1260:34;;;1290:1;1287;1280:12;1260:34;1313:61;1366:7;1357:6;1346:9;1342:22;1313:61;:::i;:::-;1303:71;;1420:2;1409:9;1405:18;1399:25;1383:41;;1449:2;1439:8;1436:16;1433:36;;;1465:1;1462;1455:12;1433:36;;1488:63;1543:7;1532:8;1521:9;1517:24;1488:63;:::i;:::-;1478:73;;;995:562;;;;;:::o;1562:380::-;1641:1;1637:12;;;;1684;;;1705:61;;1759:4;1751:6;1747:17;1737:27;;1705:61;1812:2;1804:6;1801:14;1781:18;1778:38;1775:161;;1858:10;1853:3;1849:20;1846:1;1839:31;1893:4;1890:1;1883:15;1921:4;1918:1;1911:15;1775:161;;1562:380;;;:::o;2073:543::-;2175:2;2170:3;2167:11;2164:446;;;2211:1;2235:5;2232:1;2225:16;2279:4;2276:1;2266:18;2349:2;2337:10;2333:19;2330:1;2326:27;2320:4;2316:38;2385:4;2373:10;2370:20;2367:47;;;-1:-1:-1;2408:4:197;2367:47;2463:2;2458:3;2454:12;2451:1;2447:20;2441:4;2437:31;2427:41;;2518:82;2536:2;2529:5;2526:13;2518:82;;;2581:17;;;2562:1;2551:13;2518:82;;;2522:3;;;2164:446;2073:543;;;:::o;2792:1345::-;2912:10;;-1:-1:-1;;;;;2934:30:197;;2931:56;;;2967:18;;:::i;:::-;2996:97;3086:6;3046:38;3078:4;3072:11;3046:38;:::i;:::-;3040:4;2996:97;:::i;:::-;3148:4;;3205:2;3194:14;;3222:1;3217:663;;;;3924:1;3941:6;3938:89;;;-1:-1:-1;3993:19:197;;;3987:26;3938:89;-1:-1:-1;;2749:1:197;2745:11;;;2741:24;2737:29;2727:40;2773:1;2769:11;;;2724:57;4040:81;;3187:944;;3217:663;2020:1;2013:14;;;2057:4;2044:18;;-1:-1:-1;;3253:20:197;;;3371:236;3385:7;3382:1;3379:14;3371:236;;;3474:19;;;3468:26;3453:42;;3566:27;;;;3534:1;3522:14;;;;3401:19;;3371:236;;;3375:3;3635:6;3626:7;3623:19;3620:201;;;3696:19;;;3690:26;-1:-1:-1;;3779:1:197;3775:14;;;3791:3;3771:24;3767:37;3763:42;3748:58;3733:74;;3620:201;-1:-1:-1;;;;;3867:1:197;3851:14;;;3847:22;3834:36;;-1:-1:-1;2792:1345:197:o;:::-;628:16377:173;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d1ab7f927cfe677f835d3009e67227aaa84eccc306e9c37cd7e754b43400323d64736f6c63430008170033","sourceMap":"628:16377:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;1570:300:173;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:197;;;1679:51;;1667:2;1652:18;3935:167:173;1533:203:197;3468:406:173;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:197;;;2836:2;2821:18;1929:204:173;2702:177:197;2633:102:173;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:173;;-1:-1:-1;;;1707:40:173;;:104;;-1:-1:-1;;;;;;;1763:48:173;;-1:-1:-1;;;1763:48:173;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:188;;;1827:36:173;1688:175;1570:300;-1:-1:-1;;1570:300:173:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:173;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:173;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:173;:2;-1:-1:-1;;;;;3605:11:173;;3597:57;;;;-1:-1:-1;;;3597:57:173;;5363:2:197;3597:57:173;;;5345:21:197;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:197;;;5485:31;5533:19;;3597:57:173;;;;;;;;;719:10:181;-1:-1:-1;;;;;3686:21:173;;;;:62;;-1:-1:-1;3711:37:173;3728:5;719:10:181;4388:162:173;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:173;;5765:2:197;3665:170:173;;;5747:21:197;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:173;5563:425:197;3665:170:173;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:181;4804:7:173;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:173;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;;2324:56;;;;-1:-1:-1;;;2324:56:173;;6609:2:197;2324:56:173;;;6591:21:197;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:197;;;6660:54;6731:18;;2324:56:173;6407:348:197;1929:204:173;2001:7;-1:-1:-1;;;;;2028:19:173;;2020:73;;;;-1:-1:-1;;;2020:73:173;;6962:2:197;2020:73:173;;;6944:21:197;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:197;;;7084:39;7140:19;;2020:73:173;6760:405:197;2020:73:173;-1:-1:-1;;;;;;2110:16:173;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:181;4296:8:173;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:181;5352:7:173;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:173;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:173;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:173:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;13313:53;;;;-1:-1:-1;;;13313:53:173;;6609:2:197;13313:53:173;;;6591:21:197;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:197;;;6660:54;6731:18;;13313:53:173;6407:348:197;13313:53:173;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:173;-1:-1:-1;;;;;12646:29:173;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:173;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:173;:7;-1:-1:-1;;;;;7570:16:173;;:52;;;-1:-1:-1;;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:173;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:173;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:173:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:173;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:173;;11346:81;;;;-1:-1:-1;;;11346:81:173;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:173;;11437:65;;;;-1:-1:-1;;;11437:65:173;;8279:2:197;11437:65:173;;;8261:21:197;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:197;;;8401:34;8452:19;;11437:65:173;8077:400:197;11437:65:173;11682:4;-1:-1:-1;;;;;11655:31:173;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:173;;11647:81;;;;-1:-1:-1;;;11647:81:173;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:173;;;;;;-1:-1:-1;;;;;12265:15:173;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:173;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:173;:5;-1:-1:-1;;;;;12990:17:173;;12982:55;;;;-1:-1:-1;;;12982:55:173;;8684:2:197;12982:55:173;;;8666:21:197;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:173;8482:349:197;12982:55:173;-1:-1:-1;;;;;13047:25:173;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:173;;;;;;;;;;13108:41;;540::197;;;13108::173;;513:18:197;13108:41:173;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:173;;;;;;;:::i;447:696:185:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:185;-1:-1:-1;604:41:185;-1:-1:-1;765:28:185;;;781:2;765:28;820:280;-1:-1:-1;;851:5:185;-1:-1:-1;;;985:2:185;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:185;820:280;1064:21;-1:-1:-1;1120:6:185;447:696;-1:-1:-1;;;447:696:185:o;13925:831:173:-;14074:4;-1:-1:-1;;;;;14094:13:173;;1702:19:179;:23;14090:660:173;;14129:71;;-1:-1:-1;;;14129:71:173;;-1:-1:-1;;;;;14129:36:173;;;;;:71;;719:10:181;;14180:4:173;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:173;;;;;;;;-1:-1:-1;;14129:71:173;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:173;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:173;-1:-1:-1;;;14250:51:173;;-1:-1:-1;14243:58:173;;14090:660;-1:-1:-1;14735:4:173;13925:831;;;;;;:::o;10139:916:191:-;10192:7;;-1:-1:-1;;;10267:17:191;;10263:103;;-1:-1:-1;;;10304:17:191;;;-1:-1:-1;10349:2:191;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:191;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:191;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:191;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:191;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:191;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:191:o;14:131:197:-;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:197;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:197;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:197:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:197;;1348:180;-1:-1:-1;1348:180:197:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:197;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:197:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:197;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:197;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:197:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:197;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:197;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:197;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:197:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"constructor":{"details":"Initializes the contract by setting a `name` and a `symbol` to the token collection."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":"ERC721"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol","id":93467,"exportedSymbols":{"Address":[94013],"Context":[95576],"ERC165":[96799],"ERC721":[93466],"IERC165":[97005],"IERC721":[93582],"IERC721Metadata":[93680],"IERC721Receiver":[93600],"Math":[97871],"SignedMath":[99517],"Strings":[96205]},"nodeType":"SourceUnit","src":"107:16899:173","nodes":[{"id":92541,"nodeType":"PragmaDirective","src":"107:23:173","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":92542,"nodeType":"ImportDirective","src":"132:23:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"./IERC721.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":93583,"symbolAliases":[],"unitAlias":""},{"id":92543,"nodeType":"ImportDirective","src":"156:31:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","file":"./IERC721Receiver.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":93601,"symbolAliases":[],"unitAlias":""},{"id":92544,"nodeType":"ImportDirective","src":"188:42:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","file":"./extensions/IERC721Metadata.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":93681,"symbolAliases":[],"unitAlias":""},{"id":92545,"nodeType":"ImportDirective","src":"231:33:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Address.sol","file":"../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":94014,"symbolAliases":[],"unitAlias":""},{"id":92546,"nodeType":"ImportDirective","src":"265:33:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":95577,"symbolAliases":[],"unitAlias":""},{"id":92547,"nodeType":"ImportDirective","src":"299:33:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Strings.sol","file":"../../utils/Strings.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":96206,"symbolAliases":[],"unitAlias":""},{"id":92548,"nodeType":"ImportDirective","src":"333:46:173","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"../../utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":93467,"sourceUnit":96800,"symbolAliases":[],"unitAlias":""},{"id":93466,"nodeType":"ContractDefinition","src":"628:16377:173","nodes":[{"id":92560,"nodeType":"UsingForDirective","src":"695:26:173","nodes":[],"global":false,"libraryName":{"id":92558,"name":"Address","nameLocations":["701:7:173"],"nodeType":"IdentifierPath","referencedDeclaration":94013,"src":"701:7:173"},"typeName":{"id":92559,"name":"address","nodeType":"ElementaryTypeName","src":"713:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":92563,"nodeType":"UsingForDirective","src":"726:26:173","nodes":[],"global":false,"libraryName":{"id":92561,"name":"Strings","nameLocations":["732:7:173"],"nodeType":"IdentifierPath","referencedDeclaration":96205,"src":"732:7:173"},"typeName":{"id":92562,"name":"uint256","nodeType":"ElementaryTypeName","src":"744:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":92565,"nodeType":"VariableDeclaration","src":"776:20:173","nodes":[],"constant":false,"mutability":"mutable","name":"_name","nameLocation":"791:5:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":92564,"name":"string","nodeType":"ElementaryTypeName","src":"776:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":92567,"nodeType":"VariableDeclaration","src":"823:22:173","nodes":[],"constant":false,"mutability":"mutable","name":"_symbol","nameLocation":"838:7:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":92566,"name":"string","nodeType":"ElementaryTypeName","src":"823:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"private"},{"id":92571,"nodeType":"VariableDeclaration","src":"898:43:173","nodes":[],"constant":false,"mutability":"mutable","name":"_owners","nameLocation":"934:7:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":92570,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":92568,"name":"uint256","nodeType":"ElementaryTypeName","src":"906:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"898:27:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":92569,"name":"address","nodeType":"ElementaryTypeName","src":"917:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":92575,"nodeType":"VariableDeclaration","src":"992:45:173","nodes":[],"constant":false,"mutability":"mutable","name":"_balances","nameLocation":"1028:9:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":92574,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":92572,"name":"address","nodeType":"ElementaryTypeName","src":"1000:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"992:27:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":92573,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"private"},{"id":92579,"nodeType":"VariableDeclaration","src":"1093:51:173","nodes":[],"constant":false,"mutability":"mutable","name":"_tokenApprovals","nameLocation":"1129:15:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":92578,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":92576,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1093:27:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":92577,"name":"address","nodeType":"ElementaryTypeName","src":"1112:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":92585,"nodeType":"VariableDeclaration","src":"1199:71:173","nodes":[],"constant":false,"mutability":"mutable","name":"_operatorApprovals","nameLocation":"1252:18:173","scope":93466,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"typeName":{"id":92584,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":92580,"name":"address","nodeType":"ElementaryTypeName","src":"1207:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1199:44:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":92583,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":92581,"name":"address","nodeType":"ElementaryTypeName","src":"1226:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1218:24:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":92582,"name":"bool","nodeType":"ElementaryTypeName","src":"1237:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"private"},{"id":92602,"nodeType":"FunctionDefinition","src":"1390:113:173","nodes":[],"body":{"id":92601,"nodeType":"Block","src":"1446:57:173","nodes":[],"statements":[{"expression":{"id":92595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92593,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92565,"src":"1456:5:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":92594,"name":"name_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92588,"src":"1464:5:173","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1456:13:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":92596,"nodeType":"ExpressionStatement","src":"1456:13:173"},{"expression":{"id":92599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":92597,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92567,"src":"1479:7:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":92598,"name":"symbol_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92590,"src":"1489:7:173","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1479:17:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":92600,"nodeType":"ExpressionStatement","src":"1479:17:173"}]},"documentation":{"id":92586,"nodeType":"StructuredDocumentation","src":"1277:108:173","text":" @dev Initializes the contract by setting a `name` and a `symbol` to the token collection."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":92591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92588,"mutability":"mutable","name":"name_","nameLocation":"1416:5:173","nodeType":"VariableDeclaration","scope":92602,"src":"1402:19:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92587,"name":"string","nodeType":"ElementaryTypeName","src":"1402:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":92590,"mutability":"mutable","name":"symbol_","nameLocation":"1437:7:173","nodeType":"VariableDeclaration","scope":92602,"src":"1423:21:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92589,"name":"string","nodeType":"ElementaryTypeName","src":"1423:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1401:44:173"},"returnParameters":{"id":92592,"nodeType":"ParameterList","parameters":[],"src":"1446:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":92633,"nodeType":"FunctionDefinition","src":"1570:300:173","nodes":[],"body":{"id":92632,"nodeType":"Block","src":"1678:192:173","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":92618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92613,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92605,"src":"1707:11:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":92615,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93582,"src":"1727:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721_$93582_$","typeString":"type(contract IERC721)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721_$93582_$","typeString":"type(contract IERC721)"}],"id":92614,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1722:4:173","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":92616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1722:13:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721_$93582","typeString":"type(contract IERC721)"}},"id":92617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1736:11:173","memberName":"interfaceId","nodeType":"MemberAccess","src":"1722:25:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1707:40:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":92624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92619,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92605,"src":"1763:11:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":92621,"name":"IERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93680,"src":"1783:15:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$93680_$","typeString":"type(contract IERC721Metadata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC721Metadata_$93680_$","typeString":"type(contract IERC721Metadata)"}],"id":92620,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1778:4:173","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":92622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1778:21:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC721Metadata_$93680","typeString":"type(contract IERC721Metadata)"}},"id":92623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1800:11:173","memberName":"interfaceId","nodeType":"MemberAccess","src":"1778:33:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"1763:48:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:104:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":92628,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92605,"src":"1851:11:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":92626,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1827:5:173","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_ERC721_$93466_$","typeString":"type(contract super ERC721)"}},"id":92627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1833:17:173","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":96798,"src":"1827:23:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":92629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1827:36:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1707:156:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":92612,"id":92631,"nodeType":"Return","src":"1688:175:173"}]},"baseFunctions":[96798,97004],"documentation":{"id":92603,"nodeType":"StructuredDocumentation","src":"1509:56:173","text":" @dev See {IERC165-supportsInterface}."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1579:17:173","overrides":{"id":92609,"nodeType":"OverrideSpecifier","overrides":[{"id":92607,"name":"ERC165","nameLocations":["1646:6:173"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"1646:6:173"},{"id":92608,"name":"IERC165","nameLocations":["1654:7:173"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"1654:7:173"}],"src":"1637:25:173"},"parameters":{"id":92606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92605,"mutability":"mutable","name":"interfaceId","nameLocation":"1604:11:173","nodeType":"VariableDeclaration","scope":92633,"src":"1597:18:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":92604,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1597:6:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1596:20:173"},"returnParameters":{"id":92612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92633,"src":"1672:4:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92610,"name":"bool","nodeType":"ElementaryTypeName","src":"1672:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1671:6:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92657,"nodeType":"FunctionDefinition","src":"1929:204:173","nodes":[],"body":{"id":92656,"nodeType":"Block","src":"2010:123:173","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":92648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92643,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92636,"src":"2028:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":92646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2045:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":92645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2037:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92644,"name":"address","nodeType":"ElementaryTypeName","src":"2037:7:173","typeDescriptions":{}}},"id":92647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2037:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2028:19:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572","id":92649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2049:43:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""},"value":"ERC721: address zero is not a valid owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159","typeString":"literal_string \"ERC721: address zero is not a valid owner\""}],"id":92642,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2020:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2020:73:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92651,"nodeType":"ExpressionStatement","src":"2020:73:173"},{"expression":{"baseExpression":{"id":92652,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"2110:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":92654,"indexExpression":{"id":92653,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92636,"src":"2120:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2110:16:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":92641,"id":92655,"nodeType":"Return","src":"2103:23:173"}]},"baseFunctions":[93507],"documentation":{"id":92634,"nodeType":"StructuredDocumentation","src":"1876:48:173","text":" @dev See {IERC721-balanceOf}."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1938:9:173","overrides":{"id":92638,"nodeType":"OverrideSpecifier","overrides":[],"src":"1983:8:173"},"parameters":{"id":92637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92636,"mutability":"mutable","name":"owner","nameLocation":"1956:5:173","nodeType":"VariableDeclaration","scope":92657,"src":"1948:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92635,"name":"address","nodeType":"ElementaryTypeName","src":"1948:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1947:15:173"},"returnParameters":{"id":92641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92657,"src":"2001:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92639,"name":"uint256","nodeType":"ElementaryTypeName","src":"2001:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2000:9:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92685,"nodeType":"FunctionDefinition","src":"2190:219:173","nodes":[],"body":{"id":92684,"nodeType":"Block","src":"2271:138:173","nodes":[],"statements":[{"assignments":[92667],"declarations":[{"constant":false,"id":92667,"mutability":"mutable","name":"owner","nameLocation":"2289:5:173","nodeType":"VariableDeclaration","scope":92684,"src":"2281:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92666,"name":"address","nodeType":"ElementaryTypeName","src":"2281:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":92671,"initialValue":{"arguments":[{"id":92669,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92660,"src":"2306:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92668,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92967,"src":"2297:8:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":92670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2297:17:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2281:33:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":92678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92673,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92667,"src":"2332:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":92676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2349:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":92675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2341:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92674,"name":"address","nodeType":"ElementaryTypeName","src":"2341:7:173","typeDescriptions":{}}},"id":92677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2341:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2332:19:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":92679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2353:26:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""},"value":"ERC721: invalid token ID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""}],"id":92672,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2324:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2324:56:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92681,"nodeType":"ExpressionStatement","src":"2324:56:173"},{"expression":{"id":92682,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92667,"src":"2397:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":92665,"id":92683,"nodeType":"Return","src":"2390:12:173"}]},"baseFunctions":[93515],"documentation":{"id":92658,"nodeType":"StructuredDocumentation","src":"2139:46:173","text":" @dev See {IERC721-ownerOf}."},"functionSelector":"6352211e","implemented":true,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"2199:7:173","overrides":{"id":92662,"nodeType":"OverrideSpecifier","overrides":[],"src":"2244:8:173"},"parameters":{"id":92661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92660,"mutability":"mutable","name":"tokenId","nameLocation":"2215:7:173","nodeType":"VariableDeclaration","scope":92685,"src":"2207:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92659,"name":"uint256","nodeType":"ElementaryTypeName","src":"2207:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2206:17:173"},"returnParameters":{"id":92665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92664,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92685,"src":"2262:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92663,"name":"address","nodeType":"ElementaryTypeName","src":"2262:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2261:9:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92695,"nodeType":"FunctionDefinition","src":"2471:98:173","nodes":[],"body":{"id":92694,"nodeType":"Block","src":"2540:29:173","nodes":[],"statements":[{"expression":{"id":92692,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92565,"src":"2557:5:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":92691,"id":92693,"nodeType":"Return","src":"2550:12:173"}]},"baseFunctions":[93665],"documentation":{"id":92686,"nodeType":"StructuredDocumentation","src":"2415:51:173","text":" @dev See {IERC721Metadata-name}."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"2480:4:173","overrides":{"id":92688,"nodeType":"OverrideSpecifier","overrides":[],"src":"2507:8:173"},"parameters":{"id":92687,"nodeType":"ParameterList","parameters":[],"src":"2484:2:173"},"returnParameters":{"id":92691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92690,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92695,"src":"2525:13:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92689,"name":"string","nodeType":"ElementaryTypeName","src":"2525:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2524:15:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92705,"nodeType":"FunctionDefinition","src":"2633:102:173","nodes":[],"body":{"id":92704,"nodeType":"Block","src":"2704:31:173","nodes":[],"statements":[{"expression":{"id":92702,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92567,"src":"2721:7:173","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"functionReturnParameters":92701,"id":92703,"nodeType":"Return","src":"2714:14:173"}]},"baseFunctions":[93671],"documentation":{"id":92696,"nodeType":"StructuredDocumentation","src":"2575:53:173","text":" @dev See {IERC721Metadata-symbol}."},"functionSelector":"95d89b41","implemented":true,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"2642:6:173","overrides":{"id":92698,"nodeType":"OverrideSpecifier","overrides":[],"src":"2671:8:173"},"parameters":{"id":92697,"nodeType":"ParameterList","parameters":[],"src":"2648:2:173"},"returnParameters":{"id":92701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92705,"src":"2689:13:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92699,"name":"string","nodeType":"ElementaryTypeName","src":"2689:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2688:15:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92744,"nodeType":"FunctionDefinition","src":"2801:276:173","nodes":[],"body":{"id":92743,"nodeType":"Block","src":"2889:188:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":92715,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92708,"src":"2914:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92714,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93362,"src":"2899:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":92716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2899:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92717,"nodeType":"ExpressionStatement","src":"2899:23:173"},{"assignments":[92719],"declarations":[{"constant":false,"id":92719,"mutability":"mutable","name":"baseURI","nameLocation":"2947:7:173","nodeType":"VariableDeclaration","scope":92743,"src":"2933:21:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92718,"name":"string","nodeType":"ElementaryTypeName","src":"2933:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":92722,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":92720,"name":"_baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92753,"src":"2957:8:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_string_memory_ptr_$","typeString":"function () view returns (string memory)"}},"id":92721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2957:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"2933:34:173"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":92725,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92719,"src":"2990:7:173","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":92724,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2984:5:173","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":92723,"name":"bytes","nodeType":"ElementaryTypeName","src":"2984:5:173","typeDescriptions":{}}},"id":92726,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2984:14:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":92727,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2999:6:173","memberName":"length","nodeType":"MemberAccess","src":"2984:21:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":92728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3008:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2984:25:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":92740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3068:2:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":92741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"2984:86:173","trueExpression":{"arguments":[{"arguments":[{"id":92734,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92719,"src":"3036:7:173","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":92735,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92708,"src":"3045:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":92736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3053:8:173","memberName":"toString","nodeType":"MemberAccess","referencedDeclaration":96035,"src":"3045:16:173","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (string memory)"}},"id":92737,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3045:18:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":92732,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3019:3:173","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92733,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3023:12:173","memberName":"encodePacked","nodeType":"MemberAccess","src":"3019:16:173","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":92738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3019:45:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3012:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":92730,"name":"string","nodeType":"ElementaryTypeName","src":"3012:6:173","typeDescriptions":{}}},"id":92739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3012:53:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":92713,"id":92742,"nodeType":"Return","src":"2977:93:173"}]},"baseFunctions":[93679],"documentation":{"id":92706,"nodeType":"StructuredDocumentation","src":"2741:55:173","text":" @dev See {IERC721Metadata-tokenURI}."},"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2810:8:173","overrides":{"id":92710,"nodeType":"OverrideSpecifier","overrides":[],"src":"2856:8:173"},"parameters":{"id":92709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92708,"mutability":"mutable","name":"tokenId","nameLocation":"2827:7:173","nodeType":"VariableDeclaration","scope":92744,"src":"2819:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92707,"name":"uint256","nodeType":"ElementaryTypeName","src":"2819:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2818:17:173"},"returnParameters":{"id":92713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92712,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92744,"src":"2874:13:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92711,"name":"string","nodeType":"ElementaryTypeName","src":"2874:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2873:15:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92753,"nodeType":"FunctionDefinition","src":"3319:92:173","nodes":[],"body":{"id":92752,"nodeType":"Block","src":"3385:26:173","nodes":[],"statements":[{"expression":{"hexValue":"","id":92750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3402:2:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":92749,"id":92751,"nodeType":"Return","src":"3395:9:173"}]},"documentation":{"id":92745,"nodeType":"StructuredDocumentation","src":"3083:231:173","text":" @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overridden in child contracts."},"implemented":true,"kind":"function","modifiers":[],"name":"_baseURI","nameLocation":"3328:8:173","parameters":{"id":92746,"nodeType":"ParameterList","parameters":[],"src":"3336:2:173"},"returnParameters":{"id":92749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92748,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92753,"src":"3370:13:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92747,"name":"string","nodeType":"ElementaryTypeName","src":"3370:6:173","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3369:15:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":92796,"nodeType":"FunctionDefinition","src":"3468:406:173","nodes":[],"body":{"id":92795,"nodeType":"Block","src":"3538:336:173","nodes":[],"statements":[{"assignments":[92763],"declarations":[{"constant":false,"id":92763,"mutability":"mutable","name":"owner","nameLocation":"3556:5:173","nodeType":"VariableDeclaration","scope":92795,"src":"3548:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92762,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":92768,"initialValue":{"arguments":[{"id":92766,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92758,"src":"3579:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92764,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"3564:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":92765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3571:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"3564:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":92767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3564:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3548:39:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":92772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92770,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92756,"src":"3605:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":92771,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92763,"src":"3611:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3605:11:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572","id":92773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3618:35:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""},"value":"ERC721: approval to current owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942","typeString":"literal_string \"ERC721: approval to current owner\""}],"id":92769,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3597:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:57:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92775,"nodeType":"ExpressionStatement","src":"3597:57:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":92780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":92777,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"3686:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":92778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3686:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":92779,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92763,"src":"3702:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3686:21:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":92782,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92763,"src":"3728:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[],"expression":{"argumentTypes":[],"id":92783,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"3735:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":92784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3735:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":92781,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92849,"src":"3711:16:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":92785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3711:37:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3686:62:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c","id":92787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3762:63:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""},"value":"ERC721: approve caller is not token owner or approved for all"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83","typeString":"literal_string \"ERC721: approve caller is not token owner or approved for all\""}],"id":92776,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3665:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:170:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92789,"nodeType":"ExpressionStatement","src":"3665:170:173"},{"expression":{"arguments":[{"id":92791,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92756,"src":"3855:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92792,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92758,"src":"3859:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92790,"name":"_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93316,"src":"3846:8:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":92793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3846:21:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92794,"nodeType":"ExpressionStatement","src":"3846:21:173"}]},"baseFunctions":[93555],"documentation":{"id":92754,"nodeType":"StructuredDocumentation","src":"3417:46:173","text":" @dev See {IERC721-approve}."},"functionSelector":"095ea7b3","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3477:7:173","overrides":{"id":92760,"nodeType":"OverrideSpecifier","overrides":[],"src":"3529:8:173"},"parameters":{"id":92759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92756,"mutability":"mutable","name":"to","nameLocation":"3493:2:173","nodeType":"VariableDeclaration","scope":92796,"src":"3485:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92755,"name":"address","nodeType":"ElementaryTypeName","src":"3485:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92758,"mutability":"mutable","name":"tokenId","nameLocation":"3505:7:173","nodeType":"VariableDeclaration","scope":92796,"src":"3497:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92757,"name":"uint256","nodeType":"ElementaryTypeName","src":"3497:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3484:29:173"},"returnParameters":{"id":92761,"nodeType":"ParameterList","parameters":[],"src":"3538:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":92814,"nodeType":"FunctionDefinition","src":"3935:167:173","nodes":[],"body":{"id":92813,"nodeType":"Block","src":"4020:82:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":92806,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92799,"src":"4045:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92805,"name":"_requireMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93362,"src":"4030:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$__$","typeString":"function (uint256) view"}},"id":92807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4030:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92808,"nodeType":"ExpressionStatement","src":"4030:23:173"},{"expression":{"baseExpression":{"id":92809,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92579,"src":"4071:15:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":92811,"indexExpression":{"id":92810,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92799,"src":"4087:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4071:24:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":92804,"id":92812,"nodeType":"Return","src":"4064:31:173"}]},"baseFunctions":[93571],"documentation":{"id":92797,"nodeType":"StructuredDocumentation","src":"3880:50:173","text":" @dev See {IERC721-getApproved}."},"functionSelector":"081812fc","implemented":true,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"3944:11:173","overrides":{"id":92801,"nodeType":"OverrideSpecifier","overrides":[],"src":"3993:8:173"},"parameters":{"id":92800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92799,"mutability":"mutable","name":"tokenId","nameLocation":"3964:7:173","nodeType":"VariableDeclaration","scope":92814,"src":"3956:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92798,"name":"uint256","nodeType":"ElementaryTypeName","src":"3956:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3955:17:173"},"returnParameters":{"id":92804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92803,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92814,"src":"4011:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92802,"name":"address","nodeType":"ElementaryTypeName","src":"4011:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4010:9:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92831,"nodeType":"FunctionDefinition","src":"4169:153:173","nodes":[],"body":{"id":92830,"nodeType":"Block","src":"4253:69:173","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92824,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4282:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":92825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4282:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92826,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92817,"src":"4296:8:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92827,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92819,"src":"4306:8:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":92823,"name":"_setApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93348,"src":"4263:18:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":92828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:52:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92829,"nodeType":"ExpressionStatement","src":"4263:52:173"}]},"baseFunctions":[93563],"documentation":{"id":92815,"nodeType":"StructuredDocumentation","src":"4108:56:173","text":" @dev See {IERC721-setApprovalForAll}."},"functionSelector":"a22cb465","implemented":true,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4178:17:173","overrides":{"id":92821,"nodeType":"OverrideSpecifier","overrides":[],"src":"4244:8:173"},"parameters":{"id":92820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92817,"mutability":"mutable","name":"operator","nameLocation":"4204:8:173","nodeType":"VariableDeclaration","scope":92831,"src":"4196:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92816,"name":"address","nodeType":"ElementaryTypeName","src":"4196:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92819,"mutability":"mutable","name":"approved","nameLocation":"4219:8:173","nodeType":"VariableDeclaration","scope":92831,"src":"4214:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92818,"name":"bool","nodeType":"ElementaryTypeName","src":"4214:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4195:33:173"},"returnParameters":{"id":92822,"nodeType":"ParameterList","parameters":[],"src":"4253:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":92849,"nodeType":"FunctionDefinition","src":"4388:162:173","nodes":[],"body":{"id":92848,"nodeType":"Block","src":"4491:59:173","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":92842,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92585,"src":"4508:18:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":92844,"indexExpression":{"id":92843,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92834,"src":"4527:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:25:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":92846,"indexExpression":{"id":92845,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92836,"src":"4534:8:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4508:35:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":92841,"id":92847,"nodeType":"Return","src":"4501:42:173"}]},"baseFunctions":[93581],"documentation":{"id":92832,"nodeType":"StructuredDocumentation","src":"4328:55:173","text":" @dev See {IERC721-isApprovedForAll}."},"functionSelector":"e985e9c5","implemented":true,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4397:16:173","overrides":{"id":92838,"nodeType":"OverrideSpecifier","overrides":[],"src":"4467:8:173"},"parameters":{"id":92837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92834,"mutability":"mutable","name":"owner","nameLocation":"4422:5:173","nodeType":"VariableDeclaration","scope":92849,"src":"4414:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92833,"name":"address","nodeType":"ElementaryTypeName","src":"4414:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92836,"mutability":"mutable","name":"operator","nameLocation":"4437:8:173","nodeType":"VariableDeclaration","scope":92849,"src":"4429:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92835,"name":"address","nodeType":"ElementaryTypeName","src":"4429:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4413:33:173"},"returnParameters":{"id":92841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92840,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92849,"src":"4485:4:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92839,"name":"bool","nodeType":"ElementaryTypeName","src":"4485:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4484:6:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":92876,"nodeType":"FunctionDefinition","src":"4612:296:173","nodes":[],"body":{"id":92875,"nodeType":"Block","src":"4701:207:173","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92862,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"4790:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":92863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4790:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92864,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92856,"src":"4804:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92861,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93019,"src":"4771:18:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":92865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4771:41:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":92866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4814:47:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":92860,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4763:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4763:99:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92868,"nodeType":"ExpressionStatement","src":"4763:99:173"},{"expression":{"arguments":[{"id":92870,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92852,"src":"4883:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92871,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92854,"src":"4889:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92872,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92856,"src":"4893:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92869,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93292,"src":"4873:9:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":92873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4873:28:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92874,"nodeType":"ExpressionStatement","src":"4873:28:173"}]},"baseFunctions":[93547],"documentation":{"id":92850,"nodeType":"StructuredDocumentation","src":"4556:51:173","text":" @dev See {IERC721-transferFrom}."},"functionSelector":"23b872dd","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"4621:12:173","overrides":{"id":92858,"nodeType":"OverrideSpecifier","overrides":[],"src":"4692:8:173"},"parameters":{"id":92857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92852,"mutability":"mutable","name":"from","nameLocation":"4642:4:173","nodeType":"VariableDeclaration","scope":92876,"src":"4634:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92851,"name":"address","nodeType":"ElementaryTypeName","src":"4634:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92854,"mutability":"mutable","name":"to","nameLocation":"4656:2:173","nodeType":"VariableDeclaration","scope":92876,"src":"4648:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92853,"name":"address","nodeType":"ElementaryTypeName","src":"4648:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92856,"mutability":"mutable","name":"tokenId","nameLocation":"4668:7:173","nodeType":"VariableDeclaration","scope":92876,"src":"4660:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92855,"name":"uint256","nodeType":"ElementaryTypeName","src":"4660:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4633:43:173"},"returnParameters":{"id":92859,"nodeType":"ParameterList","parameters":[],"src":"4701:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":92895,"nodeType":"FunctionDefinition","src":"4974:149:173","nodes":[],"body":{"id":92894,"nodeType":"Block","src":"5067:56:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":92888,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92879,"src":"5094:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92889,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92881,"src":"5100:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92890,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92883,"src":"5104:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":92891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5113:2:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":92887,"name":"safeTransferFrom","nodeType":"Identifier","overloadedDeclarations":[92895,92925],"referencedDeclaration":92925,"src":"5077:16:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":92892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5077:39:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92893,"nodeType":"ExpressionStatement","src":"5077:39:173"}]},"baseFunctions":[93537],"documentation":{"id":92877,"nodeType":"StructuredDocumentation","src":"4914:55:173","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"42842e0e","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"4983:16:173","overrides":{"id":92885,"nodeType":"OverrideSpecifier","overrides":[],"src":"5058:8:173"},"parameters":{"id":92884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92879,"mutability":"mutable","name":"from","nameLocation":"5008:4:173","nodeType":"VariableDeclaration","scope":92895,"src":"5000:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92878,"name":"address","nodeType":"ElementaryTypeName","src":"5000:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92881,"mutability":"mutable","name":"to","nameLocation":"5022:2:173","nodeType":"VariableDeclaration","scope":92895,"src":"5014:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92880,"name":"address","nodeType":"ElementaryTypeName","src":"5014:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92883,"mutability":"mutable","name":"tokenId","nameLocation":"5034:7:173","nodeType":"VariableDeclaration","scope":92895,"src":"5026:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92882,"name":"uint256","nodeType":"ElementaryTypeName","src":"5026:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4999:43:173"},"returnParameters":{"id":92886,"nodeType":"ParameterList","parameters":[],"src":"5067:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":92925,"nodeType":"FunctionDefinition","src":"5189:276:173","nodes":[],"body":{"id":92924,"nodeType":"Block","src":"5301:164:173","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":92910,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5338:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":92911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5338:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92912,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92902,"src":"5352:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92909,"name":"_isApprovedOrOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93019,"src":"5319:18:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view returns (bool)"}},"id":92913,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5319:41:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6572206f7220617070726f766564","id":92914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5362:47:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""},"value":"ERC721: caller is not token owner or approved"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af","typeString":"literal_string \"ERC721: caller is not token owner or approved\""}],"id":92908,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5311:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5311:99:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92916,"nodeType":"ExpressionStatement","src":"5311:99:173"},{"expression":{"arguments":[{"id":92918,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92898,"src":"5434:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92919,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92900,"src":"5440:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92920,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92902,"src":"5444:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92921,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92904,"src":"5453:4:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92917,"name":"_safeTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92954,"src":"5420:13:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,bytes memory)"}},"id":92922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5420:38:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92923,"nodeType":"ExpressionStatement","src":"5420:38:173"}]},"baseFunctions":[93527],"documentation":{"id":92896,"nodeType":"StructuredDocumentation","src":"5129:55:173","text":" @dev See {IERC721-safeTransferFrom}."},"functionSelector":"b88d4fde","implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"5198:16:173","overrides":{"id":92906,"nodeType":"OverrideSpecifier","overrides":[],"src":"5292:8:173"},"parameters":{"id":92905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92898,"mutability":"mutable","name":"from","nameLocation":"5223:4:173","nodeType":"VariableDeclaration","scope":92925,"src":"5215:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92897,"name":"address","nodeType":"ElementaryTypeName","src":"5215:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92900,"mutability":"mutable","name":"to","nameLocation":"5237:2:173","nodeType":"VariableDeclaration","scope":92925,"src":"5229:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92899,"name":"address","nodeType":"ElementaryTypeName","src":"5229:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92902,"mutability":"mutable","name":"tokenId","nameLocation":"5249:7:173","nodeType":"VariableDeclaration","scope":92925,"src":"5241:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92901,"name":"uint256","nodeType":"ElementaryTypeName","src":"5241:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92904,"mutability":"mutable","name":"data","nameLocation":"5271:4:173","nodeType":"VariableDeclaration","scope":92925,"src":"5258:17:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92903,"name":"bytes","nodeType":"ElementaryTypeName","src":"5258:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5214:62:173"},"returnParameters":{"id":92907,"nodeType":"ParameterList","parameters":[],"src":"5301:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":92954,"nodeType":"FunctionDefinition","src":"6326:267:173","nodes":[],"body":{"id":92953,"nodeType":"Block","src":"6428:165:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":92938,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92928,"src":"6448:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92939,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92930,"src":"6454:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92940,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92932,"src":"6458:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92937,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93292,"src":"6438:9:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":92941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6438:28:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92942,"nodeType":"ExpressionStatement","src":"6438:28:173"},{"expression":{"arguments":[{"arguments":[{"id":92945,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92928,"src":"6507:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92946,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92930,"src":"6513:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92947,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92932,"src":"6517:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92948,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92934,"src":"6526:4:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92944,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93424,"src":"6484:22:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":92949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6484:47:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":92950,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6533:52:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":92943,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6476:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6476:110:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92952,"nodeType":"ExpressionStatement","src":"6476:110:173"}]},"documentation":{"id":92926,"nodeType":"StructuredDocumentation","src":"5471:850:173","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n `data` is additional data, it has no specified format and it is sent in call to `to`.\n This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n implement alternative mechanisms to perform token transfer, such as signature-based.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeTransfer","nameLocation":"6335:13:173","parameters":{"id":92935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92928,"mutability":"mutable","name":"from","nameLocation":"6357:4:173","nodeType":"VariableDeclaration","scope":92954,"src":"6349:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92927,"name":"address","nodeType":"ElementaryTypeName","src":"6349:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92930,"mutability":"mutable","name":"to","nameLocation":"6371:2:173","nodeType":"VariableDeclaration","scope":92954,"src":"6363:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92929,"name":"address","nodeType":"ElementaryTypeName","src":"6363:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92932,"mutability":"mutable","name":"tokenId","nameLocation":"6383:7:173","nodeType":"VariableDeclaration","scope":92954,"src":"6375:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92931,"name":"uint256","nodeType":"ElementaryTypeName","src":"6375:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92934,"mutability":"mutable","name":"data","nameLocation":"6405:4:173","nodeType":"VariableDeclaration","scope":92954,"src":"6392:17:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92933,"name":"bytes","nodeType":"ElementaryTypeName","src":"6392:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:62:173"},"returnParameters":{"id":92936,"nodeType":"ParameterList","parameters":[],"src":"6428:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":92967,"nodeType":"FunctionDefinition","src":"6702:115:173","nodes":[],"body":{"id":92966,"nodeType":"Block","src":"6777:40:173","nodes":[],"statements":[{"expression":{"baseExpression":{"id":92962,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92571,"src":"6794:7:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":92964,"indexExpression":{"id":92963,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92957,"src":"6802:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6794:16:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":92961,"id":92965,"nodeType":"Return","src":"6787:23:173"}]},"documentation":{"id":92955,"nodeType":"StructuredDocumentation","src":"6599:98:173","text":" @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist"},"implemented":true,"kind":"function","modifiers":[],"name":"_ownerOf","nameLocation":"6711:8:173","parameters":{"id":92958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92957,"mutability":"mutable","name":"tokenId","nameLocation":"6728:7:173","nodeType":"VariableDeclaration","scope":92967,"src":"6720:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92956,"name":"uint256","nodeType":"ElementaryTypeName","src":"6720:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6719:17:173"},"returnParameters":{"id":92961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92960,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92967,"src":"6768:7:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92959,"name":"address","nodeType":"ElementaryTypeName","src":"6768:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6767:9:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":92985,"nodeType":"FunctionDefinition","src":"7120:126:173","nodes":[],"body":{"id":92984,"nodeType":"Block","src":"7191:55:173","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":92982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":92976,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92970,"src":"7217:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":92975,"name":"_ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92967,"src":"7208:8:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":92977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7208:17:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":92980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7237:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":92979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7229:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92978,"name":"address","nodeType":"ElementaryTypeName","src":"7229:7:173","typeDescriptions":{}}},"id":92981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7229:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7208:31:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":92974,"id":92983,"nodeType":"Return","src":"7201:38:173"}]},"documentation":{"id":92968,"nodeType":"StructuredDocumentation","src":"6823:292:173","text":" @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`),\n and stop existing when they are burned (`_burn`)."},"implemented":true,"kind":"function","modifiers":[],"name":"_exists","nameLocation":"7129:7:173","parameters":{"id":92971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92970,"mutability":"mutable","name":"tokenId","nameLocation":"7145:7:173","nodeType":"VariableDeclaration","scope":92985,"src":"7137:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92969,"name":"uint256","nodeType":"ElementaryTypeName","src":"7137:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7136:17:173"},"returnParameters":{"id":92974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92973,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92985,"src":"7185:4:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92972,"name":"bool","nodeType":"ElementaryTypeName","src":"7185:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7184:6:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":93019,"nodeType":"FunctionDefinition","src":"7404:261:173","nodes":[],"body":{"id":93018,"nodeType":"Block","src":"7503:162:173","nodes":[],"statements":[{"assignments":[92996],"declarations":[{"constant":false,"id":92996,"mutability":"mutable","name":"owner","nameLocation":"7521:5:173","nodeType":"VariableDeclaration","scope":93018,"src":"7513:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92995,"name":"address","nodeType":"ElementaryTypeName","src":"7513:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93001,"initialValue":{"arguments":[{"id":92999,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92990,"src":"7544:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92997,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"7529:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":92998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7536:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"7529:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7529:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7513:39:173"},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":93015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":93009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":93002,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92988,"src":"7570:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":93003,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92996,"src":"7581:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7570:16:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":93006,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92996,"src":"7607:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93007,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92988,"src":"7614:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":93005,"name":"isApprovedForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92849,"src":"7590:16:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":93008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:32:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:52:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":93011,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92990,"src":"7638:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93010,"name":"getApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92814,"src":"7626:11:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7626:20:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":93013,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92988,"src":"7650:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7626:31:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7570:87:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":93016,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7569:89:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":92994,"id":93017,"nodeType":"Return","src":"7562:96:173"}]},"documentation":{"id":92986,"nodeType":"StructuredDocumentation","src":"7252:147:173","text":" @dev Returns whether `spender` is allowed to manage `tokenId`.\n Requirements:\n - `tokenId` must exist."},"implemented":true,"kind":"function","modifiers":[],"name":"_isApprovedOrOwner","nameLocation":"7413:18:173","parameters":{"id":92991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92988,"mutability":"mutable","name":"spender","nameLocation":"7440:7:173","nodeType":"VariableDeclaration","scope":93019,"src":"7432:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92987,"name":"address","nodeType":"ElementaryTypeName","src":"7432:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92990,"mutability":"mutable","name":"tokenId","nameLocation":"7457:7:173","nodeType":"VariableDeclaration","scope":93019,"src":"7449:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92989,"name":"uint256","nodeType":"ElementaryTypeName","src":"7449:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7431:34:173"},"returnParameters":{"id":92994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93019,"src":"7497:4:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92992,"name":"bool","nodeType":"ElementaryTypeName","src":"7497:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7496:6:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":93034,"nodeType":"FunctionDefinition","src":"7995:108:173","nodes":[],"body":{"id":93033,"nodeType":"Block","src":"8060:43:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":93028,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93022,"src":"8080:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93029,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93024,"src":"8084:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":93030,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8093:2:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":93027,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[93034,93063],"referencedDeclaration":93063,"src":"8070:9:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,bytes memory)"}},"id":93031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8070:26:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93032,"nodeType":"ExpressionStatement","src":"8070:26:173"}]},"documentation":{"id":93020,"nodeType":"StructuredDocumentation","src":"7671:319:173","text":" @dev Safely mints `tokenId` and transfers it to `to`.\n Requirements:\n - `tokenId` must not exist.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8004:9:173","parameters":{"id":93025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93022,"mutability":"mutable","name":"to","nameLocation":"8022:2:173","nodeType":"VariableDeclaration","scope":93034,"src":"8014:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93021,"name":"address","nodeType":"ElementaryTypeName","src":"8014:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93024,"mutability":"mutable","name":"tokenId","nameLocation":"8034:7:173","nodeType":"VariableDeclaration","scope":93034,"src":"8026:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93023,"name":"uint256","nodeType":"ElementaryTypeName","src":"8026:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8013:29:173"},"returnParameters":{"id":93026,"nodeType":"ParameterList","parameters":[],"src":"8060:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93063,"nodeType":"FunctionDefinition","src":"8324:279:173","nodes":[],"body":{"id":93062,"nodeType":"Block","src":"8408:195:173","nodes":[],"statements":[{"expression":{"arguments":[{"id":93045,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93037,"src":"8424:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93046,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93039,"src":"8428:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93044,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93140,"src":"8418:5:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":93047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8418:18:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93048,"nodeType":"ExpressionStatement","src":"8418:18:173"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"hexValue":"30","id":93053,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8498:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93052,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8490:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93051,"name":"address","nodeType":"ElementaryTypeName","src":"8490:7:173","typeDescriptions":{}}},"id":93054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8490:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93055,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93037,"src":"8502:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93056,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93039,"src":"8506:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93057,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93041,"src":"8515:4:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":93050,"name":"_checkOnERC721Received","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93424,"src":"8467:22:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (address,address,uint256,bytes memory) returns (bool)"}},"id":93058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8467:53:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":93059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8534:52:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":93049,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8446:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8446:150:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93061,"nodeType":"ExpressionStatement","src":"8446:150:173"}]},"documentation":{"id":93035,"nodeType":"StructuredDocumentation","src":"8109:210:173","text":" @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n forwarded in {IERC721Receiver-onERC721Received} to contract recipients."},"implemented":true,"kind":"function","modifiers":[],"name":"_safeMint","nameLocation":"8333:9:173","parameters":{"id":93042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93037,"mutability":"mutable","name":"to","nameLocation":"8351:2:173","nodeType":"VariableDeclaration","scope":93063,"src":"8343:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93036,"name":"address","nodeType":"ElementaryTypeName","src":"8343:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93039,"mutability":"mutable","name":"tokenId","nameLocation":"8363:7:173","nodeType":"VariableDeclaration","scope":93063,"src":"8355:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93038,"name":"uint256","nodeType":"ElementaryTypeName","src":"8355:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93041,"mutability":"mutable","name":"data","nameLocation":"8385:4:173","nodeType":"VariableDeclaration","scope":93063,"src":"8372:17:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93040,"name":"bytes","nodeType":"ElementaryTypeName","src":"8372:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8342:48:173"},"returnParameters":{"id":93043,"nodeType":"ParameterList","parameters":[],"src":"8408:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93140,"nodeType":"FunctionDefinition","src":"8925:920:173","nodes":[],"body":{"id":93139,"nodeType":"Block","src":"8986:859:173","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":93072,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9004:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":93075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9018:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9010:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93073,"name":"address","nodeType":"ElementaryTypeName","src":"9010:7:173","typeDescriptions":{}}},"id":93076,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9010:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9004:16:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a206d696e7420746f20746865207a65726f2061646472657373","id":93078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9022:34:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""},"value":"ERC721: mint to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6","typeString":"literal_string \"ERC721: mint to the zero address\""}],"id":93071,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8996:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8996:61:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93080,"nodeType":"ExpressionStatement","src":"8996:61:173"},{"expression":{"arguments":[{"id":93085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9075:17:173","subExpression":{"arguments":[{"id":93083,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9084:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93082,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92985,"src":"9076:7:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":93084,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9076:16:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":93086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9094:30:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":93081,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9067:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9067:58:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93088,"nodeType":"ExpressionStatement","src":"9067:58:173"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":93092,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93091,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9157:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93090,"name":"address","nodeType":"ElementaryTypeName","src":"9157:7:173","typeDescriptions":{}}},"id":93093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9157:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93094,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9169:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93095,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9173:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9182:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93089,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93437,"src":"9136:20:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9136:48:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93098,"nodeType":"ExpressionStatement","src":"9136:48:173"},{"expression":{"arguments":[{"id":93103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9279:17:173","subExpression":{"arguments":[{"id":93101,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9288:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93100,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92985,"src":"9280:7:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":93102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9280:16:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20746f6b656e20616c7265616479206d696e746564","id":93104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9298:30:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""},"value":"ERC721: token already minted"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57","typeString":"literal_string \"ERC721: token already minted\""}],"id":93099,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9271:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9271:58:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93106,"nodeType":"ExpressionStatement","src":"9271:58:173"},{"id":93113,"nodeType":"UncheckedBlock","src":"9340:360:173","statements":[{"expression":{"id":93111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93107,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"9671:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93109,"indexExpression":{"id":93108,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9681:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9671:13:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":93110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9688:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9671:18:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93112,"nodeType":"ExpressionStatement","src":"9671:18:173"}]},{"expression":{"id":93118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93114,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92571,"src":"9710:7:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93116,"indexExpression":{"id":93115,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9718:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9710:16:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93117,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9729:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9710:21:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93119,"nodeType":"ExpressionStatement","src":"9710:21:173"},{"eventCall":{"arguments":[{"arguments":[{"hexValue":"30","id":93123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9764:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9756:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93121,"name":"address","nodeType":"ElementaryTypeName","src":"9756:7:173","typeDescriptions":{}}},"id":93124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9756:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93125,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9768:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93126,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9772:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93120,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"9747:8:173","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":93127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9747:33:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93128,"nodeType":"EmitStatement","src":"9742:38:173"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":93132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9819:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9811:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93130,"name":"address","nodeType":"ElementaryTypeName","src":"9811:7:173","typeDescriptions":{}}},"id":93133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9811:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93134,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93066,"src":"9823:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93135,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93068,"src":"9827:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9836:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93129,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93450,"src":"9791:19:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9791:47:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93138,"nodeType":"ExpressionStatement","src":"9791:47:173"}]},"documentation":{"id":93064,"nodeType":"StructuredDocumentation","src":"8609:311:173","text":" @dev Mints `tokenId` and transfers it to `to`.\n WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n Requirements:\n - `tokenId` must not exist.\n - `to` cannot be the zero address.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_mint","nameLocation":"8934:5:173","parameters":{"id":93069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93066,"mutability":"mutable","name":"to","nameLocation":"8948:2:173","nodeType":"VariableDeclaration","scope":93140,"src":"8940:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93065,"name":"address","nodeType":"ElementaryTypeName","src":"8940:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93068,"mutability":"mutable","name":"tokenId","nameLocation":"8960:7:173","nodeType":"VariableDeclaration","scope":93140,"src":"8952:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93067,"name":"uint256","nodeType":"ElementaryTypeName","src":"8952:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8939:29:173"},"returnParameters":{"id":93070,"nodeType":"ParameterList","parameters":[],"src":"8986:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93207,"nodeType":"FunctionDefinition","src":"10171:762:173","nodes":[],"body":{"id":93206,"nodeType":"Block","src":"10220:713:173","nodes":[],"statements":[{"assignments":[93147],"declarations":[{"constant":false,"id":93147,"mutability":"mutable","name":"owner","nameLocation":"10238:5:173","nodeType":"VariableDeclaration","scope":93206,"src":"10230:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93146,"name":"address","nodeType":"ElementaryTypeName","src":"10230:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":93152,"initialValue":{"arguments":[{"id":93150,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10261:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93148,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"10246:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":93149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10253:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"10246:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10246:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"10230:39:173"},{"expression":{"arguments":[{"id":93154,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93147,"src":"10301:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":93157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10316:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93156,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10308:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93155,"name":"address","nodeType":"ElementaryTypeName","src":"10308:7:173","typeDescriptions":{}}},"id":93158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10308:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93159,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10320:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10329:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93153,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93437,"src":"10280:20:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10280:51:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93162,"nodeType":"ExpressionStatement","src":"10280:51:173"},{"expression":{"id":93168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":93163,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93147,"src":"10433:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":93166,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10456:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93164,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"10441:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":93165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10448:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"10441:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10441:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10433:31:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93169,"nodeType":"ExpressionStatement","src":"10433:31:173"},{"expression":{"id":93173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10502:31:173","subExpression":{"baseExpression":{"id":93170,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92579,"src":"10509:15:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93172,"indexExpression":{"id":93171,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10525:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10509:24:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93174,"nodeType":"ExpressionStatement","src":"10502:31:173"},{"id":93181,"nodeType":"UncheckedBlock","src":"10544:237:173","statements":[{"expression":{"id":93179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93175,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"10749:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93177,"indexExpression":{"id":93176,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93147,"src":"10759:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10749:16:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":93178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10769:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10749:21:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93180,"nodeType":"ExpressionStatement","src":"10749:21:173"}]},{"expression":{"id":93185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10790:23:173","subExpression":{"baseExpression":{"id":93182,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92571,"src":"10797:7:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93184,"indexExpression":{"id":93183,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10805:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10797:16:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93186,"nodeType":"ExpressionStatement","src":"10790:23:173"},{"eventCall":{"arguments":[{"id":93188,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93147,"src":"10838:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":93191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10853:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93190,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10845:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93189,"name":"address","nodeType":"ElementaryTypeName","src":"10845:7:173","typeDescriptions":{}}},"id":93192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10845:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93193,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10857:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93187,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"10829:8:173","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":93194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10829:36:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93195,"nodeType":"EmitStatement","src":"10824:41:173"},{"expression":{"arguments":[{"id":93197,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93147,"src":"10896:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30","id":93200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10911:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10903:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93198,"name":"address","nodeType":"ElementaryTypeName","src":"10903:7:173","typeDescriptions":{}}},"id":93201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10903:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93202,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93143,"src":"10915:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10924:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93196,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93450,"src":"10876:19:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10876:50:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93205,"nodeType":"ExpressionStatement","src":"10876:50:173"}]},"documentation":{"id":93141,"nodeType":"StructuredDocumentation","src":"9851:315:173","text":" @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n This is an internal function that does not check if the sender is authorized to operate on the token.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_burn","nameLocation":"10180:5:173","parameters":{"id":93144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93143,"mutability":"mutable","name":"tokenId","nameLocation":"10194:7:173","nodeType":"VariableDeclaration","scope":93207,"src":"10186:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93142,"name":"uint256","nodeType":"ElementaryTypeName","src":"10186:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10185:17:173"},"returnParameters":{"id":93145,"nodeType":"ParameterList","parameters":[],"src":"10220:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93292,"nodeType":"FunctionDefinition","src":"11257:1203:173","nodes":[],"body":{"id":93291,"nodeType":"Block","src":"11336:1124:173","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":93220,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"11369:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93218,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"11354:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":93219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11361:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"11354:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11354:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":93222,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"11381:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11354:31:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":93224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11387:39:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":93217,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11346:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11346:81:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93226,"nodeType":"ExpressionStatement","src":"11346:81:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93233,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":93228,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"11445:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":93231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11459:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":93230,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11451:7:173","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":93229,"name":"address","nodeType":"ElementaryTypeName","src":"11451:7:173","typeDescriptions":{}}},"id":93232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11451:10:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11445:16:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373","id":93234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11463:38:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""},"value":"ERC721: transfer to the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4","typeString":"literal_string \"ERC721: transfer to the zero address\""}],"id":93227,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11437:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11437:65:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93236,"nodeType":"ExpressionStatement","src":"11437:65:173"},{"expression":{"arguments":[{"id":93238,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"11534:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93239,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"11540:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93240,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"11544:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11553:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93237,"name":"_beforeTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93437,"src":"11513:20:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11513:42:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93243,"nodeType":"ExpressionStatement","src":"11513:42:173"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":93247,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"11670:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93245,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"11655:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":93246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11662:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"11655:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11655:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":93249,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"11682:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11655:31:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a207472616e736665722066726f6d20696e636f7272656374206f776e6572","id":93251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11688:39:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""},"value":"ERC721: transfer from incorrect owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48","typeString":"literal_string \"ERC721: transfer from incorrect owner\""}],"id":93244,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11647:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11647:81:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93253,"nodeType":"ExpressionStatement","src":"11647:81:173"},{"expression":{"id":93257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"11790:31:173","subExpression":{"baseExpression":{"id":93254,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92579,"src":"11797:15:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93256,"indexExpression":{"id":93255,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"11813:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"11797:24:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93258,"nodeType":"ExpressionStatement","src":"11790:31:173"},{"id":93271,"nodeType":"UncheckedBlock","src":"11832:496:173","statements":[{"expression":{"id":93263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93259,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"12265:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93261,"indexExpression":{"id":93260,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"12275:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12265:15:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"hexValue":"31","id":93262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12284:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12265:20:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93264,"nodeType":"ExpressionStatement","src":"12265:20:173"},{"expression":{"id":93269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93265,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"12299:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93267,"indexExpression":{"id":93266,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"12309:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12299:13:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":93268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12299:18:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93270,"nodeType":"ExpressionStatement","src":"12299:18:173"}]},{"expression":{"id":93276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93272,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92571,"src":"12337:7:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93274,"indexExpression":{"id":93273,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"12345:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12337:16:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93275,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"12356:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12337:21:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93277,"nodeType":"ExpressionStatement","src":"12337:21:173"},{"eventCall":{"arguments":[{"id":93279,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"12383:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93280,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"12389:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93281,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"12393:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93278,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93481,"src":"12374:8:173","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":93282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12374:27:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93283,"nodeType":"EmitStatement","src":"12369:32:173"},{"expression":{"arguments":[{"id":93285,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93210,"src":"12432:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93286,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93212,"src":"12438:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93287,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93214,"src":"12442:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":93288,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12451:1:173","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":93284,"name":"_afterTokenTransfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93450,"src":"12412:19:173","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":93289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12412:41:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93290,"nodeType":"ExpressionStatement","src":"12412:41:173"}]},"documentation":{"id":93208,"nodeType":"StructuredDocumentation","src":"10939:313:173","text":" @dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_transfer","nameLocation":"11266:9:173","parameters":{"id":93215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93210,"mutability":"mutable","name":"from","nameLocation":"11284:4:173","nodeType":"VariableDeclaration","scope":93292,"src":"11276:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93209,"name":"address","nodeType":"ElementaryTypeName","src":"11276:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93212,"mutability":"mutable","name":"to","nameLocation":"11298:2:173","nodeType":"VariableDeclaration","scope":93292,"src":"11290:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93211,"name":"address","nodeType":"ElementaryTypeName","src":"11290:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93214,"mutability":"mutable","name":"tokenId","nameLocation":"11310:7:173","nodeType":"VariableDeclaration","scope":93292,"src":"11302:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93213,"name":"uint256","nodeType":"ElementaryTypeName","src":"11302:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11275:43:173"},"returnParameters":{"id":93216,"nodeType":"ParameterList","parameters":[],"src":"11336:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93316,"nodeType":"FunctionDefinition","src":"12572:171:173","nodes":[],"body":{"id":93315,"nodeType":"Block","src":"12636:107:173","nodes":[],"statements":[{"expression":{"id":93304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93300,"name":"_tokenApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92579,"src":"12646:15:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":93302,"indexExpression":{"id":93301,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93297,"src":"12662:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12646:24:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93303,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93295,"src":"12673:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12646:29:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93305,"nodeType":"ExpressionStatement","src":"12646:29:173"},{"eventCall":{"arguments":[{"arguments":[{"id":93309,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93297,"src":"12714:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":93307,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"12699:6:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$93466_$","typeString":"type(contract ERC721)"}},"id":93308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12706:7:173","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":92685,"src":"12699:14:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":93310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12699:23:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93311,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93295,"src":"12724:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93312,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93297,"src":"12728:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93306,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93490,"src":"12690:8:173","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":93313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12690:46:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93314,"nodeType":"EmitStatement","src":"12685:51:173"}]},"documentation":{"id":93293,"nodeType":"StructuredDocumentation","src":"12466:101:173","text":" @dev Approve `to` to operate on `tokenId`\n Emits an {Approval} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_approve","nameLocation":"12581:8:173","parameters":{"id":93298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93295,"mutability":"mutable","name":"to","nameLocation":"12598:2:173","nodeType":"VariableDeclaration","scope":93316,"src":"12590:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93294,"name":"address","nodeType":"ElementaryTypeName","src":"12590:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93297,"mutability":"mutable","name":"tokenId","nameLocation":"12610:7:173","nodeType":"VariableDeclaration","scope":93316,"src":"12602:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93296,"name":"uint256","nodeType":"ElementaryTypeName","src":"12602:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12589:29:173"},"returnParameters":{"id":93299,"nodeType":"ParameterList","parameters":[],"src":"12636:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93348,"nodeType":"FunctionDefinition","src":"12879:277:173","nodes":[],"body":{"id":93347,"nodeType":"Block","src":"12972:184:173","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":93329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":93327,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93319,"src":"12990:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":93328,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93321,"src":"12999:8:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"12990:17:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20617070726f766520746f2063616c6c6572","id":93330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13009:27:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""},"value":"ERC721: approve to caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05","typeString":"literal_string \"ERC721: approve to caller\""}],"id":93326,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12982:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12982:55:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93332,"nodeType":"ExpressionStatement","src":"12982:55:173"},{"expression":{"id":93339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":93333,"name":"_operatorApprovals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92585,"src":"13047:18:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$","typeString":"mapping(address => mapping(address => bool))"}},"id":93336,"indexExpression":{"id":93334,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93319,"src":"13066:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13047:25:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":93337,"indexExpression":{"id":93335,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93321,"src":"13073:8:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13047:35:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":93338,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93323,"src":"13085:8:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13047:46:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":93340,"nodeType":"ExpressionStatement","src":"13047:46:173"},{"eventCall":{"arguments":[{"id":93342,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93319,"src":"13123:5:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93343,"name":"operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93321,"src":"13130:8:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93344,"name":"approved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93323,"src":"13140:8:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":93341,"name":"ApprovalForAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93499,"src":"13108:14:173","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$","typeString":"function (address,address,bool)"}},"id":93345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13108:41:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93346,"nodeType":"EmitStatement","src":"13103:46:173"}]},"documentation":{"id":93317,"nodeType":"StructuredDocumentation","src":"12749:125:173","text":" @dev Approve `operator` to operate on all of `owner` tokens\n Emits an {ApprovalForAll} event."},"implemented":true,"kind":"function","modifiers":[],"name":"_setApprovalForAll","nameLocation":"12888:18:173","parameters":{"id":93324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93319,"mutability":"mutable","name":"owner","nameLocation":"12915:5:173","nodeType":"VariableDeclaration","scope":93348,"src":"12907:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93318,"name":"address","nodeType":"ElementaryTypeName","src":"12907:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93321,"mutability":"mutable","name":"operator","nameLocation":"12930:8:173","nodeType":"VariableDeclaration","scope":93348,"src":"12922:16:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93320,"name":"address","nodeType":"ElementaryTypeName","src":"12922:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93323,"mutability":"mutable","name":"approved","nameLocation":"12945:8:173","nodeType":"VariableDeclaration","scope":93348,"src":"12940:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93322,"name":"bool","nodeType":"ElementaryTypeName","src":"12940:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12906:48:173"},"returnParameters":{"id":93325,"nodeType":"ParameterList","parameters":[],"src":"12972:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93362,"nodeType":"FunctionDefinition","src":"13240:133:173","nodes":[],"body":{"id":93361,"nodeType":"Block","src":"13303:70:173","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":93356,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93351,"src":"13329:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":93355,"name":"_exists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92985,"src":"13321:7:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":93357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13321:16:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4552433732313a20696e76616c696420746f6b656e204944","id":93358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13339:26:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""},"value":"ERC721: invalid token ID"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f","typeString":"literal_string \"ERC721: invalid token ID\""}],"id":93354,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13313:7:173","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":93359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13313:53:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93360,"nodeType":"ExpressionStatement","src":"13313:53:173"}]},"documentation":{"id":93349,"nodeType":"StructuredDocumentation","src":"13162:73:173","text":" @dev Reverts if the `tokenId` has not been minted yet."},"implemented":true,"kind":"function","modifiers":[],"name":"_requireMinted","nameLocation":"13249:14:173","parameters":{"id":93352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93351,"mutability":"mutable","name":"tokenId","nameLocation":"13272:7:173","nodeType":"VariableDeclaration","scope":93362,"src":"13264:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93350,"name":"uint256","nodeType":"ElementaryTypeName","src":"13264:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13263:17:173"},"returnParameters":{"id":93353,"nodeType":"ParameterList","parameters":[],"src":"13303:0:173"},"scope":93466,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":93424,"nodeType":"FunctionDefinition","src":"13925:831:173","nodes":[],"body":{"id":93423,"nodeType":"Block","src":"14080:676:173","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":93376,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93367,"src":"14094:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":93377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14097:10:173","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":93701,"src":"14094:13:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address) view returns (bool)"}},"id":93378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14094:15:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":93421,"nodeType":"Block","src":"14714:36:173","statements":[{"expression":{"hexValue":"74727565","id":93419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14735:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":93375,"id":93420,"nodeType":"Return","src":"14728:11:173"}]},"id":93422,"nodeType":"IfStatement","src":"14090:660:173","trueBody":{"id":93418,"nodeType":"Block","src":"14111:597:173","statements":[{"clauses":[{"block":{"id":93398,"nodeType":"Block","src":"14225:91:173","statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":93396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":93392,"name":"retval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93390,"src":"14250:6:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"expression":{"id":93393,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93600,"src":"14260:15:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$93600_$","typeString":"type(contract IERC721Receiver)"}},"id":93394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14276:16:173","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":93599,"src":"14260:32:173","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_calldata_ptr_$returns$_t_bytes4_$","typeString":"function IERC721Receiver.onERC721Received(address,address,uint256,bytes calldata) returns (bytes4)"}},"id":93395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14293:8:173","memberName":"selector","nodeType":"MemberAccess","src":"14260:41:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"14250:51:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":93375,"id":93397,"nodeType":"Return","src":"14243:58:173"}]},"errorName":"","id":93399,"nodeType":"TryCatchClause","parameters":{"id":93391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93390,"mutability":"mutable","name":"retval","nameLocation":"14217:6:173","nodeType":"VariableDeclaration","scope":93399,"src":"14210:13:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":93389,"name":"bytes4","nodeType":"ElementaryTypeName","src":"14210:6:173","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"14209:15:173"},"src":"14201:115:173"},{"block":{"id":93415,"nodeType":"Block","src":"14345:353:173","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":93406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":93403,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93401,"src":"14367:6:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":93404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14374:6:173","memberName":"length","nodeType":"MemberAccess","src":"14367:13:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":93405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14384:1:173","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14367:18:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":93413,"nodeType":"Block","src":"14494:190:173","statements":[{"AST":{"nativeSrc":"14580:86:173","nodeType":"YulBlock","src":"14580:86:173","statements":[{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"14617:2:173","nodeType":"YulLiteral","src":"14617:2:173","type":"","value":"32"},{"name":"reason","nativeSrc":"14621:6:173","nodeType":"YulIdentifier","src":"14621:6:173"}],"functionName":{"name":"add","nativeSrc":"14613:3:173","nodeType":"YulIdentifier","src":"14613:3:173"},"nativeSrc":"14613:15:173","nodeType":"YulFunctionCall","src":"14613:15:173"},{"arguments":[{"name":"reason","nativeSrc":"14636:6:173","nodeType":"YulIdentifier","src":"14636:6:173"}],"functionName":{"name":"mload","nativeSrc":"14630:5:173","nodeType":"YulIdentifier","src":"14630:5:173"},"nativeSrc":"14630:13:173","nodeType":"YulFunctionCall","src":"14630:13:173"}],"functionName":{"name":"revert","nativeSrc":"14606:6:173","nodeType":"YulIdentifier","src":"14606:6:173"},"nativeSrc":"14606:38:173","nodeType":"YulFunctionCall","src":"14606:38:173"},"nativeSrc":"14606:38:173","nodeType":"YulExpressionStatement","src":"14606:38:173"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":93401,"isOffset":false,"isSlot":false,"src":"14621:6:173","valueSize":1},{"declaration":93401,"isOffset":false,"isSlot":false,"src":"14636:6:173","valueSize":1}],"id":93412,"nodeType":"InlineAssembly","src":"14571:95:173"}]},"id":93414,"nodeType":"IfStatement","src":"14363:321:173","trueBody":{"id":93411,"nodeType":"Block","src":"14387:101:173","statements":[{"expression":{"arguments":[{"hexValue":"4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572","id":93408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14416:52:173","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""},"value":"ERC721: transfer to non ERC721Receiver implementer"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e","typeString":"literal_string \"ERC721: transfer to non ERC721Receiver implementer\""}],"id":93407,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"14409:6:173","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":93409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14409:60:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":93410,"nodeType":"ExpressionStatement","src":"14409:60:173"}]}}]},"errorName":"","id":93416,"nodeType":"TryCatchClause","parameters":{"id":93402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93401,"mutability":"mutable","name":"reason","nameLocation":"14337:6:173","nodeType":"VariableDeclaration","scope":93416,"src":"14324:19:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93400,"name":"bytes","nodeType":"ElementaryTypeName","src":"14324:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14323:21:173"},"src":"14317:381:173"}],"externalCall":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":93383,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"14166:10:173","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":93384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14166:12:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93385,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93365,"src":"14180:4:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":93386,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93369,"src":"14186:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":93387,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93371,"src":"14195:4:173","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":93380,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93367,"src":"14145:2:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":93379,"name":"IERC721Receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93600,"src":"14129:15:173","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC721Receiver_$93600_$","typeString":"type(contract IERC721Receiver)"}},"id":93381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:19:173","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC721Receiver_$93600","typeString":"contract IERC721Receiver"}},"id":93382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14149:16:173","memberName":"onERC721Received","nodeType":"MemberAccess","referencedDeclaration":93599,"src":"14129:36:173","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$","typeString":"function (address,address,uint256,bytes memory) external returns (bytes4)"}},"id":93388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14129:71:173","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":93417,"nodeType":"TryStatement","src":"14125:573:173"}]}}]},"documentation":{"id":93363,"nodeType":"StructuredDocumentation","src":"13379:541:173","text":" @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n The call is not executed if the target address is not a contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value"},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOnERC721Received","nameLocation":"13934:22:173","parameters":{"id":93372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93365,"mutability":"mutable","name":"from","nameLocation":"13974:4:173","nodeType":"VariableDeclaration","scope":93424,"src":"13966:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93364,"name":"address","nodeType":"ElementaryTypeName","src":"13966:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93367,"mutability":"mutable","name":"to","nameLocation":"13996:2:173","nodeType":"VariableDeclaration","scope":93424,"src":"13988:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93366,"name":"address","nodeType":"ElementaryTypeName","src":"13988:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93369,"mutability":"mutable","name":"tokenId","nameLocation":"14016:7:173","nodeType":"VariableDeclaration","scope":93424,"src":"14008:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93368,"name":"uint256","nodeType":"ElementaryTypeName","src":"14008:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93371,"mutability":"mutable","name":"data","nameLocation":"14046:4:173","nodeType":"VariableDeclaration","scope":93424,"src":"14033:17:173","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":93370,"name":"bytes","nodeType":"ElementaryTypeName","src":"14033:5:173","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"13956:100:173"},"returnParameters":{"id":93375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93374,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93424,"src":"14074:4:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93373,"name":"bool","nodeType":"ElementaryTypeName","src":"14074:4:173","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14073:6:173"},"scope":93466,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":93437,"nodeType":"FunctionDefinition","src":"15472:116:173","nodes":[],"body":{"id":93436,"nodeType":"Block","src":"15586:2:173","nodes":[],"statements":[]},"documentation":{"id":93425,"nodeType":"StructuredDocumentation","src":"14762:705:173","text":" @dev Hook that is called before any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens will be transferred to `to`.\n - When `from` is zero, the tokens will be minted for `to`.\n - When `to` is zero, ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"15481:20:173","parameters":{"id":93434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93427,"mutability":"mutable","name":"from","nameLocation":"15510:4:173","nodeType":"VariableDeclaration","scope":93437,"src":"15502:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93426,"name":"address","nodeType":"ElementaryTypeName","src":"15502:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93429,"mutability":"mutable","name":"to","nameLocation":"15524:2:173","nodeType":"VariableDeclaration","scope":93437,"src":"15516:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93428,"name":"address","nodeType":"ElementaryTypeName","src":"15516:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93431,"mutability":"mutable","name":"firstTokenId","nameLocation":"15536:12:173","nodeType":"VariableDeclaration","scope":93437,"src":"15528:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93430,"name":"uint256","nodeType":"ElementaryTypeName","src":"15528:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93433,"mutability":"mutable","name":"batchSize","nameLocation":"15558:9:173","nodeType":"VariableDeclaration","scope":93437,"src":"15550:17:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93432,"name":"uint256","nodeType":"ElementaryTypeName","src":"15550:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15501:67:173"},"returnParameters":{"id":93435,"nodeType":"ParameterList","parameters":[],"src":"15586:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93450,"nodeType":"FunctionDefinition","src":"16294:115:173","nodes":[],"body":{"id":93449,"nodeType":"Block","src":"16407:2:173","nodes":[],"statements":[]},"documentation":{"id":93438,"nodeType":"StructuredDocumentation","src":"15594:695:173","text":" @dev Hook that is called after any token transfer. This includes minting and burning. If {ERC721Consecutive} is\n used, the hook may be called as part of a consecutive (batch) mint, as indicated by `batchSize` greater than 1.\n Calling conditions:\n - When `from` and `to` are both non-zero, ``from``'s tokens were transferred to `to`.\n - When `from` is zero, the tokens were minted for `to`.\n - When `to` is zero, ``from``'s tokens were burned.\n - `from` and `to` are never both zero.\n - `batchSize` is non-zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"16303:19:173","parameters":{"id":93447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93440,"mutability":"mutable","name":"from","nameLocation":"16331:4:173","nodeType":"VariableDeclaration","scope":93450,"src":"16323:12:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93439,"name":"address","nodeType":"ElementaryTypeName","src":"16323:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93442,"mutability":"mutable","name":"to","nameLocation":"16345:2:173","nodeType":"VariableDeclaration","scope":93450,"src":"16337:10:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93441,"name":"address","nodeType":"ElementaryTypeName","src":"16337:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93444,"mutability":"mutable","name":"firstTokenId","nameLocation":"16357:12:173","nodeType":"VariableDeclaration","scope":93450,"src":"16349:20:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93443,"name":"uint256","nodeType":"ElementaryTypeName","src":"16349:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93446,"mutability":"mutable","name":"batchSize","nameLocation":"16379:9:173","nodeType":"VariableDeclaration","scope":93450,"src":"16371:17:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93445,"name":"uint256","nodeType":"ElementaryTypeName","src":"16371:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16322:67:173"},"returnParameters":{"id":93448,"nodeType":"ParameterList","parameters":[],"src":"16407:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":93465,"nodeType":"FunctionDefinition","src":"16882:121:173","nodes":[],"body":{"id":93464,"nodeType":"Block","src":"16958:45:173","nodes":[],"statements":[{"expression":{"id":93462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":93458,"name":"_balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92575,"src":"16968:9:173","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":93460,"indexExpression":{"id":93459,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93453,"src":"16978:7:173","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16968:18:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":93461,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93455,"src":"16990:6:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16968:28:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":93463,"nodeType":"ExpressionStatement","src":"16968:28:173"}]},"documentation":{"id":93451,"nodeType":"StructuredDocumentation","src":"16415:409:173","text":" @dev Unsafe write access to the balances, used by extensions that \"mint\" tokens using an {ownerOf} override.\n WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant\n being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such\n that `ownerOf(tokenId)` is `a`."},"implemented":true,"kind":"function","modifiers":[],"name":"__unsafe_increaseBalance","nameLocation":"16891:24:173","parameters":{"id":93456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93453,"mutability":"mutable","name":"account","nameLocation":"16924:7:173","nodeType":"VariableDeclaration","scope":93465,"src":"16916:15:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93452,"name":"address","nodeType":"ElementaryTypeName","src":"16916:7:173","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93455,"mutability":"mutable","name":"amount","nameLocation":"16941:6:173","nodeType":"VariableDeclaration","scope":93465,"src":"16933:14:173","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93454,"name":"uint256","nodeType":"ElementaryTypeName","src":"16933:7:173","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16915:33:173"},"returnParameters":{"id":93457,"nodeType":"ParameterList","parameters":[],"src":"16958:0:173"},"scope":93466,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":92550,"name":"Context","nameLocations":["647:7:173"],"nodeType":"IdentifierPath","referencedDeclaration":95576,"src":"647:7:173"},"id":92551,"nodeType":"InheritanceSpecifier","src":"647:7:173"},{"baseName":{"id":92552,"name":"ERC165","nameLocations":["656:6:173"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"656:6:173"},"id":92553,"nodeType":"InheritanceSpecifier","src":"656:6:173"},{"baseName":{"id":92554,"name":"IERC721","nameLocations":["664:7:173"],"nodeType":"IdentifierPath","referencedDeclaration":93582,"src":"664:7:173"},"id":92555,"nodeType":"InheritanceSpecifier","src":"664:7:173"},{"baseName":{"id":92556,"name":"IERC721Metadata","nameLocations":["673:15:173"],"nodeType":"IdentifierPath","referencedDeclaration":93680,"src":"673:15:173"},"id":92557,"nodeType":"InheritanceSpecifier","src":"673:15:173"}],"canonicalName":"ERC721","contractDependencies":[],"contractKind":"contract","documentation":{"id":92549,"nodeType":"StructuredDocumentation","src":"381:246:173","text":" @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension, but not including the Enumerable extension, which is available separately as\n {ERC721Enumerable}."},"fullyImplemented":true,"linearizedBaseContracts":[93466,93680,93582,96799,97005,95576],"name":"ERC721","nameLocation":"637:6:173","scope":93467,"usedErrors":[],"usedEvents":[93481,93490,93499]}],"license":"MIT"},"id":173} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50604051620013ec380380620013ec833981016040819052620000349162000122565b60006200004283826200021d565b5060016200005182826200021d565b505050620002e9565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008257600080fd5b81516001600160401b03808211156200009f576200009f6200005a565b604051601f8301601f19908116603f01168101908282118183101715620000ca57620000ca6200005a565b8160405283815260209250866020858801011115620000e857600080fd5b600091505b838210156200010c5785820183015181830184015290820190620000ed565b6000602085830101528094505050505092915050565b600080604083850312156200013657600080fd5b82516001600160401b03808211156200014e57600080fd5b6200015c8683870162000070565b935060208501519150808211156200017357600080fd5b50620001828582860162000070565b9150509250929050565b600181811c90821680620001a157607f821691505b602082108103620001c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000218576000816000526020600020601f850160051c81016020861015620001f35750805b601f850160051c820191505b818110156200021457828155600101620001ff565b5050505b505050565b81516001600160401b038111156200023957620002396200005a565b62000251816200024a84546200018c565b84620001c8565b602080601f831160018114620002895760008415620002705750858301515b600019600386901b1c1916600185901b17855562000214565b600085815260208120601f198616915b82811015620002ba5788860151825594840194600190910190840162000299565b5085821015620002d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6110f380620002f96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d1ab7f927cfe677f835d3009e67227aaa84eccc306e9c37cd7e754b43400323d64736f6c63430008170033","sourceMap":"628:16377:173:-:0;;;1390:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1456:5;:13;1464:5;1456;:13;:::i;:::-;-1:-1:-1;1479:7:173;:17;1489:7;1479;:17;:::i;:::-;;1390:113;;628:16377;;14:127:197;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:197;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:197;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:562::-;1094:6;1102;1155:2;1143:9;1134:7;1130:23;1126:32;1123:52;;;1171:1;1168;1161:12;1123:52;1198:16;;-1:-1:-1;;;;;1263:14:197;;;1260:34;;;1290:1;1287;1280:12;1260:34;1313:61;1366:7;1357:6;1346:9;1342:22;1313:61;:::i;:::-;1303:71;;1420:2;1409:9;1405:18;1399:25;1383:41;;1449:2;1439:8;1436:16;1433:36;;;1465:1;1462;1455:12;1433:36;;1488:63;1543:7;1532:8;1521:9;1517:24;1488:63;:::i;:::-;1478:73;;;995:562;;;;;:::o;1562:380::-;1641:1;1637:12;;;;1684;;;1705:61;;1759:4;1751:6;1747:17;1737:27;;1705:61;1812:2;1804:6;1801:14;1781:18;1778:38;1775:161;;1858:10;1853:3;1849:20;1846:1;1839:31;1893:4;1890:1;1883:15;1921:4;1918:1;1911:15;1775:161;;1562:380;;;:::o;2073:543::-;2175:2;2170:3;2167:11;2164:446;;;2211:1;2235:5;2232:1;2225:16;2279:4;2276:1;2266:18;2349:2;2337:10;2333:19;2330:1;2326:27;2320:4;2316:38;2385:4;2373:10;2370:20;2367:47;;;-1:-1:-1;2408:4:197;2367:47;2463:2;2458:3;2454:12;2451:1;2447:20;2441:4;2437:31;2427:41;;2518:82;2536:2;2529:5;2526:13;2518:82;;;2581:17;;;2562:1;2551:13;2518:82;;;2522:3;;;2164:446;2073:543;;;:::o;2792:1345::-;2912:10;;-1:-1:-1;;;;;2934:30:197;;2931:56;;;2967:18;;:::i;:::-;2996:97;3086:6;3046:38;3078:4;3072:11;3046:38;:::i;:::-;3040:4;2996:97;:::i;:::-;3148:4;;3205:2;3194:14;;3222:1;3217:663;;;;3924:1;3941:6;3938:89;;;-1:-1:-1;3993:19:197;;;3987:26;3938:89;-1:-1:-1;;2749:1:197;2745:11;;;2741:24;2737:29;2727:40;2773:1;2769:11;;;2724:57;4040:81;;3187:944;;3217:663;2020:1;2013:14;;;2057:4;2044:18;;-1:-1:-1;;3253:20:197;;;3371:236;3385:7;3382:1;3379:14;3371:236;;;3474:19;;;3468:26;3453:42;;3566:27;;;;3534:1;3522:14;;;;3401:19;;3371:236;;;3375:3;3635:6;3626:7;3623:19;3620:201;;;3696:19;;;3690:26;-1:-1:-1;;3779:1:197;3775:14;;;3791:3;3771:24;3767:37;3763:42;3748:58;3733:74;;3620:201;-1:-1:-1;;;;;3867:1:197;3851:14;;;3847:22;3834:36;;-1:-1:-1;2792:1345:197:o;:::-;628:16377:173;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb465146101b3578063b88d4fde146101c6578063c87b56dd146101d9578063e985e9c5146101ec57600080fd5b80636352211e1461017757806370a082311461018a57806395d89b41146101ab57600080fd5b806301ffc9a7146100d457806306fdde03146100fc578063081812fc14610111578063095ea7b31461013c57806323b872dd1461015157806342842e0e14610164575b600080fd5b6100e76100e2366004610c7f565b610228565b60405190151581526020015b60405180910390f35b61010461027a565b6040516100f39190610cec565b61012461011f366004610cff565b61030c565b6040516001600160a01b0390911681526020016100f3565b61014f61014a366004610d34565b610333565b005b61014f61015f366004610d5e565b61044d565b61014f610172366004610d5e565b61047e565b610124610185366004610cff565b610499565b61019d610198366004610d9a565b6104f9565b6040519081526020016100f3565b61010461057f565b61014f6101c1366004610db5565b61058e565b61014f6101d4366004610e07565b61059d565b6101046101e7366004610cff565b6105d5565b6100e76101fa366004610ee3565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061025957506001600160e01b03198216635b5e139f60e01b145b8061027457506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461028990610f16565b80601f01602080910402602001604051908101604052809291908181526020018280546102b590610f16565b80156103025780601f106102d757610100808354040283529160200191610302565b820191906000526020600020905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b600061031782610649565b506000908152600460205260409020546001600160a01b031690565b600061033e82610499565b9050806001600160a01b0316836001600160a01b0316036103b05760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806103cc57506103cc81336101fa565b61043e5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016103a7565b61044883836106ab565b505050565b6104573382610719565b6104735760405162461bcd60e51b81526004016103a790610f50565b610448838383610798565b6104488383836040518060200160405280600081525061059d565b6000818152600260205260408120546001600160a01b0316806102745760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b60006001600160a01b0382166105635760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016103a7565b506001600160a01b031660009081526003602052604090205490565b60606001805461028990610f16565b6105993383836108fc565b5050565b6105a73383610719565b6105c35760405162461bcd60e51b81526004016103a790610f50565b6105cf848484846109ca565b50505050565b60606105e082610649565b60006105f760408051602081019091526000815290565b905060008151116106175760405180602001604052806000815250610642565b80610621846109fd565b604051602001610632929190610f9d565b6040516020818303038152906040525b9392505050565b6000818152600260205260409020546001600160a01b03166106a85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016103a7565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906106e082610499565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061072583610499565b9050806001600160a01b0316846001600160a01b0316148061076c57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806107905750836001600160a01b03166107858461030c565b6001600160a01b0316145b949350505050565b826001600160a01b03166107ab82610499565b6001600160a01b0316146107d15760405162461bcd60e51b81526004016103a790610fcc565b6001600160a01b0382166108335760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016103a7565b826001600160a01b031661084682610499565b6001600160a01b03161461086c5760405162461bcd60e51b81526004016103a790610fcc565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b03160361095d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016103a7565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109d5848484610798565b6109e184848484610a90565b6105cf5760405162461bcd60e51b81526004016103a790611011565b60606000610a0a83610b91565b600101905060008167ffffffffffffffff811115610a2a57610a2a610df1565b6040519080825280601f01601f191660200182016040528015610a54576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610a5e57509392505050565b60006001600160a01b0384163b15610b8657604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610ad4903390899088908890600401611063565b6020604051808303816000875af1925050508015610b0f575060408051601f3d908101601f19168201909252610b0c918101906110a0565b60015b610b6c573d808015610b3d576040519150601f19603f3d011682016040523d82523d6000602084013e610b42565b606091505b508051600003610b645760405162461bcd60e51b81526004016103a790611011565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610790565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610bd05772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610bfc576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610c1a57662386f26fc10000830492506010015b6305f5e1008310610c32576305f5e100830492506008015b6127108310610c4657612710830492506004015b60648310610c58576064830492506002015b600a83106102745760010192915050565b6001600160e01b0319811681146106a857600080fd5b600060208284031215610c9157600080fd5b813561064281610c69565b60005b83811015610cb7578181015183820152602001610c9f565b50506000910152565b60008151808452610cd8816020860160208601610c9c565b601f01601f19169290920160200192915050565b6020815260006106426020830184610cc0565b600060208284031215610d1157600080fd5b5035919050565b80356001600160a01b0381168114610d2f57600080fd5b919050565b60008060408385031215610d4757600080fd5b610d5083610d18565b946020939093013593505050565b600080600060608486031215610d7357600080fd5b610d7c84610d18565b9250610d8a60208501610d18565b9150604084013590509250925092565b600060208284031215610dac57600080fd5b61064282610d18565b60008060408385031215610dc857600080fd5b610dd183610d18565b915060208301358015158114610de657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60008060008060808587031215610e1d57600080fd5b610e2685610d18565b9350610e3460208601610d18565b925060408501359150606085013567ffffffffffffffff80821115610e5857600080fd5b818701915087601f830112610e6c57600080fd5b813581811115610e7e57610e7e610df1565b604051601f8201601f19908116603f01168101908382118183101715610ea657610ea6610df1565b816040528281528a6020848701011115610ebf57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060408385031215610ef657600080fd5b610eff83610d18565b9150610f0d60208401610d18565b90509250929050565b600181811c90821680610f2a57607f821691505b602082108103610f4a57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b60008351610faf818460208801610c9c565b835190830190610fc3818360208801610c9c565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061109690830184610cc0565b9695505050505050565b6000602082840312156110b257600080fd5b815161064281610c6956fea2646970667358221220d1ab7f927cfe677f835d3009e67227aaa84eccc306e9c37cd7e754b43400323d64736f6c63430008170033","sourceMap":"628:16377:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:300;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;1570:300:173;;;;;;;;2471:98;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1697:32:197;;;1679:51;;1667:2;1652:18;3935:167:173;1533:203:197;3468:406:173;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;4974:149::-;;;;;;:::i;:::-;;:::i;2190:219::-;;;;;;:::i;:::-;;:::i;1929:204::-;;;;;;:::i;:::-;;:::i;:::-;;;2848:25:197;;;2836:2;2821:18;1929:204:173;2702:177:197;2633:102:173;;;:::i;4169:153::-;;;;;;:::i;:::-;;:::i;5189:276::-;;;;;;:::i;:::-;;:::i;2801:::-;;;;;;:::i;:::-;;:::i;4388:162::-;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;1570:300;1672:4;-1:-1:-1;;;;;;1707:40:173;;-1:-1:-1;;;1707:40:173;;:104;;-1:-1:-1;;;;;;;1763:48:173;;-1:-1:-1;;;1763:48:173;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:188;;;1827:36:173;1688:175;1570:300;-1:-1:-1;;1570:300:173:o;2471:98::-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:173;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:173;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:173;:2;-1:-1:-1;;;;;3605:11:173;;3597:57;;;;-1:-1:-1;;;3597:57:173;;5363:2:197;3597:57:173;;;5345:21:197;5402:2;5382:18;;;5375:30;5441:34;5421:18;;;5414:62;-1:-1:-1;;;5492:18:197;;;5485:31;5533:19;;3597:57:173;;;;;;;;;719:10:181;-1:-1:-1;;;;;3686:21:173;;;;:62;;-1:-1:-1;3711:37:173;3728:5;719:10:181;4388:162:173;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:173;;5765:2:197;3665:170:173;;;5747:21:197;5804:2;5784:18;;;5777:30;5843:34;5823:18;;;5816:62;5914:31;5894:18;;;5887:59;5963:19;;3665:170:173;5563:425:197;3665:170:173;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:181;4804:7:173;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:173;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;4974:149::-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2190:219::-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;;2324:56;;;;-1:-1:-1;;;2324:56:173;;6609:2:197;2324:56:173;;;6591:21:197;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:197;;;6660:54;6731:18;;2324:56:173;6407:348:197;1929:204:173;2001:7;-1:-1:-1;;;;;2028:19:173;;2020:73;;;;-1:-1:-1;;;2020:73:173;;6962:2:197;2020:73:173;;;6944:21:197;7001:2;6981:18;;;6974:30;7040:34;7020:18;;;7013:62;-1:-1:-1;;;7091:18:197;;;7084:39;7140:19;;2020:73:173;6760:405:197;2020:73:173;-1:-1:-1;;;;;;2110:16:173;;;;;:9;:16;;;;;;;1929:204::o;2633:102::-;2689:13;2721:7;2714:14;;;;;:::i;4169:153::-;4263:52;719:10:181;4296:8:173;4306;4263:18;:52::i;:::-;4169:153;;:::o;5189:276::-;5319:41;719:10:181;5352:7:173;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:173;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;2801:::-;2874:13;2899:23;2914:7;2899:14;:23::i;:::-;2933:21;2957:10;3395:9;;;;;;;;;-1:-1:-1;3395:9:173;;;3319:92;2957:10;2933:34;;3008:1;2990:7;2984:21;:25;:86;;;;;;;;;;;;;;;;;3036:7;3045:18;:7;:16;:18::i;:::-;3019:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;2984:86;2977:93;2801:276;-1:-1:-1;;;2801:276:173:o;13240:133::-;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;13313:53;;;;-1:-1:-1;;;13313:53:173;;6609:2:197;13313:53:173;;;6591:21:197;6648:2;6628:18;;;6621:30;-1:-1:-1;;;6667:18:197;;;6660:54;6731:18;;13313:53:173;6407:348:197;13313:53:173;13240:133;:::o;12572:171::-;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:173;-1:-1:-1;;;;;12646:29:173;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:173;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:173;:7;-1:-1:-1;;;;;7570:16:173;;:52;;;-1:-1:-1;;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:173;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:173;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:173:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:173;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:173;;11346:81;;;;-1:-1:-1;;;11346:81:173;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:173;;11437:65;;;;-1:-1:-1;;;11437:65:173;;8279:2:197;11437:65:173;;;8261:21:197;8318:2;8298:18;;;8291:30;8357:34;8337:18;;;8330:62;-1:-1:-1;;;8408:18:197;;;8401:34;8452:19;;11437:65:173;8077:400:197;11437:65:173;11682:4;-1:-1:-1;;;;;11655:31:173;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:173;;11647:81;;;;-1:-1:-1;;;11647:81:173;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:173;;;;;;-1:-1:-1;;;;;12265:15:173;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:173;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;3538:336;3468:406;;:::o;12879:277::-;12999:8;-1:-1:-1;;;;;12990:17:173;:5;-1:-1:-1;;;;;12990:17:173;;12982:55;;;;-1:-1:-1;;;12982:55:173;;8684:2:197;12982:55:173;;;8666:21:197;8723:2;8703:18;;;8696:30;8762:27;8742:18;;;8735:55;8807:18;;12982:55:173;8482:349:197;12982:55:173;-1:-1:-1;;;;;13047:25:173;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:173;;;;;;;;;;13108:41;;540::197;;;13108::173;;513:18:197;13108:41:173;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:173;;;;;;;:::i;447:696:185:-;503:13;552:14;569:17;580:5;569:10;:17::i;:::-;589:1;569:21;552:38;;604:20;638:6;627:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;627:18:185;-1:-1:-1;604:41:185;-1:-1:-1;765:28:185;;;781:2;765:28;820:280;-1:-1:-1;;851:5:185;-1:-1:-1;;;985:2:185;974:14;;969:30;851:5;956:44;1044:2;1035:11;;;-1:-1:-1;1064:21:185;820:280;1064:21;-1:-1:-1;1120:6:185;447:696;-1:-1:-1;;;447:696:185:o;13925:831:173:-;14074:4;-1:-1:-1;;;;;14094:13:173;;1702:19:179;:23;14090:660:173;;14129:71;;-1:-1:-1;;;14129:71:173;;-1:-1:-1;;;;;14129:36:173;;;;;:71;;719:10:181;;14180:4:173;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:173;;;;;;;;-1:-1:-1;;14129:71:173;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:173;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:173;-1:-1:-1;;;14250:51:173;;-1:-1:-1;14243:58:173;;14090:660;-1:-1:-1;14735:4:173;13925:831;;;;;;:::o;10139:916:191:-;10192:7;;-1:-1:-1;;;10267:17:191;;10263:103;;-1:-1:-1;;;10304:17:191;;;-1:-1:-1;10349:2:191;10339:12;10263:103;10392:8;10383:5;:17;10379:103;;10429:8;10420:17;;;-1:-1:-1;10465:2:191;10455:12;10379:103;10508:8;10499:5;:17;10495:103;;10545:8;10536:17;;;-1:-1:-1;10581:2:191;10571:12;10495:103;10624:7;10615:5;:16;10611:100;;10660:7;10651:16;;;-1:-1:-1;10695:1:191;10685:11;10611:100;10737:7;10728:5;:16;10724:100;;10773:7;10764:16;;;-1:-1:-1;10808:1:191;10798:11;10724:100;10850:7;10841:5;:16;10837:100;;10886:7;10877:16;;;-1:-1:-1;10921:1:191;10911:11;10837:100;10963:7;10954:5;:16;10950:66;;11000:1;10990:11;11042:6;10139:916;-1:-1:-1;;10139:916:191:o;14:131:197:-;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:250::-;677:1;687:113;701:6;698:1;695:13;687:113;;;777:11;;;771:18;758:11;;;751:39;723:2;716:10;687:113;;;-1:-1:-1;;834:1:197;816:16;;809:27;592:250::o;847:271::-;889:3;927:5;921:12;954:6;949:3;942:19;970:76;1039:6;1032:4;1027:3;1023:14;1016:4;1009:5;1005:16;970:76;:::i;:::-;1100:2;1079:15;-1:-1:-1;;1075:29:197;1066:39;;;;1107:4;1062:50;;847:271;-1:-1:-1;;847:271:197:o;1123:220::-;1272:2;1261:9;1254:21;1235:4;1292:45;1333:2;1322:9;1318:18;1310:6;1292:45;:::i;1348:180::-;1407:6;1460:2;1448:9;1439:7;1435:23;1431:32;1428:52;;;1476:1;1473;1466:12;1428:52;-1:-1:-1;1499:23:197;;1348:180;-1:-1:-1;1348:180:197:o;1741:173::-;1809:20;;-1:-1:-1;;;;;1858:31:197;;1848:42;;1838:70;;1904:1;1901;1894:12;1838:70;1741:173;;;:::o;1919:254::-;1987:6;1995;2048:2;2036:9;2027:7;2023:23;2019:32;2016:52;;;2064:1;2061;2054:12;2016:52;2087:29;2106:9;2087:29;:::i;:::-;2077:39;2163:2;2148:18;;;;2135:32;;-1:-1:-1;;;1919:254:197:o;2178:328::-;2255:6;2263;2271;2324:2;2312:9;2303:7;2299:23;2295:32;2292:52;;;2340:1;2337;2330:12;2292:52;2363:29;2382:9;2363:29;:::i;:::-;2353:39;;2411:38;2445:2;2434:9;2430:18;2411:38;:::i;:::-;2401:48;;2496:2;2485:9;2481:18;2468:32;2458:42;;2178:328;;;;;:::o;2511:186::-;2570:6;2623:2;2611:9;2602:7;2598:23;2594:32;2591:52;;;2639:1;2636;2629:12;2591:52;2662:29;2681:9;2662:29;:::i;2884:347::-;2949:6;2957;3010:2;2998:9;2989:7;2985:23;2981:32;2978:52;;;3026:1;3023;3016:12;2978:52;3049:29;3068:9;3049:29;:::i;:::-;3039:39;;3128:2;3117:9;3113:18;3100:32;3175:5;3168:13;3161:21;3154:5;3151:32;3141:60;;3197:1;3194;3187:12;3141:60;3220:5;3210:15;;;2884:347;;;;;:::o;3236:127::-;3297:10;3292:3;3288:20;3285:1;3278:31;3328:4;3325:1;3318:15;3352:4;3349:1;3342:15;3368:1138;3463:6;3471;3479;3487;3540:3;3528:9;3519:7;3515:23;3511:33;3508:53;;;3557:1;3554;3547:12;3508:53;3580:29;3599:9;3580:29;:::i;:::-;3570:39;;3628:38;3662:2;3651:9;3647:18;3628:38;:::i;:::-;3618:48;;3713:2;3702:9;3698:18;3685:32;3675:42;;3768:2;3757:9;3753:18;3740:32;3791:18;3832:2;3824:6;3821:14;3818:34;;;3848:1;3845;3838:12;3818:34;3886:6;3875:9;3871:22;3861:32;;3931:7;3924:4;3920:2;3916:13;3912:27;3902:55;;3953:1;3950;3943:12;3902:55;3989:2;3976:16;4011:2;4007;4004:10;4001:36;;;4017:18;;:::i;:::-;4092:2;4086:9;4060:2;4146:13;;-1:-1:-1;;4142:22:197;;;4166:2;4138:31;4134:40;4122:53;;;4190:18;;;4210:22;;;4187:46;4184:72;;;4236:18;;:::i;:::-;4276:10;4272:2;4265:22;4311:2;4303:6;4296:18;4351:7;4346:2;4341;4337;4333:11;4329:20;4326:33;4323:53;;;4372:1;4369;4362:12;4323:53;4428:2;4423;4419;4415:11;4410:2;4402:6;4398:15;4385:46;4473:1;4468:2;4463;4455:6;4451:15;4447:24;4440:35;4494:6;4484:16;;;;;;;3368:1138;;;;;;;:::o;4511:260::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4679:29;4698:9;4679:29;:::i;:::-;4669:39;;4727:38;4761:2;4750:9;4746:18;4727:38;:::i;:::-;4717:48;;4511:260;;;;;:::o;4776:380::-;4855:1;4851:12;;;;4898;;;4919:61;;4973:4;4965:6;4961:17;4951:27;;4919:61;5026:2;5018:6;5015:14;4995:18;4992:38;4989:161;;5072:10;5067:3;5063:20;5060:1;5053:31;5107:4;5104:1;5097:15;5135:4;5132:1;5125:15;4989:161;;4776:380;;;:::o;5993:409::-;6195:2;6177:21;;;6234:2;6214:18;;;6207:30;6273:34;6268:2;6253:18;;6246:62;-1:-1:-1;;;6339:2:197;6324:18;;6317:43;6392:3;6377:19;;5993:409::o;7170:496::-;7349:3;7387:6;7381:13;7403:66;7462:6;7457:3;7450:4;7442:6;7438:17;7403:66;:::i;:::-;7532:13;;7491:16;;;;7554:70;7532:13;7491:16;7601:4;7589:17;;7554:70;:::i;:::-;7640:20;;7170:496;-1:-1:-1;;;;7170:496:197:o;7671:401::-;7873:2;7855:21;;;7912:2;7892:18;;;7885:30;7951:34;7946:2;7931:18;;7924:62;-1:-1:-1;;;8017:2:197;8002:18;;7995:35;8062:3;8047:19;;7671:401::o;8836:414::-;9038:2;9020:21;;;9077:2;9057:18;;;9050:30;9116:34;9111:2;9096:18;;9089:62;-1:-1:-1;;;9182:2:197;9167:18;;9160:48;9240:3;9225:19;;8836:414::o;9387:489::-;-1:-1:-1;;;;;9656:15:197;;;9638:34;;9708:15;;9703:2;9688:18;;9681:43;9755:2;9740:18;;9733:34;;;9803:3;9798:2;9783:18;;9776:31;;;9581:4;;9824:46;;9850:19;;9842:6;9824:46;:::i;:::-;9816:54;9387:489;-1:-1:-1;;;;;;9387:489:197:o;9881:249::-;9950:6;10003:2;9991:9;9982:7;9978:23;9974:32;9971:52;;;10019:1;10016;10009:12;9971:52;10051:9;10045:16;10070:30;10094:5;10070:30;:::i","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension, but not including the Enumerable extension, which is available separately as {ERC721Enumerable}.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"constructor":{"details":"Initializes the contract by setting a `name` and a `symbol` to the token collection."},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":"ERC721"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":173} \ No newline at end of file diff --git a/out/IERC165.sol/IERC165.json b/out/IERC165.sol/IERC165.json index 89fbe619..7972e3b6 100644 --- a/out/IERC165.sol/IERC165.json +++ b/out/IERC165.sol/IERC165.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":"IERC165"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","id":97006,"exportedSymbols":{"IERC165":[97005]},"nodeType":"SourceUnit","src":"100:753:190","nodes":[{"id":96995,"nodeType":"PragmaDirective","src":"100:23:190","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":97005,"nodeType":"ContractDefinition","src":"405:447:190","nodes":[{"id":97004,"nodeType":"FunctionDefinition","src":"774:76:190","nodes":[],"documentation":{"id":96997,"nodeType":"StructuredDocumentation","src":"429:340:190","text":" @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."},"functionSelector":"01ffc9a7","implemented":false,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"783:17:190","parameters":{"id":97000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96999,"mutability":"mutable","name":"interfaceId","nameLocation":"808:11:190","nodeType":"VariableDeclaration","scope":97004,"src":"801:18:190","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":96998,"name":"bytes4","nodeType":"ElementaryTypeName","src":"801:6:190","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"800:20:190"},"returnParameters":{"id":97003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97002,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97004,"src":"844:4:190","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":97001,"name":"bool","nodeType":"ElementaryTypeName","src":"844:4:190","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"843:6:190"},"scope":97005,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC165","contractDependencies":[],"contractKind":"interface","documentation":{"id":96996,"nodeType":"StructuredDocumentation","src":"125:279:190","text":" @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."},"fullyImplemented":false,"linearizedBaseContracts":[97005],"name":"IERC165","nameLocation":"415:7:190","scope":97006,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":190} \ No newline at end of file +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":"IERC165"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":190} \ No newline at end of file diff --git a/out/IERC20.sol/IERC20.json b/out/IERC20.sol/IERC20.json index 5a861261..ab8b5ef2 100644 --- a/out/IERC20.sol/IERC20.json +++ b/out/IERC20.sol/IERC20.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":"IERC20"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","id":91197,"exportedSymbols":{"IERC20":[91196]},"nodeType":"SourceUnit","src":"106:2631:167","nodes":[{"id":91120,"nodeType":"PragmaDirective","src":"106:23:167","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":91196,"nodeType":"ContractDefinition","src":"202:2534:167","nodes":[{"id":91130,"nodeType":"EventDefinition","src":"388:72:167","nodes":[],"anonymous":false,"documentation":{"id":91122,"nodeType":"StructuredDocumentation","src":"225:158:167","text":" @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"394:8:167","parameters":{"id":91129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91124,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"419:4:167","nodeType":"VariableDeclaration","scope":91130,"src":"403:20:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91123,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91126,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"441:2:167","nodeType":"VariableDeclaration","scope":91130,"src":"425:18:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91125,"name":"address","nodeType":"ElementaryTypeName","src":"425:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91128,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"453:5:167","nodeType":"VariableDeclaration","scope":91130,"src":"445:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91127,"name":"uint256","nodeType":"ElementaryTypeName","src":"445:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"402:57:167"}},{"id":91139,"nodeType":"EventDefinition","src":"619:78:167","nodes":[],"anonymous":false,"documentation":{"id":91131,"nodeType":"StructuredDocumentation","src":"466:148:167","text":" @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"625:8:167","parameters":{"id":91138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91133,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"650:5:167","nodeType":"VariableDeclaration","scope":91139,"src":"634:21:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91132,"name":"address","nodeType":"ElementaryTypeName","src":"634:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91135,"indexed":true,"mutability":"mutable","name":"spender","nameLocation":"673:7:167","nodeType":"VariableDeclaration","scope":91139,"src":"657:23:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91134,"name":"address","nodeType":"ElementaryTypeName","src":"657:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91137,"indexed":false,"mutability":"mutable","name":"value","nameLocation":"690:5:167","nodeType":"VariableDeclaration","scope":91139,"src":"682:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91136,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"633:63:167"}},{"id":91145,"nodeType":"FunctionDefinition","src":"774:55:167","nodes":[],"documentation":{"id":91140,"nodeType":"StructuredDocumentation","src":"703:66:167","text":" @dev Returns the amount of tokens in existence."},"functionSelector":"18160ddd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"783:11:167","parameters":{"id":91141,"nodeType":"ParameterList","parameters":[],"src":"794:2:167"},"returnParameters":{"id":91144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91145,"src":"820:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91142,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"819:9:167"},"scope":91196,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":91153,"nodeType":"FunctionDefinition","src":"912:68:167","nodes":[],"documentation":{"id":91146,"nodeType":"StructuredDocumentation","src":"835:72:167","text":" @dev Returns the amount of tokens owned by `account`."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"921:9:167","parameters":{"id":91149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91148,"mutability":"mutable","name":"account","nameLocation":"939:7:167","nodeType":"VariableDeclaration","scope":91153,"src":"931:15:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91147,"name":"address","nodeType":"ElementaryTypeName","src":"931:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"930:17:167"},"returnParameters":{"id":91152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91151,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91153,"src":"971:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91150,"name":"uint256","nodeType":"ElementaryTypeName","src":"971:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"970:9:167"},"scope":91196,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":91163,"nodeType":"FunctionDefinition","src":"1193:70:167","nodes":[],"documentation":{"id":91154,"nodeType":"StructuredDocumentation","src":"986:202:167","text":" @dev Moves `amount` tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"a9059cbb","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"1202:8:167","parameters":{"id":91159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91156,"mutability":"mutable","name":"to","nameLocation":"1219:2:167","nodeType":"VariableDeclaration","scope":91163,"src":"1211:10:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91155,"name":"address","nodeType":"ElementaryTypeName","src":"1211:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91158,"mutability":"mutable","name":"amount","nameLocation":"1231:6:167","nodeType":"VariableDeclaration","scope":91163,"src":"1223:14:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1223:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1210:28:167"},"returnParameters":{"id":91162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91161,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91163,"src":"1257:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":91160,"name":"bool","nodeType":"ElementaryTypeName","src":"1257:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1256:6:167"},"scope":91196,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":91173,"nodeType":"FunctionDefinition","src":"1538:83:167","nodes":[],"documentation":{"id":91164,"nodeType":"StructuredDocumentation","src":"1269:264:167","text":" @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."},"functionSelector":"dd62ed3e","implemented":false,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"1547:9:167","parameters":{"id":91169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91166,"mutability":"mutable","name":"owner","nameLocation":"1565:5:167","nodeType":"VariableDeclaration","scope":91173,"src":"1557:13:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91165,"name":"address","nodeType":"ElementaryTypeName","src":"1557:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91168,"mutability":"mutable","name":"spender","nameLocation":"1580:7:167","nodeType":"VariableDeclaration","scope":91173,"src":"1572:15:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91167,"name":"address","nodeType":"ElementaryTypeName","src":"1572:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1556:32:167"},"returnParameters":{"id":91172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91173,"src":"1612:7:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91170,"name":"uint256","nodeType":"ElementaryTypeName","src":"1612:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1611:9:167"},"scope":91196,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":91183,"nodeType":"FunctionDefinition","src":"2274:74:167","nodes":[],"documentation":{"id":91174,"nodeType":"StructuredDocumentation","src":"1627:642:167","text":" @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"2283:7:167","parameters":{"id":91179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91176,"mutability":"mutable","name":"spender","nameLocation":"2299:7:167","nodeType":"VariableDeclaration","scope":91183,"src":"2291:15:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91175,"name":"address","nodeType":"ElementaryTypeName","src":"2291:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91178,"mutability":"mutable","name":"amount","nameLocation":"2316:6:167","nodeType":"VariableDeclaration","scope":91183,"src":"2308:14:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91177,"name":"uint256","nodeType":"ElementaryTypeName","src":"2308:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2290:33:167"},"returnParameters":{"id":91182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91183,"src":"2342:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":91180,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:167"},"scope":91196,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":91195,"nodeType":"FunctionDefinition","src":"2646:88:167","nodes":[],"documentation":{"id":91184,"nodeType":"StructuredDocumentation","src":"2354:287:167","text":" @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2655:12:167","parameters":{"id":91191,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91186,"mutability":"mutable","name":"from","nameLocation":"2676:4:167","nodeType":"VariableDeclaration","scope":91195,"src":"2668:12:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91185,"name":"address","nodeType":"ElementaryTypeName","src":"2668:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91188,"mutability":"mutable","name":"to","nameLocation":"2690:2:167","nodeType":"VariableDeclaration","scope":91195,"src":"2682:10:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":91187,"name":"address","nodeType":"ElementaryTypeName","src":"2682:7:167","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":91190,"mutability":"mutable","name":"amount","nameLocation":"2702:6:167","nodeType":"VariableDeclaration","scope":91195,"src":"2694:14:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":91189,"name":"uint256","nodeType":"ElementaryTypeName","src":"2694:7:167","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2667:42:167"},"returnParameters":{"id":91194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91193,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":91195,"src":"2728:4:167","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":91192,"name":"bool","nodeType":"ElementaryTypeName","src":"2728:4:167","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2727:6:167"},"scope":91196,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC20","contractDependencies":[],"contractKind":"interface","documentation":{"id":91121,"nodeType":"StructuredDocumentation","src":"131:70:167","text":" @dev Interface of the ERC20 standard as defined in the EIP."},"fullyImplemented":false,"linearizedBaseContracts":[91196],"name":"IERC20","nameLocation":"212:6:167","scope":91197,"usedErrors":[],"usedEvents":[91130,91139]}],"license":"MIT"},"id":167} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"}},"version":1},"id":167} \ No newline at end of file diff --git a/out/IERC20Metadata.sol/IERC20Metadata.json b/out/IERC20Metadata.sol/IERC20Metadata.json index 9fa5556f..3fbf99f4 100644 --- a/out/IERC20Metadata.sol/IERC20Metadata.json +++ b/out/IERC20Metadata.sol/IERC20Metadata.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","id":92128,"exportedSymbols":{"IERC20":[91196],"IERC20Metadata":[92127]},"nodeType":"SourceUnit","src":"110:573:170","nodes":[{"id":92104,"nodeType":"PragmaDirective","src":"110:23:170","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":92105,"nodeType":"ImportDirective","src":"135:23:170","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":92128,"sourceUnit":91197,"symbolAliases":[],"unitAlias":""},{"id":92127,"nodeType":"ContractDefinition","src":"277:405:170","nodes":[{"id":92114,"nodeType":"FunctionDefinition","src":"377:54:170","nodes":[],"documentation":{"id":92109,"nodeType":"StructuredDocumentation","src":"318:54:170","text":" @dev Returns the name of the token."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"386:4:170","parameters":{"id":92110,"nodeType":"ParameterList","parameters":[],"src":"390:2:170"},"returnParameters":{"id":92113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92112,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92114,"src":"416:13:170","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92111,"name":"string","nodeType":"ElementaryTypeName","src":"416:6:170","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"415:15:170"},"scope":92127,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":92120,"nodeType":"FunctionDefinition","src":"498:56:170","nodes":[],"documentation":{"id":92115,"nodeType":"StructuredDocumentation","src":"437:56:170","text":" @dev Returns the symbol of the token."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"507:6:170","parameters":{"id":92116,"nodeType":"ParameterList","parameters":[],"src":"513:2:170"},"returnParameters":{"id":92119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92118,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92120,"src":"539:13:170","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92117,"name":"string","nodeType":"ElementaryTypeName","src":"539:6:170","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"538:15:170"},"scope":92127,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":92126,"nodeType":"FunctionDefinition","src":"630:50:170","nodes":[],"documentation":{"id":92121,"nodeType":"StructuredDocumentation","src":"560:65:170","text":" @dev Returns the decimals places of the token."},"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"639:8:170","parameters":{"id":92122,"nodeType":"ParameterList","parameters":[],"src":"647:2:170"},"returnParameters":{"id":92125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92124,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92126,"src":"673:5:170","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":92123,"name":"uint8","nodeType":"ElementaryTypeName","src":"673:5:170","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"672:7:170"},"scope":92127,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":92107,"name":"IERC20","nameLocations":["305:6:170"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"305:6:170"},"id":92108,"nodeType":"InheritanceSpecifier","src":"305:6:170"}],"canonicalName":"IERC20Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":92106,"nodeType":"StructuredDocumentation","src":"160:116:170","text":" @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._"},"fullyImplemented":false,"linearizedBaseContracts":[92127,91196],"name":"IERC20Metadata","nameLocation":"287:14:170","scope":92128,"usedErrors":[],"usedEvents":[91130,91139]}],"license":"MIT"},"id":170} \ No newline at end of file +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets `amount` as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the amount of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"details":"Moves `amount` tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"}},"version":1},"id":170} \ No newline at end of file diff --git a/out/IERC721.sol/IERC721.json b/out/IERC721.sol/IERC721.json index 74931864..2180b07d 100644 --- a/out/IERC721.sol/IERC721.json +++ b/out/IERC721.sol/IERC721.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":"IERC721"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol","id":93583,"exportedSymbols":{"IERC165":[97005],"IERC721":[93582]},"nodeType":"SourceUnit","src":"108:4769:174","nodes":[{"id":93468,"nodeType":"PragmaDirective","src":"108:23:174","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":93469,"nodeType":"ImportDirective","src":"133:47:174","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"../../utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":93583,"sourceUnit":97006,"symbolAliases":[],"unitAlias":""},{"id":93582,"nodeType":"ContractDefinition","src":"250:4626:174","nodes":[{"id":93481,"nodeType":"EventDefinition","src":"378:82:174","nodes":[],"anonymous":false,"documentation":{"id":93473,"nodeType":"StructuredDocumentation","src":"285:88:174","text":" @dev Emitted when `tokenId` token is transferred from `from` to `to`."},"eventSelector":"ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","name":"Transfer","nameLocation":"384:8:174","parameters":{"id":93480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93475,"indexed":true,"mutability":"mutable","name":"from","nameLocation":"409:4:174","nodeType":"VariableDeclaration","scope":93481,"src":"393:20:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93474,"name":"address","nodeType":"ElementaryTypeName","src":"393:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93477,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"431:2:174","nodeType":"VariableDeclaration","scope":93481,"src":"415:18:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93476,"name":"address","nodeType":"ElementaryTypeName","src":"415:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93479,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"451:7:174","nodeType":"VariableDeclaration","scope":93481,"src":"435:23:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93478,"name":"uint256","nodeType":"ElementaryTypeName","src":"435:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"392:67:174"}},{"id":93490,"nodeType":"EventDefinition","src":"565:89:174","nodes":[],"anonymous":false,"documentation":{"id":93482,"nodeType":"StructuredDocumentation","src":"466:94:174","text":" @dev Emitted when `owner` enables `approved` to manage the `tokenId` token."},"eventSelector":"8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","name":"Approval","nameLocation":"571:8:174","parameters":{"id":93489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93484,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"596:5:174","nodeType":"VariableDeclaration","scope":93490,"src":"580:21:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93483,"name":"address","nodeType":"ElementaryTypeName","src":"580:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93486,"indexed":true,"mutability":"mutable","name":"approved","nameLocation":"619:8:174","nodeType":"VariableDeclaration","scope":93490,"src":"603:24:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93485,"name":"address","nodeType":"ElementaryTypeName","src":"603:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93488,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"645:7:174","nodeType":"VariableDeclaration","scope":93490,"src":"629:23:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93487,"name":"uint256","nodeType":"ElementaryTypeName","src":"629:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"579:74:174"}},{"id":93499,"nodeType":"EventDefinition","src":"782:85:174","nodes":[],"anonymous":false,"documentation":{"id":93491,"nodeType":"StructuredDocumentation","src":"660:117:174","text":" @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets."},"eventSelector":"17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31","name":"ApprovalForAll","nameLocation":"788:14:174","parameters":{"id":93498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93493,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"819:5:174","nodeType":"VariableDeclaration","scope":93499,"src":"803:21:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93492,"name":"address","nodeType":"ElementaryTypeName","src":"803:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93495,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"842:8:174","nodeType":"VariableDeclaration","scope":93499,"src":"826:24:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93494,"name":"address","nodeType":"ElementaryTypeName","src":"826:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93497,"indexed":false,"mutability":"mutable","name":"approved","nameLocation":"857:8:174","nodeType":"VariableDeclaration","scope":93499,"src":"852:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93496,"name":"bool","nodeType":"ElementaryTypeName","src":"852:4:174","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"802:64:174"}},{"id":93507,"nodeType":"FunctionDefinition","src":"954:74:174","nodes":[],"documentation":{"id":93500,"nodeType":"StructuredDocumentation","src":"873:76:174","text":" @dev Returns the number of tokens in ``owner``'s account."},"functionSelector":"70a08231","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"963:9:174","parameters":{"id":93503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93502,"mutability":"mutable","name":"owner","nameLocation":"981:5:174","nodeType":"VariableDeclaration","scope":93507,"src":"973:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93501,"name":"address","nodeType":"ElementaryTypeName","src":"973:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"972:15:174"},"returnParameters":{"id":93506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93505,"mutability":"mutable","name":"balance","nameLocation":"1019:7:174","nodeType":"VariableDeclaration","scope":93507,"src":"1011:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93504,"name":"uint256","nodeType":"ElementaryTypeName","src":"1011:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1010:17:174"},"scope":93582,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":93515,"nodeType":"FunctionDefinition","src":"1170:72:174","nodes":[],"documentation":{"id":93508,"nodeType":"StructuredDocumentation","src":"1034:131:174","text":" @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"6352211e","implemented":false,"kind":"function","modifiers":[],"name":"ownerOf","nameLocation":"1179:7:174","parameters":{"id":93511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93510,"mutability":"mutable","name":"tokenId","nameLocation":"1195:7:174","nodeType":"VariableDeclaration","scope":93515,"src":"1187:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93509,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1186:17:174"},"returnParameters":{"id":93514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93513,"mutability":"mutable","name":"owner","nameLocation":"1235:5:174","nodeType":"VariableDeclaration","scope":93515,"src":"1227:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93512,"name":"address","nodeType":"ElementaryTypeName","src":"1227:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1226:15:174"},"scope":93582,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":93527,"nodeType":"FunctionDefinition","src":"1809:99:174","nodes":[],"documentation":{"id":93516,"nodeType":"StructuredDocumentation","src":"1248:556:174","text":" @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"b88d4fde","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1818:16:174","parameters":{"id":93525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93518,"mutability":"mutable","name":"from","nameLocation":"1843:4:174","nodeType":"VariableDeclaration","scope":93527,"src":"1835:12:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93517,"name":"address","nodeType":"ElementaryTypeName","src":"1835:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93520,"mutability":"mutable","name":"to","nameLocation":"1857:2:174","nodeType":"VariableDeclaration","scope":93527,"src":"1849:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93519,"name":"address","nodeType":"ElementaryTypeName","src":"1849:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93522,"mutability":"mutable","name":"tokenId","nameLocation":"1869:7:174","nodeType":"VariableDeclaration","scope":93527,"src":"1861:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93521,"name":"uint256","nodeType":"ElementaryTypeName","src":"1861:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93524,"mutability":"mutable","name":"data","nameLocation":"1893:4:174","nodeType":"VariableDeclaration","scope":93527,"src":"1878:19:174","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":93523,"name":"bytes","nodeType":"ElementaryTypeName","src":"1878:5:174","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1834:64:174"},"returnParameters":{"id":93526,"nodeType":"ParameterList","parameters":[],"src":"1907:0:174"},"scope":93582,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":93537,"nodeType":"FunctionDefinition","src":"2606:78:174","nodes":[],"documentation":{"id":93528,"nodeType":"StructuredDocumentation","src":"1914:687:174","text":" @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event."},"functionSelector":"42842e0e","implemented":false,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"2615:16:174","parameters":{"id":93535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93530,"mutability":"mutable","name":"from","nameLocation":"2640:4:174","nodeType":"VariableDeclaration","scope":93537,"src":"2632:12:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93529,"name":"address","nodeType":"ElementaryTypeName","src":"2632:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93532,"mutability":"mutable","name":"to","nameLocation":"2654:2:174","nodeType":"VariableDeclaration","scope":93537,"src":"2646:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93531,"name":"address","nodeType":"ElementaryTypeName","src":"2646:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93534,"mutability":"mutable","name":"tokenId","nameLocation":"2666:7:174","nodeType":"VariableDeclaration","scope":93537,"src":"2658:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93533,"name":"uint256","nodeType":"ElementaryTypeName","src":"2658:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2631:43:174"},"returnParameters":{"id":93536,"nodeType":"ParameterList","parameters":[],"src":"2683:0:174"},"scope":93582,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":93547,"nodeType":"FunctionDefinition","src":"3427:74:174","nodes":[],"documentation":{"id":93538,"nodeType":"StructuredDocumentation","src":"2690:732:174","text":" @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721\n or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must\n understand this adds an external call which potentially creates a reentrancy vulnerability.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event."},"functionSelector":"23b872dd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"3436:12:174","parameters":{"id":93545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93540,"mutability":"mutable","name":"from","nameLocation":"3457:4:174","nodeType":"VariableDeclaration","scope":93547,"src":"3449:12:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93539,"name":"address","nodeType":"ElementaryTypeName","src":"3449:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93542,"mutability":"mutable","name":"to","nameLocation":"3471:2:174","nodeType":"VariableDeclaration","scope":93547,"src":"3463:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93541,"name":"address","nodeType":"ElementaryTypeName","src":"3463:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93544,"mutability":"mutable","name":"tokenId","nameLocation":"3483:7:174","nodeType":"VariableDeclaration","scope":93547,"src":"3475:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93543,"name":"uint256","nodeType":"ElementaryTypeName","src":"3475:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3448:43:174"},"returnParameters":{"id":93546,"nodeType":"ParameterList","parameters":[],"src":"3500:0:174"},"scope":93582,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":93555,"nodeType":"FunctionDefinition","src":"3964:55:174","nodes":[],"documentation":{"id":93548,"nodeType":"StructuredDocumentation","src":"3507:452:174","text":" @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event."},"functionSelector":"095ea7b3","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"3973:7:174","parameters":{"id":93553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93550,"mutability":"mutable","name":"to","nameLocation":"3989:2:174","nodeType":"VariableDeclaration","scope":93555,"src":"3981:10:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93549,"name":"address","nodeType":"ElementaryTypeName","src":"3981:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93552,"mutability":"mutable","name":"tokenId","nameLocation":"4001:7:174","nodeType":"VariableDeclaration","scope":93555,"src":"3993:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93551,"name":"uint256","nodeType":"ElementaryTypeName","src":"3993:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3980:29:174"},"returnParameters":{"id":93554,"nodeType":"ParameterList","parameters":[],"src":"4018:0:174"},"scope":93582,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":93563,"nodeType":"FunctionDefinition","src":"4339:69:174","nodes":[],"documentation":{"id":93556,"nodeType":"StructuredDocumentation","src":"4025:309:174","text":" @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event."},"functionSelector":"a22cb465","implemented":false,"kind":"function","modifiers":[],"name":"setApprovalForAll","nameLocation":"4348:17:174","parameters":{"id":93561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93558,"mutability":"mutable","name":"operator","nameLocation":"4374:8:174","nodeType":"VariableDeclaration","scope":93563,"src":"4366:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93557,"name":"address","nodeType":"ElementaryTypeName","src":"4366:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93560,"mutability":"mutable","name":"approved","nameLocation":"4389:8:174","nodeType":"VariableDeclaration","scope":93563,"src":"4384:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93559,"name":"bool","nodeType":"ElementaryTypeName","src":"4384:4:174","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4365:33:174"},"returnParameters":{"id":93562,"nodeType":"ParameterList","parameters":[],"src":"4407:0:174"},"scope":93582,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":93571,"nodeType":"FunctionDefinition","src":"4558:79:174","nodes":[],"documentation":{"id":93564,"nodeType":"StructuredDocumentation","src":"4414:139:174","text":" @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist."},"functionSelector":"081812fc","implemented":false,"kind":"function","modifiers":[],"name":"getApproved","nameLocation":"4567:11:174","parameters":{"id":93567,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93566,"mutability":"mutable","name":"tokenId","nameLocation":"4587:7:174","nodeType":"VariableDeclaration","scope":93571,"src":"4579:15:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93565,"name":"uint256","nodeType":"ElementaryTypeName","src":"4579:7:174","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4578:17:174"},"returnParameters":{"id":93570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93569,"mutability":"mutable","name":"operator","nameLocation":"4627:8:174","nodeType":"VariableDeclaration","scope":93571,"src":"4619:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93568,"name":"address","nodeType":"ElementaryTypeName","src":"4619:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4618:18:174"},"scope":93582,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":93581,"nodeType":"FunctionDefinition","src":"4786:88:174","nodes":[],"documentation":{"id":93572,"nodeType":"StructuredDocumentation","src":"4643:138:174","text":" @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}"},"functionSelector":"e985e9c5","implemented":false,"kind":"function","modifiers":[],"name":"isApprovedForAll","nameLocation":"4795:16:174","parameters":{"id":93577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93574,"mutability":"mutable","name":"owner","nameLocation":"4820:5:174","nodeType":"VariableDeclaration","scope":93581,"src":"4812:13:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93573,"name":"address","nodeType":"ElementaryTypeName","src":"4812:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93576,"mutability":"mutable","name":"operator","nameLocation":"4835:8:174","nodeType":"VariableDeclaration","scope":93581,"src":"4827:16:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93575,"name":"address","nodeType":"ElementaryTypeName","src":"4827:7:174","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4811:33:174"},"returnParameters":{"id":93580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93579,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93581,"src":"4868:4:174","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":93578,"name":"bool","nodeType":"ElementaryTypeName","src":"4868:4:174","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4867:6:174"},"scope":93582,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":93471,"name":"IERC165","nameLocations":["271:7:174"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"271:7:174"},"id":93472,"nodeType":"InheritanceSpecifier","src":"271:7:174"}],"canonicalName":"IERC721","contractDependencies":[],"contractKind":"interface","documentation":{"id":93470,"nodeType":"StructuredDocumentation","src":"182:67:174","text":" @dev Required interface of an ERC721 compliant contract."},"fullyImplemented":false,"linearizedBaseContracts":[93582,97005],"name":"IERC721","nameLocation":"260:7:174","scope":93583,"usedErrors":[],"usedEvents":[93481,93490,93499]}],"license":"MIT"},"id":174} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":"IERC721"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":174} \ No newline at end of file diff --git a/out/IERC721Metadata.sol/IERC721Metadata.json b/out/IERC721Metadata.sol/IERC721Metadata.json index 4a022dcd..c849efc7 100644 --- a/out/IERC721Metadata.sol/IERC721Metadata.json +++ b/out/IERC721Metadata.sol/IERC721Metadata.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"name()":{"details":"Returns the token collection name."},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"symbol()":{"details":"Returns the token collection symbol."},"tokenURI(uint256)":{"details":"Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":"IERC721Metadata"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol","id":93681,"exportedSymbols":{"IERC165":[97005],"IERC721":[93582],"IERC721Metadata":[93680]},"nodeType":"SourceUnit","src":"112:649:177","nodes":[{"id":93655,"nodeType":"PragmaDirective","src":"112:23:177","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":93656,"nodeType":"ImportDirective","src":"137:24:177","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"../IERC721.sol","nameLocation":"-1:-1:-1","scope":93681,"sourceUnit":93583,"symbolAliases":[],"unitAlias":""},{"id":93680,"nodeType":"ContractDefinition","src":"297:463:177","nodes":[{"id":93665,"nodeType":"FunctionDefinition","src":"403:54:177","nodes":[],"documentation":{"id":93660,"nodeType":"StructuredDocumentation","src":"340:58:177","text":" @dev Returns the token collection name."},"functionSelector":"06fdde03","implemented":false,"kind":"function","modifiers":[],"name":"name","nameLocation":"412:4:177","parameters":{"id":93661,"nodeType":"ParameterList","parameters":[],"src":"416:2:177"},"returnParameters":{"id":93664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93665,"src":"442:13:177","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93662,"name":"string","nodeType":"ElementaryTypeName","src":"442:6:177","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"441:15:177"},"scope":93680,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":93671,"nodeType":"FunctionDefinition","src":"528:56:177","nodes":[],"documentation":{"id":93666,"nodeType":"StructuredDocumentation","src":"463:60:177","text":" @dev Returns the token collection symbol."},"functionSelector":"95d89b41","implemented":false,"kind":"function","modifiers":[],"name":"symbol","nameLocation":"537:6:177","parameters":{"id":93667,"nodeType":"ParameterList","parameters":[],"src":"543:2:177"},"returnParameters":{"id":93670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93669,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93671,"src":"569:13:177","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93668,"name":"string","nodeType":"ElementaryTypeName","src":"569:6:177","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"568:15:177"},"scope":93680,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":93679,"nodeType":"FunctionDefinition","src":"685:73:177","nodes":[],"documentation":{"id":93672,"nodeType":"StructuredDocumentation","src":"590:90:177","text":" @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"functionSelector":"c87b56dd","implemented":false,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"694:8:177","parameters":{"id":93675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93674,"mutability":"mutable","name":"tokenId","nameLocation":"711:7:177","nodeType":"VariableDeclaration","scope":93679,"src":"703:15:177","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93673,"name":"uint256","nodeType":"ElementaryTypeName","src":"703:7:177","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"702:17:177"},"returnParameters":{"id":93678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93677,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93679,"src":"743:13:177","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":93676,"name":"string","nodeType":"ElementaryTypeName","src":"743:6:177","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"742:15:177"},"scope":93680,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":93658,"name":"IERC721","nameLocations":["326:7:177"],"nodeType":"IdentifierPath","referencedDeclaration":93582,"src":"326:7:177"},"id":93659,"nodeType":"InheritanceSpecifier","src":"326:7:177"}],"canonicalName":"IERC721Metadata","contractDependencies":[],"contractKind":"interface","documentation":{"id":93657,"nodeType":"StructuredDocumentation","src":"163:133:177","text":" @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721"},"fullyImplemented":false,"linearizedBaseContracts":[93680,93582,97005],"name":"IERC721Metadata","nameLocation":"307:15:177","scope":93681,"usedErrors":[],"usedEvents":[93481,93490,93499]}],"license":"MIT"},"id":177} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"name()":{"details":"Returns the token collection name."},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"symbol()":{"details":"Returns the token collection symbol."},"tokenURI(uint256)":{"details":"Returns the Uniform Resource Identifier (URI) for `tokenId` token."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":"IERC721Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":177} \ No newline at end of file diff --git a/out/IERC721Receiver.sol/IERC721Receiver.json b/out/IERC721Receiver.sol/IERC721Receiver.json index d369ac77..718d3caa 100644 --- a/out/IERC721Receiver.sol/IERC721Receiver.json +++ b/out/IERC721Receiver.sol/IERC721Receiver.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"onERC721Received","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":"IERC721Receiver"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol","id":93601,"exportedSymbols":{"IERC721Receiver":[93600]},"nodeType":"SourceUnit","src":"116:871:175","nodes":[{"id":93584,"nodeType":"PragmaDirective","src":"116:23:175","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":93600,"nodeType":"ContractDefinition","src":"294:692:175","nodes":[{"id":93599,"nodeType":"FunctionDefinition","src":"824:160:175","nodes":[],"documentation":{"id":93586,"nodeType":"StructuredDocumentation","src":"326:493:175","text":" @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."},"functionSelector":"150b7a02","implemented":false,"kind":"function","modifiers":[],"name":"onERC721Received","nameLocation":"833:16:175","parameters":{"id":93595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93588,"mutability":"mutable","name":"operator","nameLocation":"867:8:175","nodeType":"VariableDeclaration","scope":93599,"src":"859:16:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93587,"name":"address","nodeType":"ElementaryTypeName","src":"859:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93590,"mutability":"mutable","name":"from","nameLocation":"893:4:175","nodeType":"VariableDeclaration","scope":93599,"src":"885:12:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":93589,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:175","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":93592,"mutability":"mutable","name":"tokenId","nameLocation":"915:7:175","nodeType":"VariableDeclaration","scope":93599,"src":"907:15:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93591,"name":"uint256","nodeType":"ElementaryTypeName","src":"907:7:175","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":93594,"mutability":"mutable","name":"data","nameLocation":"947:4:175","nodeType":"VariableDeclaration","scope":93599,"src":"932:19:175","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":93593,"name":"bytes","nodeType":"ElementaryTypeName","src":"932:5:175","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"849:108:175"},"returnParameters":{"id":93598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":93597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":93599,"src":"976:6:175","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":93596,"name":"bytes4","nodeType":"ElementaryTypeName","src":"976:6:175","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"975:8:175"},"scope":93600,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IERC721Receiver","contractDependencies":[],"contractKind":"interface","documentation":{"id":93585,"nodeType":"StructuredDocumentation","src":"141:152:175","text":" @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts."},"fullyImplemented":false,"linearizedBaseContracts":[93600],"name":"IERC721Receiver","nameLocation":"304:15:175","scope":93601,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":175} \ No newline at end of file +{"abi":[{"type":"function","name":"onERC721Received","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"onERC721Received(address,address,uint256,bytes)":"150b7a02"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{"onERC721Received(address,address,uint256,bytes)":{"details":"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":"IERC721Receiver"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"}},"version":1},"id":175} \ No newline at end of file diff --git a/out/IJB721Delegate.sol/IJB721Delegate.json b/out/IJB721Delegate.sol/IJB721Delegate.json index c106d56b..d2ca69c8 100644 --- a/out/IJB721Delegate.sol/IJB721Delegate.json +++ b/out/IJB721Delegate.sol/IJB721Delegate.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24","payMetadataDelegateId()":"46a6d981","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJB721Delegate.sol\":\"IJB721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJB721Delegate.sol":"IJB721Delegate"},"libraries":{}},"sources":{"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/interfaces/IJB721Delegate.sol","id":27792,"exportedSymbols":{"IJB721Delegate":[27791],"IJBDirectory":[85041]},"nodeType":"SourceUnit","src":"32:423:21","nodes":[{"id":27767,"nodeType":"PragmaDirective","src":"32:23:21","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":27769,"nodeType":"ImportDirective","src":"57:102:21","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":27792,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":27768,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"66:12:21","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27791,"nodeType":"ContractDefinition","src":"161:293:21","nodes":[{"id":27774,"nodeType":"FunctionDefinition","src":"192:53:21","nodes":[],"functionSelector":"3fafa127","implemented":false,"kind":"function","modifiers":[],"name":"projectId","nameLocation":"201:9:21","parameters":{"id":27770,"nodeType":"ParameterList","parameters":[],"src":"210:2:21"},"returnParameters":{"id":27773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27772,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27774,"src":"236:7:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27771,"name":"uint256","nodeType":"ElementaryTypeName","src":"236:7:21","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"235:9:21"},"scope":27791,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27780,"nodeType":"FunctionDefinition","src":"251:58:21","nodes":[],"functionSelector":"c41c2f24","implemented":false,"kind":"function","modifiers":[],"name":"directory","nameLocation":"260:9:21","parameters":{"id":27775,"nodeType":"ParameterList","parameters":[],"src":"269:2:21"},"returnParameters":{"id":27779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27778,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27780,"src":"295:12:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":27777,"nodeType":"UserDefinedTypeName","pathNode":{"id":27776,"name":"IJBDirectory","nameLocations":["295:12:21"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"295:12:21"},"referencedDeclaration":85041,"src":"295:12:21","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"294:14:21"},"scope":27791,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27785,"nodeType":"FunctionDefinition","src":"315:64:21","nodes":[],"functionSelector":"46a6d981","implemented":false,"kind":"function","modifiers":[],"name":"payMetadataDelegateId","nameLocation":"324:21:21","parameters":{"id":27781,"nodeType":"ParameterList","parameters":[],"src":"345:2:21"},"returnParameters":{"id":27784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27783,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27785,"src":"371:6:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":27782,"name":"bytes4","nodeType":"ElementaryTypeName","src":"371:6:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"370:8:21"},"scope":27791,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27790,"nodeType":"FunctionDefinition","src":"385:67:21","nodes":[],"functionSelector":"4853f5e8","implemented":false,"kind":"function","modifiers":[],"name":"redeemMetadataDelegateId","nameLocation":"394:24:21","parameters":{"id":27786,"nodeType":"ParameterList","parameters":[],"src":"418:2:21"},"returnParameters":{"id":27789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27788,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27790,"src":"444:6:21","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":27787,"name":"bytes4","nodeType":"ElementaryTypeName","src":"444:6:21","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"443:8:21"},"scope":27791,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJB721Delegate","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[27791],"name":"IJB721Delegate","nameLocation":"171:14:21","scope":27792,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":21} \ No newline at end of file +{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24","payMetadataDelegateId()":"46a6d981","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJB721Delegate.sol\":\"IJB721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJB721Delegate.sol":"IJB721Delegate"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":21} \ No newline at end of file diff --git a/out/IJBController.sol/IJBController.json b/out/IJBController.sol/IJBController.json index d0446e62..e54d0eb5 100644 --- a/out/IJBController.sol/IJBController.json +++ b/out/IJBController.sol/IJBController.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"burnTokensOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"currentFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"distributeReservedTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"distributionLimitOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"getFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"migrate","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"contract IJBMigratable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"useReservedRate","type":"bool","internalType":"bool"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"overflowAllowanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"queuedFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"reservedTokenBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"splitsStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBSplitsStore"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenStore"}],"stateMutability":"view"},{"type":"function","name":"totalOutstandingTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"BurnTokens","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DistributeReservedTokens","inputs":[{"name":"fundingCycleConfiguration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fundingCycleNumber","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiaryTokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DistributeToReservedTokenSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LaunchFundingCycles","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LaunchProject","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Migrate","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":false,"internalType":"contract IJBMigratable"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintTokens","inputs":[{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiaryTokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"reservedRate","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepMigration","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReconfigureFundingCycles","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetFundAccessConstraints","inputs":[{"name":"fundingCycleConfiguration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fundingCycleNumber","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"constraints","type":"tuple","indexed":false,"internalType":"struct JBFundAccessConstraints","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"burnTokensOf(address,uint256,uint256,string,bool)":"1665bc0f","currentFundingCycleOf(uint256)":"8776c499","directory()":"c41c2f24","distributeReservedTokensOf(uint256,string)":"e867c59c","distributionLimitOf(uint256,uint256,address,address)":"e8db2130","fundingCycleStore()":"557e7155","getFundingCycleOf(uint256,uint256)":"a40bb9c7","latestConfiguredFundingCycleOf(uint256)":"1f510453","launchFundingCyclesFor(uint256,(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string)":"111d861b","launchProjectFor(address,(string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string)":"b3c52673","migrate(uint256,address)":"405b84fa","mintTokensOf(uint256,uint256,address,string,bool,bool)":"8ae9c07b","overflowAllowanceOf(uint256,uint256,address,address)":"7a81b562","projects()":"8b79543c","queuedFundingCycleOf(uint256)":"12b37b14","reconfigureFundingCyclesOf(uint256,(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string)":"badbdf28","reservedTokenBalanceOf(uint256,uint256)":"f033b3b4","splitsStore()":"2bdfe004","supportsInterface(bytes4)":"01ffc9a7","tokenStore()":"61930630","totalOutstandingTokensOf(uint256,uint256)":"b5f1e34d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BurnTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleConfiguration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DistributeReservedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DistributeToReservedTokenSplit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"LaunchFundingCycles\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"LaunchProject\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBMigratable\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Migrate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"PrepMigration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"ReconfigureFundingCycles\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleConfiguration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBFundAccessConstraints\",\"name\":\"constraints\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetFundAccessConstraints\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnTokensOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"distributeReservedTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"distributionLimitOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"name\":\"getFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBMigratable\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReservedRate\",\"type\":\"bool\"}],\"name\":\"mintTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"overflowAllowanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"queuedFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"splitsStore\",\"outputs\":[{\"internalType\":\"contract IJBSplitsStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenStore\",\"outputs\":[{\"internalType\":\"contract IJBTokenStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"}],\"name\":\"totalOutstandingTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":\"IJBController\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":{\"keccak256\":\"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275\",\"dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"BurnTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fundingCycleConfiguration","type":"uint256","indexed":true},{"internalType":"uint256","name":"fundingCycleNumber","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"DistributeReservedTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"DistributeToReservedTokenSplit","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"LaunchFundingCycles","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"LaunchProject","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBMigratable","name":"to","type":"address","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Migrate","anonymous":false},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"uint256","name":"reservedRate","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"PrepMigration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"ReconfigureFundingCycles","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fundingCycleConfiguration","type":"uint256","indexed":true},{"internalType":"uint256","name":"fundingCycleNumber","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundAccessConstraints","name":"constraints","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetFundAccessConstraints","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnTokensOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"distributeReservedTokensOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"distributionLimitOf","outputs":[{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBMigratable","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"bool","name":"useReservedRate","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintTokensOf","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"overflowAllowanceOf","outputs":[{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"splitsStore","outputs":[{"internalType":"contract IJBSplitsStore","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenStore","outputs":[{"internalType":"contract IJBTokenStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalOutstandingTokensOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":"IJBController"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":{"keccak256":"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f","urls":["bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275","dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol","id":84488,"exportedSymbols":{"IERC165":[97005],"IJBController":[84487],"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBMigratable":[85320],"IJBPaymentTerminal":[85505],"IJBProjects":[86082],"IJBSplitsStore":[86453],"IJBTokenStore":[86728],"JBBallotState":[84037],"JBFundAccessConstraints":[87776],"JBFundingCycle":[87801],"JBFundingCycleData":[87816],"JBFundingCycleMetadata":[87859],"JBGroupedSplits":[87881],"JBProjectMetadata":[87943],"JBSplit":[88011]},"nodeType":"SourceUnit","src":"32:6081:87","nodes":[{"id":84069,"nodeType":"PragmaDirective","src":"32:23:87","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":84071,"nodeType":"ImportDirective","src":"57:80:87","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":84070,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84073,"nodeType":"ImportDirective","src":"138:59:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol","file":"./../enums/JBBallotState.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":84038,"symbolAliases":[{"foreign":{"id":84072,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"146:13:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84075,"nodeType":"ImportDirective","src":"198:81:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol","file":"./../structs/JBFundAccessConstraints.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87777,"symbolAliases":[{"foreign":{"id":84074,"name":"JBFundAccessConstraints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87776,"src":"206:23:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84077,"nodeType":"ImportDirective","src":"280:63:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./../structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":84076,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"288:14:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84079,"nodeType":"ImportDirective","src":"344:71:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol","file":"./../structs/JBFundingCycleData.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87817,"symbolAliases":[{"foreign":{"id":84078,"name":"JBFundingCycleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87816,"src":"352:18:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84081,"nodeType":"ImportDirective","src":"416:79:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","file":"./../structs/JBFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87860,"symbolAliases":[{"foreign":{"id":84080,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"424:22:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84083,"nodeType":"ImportDirective","src":"496:65:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol","file":"./../structs/JBGroupedSplits.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87882,"symbolAliases":[{"foreign":{"id":84082,"name":"JBGroupedSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87881,"src":"504:15:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84085,"nodeType":"ImportDirective","src":"562:69:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","file":"./../structs/JBProjectMetadata.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":87944,"symbolAliases":[{"foreign":{"id":84084,"name":"JBProjectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87943,"src":"570:17:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84087,"nodeType":"ImportDirective","src":"632:49:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol","file":"./../structs/JBSplit.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":88012,"symbolAliases":[{"foreign":{"id":84086,"name":"JBSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88011,"src":"640:7:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84089,"nodeType":"ImportDirective","src":"682:48:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":84088,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"690:12:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84091,"nodeType":"ImportDirective","src":"731:64:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":84090,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"739:20:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84093,"nodeType":"ImportDirective","src":"796:50:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol","file":"./IJBMigratable.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":85321,"symbolAliases":[{"foreign":{"id":84092,"name":"IJBMigratable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85320,"src":"804:13:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84095,"nodeType":"ImportDirective","src":"847:60:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"./IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":84094,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"855:18:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84097,"nodeType":"ImportDirective","src":"908:46:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./IJBProjects.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":84096,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"916:11:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84099,"nodeType":"ImportDirective","src":"955:52:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol","file":"./IJBSplitsStore.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":86454,"symbolAliases":[{"foreign":{"id":84098,"name":"IJBSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86453,"src":"963:14:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84101,"nodeType":"ImportDirective","src":"1008:50:87","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol","file":"./IJBTokenStore.sol","nameLocation":"-1:-1:-1","scope":84488,"sourceUnit":86729,"symbolAliases":[{"foreign":{"id":84100,"name":"IJBTokenStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86728,"src":"1016:13:87","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84487,"nodeType":"ContractDefinition","src":"1060:5052:87","nodes":[{"id":84113,"nodeType":"EventDefinition","src":"1099:91:87","nodes":[],"anonymous":false,"eventSelector":"f3e6948ba8b32d557363ea08470121c47c0127659aed09320812174d373afef2","name":"LaunchProject","nameLocation":"1105:13:87","parameters":{"id":84112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84105,"indexed":false,"mutability":"mutable","name":"configuration","nameLocation":"1127:13:87","nodeType":"VariableDeclaration","scope":84113,"src":"1119:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84104,"name":"uint256","nodeType":"ElementaryTypeName","src":"1119:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84107,"indexed":false,"mutability":"mutable","name":"projectId","nameLocation":"1150:9:87","nodeType":"VariableDeclaration","scope":84113,"src":"1142:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84106,"name":"uint256","nodeType":"ElementaryTypeName","src":"1142:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84109,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1168:4:87","nodeType":"VariableDeclaration","scope":84113,"src":"1161:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84108,"name":"string","nodeType":"ElementaryTypeName","src":"1161:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84111,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1182:6:87","nodeType":"VariableDeclaration","scope":84113,"src":"1174:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84110,"name":"address","nodeType":"ElementaryTypeName","src":"1174:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1118:71:87"}},{"id":84123,"nodeType":"EventDefinition","src":"1194:97:87","nodes":[],"anonymous":false,"eventSelector":"8621c3692c18d8ddd4cd26457d6a3e1d916e7001c4243a6c8dfa862a7e10a823","name":"LaunchFundingCycles","nameLocation":"1200:19:87","parameters":{"id":84122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84115,"indexed":false,"mutability":"mutable","name":"configuration","nameLocation":"1228:13:87","nodeType":"VariableDeclaration","scope":84123,"src":"1220:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84114,"name":"uint256","nodeType":"ElementaryTypeName","src":"1220:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84117,"indexed":false,"mutability":"mutable","name":"projectId","nameLocation":"1251:9:87","nodeType":"VariableDeclaration","scope":84123,"src":"1243:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84116,"name":"uint256","nodeType":"ElementaryTypeName","src":"1243:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84119,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1269:4:87","nodeType":"VariableDeclaration","scope":84123,"src":"1262:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84118,"name":"string","nodeType":"ElementaryTypeName","src":"1262:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84121,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1283:6:87","nodeType":"VariableDeclaration","scope":84123,"src":"1275:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84120,"name":"address","nodeType":"ElementaryTypeName","src":"1275:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1219:71:87"}},{"id":84133,"nodeType":"EventDefinition","src":"1295:122:87","nodes":[],"anonymous":false,"eventSelector":"1a08ad37c93969a586fd0605d240c17113b20a9c9ac3847595d0ab425225f6af","name":"ReconfigureFundingCycles","nameLocation":"1301:24:87","parameters":{"id":84132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84125,"indexed":false,"mutability":"mutable","name":"configuration","nameLocation":"1339:13:87","nodeType":"VariableDeclaration","scope":84133,"src":"1331:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84124,"name":"uint256","nodeType":"ElementaryTypeName","src":"1331:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84127,"indexed":false,"mutability":"mutable","name":"projectId","nameLocation":"1366:9:87","nodeType":"VariableDeclaration","scope":84133,"src":"1358:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84126,"name":"uint256","nodeType":"ElementaryTypeName","src":"1358:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84129,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1388:4:87","nodeType":"VariableDeclaration","scope":84133,"src":"1381:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84128,"name":"string","nodeType":"ElementaryTypeName","src":"1381:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84131,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1406:6:87","nodeType":"VariableDeclaration","scope":84133,"src":"1398:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84130,"name":"address","nodeType":"ElementaryTypeName","src":"1398:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1325:91:87"}},{"id":84146,"nodeType":"EventDefinition","src":"1421:214:87","nodes":[],"anonymous":false,"eventSelector":"8a1c80ab9ab05d6bf02096dd94aa2fa05a9de212e793835a50dd5ffe8d8cbab8","name":"SetFundAccessConstraints","nameLocation":"1427:24:87","parameters":{"id":84145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84135,"indexed":true,"mutability":"mutable","name":"fundingCycleConfiguration","nameLocation":"1473:25:87","nodeType":"VariableDeclaration","scope":84146,"src":"1457:41:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84134,"name":"uint256","nodeType":"ElementaryTypeName","src":"1457:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84137,"indexed":true,"mutability":"mutable","name":"fundingCycleNumber","nameLocation":"1520:18:87","nodeType":"VariableDeclaration","scope":84146,"src":"1504:34:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84136,"name":"uint256","nodeType":"ElementaryTypeName","src":"1504:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84139,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"1560:9:87","nodeType":"VariableDeclaration","scope":84146,"src":"1544:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84138,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84142,"indexed":false,"mutability":"mutable","name":"constraints","nameLocation":"1599:11:87","nodeType":"VariableDeclaration","scope":84146,"src":"1575:35:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_memory_ptr","typeString":"struct JBFundAccessConstraints"},"typeName":{"id":84141,"nodeType":"UserDefinedTypeName","pathNode":{"id":84140,"name":"JBFundAccessConstraints","nameLocations":["1575:23:87"],"nodeType":"IdentifierPath","referencedDeclaration":87776,"src":"1575:23:87"},"referencedDeclaration":87776,"src":"1575:23:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_storage_ptr","typeString":"struct JBFundAccessConstraints"}},"visibility":"internal"},{"constant":false,"id":84144,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1624:6:87","nodeType":"VariableDeclaration","scope":84146,"src":"1616:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84143,"name":"address","nodeType":"ElementaryTypeName","src":"1616:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1451:183:87"}},{"id":84164,"nodeType":"EventDefinition","src":"1639:274:87","nodes":[],"anonymous":false,"eventSelector":"b12d7a78048433f69fe6d30145bf08aad8e82985b96e4db6d5c6a7e94d57086e","name":"DistributeReservedTokens","nameLocation":"1645:24:87","parameters":{"id":84163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84148,"indexed":true,"mutability":"mutable","name":"fundingCycleConfiguration","nameLocation":"1691:25:87","nodeType":"VariableDeclaration","scope":84164,"src":"1675:41:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84147,"name":"uint256","nodeType":"ElementaryTypeName","src":"1675:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84150,"indexed":true,"mutability":"mutable","name":"fundingCycleNumber","nameLocation":"1738:18:87","nodeType":"VariableDeclaration","scope":84164,"src":"1722:34:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84149,"name":"uint256","nodeType":"ElementaryTypeName","src":"1722:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84152,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"1778:9:87","nodeType":"VariableDeclaration","scope":84164,"src":"1762:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84151,"name":"uint256","nodeType":"ElementaryTypeName","src":"1762:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84154,"indexed":false,"mutability":"mutable","name":"beneficiary","nameLocation":"1801:11:87","nodeType":"VariableDeclaration","scope":84164,"src":"1793:19:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84153,"name":"address","nodeType":"ElementaryTypeName","src":"1793:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84156,"indexed":false,"mutability":"mutable","name":"tokenCount","nameLocation":"1826:10:87","nodeType":"VariableDeclaration","scope":84164,"src":"1818:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84155,"name":"uint256","nodeType":"ElementaryTypeName","src":"1818:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84158,"indexed":false,"mutability":"mutable","name":"beneficiaryTokenCount","nameLocation":"1850:21:87","nodeType":"VariableDeclaration","scope":84164,"src":"1842:29:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84157,"name":"uint256","nodeType":"ElementaryTypeName","src":"1842:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84160,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"1884:4:87","nodeType":"VariableDeclaration","scope":84164,"src":"1877:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84159,"name":"string","nodeType":"ElementaryTypeName","src":"1877:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84162,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1902:6:87","nodeType":"VariableDeclaration","scope":84164,"src":"1894:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84161,"name":"address","nodeType":"ElementaryTypeName","src":"1894:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1669:243:87"}},{"id":84179,"nodeType":"EventDefinition","src":"1917:190:87","nodes":[],"anonymous":false,"eventSelector":"990c1da5d280602f972ae3c429b6dc66a66569875205cc6e67f14e0b3fc4d2ac","name":"DistributeToReservedTokenSplit","nameLocation":"1923:30:87","parameters":{"id":84178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84166,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"1975:9:87","nodeType":"VariableDeclaration","scope":84179,"src":"1959:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84165,"name":"uint256","nodeType":"ElementaryTypeName","src":"1959:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84168,"indexed":true,"mutability":"mutable","name":"domain","nameLocation":"2006:6:87","nodeType":"VariableDeclaration","scope":84179,"src":"1990:22:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84167,"name":"uint256","nodeType":"ElementaryTypeName","src":"1990:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84170,"indexed":true,"mutability":"mutable","name":"group","nameLocation":"2034:5:87","nodeType":"VariableDeclaration","scope":84179,"src":"2018:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84169,"name":"uint256","nodeType":"ElementaryTypeName","src":"2018:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84173,"indexed":false,"mutability":"mutable","name":"split","nameLocation":"2053:5:87","nodeType":"VariableDeclaration","scope":84179,"src":"2045:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit"},"typeName":{"id":84172,"nodeType":"UserDefinedTypeName","pathNode":{"id":84171,"name":"JBSplit","nameLocations":["2045:7:87"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"2045:7:87"},"referencedDeclaration":88011,"src":"2045:7:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"visibility":"internal"},{"constant":false,"id":84175,"indexed":false,"mutability":"mutable","name":"tokenCount","nameLocation":"2072:10:87","nodeType":"VariableDeclaration","scope":84179,"src":"2064:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84174,"name":"uint256","nodeType":"ElementaryTypeName","src":"2064:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84177,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2096:6:87","nodeType":"VariableDeclaration","scope":84179,"src":"2088:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84176,"name":"address","nodeType":"ElementaryTypeName","src":"2088:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1953:153:87"}},{"id":84195,"nodeType":"EventDefinition","src":"2111:207:87","nodes":[],"anonymous":false,"eventSelector":"e6fee9c572244c0c2238c3112ac12d411750a7ee00eeebd32521c3e5a666c14b","name":"MintTokens","nameLocation":"2117:10:87","parameters":{"id":84194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84181,"indexed":true,"mutability":"mutable","name":"beneficiary","nameLocation":"2149:11:87","nodeType":"VariableDeclaration","scope":84195,"src":"2133:27:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84180,"name":"address","nodeType":"ElementaryTypeName","src":"2133:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84183,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"2182:9:87","nodeType":"VariableDeclaration","scope":84195,"src":"2166:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84182,"name":"uint256","nodeType":"ElementaryTypeName","src":"2166:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84185,"indexed":false,"mutability":"mutable","name":"tokenCount","nameLocation":"2205:10:87","nodeType":"VariableDeclaration","scope":84195,"src":"2197:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84184,"name":"uint256","nodeType":"ElementaryTypeName","src":"2197:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84187,"indexed":false,"mutability":"mutable","name":"beneficiaryTokenCount","nameLocation":"2229:21:87","nodeType":"VariableDeclaration","scope":84195,"src":"2221:29:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84186,"name":"uint256","nodeType":"ElementaryTypeName","src":"2221:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84189,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"2263:4:87","nodeType":"VariableDeclaration","scope":84195,"src":"2256:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84188,"name":"string","nodeType":"ElementaryTypeName","src":"2256:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84191,"indexed":false,"mutability":"mutable","name":"reservedRate","nameLocation":"2281:12:87","nodeType":"VariableDeclaration","scope":84195,"src":"2273:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84190,"name":"uint256","nodeType":"ElementaryTypeName","src":"2273:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84193,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2307:6:87","nodeType":"VariableDeclaration","scope":84195,"src":"2299:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84192,"name":"address","nodeType":"ElementaryTypeName","src":"2299:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2127:190:87"}},{"id":84207,"nodeType":"EventDefinition","src":"2322:141:87","nodes":[],"anonymous":false,"eventSelector":"df04e13ee4fcd48a81ab2fd114757093740a3efa9b6475d86e05878b4c59d079","name":"BurnTokens","nameLocation":"2328:10:87","parameters":{"id":84206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84197,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"2360:6:87","nodeType":"VariableDeclaration","scope":84207,"src":"2344:22:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84196,"name":"address","nodeType":"ElementaryTypeName","src":"2344:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84199,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"2388:9:87","nodeType":"VariableDeclaration","scope":84207,"src":"2372:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84198,"name":"uint256","nodeType":"ElementaryTypeName","src":"2372:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84201,"indexed":false,"mutability":"mutable","name":"tokenCount","nameLocation":"2411:10:87","nodeType":"VariableDeclaration","scope":84207,"src":"2403:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84200,"name":"uint256","nodeType":"ElementaryTypeName","src":"2403:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84203,"indexed":false,"mutability":"mutable","name":"memo","nameLocation":"2434:4:87","nodeType":"VariableDeclaration","scope":84207,"src":"2427:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84202,"name":"string","nodeType":"ElementaryTypeName","src":"2427:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84205,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2452:6:87","nodeType":"VariableDeclaration","scope":84207,"src":"2444:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84204,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2338:124:87"}},{"id":84216,"nodeType":"EventDefinition","src":"2467:75:87","nodes":[],"anonymous":false,"eventSelector":"01f954abace731a88ab86e71186040cc2be49fe517ea06bc0d24f25b82b83456","name":"Migrate","nameLocation":"2473:7:87","parameters":{"id":84215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84209,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"2497:9:87","nodeType":"VariableDeclaration","scope":84216,"src":"2481:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84208,"name":"uint256","nodeType":"ElementaryTypeName","src":"2481:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84212,"indexed":false,"mutability":"mutable","name":"to","nameLocation":"2522:2:87","nodeType":"VariableDeclaration","scope":84216,"src":"2508:16:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBMigratable_$85320","typeString":"contract IJBMigratable"},"typeName":{"id":84211,"nodeType":"UserDefinedTypeName","pathNode":{"id":84210,"name":"IJBMigratable","nameLocations":["2508:13:87"],"nodeType":"IdentifierPath","referencedDeclaration":85320,"src":"2508:13:87"},"referencedDeclaration":85320,"src":"2508:13:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBMigratable_$85320","typeString":"contract IJBMigratable"}},"visibility":"internal"},{"constant":false,"id":84214,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2534:6:87","nodeType":"VariableDeclaration","scope":84216,"src":"2526:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84213,"name":"address","nodeType":"ElementaryTypeName","src":"2526:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2480:61:87"}},{"id":84224,"nodeType":"EventDefinition","src":"2546:77:87","nodes":[],"anonymous":false,"eventSelector":"f389f4f5d01fe4903d6a7a63b8790b7bf80d374b6afed808c03795c3b323d4d3","name":"PrepMigration","nameLocation":"2552:13:87","parameters":{"id":84223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84218,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"2582:9:87","nodeType":"VariableDeclaration","scope":84224,"src":"2566:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84217,"name":"uint256","nodeType":"ElementaryTypeName","src":"2566:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84220,"indexed":false,"mutability":"mutable","name":"from","nameLocation":"2601:4:87","nodeType":"VariableDeclaration","scope":84224,"src":"2593:12:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84219,"name":"address","nodeType":"ElementaryTypeName","src":"2593:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84222,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2615:6:87","nodeType":"VariableDeclaration","scope":84224,"src":"2607:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84221,"name":"address","nodeType":"ElementaryTypeName","src":"2607:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2565:57:87"}},{"id":84230,"nodeType":"FunctionDefinition","src":"2627:56:87","nodes":[],"functionSelector":"8b79543c","implemented":false,"kind":"function","modifiers":[],"name":"projects","nameLocation":"2636:8:87","parameters":{"id":84225,"nodeType":"ParameterList","parameters":[],"src":"2644:2:87"},"returnParameters":{"id":84229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84230,"src":"2670:11:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":84227,"nodeType":"UserDefinedTypeName","pathNode":{"id":84226,"name":"IJBProjects","nameLocations":["2670:11:87"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"2670:11:87"},"referencedDeclaration":86082,"src":"2670:11:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"}],"src":"2669:13:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84236,"nodeType":"FunctionDefinition","src":"2687:74:87","nodes":[],"functionSelector":"557e7155","implemented":false,"kind":"function","modifiers":[],"name":"fundingCycleStore","nameLocation":"2696:17:87","parameters":{"id":84231,"nodeType":"ParameterList","parameters":[],"src":"2713:2:87"},"returnParameters":{"id":84235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84236,"src":"2739:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":84233,"nodeType":"UserDefinedTypeName","pathNode":{"id":84232,"name":"IJBFundingCycleStore","nameLocations":["2739:20:87"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"2739:20:87"},"referencedDeclaration":85310,"src":"2739:20:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"}],"src":"2738:22:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84242,"nodeType":"FunctionDefinition","src":"2765:60:87","nodes":[],"functionSelector":"61930630","implemented":false,"kind":"function","modifiers":[],"name":"tokenStore","nameLocation":"2774:10:87","parameters":{"id":84237,"nodeType":"ParameterList","parameters":[],"src":"2784:2:87"},"returnParameters":{"id":84241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84240,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84242,"src":"2810:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenStore_$86728","typeString":"contract IJBTokenStore"},"typeName":{"id":84239,"nodeType":"UserDefinedTypeName","pathNode":{"id":84238,"name":"IJBTokenStore","nameLocations":["2810:13:87"],"nodeType":"IdentifierPath","referencedDeclaration":86728,"src":"2810:13:87"},"referencedDeclaration":86728,"src":"2810:13:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenStore_$86728","typeString":"contract IJBTokenStore"}},"visibility":"internal"}],"src":"2809:15:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84248,"nodeType":"FunctionDefinition","src":"2829:62:87","nodes":[],"functionSelector":"2bdfe004","implemented":false,"kind":"function","modifiers":[],"name":"splitsStore","nameLocation":"2838:11:87","parameters":{"id":84243,"nodeType":"ParameterList","parameters":[],"src":"2849:2:87"},"returnParameters":{"id":84247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84248,"src":"2875:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitsStore_$86453","typeString":"contract IJBSplitsStore"},"typeName":{"id":84245,"nodeType":"UserDefinedTypeName","pathNode":{"id":84244,"name":"IJBSplitsStore","nameLocations":["2875:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":86453,"src":"2875:14:87"},"referencedDeclaration":86453,"src":"2875:14:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitsStore_$86453","typeString":"contract IJBSplitsStore"}},"visibility":"internal"}],"src":"2874:16:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84254,"nodeType":"FunctionDefinition","src":"2895:58:87","nodes":[],"functionSelector":"c41c2f24","implemented":false,"kind":"function","modifiers":[],"name":"directory","nameLocation":"2904:9:87","parameters":{"id":84249,"nodeType":"ParameterList","parameters":[],"src":"2913:2:87"},"returnParameters":{"id":84253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84254,"src":"2939:12:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":84251,"nodeType":"UserDefinedTypeName","pathNode":{"id":84250,"name":"IJBDirectory","nameLocations":["2939:12:87"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"2939:12:87"},"referencedDeclaration":85041,"src":"2939:12:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"2938:14:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84263,"nodeType":"FunctionDefinition","src":"2957:117:87","nodes":[],"functionSelector":"f033b3b4","implemented":false,"kind":"function","modifiers":[],"name":"reservedTokenBalanceOf","nameLocation":"2966:22:87","parameters":{"id":84259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84256,"mutability":"mutable","name":"projectId","nameLocation":"3002:9:87","nodeType":"VariableDeclaration","scope":84263,"src":"2994:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84255,"name":"uint256","nodeType":"ElementaryTypeName","src":"2994:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84258,"mutability":"mutable","name":"reservedRate","nameLocation":"3025:12:87","nodeType":"VariableDeclaration","scope":84263,"src":"3017:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84257,"name":"uint256","nodeType":"ElementaryTypeName","src":"3017:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2988:53:87"},"returnParameters":{"id":84262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84263,"src":"3065:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84260,"name":"uint256","nodeType":"ElementaryTypeName","src":"3065:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3064:9:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84279,"nodeType":"FunctionDefinition","src":"3078:220:87","nodes":[],"functionSelector":"e8db2130","implemented":false,"kind":"function","modifiers":[],"name":"distributionLimitOf","nameLocation":"3087:19:87","parameters":{"id":84273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84265,"mutability":"mutable","name":"projectId","nameLocation":"3120:9:87","nodeType":"VariableDeclaration","scope":84279,"src":"3112:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84264,"name":"uint256","nodeType":"ElementaryTypeName","src":"3112:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84267,"mutability":"mutable","name":"configuration","nameLocation":"3143:13:87","nodeType":"VariableDeclaration","scope":84279,"src":"3135:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84266,"name":"uint256","nodeType":"ElementaryTypeName","src":"3135:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84270,"mutability":"mutable","name":"terminal","nameLocation":"3181:8:87","nodeType":"VariableDeclaration","scope":84279,"src":"3162:27:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":84269,"nodeType":"UserDefinedTypeName","pathNode":{"id":84268,"name":"IJBPaymentTerminal","nameLocations":["3162:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"3162:18:87"},"referencedDeclaration":85505,"src":"3162:18:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"},{"constant":false,"id":84272,"mutability":"mutable","name":"token","nameLocation":"3203:5:87","nodeType":"VariableDeclaration","scope":84279,"src":"3195:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84271,"name":"address","nodeType":"ElementaryTypeName","src":"3195:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3106:106:87"},"returnParameters":{"id":84278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84275,"mutability":"mutable","name":"distributionLimit","nameLocation":"3244:17:87","nodeType":"VariableDeclaration","scope":84279,"src":"3236:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84274,"name":"uint256","nodeType":"ElementaryTypeName","src":"3236:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84277,"mutability":"mutable","name":"distributionLimitCurrency","nameLocation":"3271:25:87","nodeType":"VariableDeclaration","scope":84279,"src":"3263:33:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84276,"name":"uint256","nodeType":"ElementaryTypeName","src":"3263:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3235:62:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84295,"nodeType":"FunctionDefinition","src":"3302:220:87","nodes":[],"functionSelector":"7a81b562","implemented":false,"kind":"function","modifiers":[],"name":"overflowAllowanceOf","nameLocation":"3311:19:87","parameters":{"id":84289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84281,"mutability":"mutable","name":"projectId","nameLocation":"3344:9:87","nodeType":"VariableDeclaration","scope":84295,"src":"3336:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84280,"name":"uint256","nodeType":"ElementaryTypeName","src":"3336:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84283,"mutability":"mutable","name":"configuration","nameLocation":"3367:13:87","nodeType":"VariableDeclaration","scope":84295,"src":"3359:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84282,"name":"uint256","nodeType":"ElementaryTypeName","src":"3359:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84286,"mutability":"mutable","name":"terminal","nameLocation":"3405:8:87","nodeType":"VariableDeclaration","scope":84295,"src":"3386:27:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":84285,"nodeType":"UserDefinedTypeName","pathNode":{"id":84284,"name":"IJBPaymentTerminal","nameLocations":["3386:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"3386:18:87"},"referencedDeclaration":85505,"src":"3386:18:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"},{"constant":false,"id":84288,"mutability":"mutable","name":"token","nameLocation":"3427:5:87","nodeType":"VariableDeclaration","scope":84295,"src":"3419:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84287,"name":"address","nodeType":"ElementaryTypeName","src":"3419:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3330:106:87"},"returnParameters":{"id":84294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84291,"mutability":"mutable","name":"overflowAllowance","nameLocation":"3468:17:87","nodeType":"VariableDeclaration","scope":84295,"src":"3460:25:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84290,"name":"uint256","nodeType":"ElementaryTypeName","src":"3460:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84293,"mutability":"mutable","name":"overflowAllowanceCurrency","nameLocation":"3495:25:87","nodeType":"VariableDeclaration","scope":84295,"src":"3487:33:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84292,"name":"uint256","nodeType":"ElementaryTypeName","src":"3487:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3459:62:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84304,"nodeType":"FunctionDefinition","src":"3526:119:87","nodes":[],"functionSelector":"b5f1e34d","implemented":false,"kind":"function","modifiers":[],"name":"totalOutstandingTokensOf","nameLocation":"3535:24:87","parameters":{"id":84300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84297,"mutability":"mutable","name":"projectId","nameLocation":"3573:9:87","nodeType":"VariableDeclaration","scope":84304,"src":"3565:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84296,"name":"uint256","nodeType":"ElementaryTypeName","src":"3565:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84299,"mutability":"mutable","name":"reservedRate","nameLocation":"3596:12:87","nodeType":"VariableDeclaration","scope":84304,"src":"3588:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84298,"name":"uint256","nodeType":"ElementaryTypeName","src":"3588:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3559:53:87"},"returnParameters":{"id":84303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84302,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84304,"src":"3636:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84301,"name":"uint256","nodeType":"ElementaryTypeName","src":"3636:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3635:9:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84317,"nodeType":"FunctionDefinition","src":"3649:192:87","nodes":[],"functionSelector":"a40bb9c7","implemented":false,"kind":"function","modifiers":[],"name":"getFundingCycleOf","nameLocation":"3658:17:87","parameters":{"id":84309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84306,"mutability":"mutable","name":"projectId","nameLocation":"3689:9:87","nodeType":"VariableDeclaration","scope":84317,"src":"3681:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84305,"name":"uint256","nodeType":"ElementaryTypeName","src":"3681:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84308,"mutability":"mutable","name":"configuration","nameLocation":"3712:13:87","nodeType":"VariableDeclaration","scope":84317,"src":"3704:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84307,"name":"uint256","nodeType":"ElementaryTypeName","src":"3704:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3675:54:87"},"returnParameters":{"id":84316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84312,"mutability":"mutable","name":"fundingCycle","nameLocation":"3787:12:87","nodeType":"VariableDeclaration","scope":84317,"src":"3765:34:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":84311,"nodeType":"UserDefinedTypeName","pathNode":{"id":84310,"name":"JBFundingCycle","nameLocations":["3765:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3765:14:87"},"referencedDeclaration":87801,"src":"3765:14:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":84315,"mutability":"mutable","name":"metadata","nameLocation":"3831:8:87","nodeType":"VariableDeclaration","scope":84317,"src":"3801:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84314,"nodeType":"UserDefinedTypeName","pathNode":{"id":84313,"name":"JBFundingCycleMetadata","nameLocations":["3801:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"3801:22:87"},"referencedDeclaration":87859,"src":"3801:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"}],"src":"3764:76:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84331,"nodeType":"FunctionDefinition","src":"3845:180:87","nodes":[],"functionSelector":"1f510453","implemented":false,"kind":"function","modifiers":[],"name":"latestConfiguredFundingCycleOf","nameLocation":"3854:30:87","parameters":{"id":84320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84319,"mutability":"mutable","name":"projectId","nameLocation":"3898:9:87","nodeType":"VariableDeclaration","scope":84331,"src":"3890:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84318,"name":"uint256","nodeType":"ElementaryTypeName","src":"3890:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3884:27:87"},"returnParameters":{"id":84330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84323,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84331,"src":"3947:21:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":84322,"nodeType":"UserDefinedTypeName","pathNode":{"id":84321,"name":"JBFundingCycle","nameLocations":["3947:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3947:14:87"},"referencedDeclaration":87801,"src":"3947:14:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":84326,"mutability":"mutable","name":"metadata","nameLocation":"4000:8:87","nodeType":"VariableDeclaration","scope":84331,"src":"3970:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84325,"nodeType":"UserDefinedTypeName","pathNode":{"id":84324,"name":"JBFundingCycleMetadata","nameLocations":["3970:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"3970:22:87"},"referencedDeclaration":87859,"src":"3970:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"},{"constant":false,"id":84329,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84331,"src":"4010:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":84328,"nodeType":"UserDefinedTypeName","pathNode":{"id":84327,"name":"JBBallotState","nameLocations":["4010:13:87"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"4010:13:87"},"referencedDeclaration":84037,"src":"4010:13:87","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"3946:78:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84342,"nodeType":"FunctionDefinition","src":"4029:169:87","nodes":[],"functionSelector":"8776c499","implemented":false,"kind":"function","modifiers":[],"name":"currentFundingCycleOf","nameLocation":"4038:21:87","parameters":{"id":84334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84333,"mutability":"mutable","name":"projectId","nameLocation":"4073:9:87","nodeType":"VariableDeclaration","scope":84342,"src":"4065:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84332,"name":"uint256","nodeType":"ElementaryTypeName","src":"4065:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4059:27:87"},"returnParameters":{"id":84341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84337,"mutability":"mutable","name":"fundingCycle","nameLocation":"4144:12:87","nodeType":"VariableDeclaration","scope":84342,"src":"4122:34:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":84336,"nodeType":"UserDefinedTypeName","pathNode":{"id":84335,"name":"JBFundingCycle","nameLocations":["4122:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"4122:14:87"},"referencedDeclaration":87801,"src":"4122:14:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":84340,"mutability":"mutable","name":"metadata","nameLocation":"4188:8:87","nodeType":"VariableDeclaration","scope":84342,"src":"4158:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84339,"nodeType":"UserDefinedTypeName","pathNode":{"id":84338,"name":"JBFundingCycleMetadata","nameLocations":["4158:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"4158:22:87"},"referencedDeclaration":87859,"src":"4158:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"}],"src":"4121:76:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84353,"nodeType":"FunctionDefinition","src":"4202:168:87","nodes":[],"functionSelector":"12b37b14","implemented":false,"kind":"function","modifiers":[],"name":"queuedFundingCycleOf","nameLocation":"4211:20:87","parameters":{"id":84345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84344,"mutability":"mutable","name":"projectId","nameLocation":"4245:9:87","nodeType":"VariableDeclaration","scope":84353,"src":"4237:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84343,"name":"uint256","nodeType":"ElementaryTypeName","src":"4237:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4231:27:87"},"returnParameters":{"id":84352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84348,"mutability":"mutable","name":"fundingCycle","nameLocation":"4316:12:87","nodeType":"VariableDeclaration","scope":84353,"src":"4294:34:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":84347,"nodeType":"UserDefinedTypeName","pathNode":{"id":84346,"name":"JBFundingCycle","nameLocations":["4294:14:87"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"4294:14:87"},"referencedDeclaration":87801,"src":"4294:14:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":84351,"mutability":"mutable","name":"metadata","nameLocation":"4360:8:87","nodeType":"VariableDeclaration","scope":84353,"src":"4330:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84350,"nodeType":"UserDefinedTypeName","pathNode":{"id":84349,"name":"JBFundingCycleMetadata","nameLocations":["4330:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"4330:22:87"},"referencedDeclaration":87859,"src":"4330:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"}],"src":"4293:76:87"},"scope":84487,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84385,"nodeType":"FunctionDefinition","src":"4374:423:87","nodes":[],"functionSelector":"b3c52673","implemented":false,"kind":"function","modifiers":[],"name":"launchProjectFor","nameLocation":"4383:16:87","parameters":{"id":84381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84355,"mutability":"mutable","name":"owner","nameLocation":"4413:5:87","nodeType":"VariableDeclaration","scope":84385,"src":"4405:13:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84354,"name":"address","nodeType":"ElementaryTypeName","src":"4405:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84358,"mutability":"mutable","name":"projectMetadata","nameLocation":"4451:15:87","nodeType":"VariableDeclaration","scope":84385,"src":"4424:42:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":84357,"nodeType":"UserDefinedTypeName","pathNode":{"id":84356,"name":"JBProjectMetadata","nameLocations":["4424:17:87"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"4424:17:87"},"referencedDeclaration":87943,"src":"4424:17:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"},{"constant":false,"id":84361,"mutability":"mutable","name":"data","nameLocation":"4500:4:87","nodeType":"VariableDeclaration","scope":84385,"src":"4472:32:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":84360,"nodeType":"UserDefinedTypeName","pathNode":{"id":84359,"name":"JBFundingCycleData","nameLocations":["4472:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"4472:18:87"},"referencedDeclaration":87816,"src":"4472:18:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":84364,"mutability":"mutable","name":"metadata","nameLocation":"4542:8:87","nodeType":"VariableDeclaration","scope":84385,"src":"4510:40:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_calldata_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84363,"nodeType":"UserDefinedTypeName","pathNode":{"id":84362,"name":"JBFundingCycleMetadata","nameLocations":["4510:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"4510:22:87"},"referencedDeclaration":87859,"src":"4510:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"},{"constant":false,"id":84366,"mutability":"mutable","name":"mustStartAtOrAfter","nameLocation":"4564:18:87","nodeType":"VariableDeclaration","scope":84385,"src":"4556:26:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84365,"name":"uint256","nodeType":"ElementaryTypeName","src":"4556:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84370,"mutability":"mutable","name":"groupedSplits","nameLocation":"4613:13:87","nodeType":"VariableDeclaration","scope":84385,"src":"4588:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":84368,"nodeType":"UserDefinedTypeName","pathNode":{"id":84367,"name":"JBGroupedSplits","nameLocations":["4588:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"4588:15:87"},"referencedDeclaration":87881,"src":"4588:15:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":84369,"nodeType":"ArrayTypeName","src":"4588:17:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"},{"constant":false,"id":84374,"mutability":"mutable","name":"fundAccessConstraints","nameLocation":"4665:21:87","nodeType":"VariableDeclaration","scope":84385,"src":"4632:54:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints[]"},"typeName":{"baseType":{"id":84372,"nodeType":"UserDefinedTypeName","pathNode":{"id":84371,"name":"JBFundAccessConstraints","nameLocations":["4632:23:87"],"nodeType":"IdentifierPath","referencedDeclaration":87776,"src":"4632:23:87"},"referencedDeclaration":87776,"src":"4632:23:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_storage_ptr","typeString":"struct JBFundAccessConstraints"}},"id":84373,"nodeType":"ArrayTypeName","src":"4632:25:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_storage_$dyn_storage_ptr","typeString":"struct JBFundAccessConstraints[]"}},"visibility":"internal"},{"constant":false,"id":84378,"mutability":"mutable","name":"terminals","nameLocation":"4720:9:87","nodeType":"VariableDeclaration","scope":84385,"src":"4692:37:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":84376,"nodeType":"UserDefinedTypeName","pathNode":{"id":84375,"name":"IJBPaymentTerminal","nameLocations":["4692:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"4692:18:87"},"referencedDeclaration":85505,"src":"4692:18:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":84377,"nodeType":"ArrayTypeName","src":"4692:20:87","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"},{"constant":false,"id":84380,"mutability":"mutable","name":"memo","nameLocation":"4751:4:87","nodeType":"VariableDeclaration","scope":84385,"src":"4735:20:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":84379,"name":"string","nodeType":"ElementaryTypeName","src":"4735:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4399:360:87"},"returnParameters":{"id":84384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84383,"mutability":"mutable","name":"projectId","nameLocation":"4786:9:87","nodeType":"VariableDeclaration","scope":84385,"src":"4778:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84382,"name":"uint256","nodeType":"ElementaryTypeName","src":"4778:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4777:19:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84414,"nodeType":"FunctionDefinition","src":"4801:389:87","nodes":[],"functionSelector":"111d861b","implemented":false,"kind":"function","modifiers":[],"name":"launchFundingCyclesFor","nameLocation":"4810:22:87","parameters":{"id":84410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84387,"mutability":"mutable","name":"projectId","nameLocation":"4846:9:87","nodeType":"VariableDeclaration","scope":84414,"src":"4838:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84386,"name":"uint256","nodeType":"ElementaryTypeName","src":"4838:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84390,"mutability":"mutable","name":"data","nameLocation":"4889:4:87","nodeType":"VariableDeclaration","scope":84414,"src":"4861:32:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":84389,"nodeType":"UserDefinedTypeName","pathNode":{"id":84388,"name":"JBFundingCycleData","nameLocations":["4861:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"4861:18:87"},"referencedDeclaration":87816,"src":"4861:18:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":84393,"mutability":"mutable","name":"metadata","nameLocation":"4931:8:87","nodeType":"VariableDeclaration","scope":84414,"src":"4899:40:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_calldata_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84392,"nodeType":"UserDefinedTypeName","pathNode":{"id":84391,"name":"JBFundingCycleMetadata","nameLocations":["4899:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"4899:22:87"},"referencedDeclaration":87859,"src":"4899:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"},{"constant":false,"id":84395,"mutability":"mutable","name":"mustStartAtOrAfter","nameLocation":"4953:18:87","nodeType":"VariableDeclaration","scope":84414,"src":"4945:26:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84394,"name":"uint256","nodeType":"ElementaryTypeName","src":"4945:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84399,"mutability":"mutable","name":"groupedSplits","nameLocation":"5002:13:87","nodeType":"VariableDeclaration","scope":84414,"src":"4977:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":84397,"nodeType":"UserDefinedTypeName","pathNode":{"id":84396,"name":"JBGroupedSplits","nameLocations":["4977:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"4977:15:87"},"referencedDeclaration":87881,"src":"4977:15:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":84398,"nodeType":"ArrayTypeName","src":"4977:17:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"},{"constant":false,"id":84403,"mutability":"mutable","name":"fundAccessConstraints","nameLocation":"5054:21:87","nodeType":"VariableDeclaration","scope":84414,"src":"5021:54:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints[]"},"typeName":{"baseType":{"id":84401,"nodeType":"UserDefinedTypeName","pathNode":{"id":84400,"name":"JBFundAccessConstraints","nameLocations":["5021:23:87"],"nodeType":"IdentifierPath","referencedDeclaration":87776,"src":"5021:23:87"},"referencedDeclaration":87776,"src":"5021:23:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_storage_ptr","typeString":"struct JBFundAccessConstraints"}},"id":84402,"nodeType":"ArrayTypeName","src":"5021:25:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_storage_$dyn_storage_ptr","typeString":"struct JBFundAccessConstraints[]"}},"visibility":"internal"},{"constant":false,"id":84407,"mutability":"mutable","name":"terminals","nameLocation":"5109:9:87","nodeType":"VariableDeclaration","scope":84414,"src":"5081:37:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":84405,"nodeType":"UserDefinedTypeName","pathNode":{"id":84404,"name":"IJBPaymentTerminal","nameLocations":["5081:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"5081:18:87"},"referencedDeclaration":85505,"src":"5081:18:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":84406,"nodeType":"ArrayTypeName","src":"5081:20:87","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"},{"constant":false,"id":84409,"mutability":"mutable","name":"memo","nameLocation":"5140:4:87","nodeType":"VariableDeclaration","scope":84414,"src":"5124:20:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":84408,"name":"string","nodeType":"ElementaryTypeName","src":"5124:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4832:316:87"},"returnParameters":{"id":84413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84412,"mutability":"mutable","name":"configuration","nameLocation":"5175:13:87","nodeType":"VariableDeclaration","scope":84414,"src":"5167:21:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84411,"name":"uint256","nodeType":"ElementaryTypeName","src":"5167:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5166:23:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84439,"nodeType":"FunctionDefinition","src":"5194:336:87","nodes":[],"functionSelector":"badbdf28","implemented":false,"kind":"function","modifiers":[],"name":"reconfigureFundingCyclesOf","nameLocation":"5203:26:87","parameters":{"id":84435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84416,"mutability":"mutable","name":"projectId","nameLocation":"5243:9:87","nodeType":"VariableDeclaration","scope":84439,"src":"5235:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84415,"name":"uint256","nodeType":"ElementaryTypeName","src":"5235:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84419,"mutability":"mutable","name":"data","nameLocation":"5286:4:87","nodeType":"VariableDeclaration","scope":84439,"src":"5258:32:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":84418,"nodeType":"UserDefinedTypeName","pathNode":{"id":84417,"name":"JBFundingCycleData","nameLocations":["5258:18:87"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"5258:18:87"},"referencedDeclaration":87816,"src":"5258:18:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":84422,"mutability":"mutable","name":"metadata","nameLocation":"5328:8:87","nodeType":"VariableDeclaration","scope":84439,"src":"5296:40:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_calldata_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":84421,"nodeType":"UserDefinedTypeName","pathNode":{"id":84420,"name":"JBFundingCycleMetadata","nameLocations":["5296:22:87"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"5296:22:87"},"referencedDeclaration":87859,"src":"5296:22:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"},{"constant":false,"id":84424,"mutability":"mutable","name":"mustStartAtOrAfter","nameLocation":"5350:18:87","nodeType":"VariableDeclaration","scope":84439,"src":"5342:26:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84423,"name":"uint256","nodeType":"ElementaryTypeName","src":"5342:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84428,"mutability":"mutable","name":"groupedSplits","nameLocation":"5399:13:87","nodeType":"VariableDeclaration","scope":84439,"src":"5374:38:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":84426,"nodeType":"UserDefinedTypeName","pathNode":{"id":84425,"name":"JBGroupedSplits","nameLocations":["5374:15:87"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"5374:15:87"},"referencedDeclaration":87881,"src":"5374:15:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":84427,"nodeType":"ArrayTypeName","src":"5374:17:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"},{"constant":false,"id":84432,"mutability":"mutable","name":"fundAccessConstraints","nameLocation":"5451:21:87","nodeType":"VariableDeclaration","scope":84439,"src":"5418:54:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints[]"},"typeName":{"baseType":{"id":84430,"nodeType":"UserDefinedTypeName","pathNode":{"id":84429,"name":"JBFundAccessConstraints","nameLocations":["5418:23:87"],"nodeType":"IdentifierPath","referencedDeclaration":87776,"src":"5418:23:87"},"referencedDeclaration":87776,"src":"5418:23:87","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_storage_ptr","typeString":"struct JBFundAccessConstraints"}},"id":84431,"nodeType":"ArrayTypeName","src":"5418:25:87","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_storage_$dyn_storage_ptr","typeString":"struct JBFundAccessConstraints[]"}},"visibility":"internal"},{"constant":false,"id":84434,"mutability":"mutable","name":"memo","nameLocation":"5494:4:87","nodeType":"VariableDeclaration","scope":84439,"src":"5478:20:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":84433,"name":"string","nodeType":"ElementaryTypeName","src":"5478:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5229:273:87"},"returnParameters":{"id":84438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84437,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84439,"src":"5521:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84436,"name":"uint256","nodeType":"ElementaryTypeName","src":"5521:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5520:9:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84456,"nodeType":"FunctionDefinition","src":"5534:229:87","nodes":[],"functionSelector":"8ae9c07b","implemented":false,"kind":"function","modifiers":[],"name":"mintTokensOf","nameLocation":"5543:12:87","parameters":{"id":84452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84441,"mutability":"mutable","name":"projectId","nameLocation":"5569:9:87","nodeType":"VariableDeclaration","scope":84456,"src":"5561:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84440,"name":"uint256","nodeType":"ElementaryTypeName","src":"5561:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84443,"mutability":"mutable","name":"tokenCount","nameLocation":"5592:10:87","nodeType":"VariableDeclaration","scope":84456,"src":"5584:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84442,"name":"uint256","nodeType":"ElementaryTypeName","src":"5584:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84445,"mutability":"mutable","name":"beneficiary","nameLocation":"5616:11:87","nodeType":"VariableDeclaration","scope":84456,"src":"5608:19:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84444,"name":"address","nodeType":"ElementaryTypeName","src":"5608:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84447,"mutability":"mutable","name":"memo","nameLocation":"5649:4:87","nodeType":"VariableDeclaration","scope":84456,"src":"5633:20:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":84446,"name":"string","nodeType":"ElementaryTypeName","src":"5633:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84449,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"5664:19:87","nodeType":"VariableDeclaration","scope":84456,"src":"5659:24:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84448,"name":"bool","nodeType":"ElementaryTypeName","src":"5659:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":84451,"mutability":"mutable","name":"useReservedRate","nameLocation":"5694:15:87","nodeType":"VariableDeclaration","scope":84456,"src":"5689:20:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84450,"name":"bool","nodeType":"ElementaryTypeName","src":"5689:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5555:158:87"},"returnParameters":{"id":84455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84454,"mutability":"mutable","name":"beneficiaryTokenCount","nameLocation":"5740:21:87","nodeType":"VariableDeclaration","scope":84456,"src":"5732:29:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84453,"name":"uint256","nodeType":"ElementaryTypeName","src":"5732:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5731:31:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84469,"nodeType":"FunctionDefinition","src":"5767:158:87","nodes":[],"functionSelector":"1665bc0f","implemented":false,"kind":"function","modifiers":[],"name":"burnTokensOf","nameLocation":"5776:12:87","parameters":{"id":84467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84458,"mutability":"mutable","name":"holder","nameLocation":"5802:6:87","nodeType":"VariableDeclaration","scope":84469,"src":"5794:14:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84457,"name":"address","nodeType":"ElementaryTypeName","src":"5794:7:87","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84460,"mutability":"mutable","name":"projectId","nameLocation":"5822:9:87","nodeType":"VariableDeclaration","scope":84469,"src":"5814:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84459,"name":"uint256","nodeType":"ElementaryTypeName","src":"5814:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84462,"mutability":"mutable","name":"tokenCount","nameLocation":"5845:10:87","nodeType":"VariableDeclaration","scope":84469,"src":"5837:18:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84461,"name":"uint256","nodeType":"ElementaryTypeName","src":"5837:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84464,"mutability":"mutable","name":"memo","nameLocation":"5877:4:87","nodeType":"VariableDeclaration","scope":84469,"src":"5861:20:87","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":84463,"name":"string","nodeType":"ElementaryTypeName","src":"5861:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":84466,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"5892:19:87","nodeType":"VariableDeclaration","scope":84469,"src":"5887:24:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84465,"name":"bool","nodeType":"ElementaryTypeName","src":"5887:4:87","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5788:127:87"},"returnParameters":{"id":84468,"nodeType":"ParameterList","parameters":[],"src":"5924:0:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84478,"nodeType":"FunctionDefinition","src":"5929:114:87","nodes":[],"functionSelector":"e867c59c","implemented":false,"kind":"function","modifiers":[],"name":"distributeReservedTokensOf","nameLocation":"5938:26:87","parameters":{"id":84474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84471,"mutability":"mutable","name":"projectId","nameLocation":"5978:9:87","nodeType":"VariableDeclaration","scope":84478,"src":"5970:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84470,"name":"uint256","nodeType":"ElementaryTypeName","src":"5970:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84473,"mutability":"mutable","name":"memo","nameLocation":"6007:4:87","nodeType":"VariableDeclaration","scope":84478,"src":"5993:18:87","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":84472,"name":"string","nodeType":"ElementaryTypeName","src":"5993:6:87","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5964:51:87"},"returnParameters":{"id":84477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84476,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84478,"src":"6034:7:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84475,"name":"uint256","nodeType":"ElementaryTypeName","src":"6034:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6033:9:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":84486,"nodeType":"FunctionDefinition","src":"6047:63:87","nodes":[],"functionSelector":"405b84fa","implemented":false,"kind":"function","modifiers":[],"name":"migrate","nameLocation":"6056:7:87","parameters":{"id":84484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84480,"mutability":"mutable","name":"projectId","nameLocation":"6072:9:87","nodeType":"VariableDeclaration","scope":84486,"src":"6064:17:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84479,"name":"uint256","nodeType":"ElementaryTypeName","src":"6064:7:87","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84483,"mutability":"mutable","name":"to","nameLocation":"6097:2:87","nodeType":"VariableDeclaration","scope":84486,"src":"6083:16:87","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBMigratable_$85320","typeString":"contract IJBMigratable"},"typeName":{"id":84482,"nodeType":"UserDefinedTypeName","pathNode":{"id":84481,"name":"IJBMigratable","nameLocations":["6083:13:87"],"nodeType":"IdentifierPath","referencedDeclaration":85320,"src":"6083:13:87"},"referencedDeclaration":85320,"src":"6083:13:87","typeDescriptions":{"typeIdentifier":"t_contract$_IJBMigratable_$85320","typeString":"contract IJBMigratable"}},"visibility":"internal"}],"src":"6063:37:87"},"returnParameters":{"id":84485,"nodeType":"ParameterList","parameters":[],"src":"6109:0:87"},"scope":84487,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":84102,"name":"IERC165","nameLocations":["1087:7:87"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"1087:7:87"},"id":84103,"nodeType":"InheritanceSpecifier","src":"1087:7:87"}],"canonicalName":"IJBController","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[84487,97005],"name":"IJBController","nameLocation":"1070:13:87","scope":84488,"usedErrors":[],"usedEvents":[84113,84123,84133,84146,84164,84179,84195,84207,84216,84224]}],"license":"MIT"},"id":87} \ No newline at end of file +{"abi":[{"type":"function","name":"burnTokensOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"currentFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"distributeReservedTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"distributionLimitOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"getFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"migrate","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"contract IJBMigratable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"useReservedRate","type":"bool","internalType":"bool"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"overflowAllowanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"queuedFundingCycleOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForPay","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"dataSource","type":"address","internalType":"address"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"reservedTokenBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"splitsStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBSplitsStore"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenStore"}],"stateMutability":"view"},{"type":"function","name":"totalOutstandingTokensOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"BurnTokens","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DistributeReservedTokens","inputs":[{"name":"fundingCycleConfiguration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fundingCycleNumber","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":false,"internalType":"address"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiaryTokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DistributeToReservedTokenSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LaunchFundingCycles","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LaunchProject","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Migrate","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":false,"internalType":"contract IJBMigratable"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintTokens","inputs":[{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"beneficiaryTokenCount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"reservedRate","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PrepMigration","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"from","type":"address","indexed":false,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReconfigureFundingCycles","inputs":[{"name":"configuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"memo","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetFundAccessConstraints","inputs":[{"name":"fundingCycleConfiguration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"fundingCycleNumber","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"constraints","type":"tuple","indexed":false,"internalType":"struct JBFundAccessConstraints","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"burnTokensOf(address,uint256,uint256,string,bool)":"1665bc0f","currentFundingCycleOf(uint256)":"8776c499","directory()":"c41c2f24","distributeReservedTokensOf(uint256,string)":"e867c59c","distributionLimitOf(uint256,uint256,address,address)":"e8db2130","fundingCycleStore()":"557e7155","getFundingCycleOf(uint256,uint256)":"a40bb9c7","latestConfiguredFundingCycleOf(uint256)":"1f510453","launchFundingCyclesFor(uint256,(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string)":"111d861b","launchProjectFor(address,(string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string)":"b3c52673","migrate(uint256,address)":"405b84fa","mintTokensOf(uint256,uint256,address,string,bool,bool)":"8ae9c07b","overflowAllowanceOf(uint256,uint256,address,address)":"7a81b562","projects()":"8b79543c","queuedFundingCycleOf(uint256)":"12b37b14","reconfigureFundingCyclesOf(uint256,(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,address,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string)":"badbdf28","reservedTokenBalanceOf(uint256,uint256)":"f033b3b4","splitsStore()":"2bdfe004","supportsInterface(bytes4)":"01ffc9a7","tokenStore()":"61930630","totalOutstandingTokensOf(uint256,uint256)":"b5f1e34d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BurnTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleConfiguration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DistributeReservedTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"DistributeToReservedTokenSplit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"LaunchFundingCycles\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"LaunchProject\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBMigratable\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Migrate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintTokens\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"PrepMigration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"ReconfigureFundingCycles\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleConfiguration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"fundingCycleNumber\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBFundAccessConstraints\",\"name\":\"constraints\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetFundAccessConstraints\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnTokensOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"distributeReservedTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"distributionLimitOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"name\":\"getFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBMigratable\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useReservedRate\",\"type\":\"bool\"}],\"name\":\"mintTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"overflowAllowanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"queuedFundingCycleOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForPay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"dataSource\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"splitsStore\",\"outputs\":[{\"internalType\":\"contract IJBSplitsStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenStore\",\"outputs\":[{\"internalType\":\"contract IJBTokenStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"}],\"name\":\"totalOutstandingTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":\"IJBController\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":{\"keccak256\":\"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275\",\"dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"BurnTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fundingCycleConfiguration","type":"uint256","indexed":true},{"internalType":"uint256","name":"fundingCycleNumber","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":false},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"DistributeReservedTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"DistributeToReservedTokenSplit","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"LaunchFundingCycles","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"LaunchProject","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBMigratable","name":"to","type":"address","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Migrate","anonymous":false},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tokenCount","type":"uint256","indexed":false},{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"uint256","name":"reservedRate","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintTokens","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"PrepMigration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":false},{"internalType":"string","name":"memo","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"ReconfigureFundingCycles","anonymous":false},{"inputs":[{"internalType":"uint256","name":"fundingCycleConfiguration","type":"uint256","indexed":true},{"internalType":"uint256","name":"fundingCycleNumber","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundAccessConstraints","name":"constraints","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetFundAccessConstraints","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnTokensOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"distributeReservedTokensOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"distributionLimitOf","outputs":[{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBMigratable","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"bool","name":"useReservedRate","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintTokensOf","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"overflowAllowanceOf","outputs":[{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedFundingCycleOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForPay","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"address","name":"dataSource","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"splitsStore","outputs":[{"internalType":"contract IJBSplitsStore","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenStore","outputs":[{"internalType":"contract IJBTokenStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalOutstandingTokensOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":"IJBController"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":{"keccak256":"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f","urls":["bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275","dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":87} \ No newline at end of file diff --git a/out/IJBControllerUtility.sol/IJBControllerUtility.json b/out/IJBControllerUtility.sol/IJBControllerUtility.json index df0d2938..bed20283 100644 --- a/out/IJBControllerUtility.sol/IJBControllerUtility.json +++ b/out/IJBControllerUtility.sol/IJBControllerUtility.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":\"IJBControllerUtility\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":"IJBControllerUtility"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol","id":84899,"exportedSymbols":{"IJBControllerUtility":[84898],"IJBDirectory":[85041]},"nodeType":"SourceUnit","src":"32:171:90","nodes":[{"id":84889,"nodeType":"PragmaDirective","src":"32:23:90","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":84891,"nodeType":"ImportDirective","src":"57:48:90","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":84899,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":84890,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"65:12:90","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84898,"nodeType":"ContractDefinition","src":"107:95:90","nodes":[{"id":84897,"nodeType":"FunctionDefinition","src":"142:58:90","nodes":[],"functionSelector":"c41c2f24","implemented":false,"kind":"function","modifiers":[],"name":"directory","nameLocation":"151:9:90","parameters":{"id":84892,"nodeType":"ParameterList","parameters":[],"src":"160:2:90"},"returnParameters":{"id":84896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84895,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84897,"src":"186:12:90","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":84894,"nodeType":"UserDefinedTypeName","pathNode":{"id":84893,"name":"IJBDirectory","nameLocations":["186:12:90"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"186:12:90"},"referencedDeclaration":85041,"src":"186:12:90","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"185:14:90"},"scope":84898,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBControllerUtility","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[84898],"name":"IJBControllerUtility","nameLocation":"117:20:90","scope":84899,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":90} \ No newline at end of file +{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":\"IJBControllerUtility\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":"IJBControllerUtility"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":90} \ No newline at end of file diff --git a/out/IJBDirectory.sol/IJBDirectory.json b/out/IJBDirectory.sol/IJBDirectory.json index 2ba821c4..5503fd54 100644 --- a/out/IJBDirectory.sol/IJBDirectory.json +++ b/out/IJBDirectory.sol/IJBDirectory.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"controllerOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToSetFirstController","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"primaryTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPaymentTerminal"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setControllerOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"controller","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsAllowedToSetFirstController","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"flag","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimaryTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTerminalsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"terminalsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"stateMutability":"view"},{"type":"event","name":"AddTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetController","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"controller","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetIsAllowedToSetFirstController","inputs":[{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"flag","type":"bool","indexed":true,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetPrimaryTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTerminals","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminals","type":"address[]","indexed":false,"internalType":"contract IJBPaymentTerminal[]"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"controllerOf(uint256)":"5dd8f6aa","fundingCycleStore()":"557e7155","isAllowedToSetFirstController(address)":"c5664e21","isTerminalOf(uint256,address)":"6e49181f","primaryTerminalOf(uint256,address)":"86202650","projects()":"8b79543c","setControllerOf(uint256,address)":"714e7f32","setIsAllowedToSetFirstController(address,bool)":"a1ed3175","setPrimaryTerminalOf(uint256,address,address)":"63d0850a","setTerminalsOf(uint256,address[])":"821b9fd8","terminalsOf(uint256)":"d1754153"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetIsAllowedToSetFirstController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetPrimaryTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTerminals\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"controllerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAllowedToSetFirstController\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"name\":\"isTerminalOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"primaryTerminalOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"setControllerOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"setIsAllowedToSetFirstController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"name\":\"setPrimaryTerminalOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"}],\"name\":\"setTerminalsOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"terminalsOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":\"IJBDirectory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"controller","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetController","anonymous":false},{"inputs":[{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"bool","name":"flag","type":"bool","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetIsAllowedToSetFirstController","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetPrimaryTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTerminals","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"controllerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedToSetFirstController","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"}],"stateMutability":"view","type":"function","name":"isTerminalOf","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"primaryTerminalOf","outputs":[{"internalType":"contract IJBPaymentTerminal","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setControllerOf"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsAllowedToSetFirstController"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPrimaryTerminalOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setTerminalsOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"terminalsOf","outputs":[{"internalType":"contract IJBPaymentTerminal[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":"IJBDirectory"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","id":85042,"exportedSymbols":{"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBPaymentTerminal":[85505],"IJBProjects":[86082]},"nodeType":"SourceUnit","src":"32:1786:91","nodes":[{"id":84900,"nodeType":"PragmaDirective","src":"32:23:91","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":84902,"nodeType":"ImportDirective","src":"57:64:91","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":85042,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":84901,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"65:20:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84904,"nodeType":"ImportDirective","src":"122:60:91","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"./IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":85042,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":84903,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"130:18:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84906,"nodeType":"ImportDirective","src":"183:46:91","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./IJBProjects.sol","nameLocation":"-1:-1:-1","scope":85042,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":84905,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"191:11:91","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85041,"nodeType":"ContractDefinition","src":"231:1586:91","nodes":[{"id":84914,"nodeType":"EventDefinition","src":"258:91:91","nodes":[],"anonymous":false,"eventSelector":"7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30","name":"SetController","nameLocation":"264:13:91","parameters":{"id":84913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84908,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"294:9:91","nodeType":"VariableDeclaration","scope":84914,"src":"278:25:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84907,"name":"uint256","nodeType":"ElementaryTypeName","src":"278:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84910,"indexed":true,"mutability":"mutable","name":"controller","nameLocation":"321:10:91","nodeType":"VariableDeclaration","scope":84914,"src":"305:26:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84909,"name":"address","nodeType":"ElementaryTypeName","src":"305:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84912,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"341:6:91","nodeType":"VariableDeclaration","scope":84914,"src":"333:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84911,"name":"address","nodeType":"ElementaryTypeName","src":"333:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"277:71:91"}},{"id":84923,"nodeType":"EventDefinition","src":"353:98:91","nodes":[],"anonymous":false,"eventSelector":"409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8","name":"AddTerminal","nameLocation":"359:11:91","parameters":{"id":84922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84916,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"387:9:91","nodeType":"VariableDeclaration","scope":84923,"src":"371:25:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84915,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84919,"indexed":true,"mutability":"mutable","name":"terminal","nameLocation":"425:8:91","nodeType":"VariableDeclaration","scope":84923,"src":"398:35:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":84918,"nodeType":"UserDefinedTypeName","pathNode":{"id":84917,"name":"IJBPaymentTerminal","nameLocations":["398:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"398:18:91"},"referencedDeclaration":85505,"src":"398:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"},{"constant":false,"id":84921,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"443:6:91","nodeType":"VariableDeclaration","scope":84923,"src":"435:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84920,"name":"address","nodeType":"ElementaryTypeName","src":"435:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"370:80:91"}},{"id":84933,"nodeType":"EventDefinition","src":"455:94:91","nodes":[],"anonymous":false,"eventSelector":"b648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b","name":"SetTerminals","nameLocation":"461:12:91","parameters":{"id":84932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84925,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"490:9:91","nodeType":"VariableDeclaration","scope":84933,"src":"474:25:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84924,"name":"uint256","nodeType":"ElementaryTypeName","src":"474:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84929,"indexed":false,"mutability":"mutable","name":"terminals","nameLocation":"522:9:91","nodeType":"VariableDeclaration","scope":84933,"src":"501:30:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":84927,"nodeType":"UserDefinedTypeName","pathNode":{"id":84926,"name":"IJBPaymentTerminal","nameLocations":["501:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"501:18:91"},"referencedDeclaration":85505,"src":"501:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":84928,"nodeType":"ArrayTypeName","src":"501:20:91","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"},{"constant":false,"id":84931,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"541:6:91","nodeType":"VariableDeclaration","scope":84933,"src":"533:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84930,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"473:75:91"}},{"id":84944,"nodeType":"EventDefinition","src":"553:148:91","nodes":[],"anonymous":false,"eventSelector":"c670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672","name":"SetPrimaryTerminal","nameLocation":"559:18:91","parameters":{"id":84943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84935,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"599:9:91","nodeType":"VariableDeclaration","scope":84944,"src":"583:25:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84934,"name":"uint256","nodeType":"ElementaryTypeName","src":"583:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84937,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"630:5:91","nodeType":"VariableDeclaration","scope":84944,"src":"614:21:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84936,"name":"address","nodeType":"ElementaryTypeName","src":"614:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84940,"indexed":true,"mutability":"mutable","name":"terminal","nameLocation":"668:8:91","nodeType":"VariableDeclaration","scope":84944,"src":"641:35:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":84939,"nodeType":"UserDefinedTypeName","pathNode":{"id":84938,"name":"IJBPaymentTerminal","nameLocations":["641:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"641:18:91"},"referencedDeclaration":85505,"src":"641:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"},{"constant":false,"id":84942,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"690:6:91","nodeType":"VariableDeclaration","scope":84944,"src":"682:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84941,"name":"address","nodeType":"ElementaryTypeName","src":"682:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"577:123:91"}},{"id":84952,"nodeType":"EventDefinition","src":"705:96:91","nodes":[],"anonymous":false,"eventSelector":"11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab","name":"SetIsAllowedToSetFirstController","nameLocation":"711:32:91","parameters":{"id":84951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84946,"indexed":true,"mutability":"mutable","name":"addr","nameLocation":"760:4:91","nodeType":"VariableDeclaration","scope":84952,"src":"744:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84945,"name":"address","nodeType":"ElementaryTypeName","src":"744:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84948,"indexed":true,"mutability":"mutable","name":"flag","nameLocation":"779:4:91","nodeType":"VariableDeclaration","scope":84952,"src":"766:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84947,"name":"bool","nodeType":"ElementaryTypeName","src":"766:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":84950,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"793:6:91","nodeType":"VariableDeclaration","scope":84952,"src":"785:14:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84949,"name":"address","nodeType":"ElementaryTypeName","src":"785:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"743:57:91"}},{"id":84958,"nodeType":"FunctionDefinition","src":"805:56:91","nodes":[],"functionSelector":"8b79543c","implemented":false,"kind":"function","modifiers":[],"name":"projects","nameLocation":"814:8:91","parameters":{"id":84953,"nodeType":"ParameterList","parameters":[],"src":"822:2:91"},"returnParameters":{"id":84957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84956,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84958,"src":"848:11:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":84955,"nodeType":"UserDefinedTypeName","pathNode":{"id":84954,"name":"IJBProjects","nameLocations":["848:11:91"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"848:11:91"},"referencedDeclaration":86082,"src":"848:11:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"}],"src":"847:13:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84964,"nodeType":"FunctionDefinition","src":"865:74:91","nodes":[],"functionSelector":"557e7155","implemented":false,"kind":"function","modifiers":[],"name":"fundingCycleStore","nameLocation":"874:17:91","parameters":{"id":84959,"nodeType":"ParameterList","parameters":[],"src":"891:2:91"},"returnParameters":{"id":84963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84964,"src":"917:20:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":84961,"nodeType":"UserDefinedTypeName","pathNode":{"id":84960,"name":"IJBFundingCycleStore","nameLocations":["917:20:91"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"917:20:91"},"referencedDeclaration":85310,"src":"917:20:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"}],"src":"916:22:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84971,"nodeType":"FunctionDefinition","src":"943:73:91","nodes":[],"functionSelector":"5dd8f6aa","implemented":false,"kind":"function","modifiers":[],"name":"controllerOf","nameLocation":"952:12:91","parameters":{"id":84967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84966,"mutability":"mutable","name":"projectId","nameLocation":"973:9:91","nodeType":"VariableDeclaration","scope":84971,"src":"965:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84965,"name":"uint256","nodeType":"ElementaryTypeName","src":"965:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"964:19:91"},"returnParameters":{"id":84970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84971,"src":"1007:7:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84968,"name":"address","nodeType":"ElementaryTypeName","src":"1007:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1006:9:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84978,"nodeType":"FunctionDefinition","src":"1020:85:91","nodes":[],"functionSelector":"c5664e21","implemented":false,"kind":"function","modifiers":[],"name":"isAllowedToSetFirstController","nameLocation":"1029:29:91","parameters":{"id":84974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84973,"mutability":"mutable","name":"account","nameLocation":"1067:7:91","nodeType":"VariableDeclaration","scope":84978,"src":"1059:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84972,"name":"address","nodeType":"ElementaryTypeName","src":"1059:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1058:17:91"},"returnParameters":{"id":84977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84978,"src":"1099:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84975,"name":"bool","nodeType":"ElementaryTypeName","src":"1099:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1098:6:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84987,"nodeType":"FunctionDefinition","src":"1109:92:91","nodes":[],"functionSelector":"d1754153","implemented":false,"kind":"function","modifiers":[],"name":"terminalsOf","nameLocation":"1118:11:91","parameters":{"id":84981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84980,"mutability":"mutable","name":"projectId","nameLocation":"1138:9:91","nodeType":"VariableDeclaration","scope":84987,"src":"1130:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84979,"name":"uint256","nodeType":"ElementaryTypeName","src":"1130:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1129:19:91"},"returnParameters":{"id":84986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84987,"src":"1172:27:91","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":84983,"nodeType":"UserDefinedTypeName","pathNode":{"id":84982,"name":"IJBPaymentTerminal","nameLocations":["1172:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1172:18:91"},"referencedDeclaration":85505,"src":"1172:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":84984,"nodeType":"ArrayTypeName","src":"1172:20:91","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"}],"src":"1171:29:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84997,"nodeType":"FunctionDefinition","src":"1205:111:91","nodes":[],"functionSelector":"6e49181f","implemented":false,"kind":"function","modifiers":[],"name":"isTerminalOf","nameLocation":"1214:12:91","parameters":{"id":84993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84989,"mutability":"mutable","name":"projectId","nameLocation":"1240:9:91","nodeType":"VariableDeclaration","scope":84997,"src":"1232:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84988,"name":"uint256","nodeType":"ElementaryTypeName","src":"1232:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84992,"mutability":"mutable","name":"terminal","nameLocation":"1274:8:91","nodeType":"VariableDeclaration","scope":84997,"src":"1255:27:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":84991,"nodeType":"UserDefinedTypeName","pathNode":{"id":84990,"name":"IJBPaymentTerminal","nameLocations":["1255:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1255:18:91"},"referencedDeclaration":85505,"src":"1255:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"1226:60:91"},"returnParameters":{"id":84996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84995,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84997,"src":"1310:4:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":84994,"name":"bool","nodeType":"ElementaryTypeName","src":"1310:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1309:6:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85007,"nodeType":"FunctionDefinition","src":"1320:116:91","nodes":[],"functionSelector":"86202650","implemented":false,"kind":"function","modifiers":[],"name":"primaryTerminalOf","nameLocation":"1329:17:91","parameters":{"id":85002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84999,"mutability":"mutable","name":"projectId","nameLocation":"1360:9:91","nodeType":"VariableDeclaration","scope":85007,"src":"1352:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84998,"name":"uint256","nodeType":"ElementaryTypeName","src":"1352:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85001,"mutability":"mutable","name":"token","nameLocation":"1383:5:91","nodeType":"VariableDeclaration","scope":85007,"src":"1375:13:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85000,"name":"address","nodeType":"ElementaryTypeName","src":"1375:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1346:46:91"},"returnParameters":{"id":85006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85007,"src":"1416:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":85004,"nodeType":"UserDefinedTypeName","pathNode":{"id":85003,"name":"IJBPaymentTerminal","nameLocations":["1416:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1416:18:91"},"referencedDeclaration":85505,"src":"1416:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"1415:20:91"},"scope":85041,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85014,"nodeType":"FunctionDefinition","src":"1440:73:91","nodes":[],"functionSelector":"714e7f32","implemented":false,"kind":"function","modifiers":[],"name":"setControllerOf","nameLocation":"1449:15:91","parameters":{"id":85012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85009,"mutability":"mutable","name":"projectId","nameLocation":"1473:9:91","nodeType":"VariableDeclaration","scope":85014,"src":"1465:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85008,"name":"uint256","nodeType":"ElementaryTypeName","src":"1465:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85011,"mutability":"mutable","name":"controller","nameLocation":"1492:10:91","nodeType":"VariableDeclaration","scope":85014,"src":"1484:18:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85010,"name":"address","nodeType":"ElementaryTypeName","src":"1484:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1464:39:91"},"returnParameters":{"id":85013,"nodeType":"ParameterList","parameters":[],"src":"1512:0:91"},"scope":85041,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":85023,"nodeType":"FunctionDefinition","src":"1517:93:91","nodes":[],"functionSelector":"821b9fd8","implemented":false,"kind":"function","modifiers":[],"name":"setTerminalsOf","nameLocation":"1526:14:91","parameters":{"id":85021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85016,"mutability":"mutable","name":"projectId","nameLocation":"1549:9:91","nodeType":"VariableDeclaration","scope":85023,"src":"1541:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85015,"name":"uint256","nodeType":"ElementaryTypeName","src":"1541:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85020,"mutability":"mutable","name":"terminals","nameLocation":"1590:9:91","nodeType":"VariableDeclaration","scope":85023,"src":"1560:39:91","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":85018,"nodeType":"UserDefinedTypeName","pathNode":{"id":85017,"name":"IJBPaymentTerminal","nameLocations":["1560:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1560:18:91"},"referencedDeclaration":85505,"src":"1560:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":85019,"nodeType":"ArrayTypeName","src":"1560:20:91","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"}],"src":"1540:60:91"},"returnParameters":{"id":85022,"nodeType":"ParameterList","parameters":[],"src":"1609:0:91"},"scope":85041,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":85033,"nodeType":"FunctionDefinition","src":"1614:118:91","nodes":[],"functionSelector":"63d0850a","implemented":false,"kind":"function","modifiers":[],"name":"setPrimaryTerminalOf","nameLocation":"1623:20:91","parameters":{"id":85031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85025,"mutability":"mutable","name":"projectId","nameLocation":"1657:9:91","nodeType":"VariableDeclaration","scope":85033,"src":"1649:17:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85024,"name":"uint256","nodeType":"ElementaryTypeName","src":"1649:7:91","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85027,"mutability":"mutable","name":"token","nameLocation":"1680:5:91","nodeType":"VariableDeclaration","scope":85033,"src":"1672:13:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85026,"name":"address","nodeType":"ElementaryTypeName","src":"1672:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85030,"mutability":"mutable","name":"terminal","nameLocation":"1710:8:91","nodeType":"VariableDeclaration","scope":85033,"src":"1691:27:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":85029,"nodeType":"UserDefinedTypeName","pathNode":{"id":85028,"name":"IJBPaymentTerminal","nameLocations":["1691:18:91"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1691:18:91"},"referencedDeclaration":85505,"src":"1691:18:91","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"1643:79:91"},"returnParameters":{"id":85032,"nodeType":"ParameterList","parameters":[],"src":"1731:0:91"},"scope":85041,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":85040,"nodeType":"FunctionDefinition","src":"1736:79:91","nodes":[],"functionSelector":"a1ed3175","implemented":false,"kind":"function","modifiers":[],"name":"setIsAllowedToSetFirstController","nameLocation":"1745:32:91","parameters":{"id":85038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85035,"mutability":"mutable","name":"account","nameLocation":"1786:7:91","nodeType":"VariableDeclaration","scope":85040,"src":"1778:15:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85034,"name":"address","nodeType":"ElementaryTypeName","src":"1778:7:91","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85037,"mutability":"mutable","name":"flag","nameLocation":"1800:4:91","nodeType":"VariableDeclaration","scope":85040,"src":"1795:9:91","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85036,"name":"bool","nodeType":"ElementaryTypeName","src":"1795:4:91","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1777:28:91"},"returnParameters":{"id":85039,"nodeType":"ParameterList","parameters":[],"src":"1814:0:91"},"scope":85041,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBDirectory","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85041],"name":"IJBDirectory","nameLocation":"241:12:91","scope":85042,"usedErrors":[],"usedEvents":[84914,84923,84933,84944,84952]}],"license":"MIT"},"id":91} \ No newline at end of file +{"abi":[{"type":"function","name":"controllerOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToSetFirstController","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"primaryTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPaymentTerminal"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setControllerOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"controller","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsAllowedToSetFirstController","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"flag","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimaryTerminalOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTerminalsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"terminalsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"stateMutability":"view"},{"type":"event","name":"AddTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetController","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"controller","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetIsAllowedToSetFirstController","inputs":[{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"flag","type":"bool","indexed":true,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetPrimaryTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTerminals","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminals","type":"address[]","indexed":false,"internalType":"contract IJBPaymentTerminal[]"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"controllerOf(uint256)":"5dd8f6aa","fundingCycleStore()":"557e7155","isAllowedToSetFirstController(address)":"c5664e21","isTerminalOf(uint256,address)":"6e49181f","primaryTerminalOf(uint256,address)":"86202650","projects()":"8b79543c","setControllerOf(uint256,address)":"714e7f32","setIsAllowedToSetFirstController(address,bool)":"a1ed3175","setPrimaryTerminalOf(uint256,address,address)":"63d0850a","setTerminalsOf(uint256,address[])":"821b9fd8","terminalsOf(uint256)":"d1754153"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetIsAllowedToSetFirstController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetPrimaryTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTerminals\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"controllerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isAllowedToSetFirstController\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"name\":\"isTerminalOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"primaryTerminalOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"setControllerOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"}],\"name\":\"setIsAllowedToSetFirstController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"}],\"name\":\"setPrimaryTerminalOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"}],\"name\":\"setTerminalsOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"terminalsOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":\"IJBDirectory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"controller","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetController","anonymous":false},{"inputs":[{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"bool","name":"flag","type":"bool","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetIsAllowedToSetFirstController","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetPrimaryTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTerminals","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"controllerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedToSetFirstController","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"}],"stateMutability":"view","type":"function","name":"isTerminalOf","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"primaryTerminalOf","outputs":[{"internalType":"contract IJBPaymentTerminal","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setControllerOf"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flag","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsAllowedToSetFirstController"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPrimaryTerminalOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setTerminalsOf"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"terminalsOf","outputs":[{"internalType":"contract IJBPaymentTerminal[]","name":"","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":"IJBDirectory"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":91} \ No newline at end of file diff --git a/out/IJBFundingCycleBallot.sol/IJBFundingCycleBallot.json b/out/IJBFundingCycleBallot.sol/IJBFundingCycleBallot.json index 29de02ed..7c62a335 100644 --- a/out/IJBFundingCycleBallot.sol/IJBFundingCycleBallot.json +++ b/out/IJBFundingCycleBallot.sol/IJBFundingCycleBallot.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"duration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stateOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"duration()":"0fb5a6b4","stateOf(uint256,uint256,uint256)":"74167907","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"duration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"}],\"name\":\"stateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":\"IJBFundingCycleBallot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"}],"stateMutability":"view","type":"function","name":"stateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":"IJBFundingCycleBallot"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol","id":85166,"exportedSymbols":{"IERC165":[97005],"IJBFundingCycleBallot":[85165],"JBBallotState":[84037]},"nodeType":"SourceUnit","src":"32:401:95","nodes":[{"id":85141,"nodeType":"PragmaDirective","src":"32:23:95","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85143,"nodeType":"ImportDirective","src":"57:80:95","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":85166,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":85142,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85145,"nodeType":"ImportDirective","src":"138:59:95","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol","file":"./../enums/JBBallotState.sol","nameLocation":"-1:-1:-1","scope":85166,"sourceUnit":84038,"symbolAliases":[{"foreign":{"id":85144,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"146:13:95","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85165,"nodeType":"ContractDefinition","src":"199:233:95","nodes":[{"id":85152,"nodeType":"FunctionDefinition","src":"246:52:95","nodes":[],"functionSelector":"0fb5a6b4","implemented":false,"kind":"function","modifiers":[],"name":"duration","nameLocation":"255:8:95","parameters":{"id":85148,"nodeType":"ParameterList","parameters":[],"src":"263:2:95"},"returnParameters":{"id":85151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85150,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85152,"src":"289:7:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85149,"name":"uint256","nodeType":"ElementaryTypeName","src":"289:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"288:9:95"},"scope":85165,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85164,"nodeType":"FunctionDefinition","src":"302:128:95","nodes":[],"functionSelector":"74167907","implemented":false,"kind":"function","modifiers":[],"name":"stateOf","nameLocation":"311:7:95","parameters":{"id":85159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85154,"mutability":"mutable","name":"projectId","nameLocation":"332:9:95","nodeType":"VariableDeclaration","scope":85164,"src":"324:17:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85153,"name":"uint256","nodeType":"ElementaryTypeName","src":"324:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85156,"mutability":"mutable","name":"configuration","nameLocation":"355:13:95","nodeType":"VariableDeclaration","scope":85164,"src":"347:21:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85155,"name":"uint256","nodeType":"ElementaryTypeName","src":"347:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85158,"mutability":"mutable","name":"start","nameLocation":"382:5:95","nodeType":"VariableDeclaration","scope":85164,"src":"374:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85157,"name":"uint256","nodeType":"ElementaryTypeName","src":"374:7:95","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"318:73:95"},"returnParameters":{"id":85163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85162,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85164,"src":"415:13:95","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":85161,"nodeType":"UserDefinedTypeName","pathNode":{"id":85160,"name":"JBBallotState","nameLocations":["415:13:95"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"415:13:95"},"referencedDeclaration":84037,"src":"415:13:95","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"414:15:95"},"scope":85165,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":85146,"name":"IERC165","nameLocations":["234:7:95"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"234:7:95"},"id":85147,"nodeType":"InheritanceSpecifier","src":"234:7:95"}],"canonicalName":"IJBFundingCycleBallot","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85165,97005],"name":"IJBFundingCycleBallot","nameLocation":"209:21:95","scope":85166,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":95} \ No newline at end of file +{"abi":[{"type":"function","name":"duration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stateOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"duration()":"0fb5a6b4","stateOf(uint256,uint256,uint256)":"74167907","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"duration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"}],\"name\":\"stateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":\"IJBFundingCycleBallot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"duration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"}],"stateMutability":"view","type":"function","name":"stateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":"IJBFundingCycleBallot"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":95} \ No newline at end of file diff --git a/out/IJBFundingCycleStore.sol/IJBFundingCycleStore.json b/out/IJBFundingCycleStore.sol/IJBFundingCycleStore.json index 1ba7dba4..1779e381 100644 --- a/out/IJBFundingCycleStore.sol/IJBFundingCycleStore.json +++ b/out/IJBFundingCycleStore.sol/IJBFundingCycleStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"configureFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"currentBallotStateOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"currentOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"get","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfigurationOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"ballotState","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"queuedOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"event","name":"Configure","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Init","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"basedOn","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":"a249d425","currentBallotStateOf(uint256)":"c55f571c","currentOf(uint256)":"43a266c2","get(uint256,uint256)":"669e48aa","latestConfigurationOf(uint256)":"2cee6deb","latestConfiguredOf(uint256)":"ebc8ca1f","queuedOf(uint256)":"5c550078"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Configure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"}],\"name\":\"Init\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"}],\"name\":\"configureFor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentBallotStateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfigurationOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"ballotState\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"queuedOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":\"IJBFundingCycleStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}],"indexed":false},{"internalType":"uint256","name":"metadata","type":"uint256","indexed":false},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Configure","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"basedOn","type":"uint256","indexed":true}],"type":"event","name":"Init","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"uint256","name":"metadata","type":"uint256"},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"configureFor","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentBallotStateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"get","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfigurationOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"ballotState","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":"IJBFundingCycleStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","id":85311,"exportedSymbols":{"IJBFundingCycleStore":[85310],"JBBallotState":[84037],"JBFundingCycle":[87801],"JBFundingCycleData":[87816]},"nodeType":"SourceUnit","src":"32:1386:97","nodes":[{"id":85213,"nodeType":"PragmaDirective","src":"32:23:97","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85215,"nodeType":"ImportDirective","src":"57:59:97","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol","file":"./../enums/JBBallotState.sol","nameLocation":"-1:-1:-1","scope":85311,"sourceUnit":84038,"symbolAliases":[{"foreign":{"id":85214,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"65:13:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85217,"nodeType":"ImportDirective","src":"117:63:97","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./../structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":85311,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":85216,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"125:14:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85219,"nodeType":"ImportDirective","src":"181:71:97","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol","file":"./../structs/JBFundingCycleData.sol","nameLocation":"-1:-1:-1","scope":85311,"sourceUnit":87817,"symbolAliases":[{"foreign":{"id":85218,"name":"JBFundingCycleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87816,"src":"189:18:97","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85310,"nodeType":"ContractDefinition","src":"254:1163:97","nodes":[{"id":85234,"nodeType":"EventDefinition","src":"289:189:97","nodes":[],"anonymous":false,"eventSelector":"1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b6","name":"Configure","nameLocation":"295:9:97","parameters":{"id":85233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85221,"indexed":true,"mutability":"mutable","name":"configuration","nameLocation":"326:13:97","nodeType":"VariableDeclaration","scope":85234,"src":"310:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85220,"name":"uint256","nodeType":"ElementaryTypeName","src":"310:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85223,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"361:9:97","nodeType":"VariableDeclaration","scope":85234,"src":"345:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85222,"name":"uint256","nodeType":"ElementaryTypeName","src":"345:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85226,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"395:4:97","nodeType":"VariableDeclaration","scope":85234,"src":"376:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":85225,"nodeType":"UserDefinedTypeName","pathNode":{"id":85224,"name":"JBFundingCycleData","nameLocations":["376:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"376:18:97"},"referencedDeclaration":87816,"src":"376:18:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":85228,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"413:8:97","nodeType":"VariableDeclaration","scope":85234,"src":"405:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85227,"name":"uint256","nodeType":"ElementaryTypeName","src":"405:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85230,"indexed":false,"mutability":"mutable","name":"mustStartAtOrAfter","nameLocation":"435:18:97","nodeType":"VariableDeclaration","scope":85234,"src":"427:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85229,"name":"uint256","nodeType":"ElementaryTypeName","src":"427:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85232,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"467:6:97","nodeType":"VariableDeclaration","scope":85234,"src":"459:14:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85231,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:97","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"304:173:97"}},{"id":85242,"nodeType":"EventDefinition","src":"482:94:97","nodes":[],"anonymous":false,"eventSelector":"f1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f647037","name":"Init","nameLocation":"488:4:97","parameters":{"id":85241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85236,"indexed":true,"mutability":"mutable","name":"configuration","nameLocation":"509:13:97","nodeType":"VariableDeclaration","scope":85242,"src":"493:29:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85235,"name":"uint256","nodeType":"ElementaryTypeName","src":"493:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85238,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"540:9:97","nodeType":"VariableDeclaration","scope":85242,"src":"524:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85237,"name":"uint256","nodeType":"ElementaryTypeName","src":"524:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85240,"indexed":true,"mutability":"mutable","name":"basedOn","nameLocation":"567:7:97","nodeType":"VariableDeclaration","scope":85242,"src":"551:23:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85239,"name":"uint256","nodeType":"ElementaryTypeName","src":"551:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"492:83:97"}},{"id":85249,"nodeType":"FunctionDefinition","src":"580:82:97","nodes":[],"functionSelector":"2cee6deb","implemented":false,"kind":"function","modifiers":[],"name":"latestConfigurationOf","nameLocation":"589:21:97","parameters":{"id":85245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85244,"mutability":"mutable","name":"projectId","nameLocation":"619:9:97","nodeType":"VariableDeclaration","scope":85249,"src":"611:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85243,"name":"uint256","nodeType":"ElementaryTypeName","src":"611:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"610:19:97"},"returnParameters":{"id":85248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85247,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85249,"src":"653:7:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85246,"name":"uint256","nodeType":"ElementaryTypeName","src":"653:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"652:9:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85259,"nodeType":"FunctionDefinition","src":"666:113:97","nodes":[],"functionSelector":"669e48aa","implemented":false,"kind":"function","modifiers":[],"name":"get","nameLocation":"675:3:97","parameters":{"id":85254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85251,"mutability":"mutable","name":"projectId","nameLocation":"692:9:97","nodeType":"VariableDeclaration","scope":85259,"src":"684:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85250,"name":"uint256","nodeType":"ElementaryTypeName","src":"684:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85253,"mutability":"mutable","name":"configuration","nameLocation":"715:13:97","nodeType":"VariableDeclaration","scope":85259,"src":"707:21:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85252,"name":"uint256","nodeType":"ElementaryTypeName","src":"707:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"678:54:97"},"returnParameters":{"id":85258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85257,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85259,"src":"756:21:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":85256,"nodeType":"UserDefinedTypeName","pathNode":{"id":85255,"name":"JBFundingCycle","nameLocations":["756:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"756:14:97"},"referencedDeclaration":87801,"src":"756:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"755:23:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85270,"nodeType":"FunctionDefinition","src":"783:141:97","nodes":[],"functionSelector":"ebc8ca1f","implemented":false,"kind":"function","modifiers":[],"name":"latestConfiguredOf","nameLocation":"792:18:97","parameters":{"id":85262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85261,"mutability":"mutable","name":"projectId","nameLocation":"824:9:97","nodeType":"VariableDeclaration","scope":85270,"src":"816:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85260,"name":"uint256","nodeType":"ElementaryTypeName","src":"816:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"810:27:97"},"returnParameters":{"id":85269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85265,"mutability":"mutable","name":"fundingCycle","nameLocation":"883:12:97","nodeType":"VariableDeclaration","scope":85270,"src":"861:34:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":85264,"nodeType":"UserDefinedTypeName","pathNode":{"id":85263,"name":"JBFundingCycle","nameLocations":["861:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"861:14:97"},"referencedDeclaration":87801,"src":"861:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":85268,"mutability":"mutable","name":"ballotState","nameLocation":"911:11:97","nodeType":"VariableDeclaration","scope":85270,"src":"897:25:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":85267,"nodeType":"UserDefinedTypeName","pathNode":{"id":85266,"name":"JBBallotState","nameLocations":["897:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"897:13:97"},"referencedDeclaration":84037,"src":"897:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"860:63:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85278,"nodeType":"FunctionDefinition","src":"928:96:97","nodes":[],"functionSelector":"5c550078","implemented":false,"kind":"function","modifiers":[],"name":"queuedOf","nameLocation":"937:8:97","parameters":{"id":85273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85272,"mutability":"mutable","name":"projectId","nameLocation":"954:9:97","nodeType":"VariableDeclaration","scope":85278,"src":"946:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85271,"name":"uint256","nodeType":"ElementaryTypeName","src":"946:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"945:19:97"},"returnParameters":{"id":85277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85276,"mutability":"mutable","name":"fundingCycle","nameLocation":"1010:12:97","nodeType":"VariableDeclaration","scope":85278,"src":"988:34:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":85275,"nodeType":"UserDefinedTypeName","pathNode":{"id":85274,"name":"JBFundingCycle","nameLocations":["988:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"988:14:97"},"referencedDeclaration":87801,"src":"988:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"987:36:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85286,"nodeType":"FunctionDefinition","src":"1028:97:97","nodes":[],"functionSelector":"43a266c2","implemented":false,"kind":"function","modifiers":[],"name":"currentOf","nameLocation":"1037:9:97","parameters":{"id":85281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85280,"mutability":"mutable","name":"projectId","nameLocation":"1055:9:97","nodeType":"VariableDeclaration","scope":85286,"src":"1047:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85279,"name":"uint256","nodeType":"ElementaryTypeName","src":"1047:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1046:19:97"},"returnParameters":{"id":85285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85284,"mutability":"mutable","name":"fundingCycle","nameLocation":"1111:12:97","nodeType":"VariableDeclaration","scope":85286,"src":"1089:34:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":85283,"nodeType":"UserDefinedTypeName","pathNode":{"id":85282,"name":"JBFundingCycle","nameLocations":["1089:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1089:14:97"},"referencedDeclaration":87801,"src":"1089:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1088:36:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85294,"nodeType":"FunctionDefinition","src":"1129:87:97","nodes":[],"functionSelector":"c55f571c","implemented":false,"kind":"function","modifiers":[],"name":"currentBallotStateOf","nameLocation":"1138:20:97","parameters":{"id":85289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85288,"mutability":"mutable","name":"projectId","nameLocation":"1167:9:97","nodeType":"VariableDeclaration","scope":85294,"src":"1159:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85287,"name":"uint256","nodeType":"ElementaryTypeName","src":"1159:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1158:19:97"},"returnParameters":{"id":85293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85294,"src":"1201:13:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":85291,"nodeType":"UserDefinedTypeName","pathNode":{"id":85290,"name":"JBBallotState","nameLocations":["1201:13:97"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"1201:13:97"},"referencedDeclaration":84037,"src":"1201:13:97","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"1200:15:97"},"scope":85310,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85309,"nodeType":"FunctionDefinition","src":"1220:195:97","nodes":[],"functionSelector":"a249d425","implemented":false,"kind":"function","modifiers":[],"name":"configureFor","nameLocation":"1229:12:97","parameters":{"id":85304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85296,"mutability":"mutable","name":"projectId","nameLocation":"1255:9:97","nodeType":"VariableDeclaration","scope":85309,"src":"1247:17:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85295,"name":"uint256","nodeType":"ElementaryTypeName","src":"1247:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85299,"mutability":"mutable","name":"data","nameLocation":"1298:4:97","nodeType":"VariableDeclaration","scope":85309,"src":"1270:32:97","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":85298,"nodeType":"UserDefinedTypeName","pathNode":{"id":85297,"name":"JBFundingCycleData","nameLocations":["1270:18:97"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"1270:18:97"},"referencedDeclaration":87816,"src":"1270:18:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":85301,"mutability":"mutable","name":"metadata","nameLocation":"1316:8:97","nodeType":"VariableDeclaration","scope":85309,"src":"1308:16:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85300,"name":"uint256","nodeType":"ElementaryTypeName","src":"1308:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85303,"mutability":"mutable","name":"mustStartAtOrAfter","nameLocation":"1338:18:97","nodeType":"VariableDeclaration","scope":85309,"src":"1330:26:97","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85302,"name":"uint256","nodeType":"ElementaryTypeName","src":"1330:7:97","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1241:119:97"},"returnParameters":{"id":85308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85307,"mutability":"mutable","name":"fundingCycle","nameLocation":"1401:12:97","nodeType":"VariableDeclaration","scope":85309,"src":"1379:34:97","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":85306,"nodeType":"UserDefinedTypeName","pathNode":{"id":85305,"name":"JBFundingCycle","nameLocations":["1379:14:97"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1379:14:97"},"referencedDeclaration":87801,"src":"1379:14:97","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1378:36:97"},"scope":85310,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBFundingCycleStore","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85310],"name":"IJBFundingCycleStore","nameLocation":"264:20:97","scope":85311,"usedErrors":[],"usedEvents":[85234,85242]}],"license":"MIT"},"id":97} \ No newline at end of file +{"abi":[{"type":"function","name":"configureFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"currentBallotStateOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"currentOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"get","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfigurationOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"ballotState","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"queuedOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"event","name":"Configure","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Init","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"basedOn","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":"a249d425","currentBallotStateOf(uint256)":"c55f571c","currentOf(uint256)":"43a266c2","get(uint256,uint256)":"669e48aa","latestConfigurationOf(uint256)":"2cee6deb","latestConfiguredOf(uint256)":"ebc8ca1f","queuedOf(uint256)":"5c550078"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Configure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"}],\"name\":\"Init\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"}],\"name\":\"configureFor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentBallotStateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfigurationOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"ballotState\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"queuedOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":\"IJBFundingCycleStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}],"indexed":false},{"internalType":"uint256","name":"metadata","type":"uint256","indexed":false},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Configure","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"basedOn","type":"uint256","indexed":true}],"type":"event","name":"Init","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"uint256","name":"metadata","type":"uint256"},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"configureFor","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentBallotStateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"get","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfigurationOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"ballotState","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":"IJBFundingCycleStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":97} \ No newline at end of file diff --git a/out/IJBMigratable.sol/IJBMigratable.json b/out/IJBMigratable.sol/IJBMigratable.json index 5d807936..a2a47509 100644 --- a/out/IJBMigratable.sol/IJBMigratable.json +++ b/out/IJBMigratable.sol/IJBMigratable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"prepForMigrationOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"prepForMigrationOf(uint256,address)":"3e8c615b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"prepForMigrationOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":\"IJBMigratable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"from","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepForMigrationOf"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":"IJBMigratable"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol","id":85321,"exportedSymbols":{"IJBMigratable":[85320]},"nodeType":"SourceUnit","src":"32:126:98","nodes":[{"id":85312,"nodeType":"PragmaDirective","src":"32:23:98","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85320,"nodeType":"ContractDefinition","src":"57:100:98","nodes":[{"id":85319,"nodeType":"FunctionDefinition","src":"85:70:98","nodes":[],"functionSelector":"3e8c615b","implemented":false,"kind":"function","modifiers":[],"name":"prepForMigrationOf","nameLocation":"94:18:98","parameters":{"id":85317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85314,"mutability":"mutable","name":"projectId","nameLocation":"121:9:98","nodeType":"VariableDeclaration","scope":85319,"src":"113:17:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85313,"name":"uint256","nodeType":"ElementaryTypeName","src":"113:7:98","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85316,"mutability":"mutable","name":"from","nameLocation":"140:4:98","nodeType":"VariableDeclaration","scope":85319,"src":"132:12:98","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85315,"name":"address","nodeType":"ElementaryTypeName","src":"132:7:98","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"112:33:98"},"returnParameters":{"id":85318,"nodeType":"ParameterList","parameters":[],"src":"154:0:98"},"scope":85320,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBMigratable","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85320],"name":"IJBMigratable","nameLocation":"67:13:98","scope":85321,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":98} \ No newline at end of file +{"abi":[{"type":"function","name":"prepForMigrationOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"prepForMigrationOf(uint256,address)":"3e8c615b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"}],\"name\":\"prepForMigrationOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":\"IJBMigratable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"from","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prepForMigrationOf"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":"IJBMigratable"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"}},"version":1},"id":98} \ No newline at end of file diff --git a/out/IJBOperatable.sol/IJBOperatable.json b/out/IJBOperatable.sol/IJBOperatable.json index 9c7cb67a..177d7b28 100644 --- a/out/IJBOperatable.sol/IJBOperatable.json +++ b/out/IJBOperatable.sol/IJBOperatable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"operatorStore()":"ad007d63"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":\"IJBOperatable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":"IJBOperatable"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol","id":85332,"exportedSymbols":{"IJBOperatable":[85331],"IJBOperatorStore":[85400]},"nodeType":"SourceUnit","src":"32:180:99","nodes":[{"id":85322,"nodeType":"PragmaDirective","src":"32:23:99","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85324,"nodeType":"ImportDirective","src":"57:56:99","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":85332,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":85323,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"65:16:99","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85331,"nodeType":"ContractDefinition","src":"115:96:99","nodes":[{"id":85330,"nodeType":"FunctionDefinition","src":"143:66:99","nodes":[],"functionSelector":"ad007d63","implemented":false,"kind":"function","modifiers":[],"name":"operatorStore","nameLocation":"152:13:99","parameters":{"id":85325,"nodeType":"ParameterList","parameters":[],"src":"165:2:99"},"returnParameters":{"id":85329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85328,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85330,"src":"191:16:99","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":85327,"nodeType":"UserDefinedTypeName","pathNode":{"id":85326,"name":"IJBOperatorStore","nameLocations":["191:16:99"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"191:16:99"},"referencedDeclaration":85400,"src":"191:16:99","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"}],"src":"190:18:99"},"scope":85331,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBOperatable","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85331],"name":"IJBOperatable","nameLocation":"125:13:99","scope":85332,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":99} \ No newline at end of file +{"abi":[{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"operatorStore()":"ad007d63"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":\"IJBOperatable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":"IJBOperatable"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"id":99} \ No newline at end of file diff --git a/out/IJBOperatorStore.sol/IJBOperatorStore.json b/out/IJBOperatorStore.sol/IJBOperatorStore.json index 46596412..2456c35b 100644 --- a/out/IJBOperatorStore.sol/IJBOperatorStore.json +++ b/out/IJBOperatorStore.sol/IJBOperatorStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"hasPermission","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasPermissions","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"permissionsOf","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setOperator","inputs":[{"name":"operatorData","type":"tuple","internalType":"struct JBOperatorData","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperators","inputs":[{"name":"operatorData","type":"tuple[]","internalType":"struct JBOperatorData[]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SetOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"packed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"hasPermission(address,address,uint256,uint256)":"c161c93f","hasPermissions(address,address,uint256,uint256[])":"0f5932f0","permissionsOf(address,address,uint256)":"80deb230","setOperator((address,uint256,uint256[]))":"529cdd2e","setOperators((address,uint256,uint256[])[])":"8d5f697f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packed\",\"type\":\"uint256\"}],\"name\":\"SetOperator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permissionIndex\",\"type\":\"uint256\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"name\":\"hasPermissions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"name\":\"permissionsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData\",\"name\":\"operatorData\",\"type\":\"tuple\"}],\"name\":\"setOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData[]\",\"name\":\"operatorData\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":\"IJBOperatorStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"packed","type":"uint256","indexed":false}],"type":"event","name":"SetOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256","name":"permissionIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"hasPermissions","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"}],"stateMutability":"view","type":"function","name":"permissionsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBOperatorData","name":"operatorData","type":"tuple","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperator"},{"inputs":[{"internalType":"struct JBOperatorData[]","name":"operatorData","type":"tuple[]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperators"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":"IJBOperatorStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","id":85401,"exportedSymbols":{"IJBOperatorStore":[85400],"JBOperatorData":[87892]},"nodeType":"SourceUnit","src":"32:877:100","nodes":[{"id":85333,"nodeType":"PragmaDirective","src":"32:23:100","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85335,"nodeType":"ImportDirective","src":"57:63:100","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol","file":"./../structs/JBOperatorData.sol","nameLocation":"-1:-1:-1","scope":85401,"sourceUnit":87893,"symbolAliases":[{"foreign":{"id":85334,"name":"JBOperatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87892,"src":"65:14:100","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85400,"nodeType":"ContractDefinition","src":"122:786:100","nodes":[{"id":85348,"nodeType":"EventDefinition","src":"153:162:100","nodes":[],"anonymous":false,"eventSelector":"9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb320","name":"SetOperator","nameLocation":"159:11:100","parameters":{"id":85347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85337,"indexed":true,"mutability":"mutable","name":"operator","nameLocation":"192:8:100","nodeType":"VariableDeclaration","scope":85348,"src":"176:24:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85336,"name":"address","nodeType":"ElementaryTypeName","src":"176:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85339,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"222:7:100","nodeType":"VariableDeclaration","scope":85348,"src":"206:23:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85338,"name":"address","nodeType":"ElementaryTypeName","src":"206:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85341,"indexed":true,"mutability":"mutable","name":"domain","nameLocation":"251:6:100","nodeType":"VariableDeclaration","scope":85348,"src":"235:22:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85340,"name":"uint256","nodeType":"ElementaryTypeName","src":"235:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85344,"indexed":false,"mutability":"mutable","name":"permissionIndexes","nameLocation":"273:17:100","nodeType":"VariableDeclaration","scope":85348,"src":"263:27:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":85342,"name":"uint256","nodeType":"ElementaryTypeName","src":"263:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85343,"nodeType":"ArrayTypeName","src":"263:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":85346,"indexed":false,"mutability":"mutable","name":"packed","nameLocation":"304:6:100","nodeType":"VariableDeclaration","scope":85348,"src":"296:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85345,"name":"uint256","nodeType":"ElementaryTypeName","src":"296:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"170:144:100"}},{"id":85359,"nodeType":"FunctionDefinition","src":"319:122:100","nodes":[],"functionSelector":"80deb230","implemented":false,"kind":"function","modifiers":[],"name":"permissionsOf","nameLocation":"328:13:100","parameters":{"id":85355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85350,"mutability":"mutable","name":"operator","nameLocation":"355:8:100","nodeType":"VariableDeclaration","scope":85359,"src":"347:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85349,"name":"address","nodeType":"ElementaryTypeName","src":"347:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85352,"mutability":"mutable","name":"account","nameLocation":"377:7:100","nodeType":"VariableDeclaration","scope":85359,"src":"369:15:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85351,"name":"address","nodeType":"ElementaryTypeName","src":"369:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85354,"mutability":"mutable","name":"domain","nameLocation":"398:6:100","nodeType":"VariableDeclaration","scope":85359,"src":"390:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85353,"name":"uint256","nodeType":"ElementaryTypeName","src":"390:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"341:67:100"},"returnParameters":{"id":85358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85357,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85359,"src":"432:7:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85356,"name":"uint256","nodeType":"ElementaryTypeName","src":"432:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"431:9:100"},"scope":85400,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85372,"nodeType":"FunctionDefinition","src":"445:148:100","nodes":[],"functionSelector":"c161c93f","implemented":false,"kind":"function","modifiers":[],"name":"hasPermission","nameLocation":"454:13:100","parameters":{"id":85368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85361,"mutability":"mutable","name":"operator","nameLocation":"481:8:100","nodeType":"VariableDeclaration","scope":85372,"src":"473:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85360,"name":"address","nodeType":"ElementaryTypeName","src":"473:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85363,"mutability":"mutable","name":"account","nameLocation":"503:7:100","nodeType":"VariableDeclaration","scope":85372,"src":"495:15:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85362,"name":"address","nodeType":"ElementaryTypeName","src":"495:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85365,"mutability":"mutable","name":"domain","nameLocation":"524:6:100","nodeType":"VariableDeclaration","scope":85372,"src":"516:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85364,"name":"uint256","nodeType":"ElementaryTypeName","src":"516:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85367,"mutability":"mutable","name":"permissionIndex","nameLocation":"544:15:100","nodeType":"VariableDeclaration","scope":85372,"src":"536:23:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85366,"name":"uint256","nodeType":"ElementaryTypeName","src":"536:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"467:96:100"},"returnParameters":{"id":85371,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85370,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85372,"src":"587:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85369,"name":"bool","nodeType":"ElementaryTypeName","src":"587:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"586:6:100"},"scope":85400,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85386,"nodeType":"FunctionDefinition","src":"597:162:100","nodes":[],"functionSelector":"0f5932f0","implemented":false,"kind":"function","modifiers":[],"name":"hasPermissions","nameLocation":"606:14:100","parameters":{"id":85382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85374,"mutability":"mutable","name":"operator","nameLocation":"634:8:100","nodeType":"VariableDeclaration","scope":85386,"src":"626:16:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85373,"name":"address","nodeType":"ElementaryTypeName","src":"626:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85376,"mutability":"mutable","name":"account","nameLocation":"656:7:100","nodeType":"VariableDeclaration","scope":85386,"src":"648:15:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85375,"name":"address","nodeType":"ElementaryTypeName","src":"648:7:100","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85378,"mutability":"mutable","name":"domain","nameLocation":"677:6:100","nodeType":"VariableDeclaration","scope":85386,"src":"669:14:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85377,"name":"uint256","nodeType":"ElementaryTypeName","src":"669:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85381,"mutability":"mutable","name":"permissionIndexes","nameLocation":"708:17:100","nodeType":"VariableDeclaration","scope":85386,"src":"689:36:100","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":85379,"name":"uint256","nodeType":"ElementaryTypeName","src":"689:7:100","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":85380,"nodeType":"ArrayTypeName","src":"689:9:100","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"620:109:100"},"returnParameters":{"id":85385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85386,"src":"753:4:100","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85383,"name":"bool","nodeType":"ElementaryTypeName","src":"753:4:100","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"752:6:100"},"scope":85400,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85392,"nodeType":"FunctionDefinition","src":"763:68:100","nodes":[],"functionSelector":"529cdd2e","implemented":false,"kind":"function","modifiers":[],"name":"setOperator","nameLocation":"772:11:100","parameters":{"id":85390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85389,"mutability":"mutable","name":"operatorData","nameLocation":"808:12:100","nodeType":"VariableDeclaration","scope":85392,"src":"784:36:100","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData"},"typeName":{"id":85388,"nodeType":"UserDefinedTypeName","pathNode":{"id":85387,"name":"JBOperatorData","nameLocations":["784:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":87892,"src":"784:14:100"},"referencedDeclaration":87892,"src":"784:14:100","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_storage_ptr","typeString":"struct JBOperatorData"}},"visibility":"internal"}],"src":"783:38:100"},"returnParameters":{"id":85391,"nodeType":"ParameterList","parameters":[],"src":"830:0:100"},"scope":85400,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":85399,"nodeType":"FunctionDefinition","src":"835:71:100","nodes":[],"functionSelector":"8d5f697f","implemented":false,"kind":"function","modifiers":[],"name":"setOperators","nameLocation":"844:12:100","parameters":{"id":85397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85396,"mutability":"mutable","name":"operatorData","nameLocation":"883:12:100","nodeType":"VariableDeclaration","scope":85399,"src":"857:38:100","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData[]"},"typeName":{"baseType":{"id":85394,"nodeType":"UserDefinedTypeName","pathNode":{"id":85393,"name":"JBOperatorData","nameLocations":["857:14:100"],"nodeType":"IdentifierPath","referencedDeclaration":87892,"src":"857:14:100"},"referencedDeclaration":87892,"src":"857:14:100","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_storage_ptr","typeString":"struct JBOperatorData"}},"id":85395,"nodeType":"ArrayTypeName","src":"857:16:100","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_storage_$dyn_storage_ptr","typeString":"struct JBOperatorData[]"}},"visibility":"internal"}],"src":"856:40:100"},"returnParameters":{"id":85398,"nodeType":"ParameterList","parameters":[],"src":"905:0:100"},"scope":85400,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBOperatorStore","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85400],"name":"IJBOperatorStore","nameLocation":"132:16:100","scope":85401,"usedErrors":[],"usedEvents":[85348]}],"license":"MIT"},"id":100} \ No newline at end of file +{"abi":[{"type":"function","name":"hasPermission","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasPermissions","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"permissionsOf","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setOperator","inputs":[{"name":"operatorData","type":"tuple","internalType":"struct JBOperatorData","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperators","inputs":[{"name":"operatorData","type":"tuple[]","internalType":"struct JBOperatorData[]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SetOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"packed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"hasPermission(address,address,uint256,uint256)":"c161c93f","hasPermissions(address,address,uint256,uint256[])":"0f5932f0","permissionsOf(address,address,uint256)":"80deb230","setOperator((address,uint256,uint256[]))":"529cdd2e","setOperators((address,uint256,uint256[])[])":"8d5f697f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packed\",\"type\":\"uint256\"}],\"name\":\"SetOperator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"permissionIndex\",\"type\":\"uint256\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"name\":\"hasPermissions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"name\":\"permissionsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData\",\"name\":\"operatorData\",\"type\":\"tuple\"}],\"name\":\"setOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData[]\",\"name\":\"operatorData\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":\"IJBOperatorStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"packed","type":"uint256","indexed":false}],"type":"event","name":"SetOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256","name":"permissionIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"hasPermissions","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"}],"stateMutability":"view","type":"function","name":"permissionsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBOperatorData","name":"operatorData","type":"tuple","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperator"},{"inputs":[{"internalType":"struct JBOperatorData[]","name":"operatorData","type":"tuple[]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperators"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":"IJBOperatorStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"id":100} \ No newline at end of file diff --git a/out/IJBPayDelegate.sol/IJBPayDelegate.json b/out/IJBPayDelegate.sol/IJBPayDelegate.json index 5c2b14a7..55a38a6b 100644 --- a/out/IJBPayDelegate.sol/IJBPayDelegate.json +++ b/out/IJBPayDelegate.sol/IJBPayDelegate.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"didPay","inputs":[{"name":"data","type":"tuple","internalType":"struct JBDidPayData","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":"da9ee8b7","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))\":{\"details\":\"Critical business logic should be protected by an appropriate access control\",\"params\":{\"data\":\"the data passed by the terminal, as a JBDidPayData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Pay delegate\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))\":{\"notice\":\"This function is called by JBPaymentTerminal.pay(..), after the execution of its logic\"}},\"notice\":\"Delegate called after JBTerminal.pay(..) logic completion (if passed by the funding cycle datasource)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":\"IJBPayDelegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":{\"keccak256\":\"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a\",\"dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol\":{\"keccak256\":\"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5\",\"dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBDidPayData","name":"data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":{"details":"Critical business logic should be protected by an appropriate access control","params":{"data":"the data passed by the terminal, as a JBDidPayData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":{"notice":"This function is called by JBPaymentTerminal.pay(..), after the execution of its logic"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":"IJBPayDelegate"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":{"keccak256":"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02","urls":["bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a","dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol":{"keccak256":"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e","urls":["bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5","dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol","id":85418,"exportedSymbols":{"IERC165":[97005],"IJBPayDelegate":[85417],"JBDidPayData":[87661]},"nodeType":"SourceUnit","src":"32:675:101","nodes":[{"id":85402,"nodeType":"PragmaDirective","src":"32:23:101","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85404,"nodeType":"ImportDirective","src":"57:80:101","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":85418,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":85403,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85406,"nodeType":"ImportDirective","src":"138:59:101","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol","file":"./../structs/JBDidPayData.sol","nameLocation":"-1:-1:-1","scope":85418,"sourceUnit":87662,"symbolAliases":[{"foreign":{"id":85405,"name":"JBDidPayData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87661,"src":"146:12:101","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85417,"nodeType":"ContractDefinition","src":"337:369:101","nodes":[{"id":85416,"nodeType":"FunctionDefinition","src":"643:61:101","nodes":[],"documentation":{"id":85410,"nodeType":"StructuredDocumentation","src":"377:263:101","text":"@notice This function is called by JBPaymentTerminal.pay(..), after the execution of its logic\n @dev Critical business logic should be protected by an appropriate access control\n @param data the data passed by the terminal, as a JBDidPayData struct:"},"functionSelector":"da9ee8b7","implemented":false,"kind":"function","modifiers":[],"name":"didPay","nameLocation":"652:6:101","parameters":{"id":85414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85413,"mutability":"mutable","name":"data","nameLocation":"681:4:101","nodeType":"VariableDeclaration","scope":85416,"src":"659:26:101","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData_$87661_calldata_ptr","typeString":"struct JBDidPayData"},"typeName":{"id":85412,"nodeType":"UserDefinedTypeName","pathNode":{"id":85411,"name":"JBDidPayData","nameLocations":["659:12:101"],"nodeType":"IdentifierPath","referencedDeclaration":87661,"src":"659:12:101"},"referencedDeclaration":87661,"src":"659:12:101","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData_$87661_storage_ptr","typeString":"struct JBDidPayData"}},"visibility":"internal"}],"src":"658:28:101"},"returnParameters":{"id":85415,"nodeType":"ParameterList","parameters":[],"src":"703:0:101"},"scope":85417,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":85408,"name":"IERC165","nameLocations":["365:7:101"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"365:7:101"},"id":85409,"nodeType":"InheritanceSpecifier","src":"365:7:101"}],"canonicalName":"IJBPayDelegate","contractDependencies":[],"contractKind":"interface","documentation":{"id":85407,"nodeType":"StructuredDocumentation","src":"199:138:101","text":"@title Pay delegate\n @notice Delegate called after JBTerminal.pay(..) logic completion (if passed by the funding cycle datasource)"},"fullyImplemented":false,"linearizedBaseContracts":[85417,97005],"name":"IJBPayDelegate","nameLocation":"347:14:101","scope":85418,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":101} \ No newline at end of file +{"abi":[{"type":"function","name":"didPay","inputs":[{"name":"data","type":"tuple","internalType":"struct JBDidPayData","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":"da9ee8b7","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))\":{\"details\":\"Critical business logic should be protected by an appropriate access control\",\"params\":{\"data\":\"the data passed by the terminal, as a JBDidPayData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Pay delegate\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))\":{\"notice\":\"This function is called by JBPaymentTerminal.pay(..), after the execution of its logic\"}},\"notice\":\"Delegate called after JBTerminal.pay(..) logic completion (if passed by the funding cycle datasource)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":\"IJBPayDelegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":{\"keccak256\":\"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a\",\"dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol\":{\"keccak256\":\"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5\",\"dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBDidPayData","name":"data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":{"details":"Critical business logic should be protected by an appropriate access control","params":{"data":"the data passed by the terminal, as a JBDidPayData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes))":{"notice":"This function is called by JBPaymentTerminal.pay(..), after the execution of its logic"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":"IJBPayDelegate"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":{"keccak256":"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02","urls":["bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a","dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol":{"keccak256":"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e","urls":["bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5","dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":101} \ No newline at end of file diff --git a/out/IJBPaymentTerminal.sol/IJBPaymentTerminal.json b/out/IJBPaymentTerminal.sol/IJBPaymentTerminal.json index 24618b30..fd088b48 100644 --- a/out/IJBPaymentTerminal.sol/IJBPaymentTerminal.json +++ b/out/IJBPaymentTerminal.sol/IJBPaymentTerminal.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currencyForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":\"IJBPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":"IJBPaymentTerminal"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","id":85506,"exportedSymbols":{"IERC165":[97005],"IJBPaymentTerminal":[85505]},"nodeType":"SourceUnit","src":"32:990:103","nodes":[{"id":85436,"nodeType":"PragmaDirective","src":"32:23:103","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85438,"nodeType":"ImportDirective","src":"57:80:103","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":85506,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":85437,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:103","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":85505,"nodeType":"ContractDefinition","src":"139:882:103","nodes":[{"id":85449,"nodeType":"FunctionDefinition","src":"183:85:103","nodes":[],"functionSelector":"df21a7dd","implemented":false,"kind":"function","modifiers":[],"name":"acceptsToken","nameLocation":"192:12:103","parameters":{"id":85445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85442,"mutability":"mutable","name":"token","nameLocation":"213:5:103","nodeType":"VariableDeclaration","scope":85449,"src":"205:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85441,"name":"address","nodeType":"ElementaryTypeName","src":"205:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85444,"mutability":"mutable","name":"projectId","nameLocation":"228:9:103","nodeType":"VariableDeclaration","scope":85449,"src":"220:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85443,"name":"uint256","nodeType":"ElementaryTypeName","src":"220:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"204:34:103"},"returnParameters":{"id":85448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85447,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85449,"src":"262:4:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85446,"name":"bool","nodeType":"ElementaryTypeName","src":"262:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"261:6:103"},"scope":85505,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85456,"nodeType":"FunctionDefinition","src":"272:73:103","nodes":[],"functionSelector":"1982d679","implemented":false,"kind":"function","modifiers":[],"name":"currencyForToken","nameLocation":"281:16:103","parameters":{"id":85452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85451,"mutability":"mutable","name":"token","nameLocation":"306:5:103","nodeType":"VariableDeclaration","scope":85456,"src":"298:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85450,"name":"address","nodeType":"ElementaryTypeName","src":"298:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"297:15:103"},"returnParameters":{"id":85455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85454,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85456,"src":"336:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85453,"name":"uint256","nodeType":"ElementaryTypeName","src":"336:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"335:9:103"},"scope":85505,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85463,"nodeType":"FunctionDefinition","src":"349:73:103","nodes":[],"functionSelector":"b7bad1b1","implemented":false,"kind":"function","modifiers":[],"name":"decimalsForToken","nameLocation":"358:16:103","parameters":{"id":85459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85458,"mutability":"mutable","name":"token","nameLocation":"383:5:103","nodeType":"VariableDeclaration","scope":85463,"src":"375:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85457,"name":"address","nodeType":"ElementaryTypeName","src":"375:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"374:15:103"},"returnParameters":{"id":85462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85463,"src":"413:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85460,"name":"uint256","nodeType":"ElementaryTypeName","src":"413:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"412:9:103"},"scope":85505,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85470,"nodeType":"FunctionDefinition","src":"491:81:103","nodes":[],"functionSelector":"a32e1e96","implemented":false,"kind":"function","modifiers":[],"name":"currentEthOverflowOf","nameLocation":"500:20:103","parameters":{"id":85466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85465,"mutability":"mutable","name":"projectId","nameLocation":"529:9:103","nodeType":"VariableDeclaration","scope":85470,"src":"521:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85464,"name":"uint256","nodeType":"ElementaryTypeName","src":"521:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"520:19:103"},"returnParameters":{"id":85469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85470,"src":"563:7:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85467,"name":"uint256","nodeType":"ElementaryTypeName","src":"563:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"562:9:103"},"scope":85505,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85491,"nodeType":"FunctionDefinition","src":"576:277:103","nodes":[],"functionSelector":"1ebc263f","implemented":false,"kind":"function","modifiers":[],"name":"pay","nameLocation":"585:3:103","parameters":{"id":85487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85472,"mutability":"mutable","name":"projectId","nameLocation":"602:9:103","nodeType":"VariableDeclaration","scope":85491,"src":"594:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85471,"name":"uint256","nodeType":"ElementaryTypeName","src":"594:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85474,"mutability":"mutable","name":"amount","nameLocation":"625:6:103","nodeType":"VariableDeclaration","scope":85491,"src":"617:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85473,"name":"uint256","nodeType":"ElementaryTypeName","src":"617:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85476,"mutability":"mutable","name":"token","nameLocation":"645:5:103","nodeType":"VariableDeclaration","scope":85491,"src":"637:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85475,"name":"address","nodeType":"ElementaryTypeName","src":"637:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85478,"mutability":"mutable","name":"beneficiary","nameLocation":"664:11:103","nodeType":"VariableDeclaration","scope":85491,"src":"656:19:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85477,"name":"address","nodeType":"ElementaryTypeName","src":"656:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85480,"mutability":"mutable","name":"minReturnedTokens","nameLocation":"689:17:103","nodeType":"VariableDeclaration","scope":85491,"src":"681:25:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85479,"name":"uint256","nodeType":"ElementaryTypeName","src":"681:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85482,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"717:19:103","nodeType":"VariableDeclaration","scope":85491,"src":"712:24:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":85481,"name":"bool","nodeType":"ElementaryTypeName","src":"712:4:103","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":85484,"mutability":"mutable","name":"memo","nameLocation":"758:4:103","nodeType":"VariableDeclaration","scope":85491,"src":"742:20:103","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":85483,"name":"string","nodeType":"ElementaryTypeName","src":"742:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":85486,"mutability":"mutable","name":"metadata","nameLocation":"783:8:103","nodeType":"VariableDeclaration","scope":85491,"src":"768:23:103","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85485,"name":"bytes","nodeType":"ElementaryTypeName","src":"768:5:103","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"588:207:103"},"returnParameters":{"id":85490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85489,"mutability":"mutable","name":"beneficiaryTokenCount","nameLocation":"830:21:103","nodeType":"VariableDeclaration","scope":85491,"src":"822:29:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85488,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:31:103"},"scope":85505,"stateMutability":"payable","virtual":false,"visibility":"external"},{"id":85504,"nodeType":"FunctionDefinition","src":"857:162:103","nodes":[],"functionSelector":"0cf8e858","implemented":false,"kind":"function","modifiers":[],"name":"addToBalanceOf","nameLocation":"866:14:103","parameters":{"id":85502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85493,"mutability":"mutable","name":"projectId","nameLocation":"894:9:103","nodeType":"VariableDeclaration","scope":85504,"src":"886:17:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85492,"name":"uint256","nodeType":"ElementaryTypeName","src":"886:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85495,"mutability":"mutable","name":"amount","nameLocation":"917:6:103","nodeType":"VariableDeclaration","scope":85504,"src":"909:14:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85494,"name":"uint256","nodeType":"ElementaryTypeName","src":"909:7:103","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85497,"mutability":"mutable","name":"token","nameLocation":"937:5:103","nodeType":"VariableDeclaration","scope":85504,"src":"929:13:103","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85496,"name":"address","nodeType":"ElementaryTypeName","src":"929:7:103","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":85499,"mutability":"mutable","name":"memo","nameLocation":"964:4:103","nodeType":"VariableDeclaration","scope":85504,"src":"948:20:103","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":85498,"name":"string","nodeType":"ElementaryTypeName","src":"948:6:103","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":85501,"mutability":"mutable","name":"metadata","nameLocation":"989:8:103","nodeType":"VariableDeclaration","scope":85504,"src":"974:23:103","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":85500,"name":"bytes","nodeType":"ElementaryTypeName","src":"974:5:103","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"880:121:103"},"returnParameters":{"id":85503,"nodeType":"ParameterList","parameters":[],"src":"1018:0:103"},"scope":85505,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":85439,"name":"IERC165","nameLocations":["171:7:103"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"171:7:103"},"id":85440,"nodeType":"InheritanceSpecifier","src":"171:7:103"}],"canonicalName":"IJBPaymentTerminal","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85505,97005],"name":"IJBPaymentTerminal","nameLocation":"149:18:103","scope":85506,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":103} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currencyForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":\"IJBPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":"IJBPaymentTerminal"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":103} \ No newline at end of file diff --git a/out/IJBPriceFeed.sol/IJBPriceFeed.json b/out/IJBPriceFeed.sol/IJBPriceFeed.json index 5fb90d63..d63075b2 100644 --- a/out/IJBPriceFeed.sol/IJBPriceFeed.json +++ b/out/IJBPriceFeed.sol/IJBPriceFeed.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"currentPrice","inputs":[{"name":"targetDecimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"currentPrice(uint256)":"7a3c4c17"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targetDecimals\",\"type\":\"uint256\"}],\"name\":\"currentPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":\"IJBPriceFeed\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"targetDecimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":"IJBPriceFeed"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol","id":85956,"exportedSymbols":{"IJBPriceFeed":[85955]},"nodeType":"SourceUnit","src":"32:133:107","nodes":[{"id":85947,"nodeType":"PragmaDirective","src":"32:23:107","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85955,"nodeType":"ContractDefinition","src":"57:107:107","nodes":[{"id":85954,"nodeType":"FunctionDefinition","src":"84:78:107","nodes":[],"functionSelector":"7a3c4c17","implemented":false,"kind":"function","modifiers":[],"name":"currentPrice","nameLocation":"93:12:107","parameters":{"id":85950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85949,"mutability":"mutable","name":"targetDecimals","nameLocation":"114:14:107","nodeType":"VariableDeclaration","scope":85954,"src":"106:22:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85948,"name":"uint256","nodeType":"ElementaryTypeName","src":"106:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"105:24:107"},"returnParameters":{"id":85953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85954,"src":"153:7:107","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85951,"name":"uint256","nodeType":"ElementaryTypeName","src":"153:7:107","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"152:9:107"},"scope":85955,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBPriceFeed","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[85955],"name":"IJBPriceFeed","nameLocation":"67:12:107","scope":85956,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":107} \ No newline at end of file +{"abi":[{"type":"function","name":"currentPrice","inputs":[{"name":"targetDecimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"currentPrice(uint256)":"7a3c4c17"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"targetDecimals\",\"type\":\"uint256\"}],\"name\":\"currentPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":\"IJBPriceFeed\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"targetDecimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":"IJBPriceFeed"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file diff --git a/out/IJBPrices.sol/IJBPrices.json b/out/IJBPrices.sol/IJBPrices.json index c17c2828..bb23ef90 100644 --- a/out/IJBPrices.sol/IJBPrices.json +++ b/out/IJBPrices.sol/IJBPrices.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"addFeedFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"},{"name":"priceFeed","type":"address","internalType":"contract IJBPriceFeed"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feedFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPriceFeed"}],"stateMutability":"view"},{"type":"function","name":"priceFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AddFeed","inputs":[{"name":"currency","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"base","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"feed","type":"address","indexed":false,"internalType":"contract IJBPriceFeed"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addFeedFor(uint256,uint256,address)":"96364e6d","feedFor(uint256,uint256)":"15d63a91","priceFor(uint256,uint256,uint256)":"a4d0caf2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPriceFeed\",\"name\":\"feed\",\"type\":\"address\"}],\"name\":\"AddFeed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"addFeedFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"}],\"name\":\"feedFor\",\"outputs\":[{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"priceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":\"IJBPrices\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256","indexed":true},{"internalType":"uint256","name":"base","type":"uint256","indexed":true},{"internalType":"contract IJBPriceFeed","name":"feed","type":"address","indexed":false}],"type":"event","name":"AddFeed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"contract IJBPriceFeed","name":"priceFeed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addFeedFor"},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"}],"stateMutability":"view","type":"function","name":"feedFor","outputs":[{"internalType":"contract IJBPriceFeed","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"priceFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":"IJBPrices"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","id":86001,"exportedSymbols":{"IJBPriceFeed":[85955],"IJBPrices":[86000]},"nodeType":"SourceUnit","src":"32:482:108","nodes":[{"id":85957,"nodeType":"PragmaDirective","src":"32:23:108","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":85959,"nodeType":"ImportDirective","src":"57:48:108","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol","file":"./IJBPriceFeed.sol","nameLocation":"-1:-1:-1","scope":86001,"sourceUnit":85956,"symbolAliases":[{"foreign":{"id":85958,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"65:12:108","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86000,"nodeType":"ContractDefinition","src":"107:406:108","nodes":[{"id":85968,"nodeType":"EventDefinition","src":"131:81:108","nodes":[],"anonymous":false,"eventSelector":"2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057","name":"AddFeed","nameLocation":"137:7:108","parameters":{"id":85967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85961,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"161:8:108","nodeType":"VariableDeclaration","scope":85968,"src":"145:24:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85960,"name":"uint256","nodeType":"ElementaryTypeName","src":"145:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85963,"indexed":true,"mutability":"mutable","name":"base","nameLocation":"187:4:108","nodeType":"VariableDeclaration","scope":85968,"src":"171:20:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85962,"name":"uint256","nodeType":"ElementaryTypeName","src":"171:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85966,"indexed":false,"mutability":"mutable","name":"feed","nameLocation":"206:4:108","nodeType":"VariableDeclaration","scope":85968,"src":"193:17:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"typeName":{"id":85965,"nodeType":"UserDefinedTypeName","pathNode":{"id":85964,"name":"IJBPriceFeed","nameLocations":["193:12:108"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"193:12:108"},"referencedDeclaration":85955,"src":"193:12:108","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"visibility":"internal"}],"src":"144:67:108"}},{"id":85978,"nodeType":"FunctionDefinition","src":"216:86:108","nodes":[],"functionSelector":"15d63a91","implemented":false,"kind":"function","modifiers":[],"name":"feedFor","nameLocation":"225:7:108","parameters":{"id":85973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85970,"mutability":"mutable","name":"currency","nameLocation":"241:8:108","nodeType":"VariableDeclaration","scope":85978,"src":"233:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85969,"name":"uint256","nodeType":"ElementaryTypeName","src":"233:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85972,"mutability":"mutable","name":"base","nameLocation":"259:4:108","nodeType":"VariableDeclaration","scope":85978,"src":"251:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85971,"name":"uint256","nodeType":"ElementaryTypeName","src":"251:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"232:32:108"},"returnParameters":{"id":85977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85976,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85978,"src":"288:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"typeName":{"id":85975,"nodeType":"UserDefinedTypeName","pathNode":{"id":85974,"name":"IJBPriceFeed","nameLocations":["288:12:108"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"288:12:108"},"referencedDeclaration":85955,"src":"288:12:108","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"visibility":"internal"}],"src":"287:14:108"},"scope":86000,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85989,"nodeType":"FunctionDefinition","src":"306:116:108","nodes":[],"functionSelector":"a4d0caf2","implemented":false,"kind":"function","modifiers":[],"name":"priceFor","nameLocation":"315:8:108","parameters":{"id":85985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85980,"mutability":"mutable","name":"currency","nameLocation":"337:8:108","nodeType":"VariableDeclaration","scope":85989,"src":"329:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85979,"name":"uint256","nodeType":"ElementaryTypeName","src":"329:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85982,"mutability":"mutable","name":"base","nameLocation":"359:4:108","nodeType":"VariableDeclaration","scope":85989,"src":"351:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85981,"name":"uint256","nodeType":"ElementaryTypeName","src":"351:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85984,"mutability":"mutable","name":"decimals","nameLocation":"377:8:108","nodeType":"VariableDeclaration","scope":85989,"src":"369:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85983,"name":"uint256","nodeType":"ElementaryTypeName","src":"369:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"323:66:108"},"returnParameters":{"id":85988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":85989,"src":"413:7:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85986,"name":"uint256","nodeType":"ElementaryTypeName","src":"413:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"412:9:108"},"scope":86000,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":85999,"nodeType":"FunctionDefinition","src":"426:85:108","nodes":[],"functionSelector":"96364e6d","implemented":false,"kind":"function","modifiers":[],"name":"addFeedFor","nameLocation":"435:10:108","parameters":{"id":85997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":85991,"mutability":"mutable","name":"currency","nameLocation":"454:8:108","nodeType":"VariableDeclaration","scope":85999,"src":"446:16:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85990,"name":"uint256","nodeType":"ElementaryTypeName","src":"446:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85993,"mutability":"mutable","name":"base","nameLocation":"472:4:108","nodeType":"VariableDeclaration","scope":85999,"src":"464:12:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":85992,"name":"uint256","nodeType":"ElementaryTypeName","src":"464:7:108","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":85996,"mutability":"mutable","name":"priceFeed","nameLocation":"491:9:108","nodeType":"VariableDeclaration","scope":85999,"src":"478:22:108","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"typeName":{"id":85995,"nodeType":"UserDefinedTypeName","pathNode":{"id":85994,"name":"IJBPriceFeed","nameLocations":["478:12:108"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"478:12:108"},"referencedDeclaration":85955,"src":"478:12:108","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"visibility":"internal"}],"src":"445:56:108"},"returnParameters":{"id":85998,"nodeType":"ParameterList","parameters":[],"src":"510:0:108"},"scope":86000,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBPrices","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86000],"name":"IJBPrices","nameLocation":"117:9:108","scope":86001,"usedErrors":[],"usedEvents":[85968]}],"license":"MIT"},"id":108} \ No newline at end of file +{"abi":[{"type":"function","name":"addFeedFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"},{"name":"priceFeed","type":"address","internalType":"contract IJBPriceFeed"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feedFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPriceFeed"}],"stateMutability":"view"},{"type":"function","name":"priceFor","inputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"base","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AddFeed","inputs":[{"name":"currency","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"base","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"feed","type":"address","indexed":false,"internalType":"contract IJBPriceFeed"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addFeedFor(uint256,uint256,address)":"96364e6d","feedFor(uint256,uint256)":"15d63a91","priceFor(uint256,uint256,uint256)":"a4d0caf2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPriceFeed\",\"name\":\"feed\",\"type\":\"address\"}],\"name\":\"AddFeed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"addFeedFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"}],\"name\":\"feedFor\",\"outputs\":[{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"priceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":\"IJBPrices\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256","indexed":true},{"internalType":"uint256","name":"base","type":"uint256","indexed":true},{"internalType":"contract IJBPriceFeed","name":"feed","type":"address","indexed":false}],"type":"event","name":"AddFeed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"contract IJBPriceFeed","name":"priceFeed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addFeedFor"},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"}],"stateMutability":"view","type":"function","name":"feedFor","outputs":[{"internalType":"contract IJBPriceFeed","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"base","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"priceFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":"IJBPrices"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"}},"version":1},"id":108} \ No newline at end of file diff --git a/out/IJBProjects.sol/IJBProjects.json b/out/IJBProjects.sol/IJBProjects.json index 57304ee5..65a41900 100644 --- a/out/IJBProjects.sol/IJBProjects.json +++ b/out/IJBProjects.sol/IJBProjects.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"count","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"metadataContentOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadataOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenUriResolver","inputs":[{"name":"newResolver","type":"address","internalType":"contract IJBTokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Create","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMetadata","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"resolver","type":"address","indexed":true,"internalType":"contract IJBTokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","count()":"06661abd","createFor(address,(string,uint256))":"666d87a0","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","metadataContentOf(uint256,uint256)":"39fbc775","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadataOf(uint256,(string,uint256))":"36574975","setTokenUriResolver(address)":"2407497e","supportsInterface(bytes4)":"01ffc9a7","tokenUriResolver()":"e131fc0c","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Create\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetMetadata\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"createFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"name\":\"metadataContentOf\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"setMetadataOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"}],\"name\":\"setTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenUriResolver\",\"outputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":\"IJBProjects\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Create","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetMetadata","anonymous":false},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"resolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"}],"stateMutability":"view","type":"function","name":"metadataContentOf","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setMetadataOf"},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"newResolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTokenUriResolver"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenUriResolver","outputs":[{"internalType":"contract IJBTokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":"IJBProjects"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","id":86083,"exportedSymbols":{"IERC721":[93582],"IJBProjects":[86082],"IJBTokenUriResolver":[86738],"JBProjectMetadata":[87943]},"nodeType":"SourceUnit","src":"32:1113:109","nodes":[{"id":86002,"nodeType":"PragmaDirective","src":"32:23:109","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86004,"nodeType":"ImportDirective","src":"57:73:109","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol","file":"@openzeppelin/contracts/token/ERC721/IERC721.sol","nameLocation":"-1:-1:-1","scope":86083,"sourceUnit":93583,"symbolAliases":[{"foreign":{"id":86003,"name":"IERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93582,"src":"65:7:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86006,"nodeType":"ImportDirective","src":"131:69:109","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","file":"./../structs/JBProjectMetadata.sol","nameLocation":"-1:-1:-1","scope":86083,"sourceUnit":87944,"symbolAliases":[{"foreign":{"id":86005,"name":"JBProjectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87943,"src":"139:17:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86008,"nodeType":"ImportDirective","src":"201:62:109","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol","file":"./IJBTokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":86083,"sourceUnit":86739,"symbolAliases":[{"foreign":{"id":86007,"name":"IJBTokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86738,"src":"209:19:109","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86082,"nodeType":"ContractDefinition","src":"265:879:109","nodes":[{"id":86021,"nodeType":"EventDefinition","src":"302:127:109","nodes":[],"anonymous":false,"eventSelector":"a1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d4","name":"Create","nameLocation":"308:6:109","parameters":{"id":86020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86012,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"336:9:109","nodeType":"VariableDeclaration","scope":86021,"src":"320:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86011,"name":"uint256","nodeType":"ElementaryTypeName","src":"320:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86014,"indexed":true,"mutability":"mutable","name":"owner","nameLocation":"367:5:109","nodeType":"VariableDeclaration","scope":86021,"src":"351:21:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86013,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86017,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"396:8:109","nodeType":"VariableDeclaration","scope":86021,"src":"378:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_memory_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":86016,"nodeType":"UserDefinedTypeName","pathNode":{"id":86015,"name":"JBProjectMetadata","nameLocations":["378:17:109"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"378:17:109"},"referencedDeclaration":87943,"src":"378:17:109","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"},{"constant":false,"id":86019,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"418:6:109","nodeType":"VariableDeclaration","scope":86021,"src":"410:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86018,"name":"address","nodeType":"ElementaryTypeName","src":"410:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"314:114:109"}},{"id":86030,"nodeType":"EventDefinition","src":"433:89:109","nodes":[],"anonymous":false,"eventSelector":"d07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e6","name":"SetMetadata","nameLocation":"439:11:109","parameters":{"id":86029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86023,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"467:9:109","nodeType":"VariableDeclaration","scope":86030,"src":"451:25:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86022,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86026,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"496:8:109","nodeType":"VariableDeclaration","scope":86030,"src":"478:26:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_memory_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":86025,"nodeType":"UserDefinedTypeName","pathNode":{"id":86024,"name":"JBProjectMetadata","nameLocations":["478:17:109"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"478:17:109"},"referencedDeclaration":87943,"src":"478:17:109","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"},{"constant":false,"id":86028,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"514:6:109","nodeType":"VariableDeclaration","scope":86030,"src":"506:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86027,"name":"address","nodeType":"ElementaryTypeName","src":"506:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"450:71:109"}},{"id":86037,"nodeType":"EventDefinition","src":"526:80:109","nodes":[],"anonymous":false,"eventSelector":"e7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16","name":"SetTokenUriResolver","nameLocation":"532:19:109","parameters":{"id":86036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86033,"indexed":true,"mutability":"mutable","name":"resolver","nameLocation":"580:8:109","nodeType":"VariableDeclaration","scope":86037,"src":"552:36:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":86032,"nodeType":"UserDefinedTypeName","pathNode":{"id":86031,"name":"IJBTokenUriResolver","nameLocations":["552:19:109"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"552:19:109"},"referencedDeclaration":86738,"src":"552:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":86035,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"598:6:109","nodeType":"VariableDeclaration","scope":86037,"src":"590:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86034,"name":"address","nodeType":"ElementaryTypeName","src":"590:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"551:54:109"}},{"id":86042,"nodeType":"FunctionDefinition","src":"610:49:109","nodes":[],"functionSelector":"06661abd","implemented":false,"kind":"function","modifiers":[],"name":"count","nameLocation":"619:5:109","parameters":{"id":86038,"nodeType":"ParameterList","parameters":[],"src":"624:2:109"},"returnParameters":{"id":86041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86042,"src":"650:7:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86039,"name":"uint256","nodeType":"ElementaryTypeName","src":"650:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"649:9:109"},"scope":86082,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86051,"nodeType":"FunctionDefinition","src":"663:112:109","nodes":[],"functionSelector":"39fbc775","implemented":false,"kind":"function","modifiers":[],"name":"metadataContentOf","nameLocation":"672:17:109","parameters":{"id":86047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86044,"mutability":"mutable","name":"projectId","nameLocation":"703:9:109","nodeType":"VariableDeclaration","scope":86051,"src":"695:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86043,"name":"uint256","nodeType":"ElementaryTypeName","src":"695:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86046,"mutability":"mutable","name":"domain","nameLocation":"726:6:109","nodeType":"VariableDeclaration","scope":86051,"src":"718:14:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86045,"name":"uint256","nodeType":"ElementaryTypeName","src":"718:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"689:47:109"},"returnParameters":{"id":86050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86051,"src":"760:13:109","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":86048,"name":"string","nodeType":"ElementaryTypeName","src":"760:6:109","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"759:15:109"},"scope":86082,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86057,"nodeType":"FunctionDefinition","src":"779:72:109","nodes":[],"functionSelector":"e131fc0c","implemented":false,"kind":"function","modifiers":[],"name":"tokenUriResolver","nameLocation":"788:16:109","parameters":{"id":86052,"nodeType":"ParameterList","parameters":[],"src":"804:2:109"},"returnParameters":{"id":86056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86057,"src":"830:19:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":86054,"nodeType":"UserDefinedTypeName","pathNode":{"id":86053,"name":"IJBTokenUriResolver","nameLocations":["830:19:109"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"830:19:109"},"referencedDeclaration":86738,"src":"830:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"internal"}],"src":"829:21:109"},"scope":86082,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86067,"nodeType":"FunctionDefinition","src":"855:120:109","nodes":[],"functionSelector":"666d87a0","implemented":false,"kind":"function","modifiers":[],"name":"createFor","nameLocation":"864:9:109","parameters":{"id":86063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86059,"mutability":"mutable","name":"owner","nameLocation":"887:5:109","nodeType":"VariableDeclaration","scope":86067,"src":"879:13:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86058,"name":"address","nodeType":"ElementaryTypeName","src":"879:7:109","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86062,"mutability":"mutable","name":"metadata","nameLocation":"925:8:109","nodeType":"VariableDeclaration","scope":86067,"src":"898:35:109","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":86061,"nodeType":"UserDefinedTypeName","pathNode":{"id":86060,"name":"JBProjectMetadata","nameLocations":["898:17:109"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"898:17:109"},"referencedDeclaration":87943,"src":"898:17:109","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"}],"src":"873:64:109"},"returnParameters":{"id":86066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86065,"mutability":"mutable","name":"projectId","nameLocation":"964:9:109","nodeType":"VariableDeclaration","scope":86067,"src":"956:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86064,"name":"uint256","nodeType":"ElementaryTypeName","src":"956:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"955:19:109"},"scope":86082,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86075,"nodeType":"FunctionDefinition","src":"979:88:109","nodes":[],"functionSelector":"36574975","implemented":false,"kind":"function","modifiers":[],"name":"setMetadataOf","nameLocation":"988:13:109","parameters":{"id":86073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86069,"mutability":"mutable","name":"projectId","nameLocation":"1010:9:109","nodeType":"VariableDeclaration","scope":86075,"src":"1002:17:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86068,"name":"uint256","nodeType":"ElementaryTypeName","src":"1002:7:109","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86072,"mutability":"mutable","name":"metadata","nameLocation":"1048:8:109","nodeType":"VariableDeclaration","scope":86075,"src":"1021:35:109","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":86071,"nodeType":"UserDefinedTypeName","pathNode":{"id":86070,"name":"JBProjectMetadata","nameLocations":["1021:17:109"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"1021:17:109"},"referencedDeclaration":87943,"src":"1021:17:109","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"}],"src":"1001:56:109"},"returnParameters":{"id":86074,"nodeType":"ParameterList","parameters":[],"src":"1066:0:109"},"scope":86082,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86081,"nodeType":"FunctionDefinition","src":"1071:71:109","nodes":[],"functionSelector":"2407497e","implemented":false,"kind":"function","modifiers":[],"name":"setTokenUriResolver","nameLocation":"1080:19:109","parameters":{"id":86079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86078,"mutability":"mutable","name":"newResolver","nameLocation":"1120:11:109","nodeType":"VariableDeclaration","scope":86081,"src":"1100:31:109","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":86077,"nodeType":"UserDefinedTypeName","pathNode":{"id":86076,"name":"IJBTokenUriResolver","nameLocations":["1100:19:109"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"1100:19:109"},"referencedDeclaration":86738,"src":"1100:19:109","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"internal"}],"src":"1099:33:109"},"returnParameters":{"id":86080,"nodeType":"ParameterList","parameters":[],"src":"1141:0:109"},"scope":86082,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":86009,"name":"IERC721","nameLocations":["290:7:109"],"nodeType":"IdentifierPath","referencedDeclaration":93582,"src":"290:7:109"},"id":86010,"nodeType":"InheritanceSpecifier","src":"290:7:109"}],"canonicalName":"IJBProjects","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86082,93582,97005],"name":"IJBProjects","nameLocation":"275:11:109","scope":86083,"usedErrors":[],"usedEvents":[86021,86030,86037,93481,93490,93499]}],"license":"MIT"},"id":109} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"count","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"operator","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"metadataContentOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadataOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenUriResolver","inputs":[{"name":"newResolver","type":"address","internalType":"contract IJBTokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Create","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMetadata","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"resolver","type":"address","indexed":true,"internalType":"contract IJBTokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","count()":"06661abd","createFor(address,(string,uint256))":"666d87a0","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","metadataContentOf(uint256,uint256)":"39fbc775","ownerOf(uint256)":"6352211e","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadataOf(uint256,(string,uint256))":"36574975","setTokenUriResolver(address)":"2407497e","supportsInterface(bytes4)":"01ffc9a7","tokenUriResolver()":"e131fc0c","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Create\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetMetadata\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"createFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"name\":\"metadataContentOf\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"name\":\"setMetadataOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"}],\"name\":\"setTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenUriResolver\",\"outputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":\"IJBProjects\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Create","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetMetadata","anonymous":false},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"resolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"operator","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"}],"stateMutability":"view","type":"function","name":"metadataContentOf","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setMetadataOf"},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"newResolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTokenUriResolver"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenUriResolver","outputs":[{"internalType":"contract IJBTokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the number of tokens in ``owner``'s account."},"getApproved(uint256)":{"details":"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."},"isApprovedForAll(address,address)":{"details":"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}"},"ownerOf(uint256)":{"details":"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."},"safeTransferFrom(address,address,uint256)":{"details":"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."},"setApprovalForAll(address,bool)":{"details":"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event."},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."},"transferFrom(address,address,uint256)":{"details":"Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":"IJBProjects"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file diff --git a/out/IJBRedemptionDelegate.sol/IJBRedemptionDelegate.json b/out/IJBRedemptionDelegate.sol/IJBRedemptionDelegate.json index 0c6aea3b..e9f160ae 100644 --- a/out/IJBRedemptionDelegate.sol/IJBRedemptionDelegate.json +++ b/out/IJBRedemptionDelegate.sol/IJBRedemptionDelegate.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"didRedeem","inputs":[{"name":"data","type":"tuple","internalType":"struct JBDidRedeemData","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":"2b13c58f","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))\":{\"details\":\"Critical business logic should be protected by an appropriate access control\",\"params\":{\"data\":\"the data passed by the terminal, as a JBDidRedeemData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Redemption delegate\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))\":{\"notice\":\"This function is called by JBPaymentTerminal.redeemTokensOf(..), after the execution of its logic\"}},\"notice\":\"Delegate called after JBTerminal.redeemTokensOf(..) logic completion (if passed by the funding cycle datasource)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":\"IJBRedemptionDelegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":{\"keccak256\":\"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e\",\"dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol\":{\"keccak256\":\"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef\",\"dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBDidRedeemData","name":"data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":{"details":"Critical business logic should be protected by an appropriate access control","params":{"data":"the data passed by the terminal, as a JBDidRedeemData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":{"notice":"This function is called by JBPaymentTerminal.redeemTokensOf(..), after the execution of its logic"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":"IJBRedemptionDelegate"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":{"keccak256":"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387","urls":["bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e","dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol":{"keccak256":"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549","urls":["bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef","dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol","id":86100,"exportedSymbols":{"IERC165":[97005],"IJBRedemptionDelegate":[86099],"JBDidRedeemData":[87717]},"nodeType":"SourceUnit","src":"32:726:110","nodes":[{"id":86084,"nodeType":"PragmaDirective","src":"32:23:110","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86086,"nodeType":"ImportDirective","src":"57:80:110","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":86100,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":86085,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86088,"nodeType":"ImportDirective","src":"138:65:110","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol","file":"./../structs/JBDidRedeemData.sol","nameLocation":"-1:-1:-1","scope":86100,"sourceUnit":87718,"symbolAliases":[{"foreign":{"id":86087,"name":"JBDidRedeemData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87717,"src":"146:15:110","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86099,"nodeType":"ContractDefinition","src":"361:396:110","nodes":[{"id":86098,"nodeType":"FunctionDefinition","src":"688:67:110","nodes":[],"documentation":{"id":86092,"nodeType":"StructuredDocumentation","src":"408:277:110","text":"@notice This function is called by JBPaymentTerminal.redeemTokensOf(..), after the execution of its logic\n @dev Critical business logic should be protected by an appropriate access control\n @param data the data passed by the terminal, as a JBDidRedeemData struct:"},"functionSelector":"2b13c58f","implemented":false,"kind":"function","modifiers":[],"name":"didRedeem","nameLocation":"697:9:110","parameters":{"id":86096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86095,"mutability":"mutable","name":"data","nameLocation":"732:4:110","nodeType":"VariableDeclaration","scope":86098,"src":"707:29:110","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData_$87717_calldata_ptr","typeString":"struct JBDidRedeemData"},"typeName":{"id":86094,"nodeType":"UserDefinedTypeName","pathNode":{"id":86093,"name":"JBDidRedeemData","nameLocations":["707:15:110"],"nodeType":"IdentifierPath","referencedDeclaration":87717,"src":"707:15:110"},"referencedDeclaration":87717,"src":"707:15:110","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData_$87717_storage_ptr","typeString":"struct JBDidRedeemData"}},"visibility":"internal"}],"src":"706:31:110"},"returnParameters":{"id":86097,"nodeType":"ParameterList","parameters":[],"src":"754:0:110"},"scope":86099,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":86090,"name":"IERC165","nameLocations":["396:7:110"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"396:7:110"},"id":86091,"nodeType":"InheritanceSpecifier","src":"396:7:110"}],"canonicalName":"IJBRedemptionDelegate","contractDependencies":[],"contractKind":"interface","documentation":{"id":86089,"nodeType":"StructuredDocumentation","src":"205:156:110","text":"@title Redemption delegate\n @notice Delegate called after JBTerminal.redeemTokensOf(..) logic completion (if passed by the funding cycle datasource)"},"fullyImplemented":false,"linearizedBaseContracts":[86099,97005],"name":"IJBRedemptionDelegate","nameLocation":"371:21:110","scope":86100,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":110} \ No newline at end of file +{"abi":[{"type":"function","name":"didRedeem","inputs":[{"name":"data","type":"tuple","internalType":"struct JBDidRedeemData","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":"2b13c58f","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))\":{\"details\":\"Critical business logic should be protected by an appropriate access control\",\"params\":{\"data\":\"the data passed by the terminal, as a JBDidRedeemData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Redemption delegate\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))\":{\"notice\":\"This function is called by JBPaymentTerminal.redeemTokensOf(..), after the execution of its logic\"}},\"notice\":\"Delegate called after JBTerminal.redeemTokensOf(..) logic completion (if passed by the funding cycle datasource)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":\"IJBRedemptionDelegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":{\"keccak256\":\"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e\",\"dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol\":{\"keccak256\":\"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef\",\"dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBDidRedeemData","name":"data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":{"details":"Critical business logic should be protected by an appropriate access control","params":{"data":"the data passed by the terminal, as a JBDidRedeemData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes))":{"notice":"This function is called by JBPaymentTerminal.redeemTokensOf(..), after the execution of its logic"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":"IJBRedemptionDelegate"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":{"keccak256":"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387","urls":["bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e","dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol":{"keccak256":"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549","urls":["bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef","dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file diff --git a/out/IJBRedemptionTerminal.sol/IJBRedemptionTerminal.json b/out/IJBRedemptionTerminal.sol/IJBRedemptionTerminal.json index 44ea935b..134b03ae 100644 --- a/out/IJBRedemptionTerminal.sol/IJBRedemptionTerminal.json +++ b/out/IJBRedemptionTerminal.sol/IJBRedemptionTerminal.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"redeemTokensOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"redeemTokensOf(address,uint256,uint256,address,uint256,address,string,bytes)":"fe663f0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"redeemTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":\"IJBRedemptionTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":{\"keccak256\":\"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c\",\"dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"redeemTokensOf","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":"IJBRedemptionTerminal"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":{"keccak256":"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5","urls":["bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c","dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol","id":86141,"exportedSymbols":{"IJBRedemptionTerminal":[86140]},"nodeType":"SourceUnit","src":"32:338:112","nodes":[{"id":86118,"nodeType":"PragmaDirective","src":"32:23:112","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86140,"nodeType":"ContractDefinition","src":"57:312:112","nodes":[{"id":86139,"nodeType":"FunctionDefinition","src":"93:274:112","nodes":[],"functionSelector":"fe663f0f","implemented":false,"kind":"function","modifiers":[],"name":"redeemTokensOf","nameLocation":"102:14:112","parameters":{"id":86135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86120,"mutability":"mutable","name":"holder","nameLocation":"130:6:112","nodeType":"VariableDeclaration","scope":86139,"src":"122:14:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86119,"name":"address","nodeType":"ElementaryTypeName","src":"122:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86122,"mutability":"mutable","name":"projectId","nameLocation":"150:9:112","nodeType":"VariableDeclaration","scope":86139,"src":"142:17:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86121,"name":"uint256","nodeType":"ElementaryTypeName","src":"142:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86124,"mutability":"mutable","name":"tokenCount","nameLocation":"173:10:112","nodeType":"VariableDeclaration","scope":86139,"src":"165:18:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86123,"name":"uint256","nodeType":"ElementaryTypeName","src":"165:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86126,"mutability":"mutable","name":"token","nameLocation":"197:5:112","nodeType":"VariableDeclaration","scope":86139,"src":"189:13:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86125,"name":"address","nodeType":"ElementaryTypeName","src":"189:7:112","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86128,"mutability":"mutable","name":"minReturnedTokens","nameLocation":"216:17:112","nodeType":"VariableDeclaration","scope":86139,"src":"208:25:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86127,"name":"uint256","nodeType":"ElementaryTypeName","src":"208:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86130,"mutability":"mutable","name":"beneficiary","nameLocation":"255:11:112","nodeType":"VariableDeclaration","scope":86139,"src":"239:27:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":86129,"name":"address","nodeType":"ElementaryTypeName","src":"239:15:112","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"visibility":"internal"},{"constant":false,"id":86132,"mutability":"mutable","name":"memo","nameLocation":"288:4:112","nodeType":"VariableDeclaration","scope":86139,"src":"272:20:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":86131,"name":"string","nodeType":"ElementaryTypeName","src":"272:6:112","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86134,"mutability":"mutable","name":"metadata","nameLocation":"313:8:112","nodeType":"VariableDeclaration","scope":86139,"src":"298:23:112","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":86133,"name":"bytes","nodeType":"ElementaryTypeName","src":"298:5:112","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"116:209:112"},"returnParameters":{"id":86138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86137,"mutability":"mutable","name":"reclaimAmount","nameLocation":"352:13:112","nodeType":"VariableDeclaration","scope":86139,"src":"344:21:112","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86136,"name":"uint256","nodeType":"ElementaryTypeName","src":"344:7:112","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"343:23:112"},"scope":86140,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBRedemptionTerminal","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86140],"name":"IJBRedemptionTerminal","nameLocation":"67:21:112","scope":86141,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":112} \ No newline at end of file +{"abi":[{"type":"function","name":"redeemTokensOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"redeemTokensOf(address,uint256,uint256,address,uint256,address,string,bytes)":"fe663f0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"redeemTokensOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":\"IJBRedemptionTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":{\"keccak256\":\"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c\",\"dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"redeemTokensOf","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":"IJBRedemptionTerminal"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":{"keccak256":"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5","urls":["bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c","dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file diff --git a/out/IJBSingleTokenPaymentTerminal.sol/IJBSingleTokenPaymentTerminal.json b/out/IJBSingleTokenPaymentTerminal.sol/IJBSingleTokenPaymentTerminal.json index 0ca2c424..7174f734 100644 --- a/out/IJBSingleTokenPaymentTerminal.sol/IJBSingleTokenPaymentTerminal.json +++ b/out/IJBSingleTokenPaymentTerminal.sol/IJBSingleTokenPaymentTerminal.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currencyForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currency()":"e5a6b10f","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimals()":"313ce567","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":\"IJBSingleTokenPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":"IJBSingleTokenPaymentTerminal"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol","id":86163,"exportedSymbols":{"IJBPaymentTerminal":[85505],"IJBSingleTokenPaymentTerminal":[86162]},"nodeType":"SourceUnit","src":"32:317:113","nodes":[{"id":86142,"nodeType":"PragmaDirective","src":"32:23:113","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86144,"nodeType":"ImportDirective","src":"57:60:113","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"./IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":86163,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":86143,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"65:18:113","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86162,"nodeType":"ContractDefinition","src":"119:229:113","nodes":[{"id":86151,"nodeType":"FunctionDefinition","src":"185:49:113","nodes":[],"functionSelector":"fc0c546a","implemented":false,"kind":"function","modifiers":[],"name":"token","nameLocation":"194:5:113","parameters":{"id":86147,"nodeType":"ParameterList","parameters":[],"src":"199:2:113"},"returnParameters":{"id":86150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86151,"src":"225:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86148,"name":"address","nodeType":"ElementaryTypeName","src":"225:7:113","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"224:9:113"},"scope":86162,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86156,"nodeType":"FunctionDefinition","src":"238:52:113","nodes":[],"functionSelector":"e5a6b10f","implemented":false,"kind":"function","modifiers":[],"name":"currency","nameLocation":"247:8:113","parameters":{"id":86152,"nodeType":"ParameterList","parameters":[],"src":"255:2:113"},"returnParameters":{"id":86155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86154,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86156,"src":"281:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86153,"name":"uint256","nodeType":"ElementaryTypeName","src":"281:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"280:9:113"},"scope":86162,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86161,"nodeType":"FunctionDefinition","src":"294:52:113","nodes":[],"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"303:8:113","parameters":{"id":86157,"nodeType":"ParameterList","parameters":[],"src":"311:2:113"},"returnParameters":{"id":86160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86159,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86161,"src":"337:7:113","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86158,"name":"uint256","nodeType":"ElementaryTypeName","src":"337:7:113","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"336:9:113"},"scope":86162,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":86145,"name":"IJBPaymentTerminal","nameLocations":["162:18:113"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"162:18:113"},"id":86146,"nodeType":"InheritanceSpecifier","src":"162:18:113"}],"canonicalName":"IJBSingleTokenPaymentTerminal","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86162,85505,97005],"name":"IJBSingleTokenPaymentTerminal","nameLocation":"129:29:113","scope":86163,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":113} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currencyForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currency()":"e5a6b10f","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimals()":"313ce567","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":\"IJBSingleTokenPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":"IJBSingleTokenPaymentTerminal"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":113} \ No newline at end of file diff --git a/out/IJBSplitAllocator.sol/IJBSplitAllocator.json b/out/IJBSplitAllocator.sol/IJBSplitAllocator.json index 850e7c8d..ebbccce4 100644 --- a/out/IJBSplitAllocator.sol/IJBSplitAllocator.json +++ b/out/IJBSplitAllocator.sol/IJBSplitAllocator.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"allocate","inputs":[{"name":"data","type":"tuple","internalType":"struct JBSplitAllocationData","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"group","type":"uint256","internalType":"uint256"},{"name":"split","type":"tuple","internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":"9d740bfa","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"}],\"internalType\":\"struct JBSplitAllocationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The contract address should be set as an allocator in the adequate split\",\"kind\":\"dev\",\"methods\":{\"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))\":{\"details\":\"Critical business logic should be protected by an appropriate access control. The token and/or eth are optimistically transfered to the allocator for its logic.\",\"params\":{\"data\":\"the data passed by the terminal, as a JBSplitAllocationData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Split allocator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))\":{\"notice\":\"This function is called by JBPaymentTerminal.distributePayoutOf(..), during the processing of the split including it\"}},\"notice\":\"Provide a way to process a single split with extra logic\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":\"IJBSplitAllocator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBSplitAllocationData","name":"data","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":{"details":"Critical business logic should be protected by an appropriate access control. The token and/or eth are optimistically transfered to the allocator for its logic.","params":{"data":"the data passed by the terminal, as a JBSplitAllocationData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":{"notice":"This function is called by JBPaymentTerminal.distributePayoutOf(..), during the processing of the split including it"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":"IJBSplitAllocator"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol","id":86394,"exportedSymbols":{"IERC165":[97005],"IJBSplitAllocator":[86393],"JBSplitAllocationData":[88030]},"nodeType":"SourceUnit","src":"32:868:115","nodes":[{"id":86378,"nodeType":"PragmaDirective","src":"32:23:115","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86380,"nodeType":"ImportDirective","src":"57:80:115","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":86394,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":86379,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"65:7:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86382,"nodeType":"ImportDirective","src":"138:75:115","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol","file":"../structs/JBSplitAllocationData.sol","nameLocation":"-1:-1:-1","scope":86394,"sourceUnit":88031,"symbolAliases":[{"foreign":{"id":86381,"name":"JBSplitAllocationData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88030,"src":"146:21:115","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86393,"nodeType":"ContractDefinition","src":"393:506:115","nodes":[{"id":86392,"nodeType":"FunctionDefinition","src":"825:72:115","nodes":[],"documentation":{"id":86386,"nodeType":"StructuredDocumentation","src":"436:386:115","text":"@notice This function is called by JBPaymentTerminal.distributePayoutOf(..), during the processing of the split including it\n @dev Critical business logic should be protected by an appropriate access control. The token and/or eth are optimistically transfered to the allocator for its logic.\n @param data the data passed by the terminal, as a JBSplitAllocationData struct:"},"functionSelector":"9d740bfa","implemented":false,"kind":"function","modifiers":[],"name":"allocate","nameLocation":"834:8:115","parameters":{"id":86390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86389,"mutability":"mutable","name":"data","nameLocation":"874:4:115","nodeType":"VariableDeclaration","scope":86392,"src":"843:35:115","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplitAllocationData_$88030_calldata_ptr","typeString":"struct JBSplitAllocationData"},"typeName":{"id":86388,"nodeType":"UserDefinedTypeName","pathNode":{"id":86387,"name":"JBSplitAllocationData","nameLocations":["843:21:115"],"nodeType":"IdentifierPath","referencedDeclaration":88030,"src":"843:21:115"},"referencedDeclaration":88030,"src":"843:21:115","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplitAllocationData_$88030_storage_ptr","typeString":"struct JBSplitAllocationData"}},"visibility":"internal"}],"src":"842:37:115"},"returnParameters":{"id":86391,"nodeType":"ParameterList","parameters":[],"src":"896:0:115"},"scope":86393,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":86384,"name":"IERC165","nameLocations":["424:7:115"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"424:7:115"},"id":86385,"nodeType":"InheritanceSpecifier","src":"424:7:115"}],"canonicalName":"IJBSplitAllocator","contractDependencies":[],"contractKind":"interface","documentation":{"id":86383,"nodeType":"StructuredDocumentation","src":"215:178:115","text":"@title Split allocator\n @notice Provide a way to process a single split with extra logic\n @dev The contract address should be set as an allocator in the adequate split"},"fullyImplemented":false,"linearizedBaseContracts":[86393,97005],"name":"IJBSplitAllocator","nameLocation":"403:17:115","scope":86394,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":115} \ No newline at end of file +{"abi":[{"type":"function","name":"allocate","inputs":[{"name":"data","type":"tuple","internalType":"struct JBSplitAllocationData","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"group","type":"uint256","internalType":"uint256"},{"name":"split","type":"tuple","internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":"9d740bfa","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"}],\"internalType\":\"struct JBSplitAllocationData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"allocate\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The contract address should be set as an allocator in the adequate split\",\"kind\":\"dev\",\"methods\":{\"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))\":{\"details\":\"Critical business logic should be protected by an appropriate access control. The token and/or eth are optimistically transfered to the allocator for its logic.\",\"params\":{\"data\":\"the data passed by the terminal, as a JBSplitAllocationData struct:\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"title\":\"Split allocator\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))\":{\"notice\":\"This function is called by JBPaymentTerminal.distributePayoutOf(..), during the processing of the split including it\"}},\"notice\":\"Provide a way to process a single split with extra logic\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":\"IJBSplitAllocator\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct JBSplitAllocationData","name":"data","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"payable","type":"function","name":"allocate"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":{"details":"Critical business logic should be protected by an appropriate access control. The token and/or eth are optimistically transfered to the allocator for its logic.","params":{"data":"the data passed by the terminal, as a JBSplitAllocationData struct:"}},"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{"allocate((address,uint256,uint256,uint256,uint256,(bool,bool,uint256,uint256,address,uint256,address)))":{"notice":"This function is called by JBPaymentTerminal.distributePayoutOf(..), during the processing of the split including it"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":"IJBSplitAllocator"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":115} \ No newline at end of file diff --git a/out/IJBSplitsStore.sol/IJBSplitsStore.json b/out/IJBSplitsStore.sol/IJBSplitsStore.json index 2a38dc44..ff069a91 100644 --- a/out/IJBSplitsStore.sol/IJBSplitsStore.json +++ b/out/IJBSplitsStore.sol/IJBSplitsStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"set","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"group","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}],"stateMutability":"view"},{"type":"event","name":"SetSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24","projects()":"8b79543c","set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":"f2da44b6","splitsOf(uint256,uint256,uint256)":"69e11cc5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetSplit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"}],\"name\":\"splitsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":\"IJBSplitsStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetSplit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"nonpayable","type":"function","name":"set"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256","name":"group","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitsOf","outputs":[{"internalType":"struct JBSplit[]","name":"","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":"IJBSplitsStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol","id":86454,"exportedSymbols":{"IJBDirectory":[85041],"IJBProjects":[86082],"IJBSplitsStore":[86453],"JBGroupedSplits":[87881],"JBSplit":[88011]},"nodeType":"SourceUnit","src":"32:766:116","nodes":[{"id":86395,"nodeType":"PragmaDirective","src":"32:23:116","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86397,"nodeType":"ImportDirective","src":"57:65:116","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol","file":"./../structs/JBGroupedSplits.sol","nameLocation":"-1:-1:-1","scope":86454,"sourceUnit":87882,"symbolAliases":[{"foreign":{"id":86396,"name":"JBGroupedSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87881,"src":"65:15:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86399,"nodeType":"ImportDirective","src":"123:49:116","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol","file":"./../structs/JBSplit.sol","nameLocation":"-1:-1:-1","scope":86454,"sourceUnit":88012,"symbolAliases":[{"foreign":{"id":86398,"name":"JBSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88011,"src":"131:7:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86401,"nodeType":"ImportDirective","src":"173:48:116","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":86454,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":86400,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"181:12:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86403,"nodeType":"ImportDirective","src":"222:46:116","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./IJBProjects.sol","nameLocation":"-1:-1:-1","scope":86454,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":86402,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"230:11:116","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86453,"nodeType":"ContractDefinition","src":"270:527:116","nodes":[{"id":86416,"nodeType":"EventDefinition","src":"299:144:116","nodes":[],"anonymous":false,"eventSelector":"1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e7","name":"SetSplit","nameLocation":"305:8:116","parameters":{"id":86415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86405,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"335:9:116","nodeType":"VariableDeclaration","scope":86416,"src":"319:25:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86404,"name":"uint256","nodeType":"ElementaryTypeName","src":"319:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86407,"indexed":true,"mutability":"mutable","name":"domain","nameLocation":"366:6:116","nodeType":"VariableDeclaration","scope":86416,"src":"350:22:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86406,"name":"uint256","nodeType":"ElementaryTypeName","src":"350:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86409,"indexed":true,"mutability":"mutable","name":"group","nameLocation":"394:5:116","nodeType":"VariableDeclaration","scope":86416,"src":"378:21:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86408,"name":"uint256","nodeType":"ElementaryTypeName","src":"378:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86412,"indexed":false,"mutability":"mutable","name":"split","nameLocation":"413:5:116","nodeType":"VariableDeclaration","scope":86416,"src":"405:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit"},"typeName":{"id":86411,"nodeType":"UserDefinedTypeName","pathNode":{"id":86410,"name":"JBSplit","nameLocations":["405:7:116"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"405:7:116"},"referencedDeclaration":88011,"src":"405:7:116","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"visibility":"internal"},{"constant":false,"id":86414,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"432:6:116","nodeType":"VariableDeclaration","scope":86416,"src":"424:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86413,"name":"address","nodeType":"ElementaryTypeName","src":"424:7:116","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"313:129:116"}},{"id":86422,"nodeType":"FunctionDefinition","src":"447:56:116","nodes":[],"functionSelector":"8b79543c","implemented":false,"kind":"function","modifiers":[],"name":"projects","nameLocation":"456:8:116","parameters":{"id":86417,"nodeType":"ParameterList","parameters":[],"src":"464:2:116"},"returnParameters":{"id":86421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86420,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86422,"src":"490:11:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":86419,"nodeType":"UserDefinedTypeName","pathNode":{"id":86418,"name":"IJBProjects","nameLocations":["490:11:116"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"490:11:116"},"referencedDeclaration":86082,"src":"490:11:116","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"}],"src":"489:13:116"},"scope":86453,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86428,"nodeType":"FunctionDefinition","src":"507:58:116","nodes":[],"functionSelector":"c41c2f24","implemented":false,"kind":"function","modifiers":[],"name":"directory","nameLocation":"516:9:116","parameters":{"id":86423,"nodeType":"ParameterList","parameters":[],"src":"525:2:116"},"returnParameters":{"id":86427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86428,"src":"551:12:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":86425,"nodeType":"UserDefinedTypeName","pathNode":{"id":86424,"name":"IJBDirectory","nameLocations":["551:12:116"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"551:12:116"},"referencedDeclaration":85041,"src":"551:12:116","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"550:14:116"},"scope":86453,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86441,"nodeType":"FunctionDefinition","src":"569:125:116","nodes":[],"functionSelector":"69e11cc5","implemented":false,"kind":"function","modifiers":[],"name":"splitsOf","nameLocation":"578:8:116","parameters":{"id":86435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86430,"mutability":"mutable","name":"projectId","nameLocation":"600:9:116","nodeType":"VariableDeclaration","scope":86441,"src":"592:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86429,"name":"uint256","nodeType":"ElementaryTypeName","src":"592:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86432,"mutability":"mutable","name":"domain","nameLocation":"623:6:116","nodeType":"VariableDeclaration","scope":86441,"src":"615:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86431,"name":"uint256","nodeType":"ElementaryTypeName","src":"615:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86434,"mutability":"mutable","name":"group","nameLocation":"643:5:116","nodeType":"VariableDeclaration","scope":86441,"src":"635:13:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86433,"name":"uint256","nodeType":"ElementaryTypeName","src":"635:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"586:66:116"},"returnParameters":{"id":86440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86439,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86441,"src":"676:16:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":86437,"nodeType":"UserDefinedTypeName","pathNode":{"id":86436,"name":"JBSplit","nameLocations":["676:7:116"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"676:7:116"},"referencedDeclaration":88011,"src":"676:7:116","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":86438,"nodeType":"ArrayTypeName","src":"676:9:116","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"src":"675:18:116"},"scope":86453,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86452,"nodeType":"FunctionDefinition","src":"698:97:116","nodes":[],"functionSelector":"f2da44b6","implemented":false,"kind":"function","modifiers":[],"name":"set","nameLocation":"707:3:116","parameters":{"id":86450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86443,"mutability":"mutable","name":"projectId","nameLocation":"719:9:116","nodeType":"VariableDeclaration","scope":86452,"src":"711:17:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86442,"name":"uint256","nodeType":"ElementaryTypeName","src":"711:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86445,"mutability":"mutable","name":"domain","nameLocation":"738:6:116","nodeType":"VariableDeclaration","scope":86452,"src":"730:14:116","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86444,"name":"uint256","nodeType":"ElementaryTypeName","src":"730:7:116","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86449,"mutability":"mutable","name":"groupedSplits","nameLocation":"771:13:116","nodeType":"VariableDeclaration","scope":86452,"src":"746:38:116","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":86447,"nodeType":"UserDefinedTypeName","pathNode":{"id":86446,"name":"JBGroupedSplits","nameLocations":["746:15:116"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"746:15:116"},"referencedDeclaration":87881,"src":"746:15:116","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":86448,"nodeType":"ArrayTypeName","src":"746:17:116","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"}],"src":"710:75:116"},"returnParameters":{"id":86451,"nodeType":"ParameterList","parameters":[],"src":"794:0:116"},"scope":86453,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBSplitsStore","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86453],"name":"IJBSplitsStore","nameLocation":"280:14:116","scope":86454,"usedErrors":[],"usedEvents":[86416]}],"license":"MIT"},"id":116} \ No newline at end of file +{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"set","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitsOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"group","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}],"stateMutability":"view"},{"type":"event","name":"SetSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24","projects()":"8b79543c","set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":"f2da44b6","splitsOf(uint256,uint256,uint256)":"69e11cc5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetSplit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"}],\"name\":\"splitsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":\"IJBSplitsStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetSplit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"nonpayable","type":"function","name":"set"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256","name":"group","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitsOf","outputs":[{"internalType":"struct JBSplit[]","name":"","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":"IJBSplitsStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":116} \ No newline at end of file diff --git a/out/IJBTiered721Delegate.sol/IJBTiered721Delegate.json b/out/IJBTiered721Delegate.sol/IJBTiered721Delegate.json index adb9e49b..5478ea4c 100644 --- a/out/IJBTiered721Delegate.sol/IJBTiered721Delegate.json +++ b/out/IJBTiered721Delegate.sol/IJBTiered721Delegate.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"adjustTiers","inputs":[{"name":"tierDataToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"tierIdsToRemove","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"codeOrigin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"creditsOf","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"firstOwnerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"beneficiary","type":"address","internalType":"address"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"mintReservesForTiersData","type":"tuple[]","internalType":"struct JBTiered721MintReservesForTiersData[]","components":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"pricingContext","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"contract IJBPrices"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"setMetadata","inputs":[{"name":"baseUri","type":"string","internalType":"string"},{"name":"contractMetadataUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"encodedIPFSUriTierId","type":"uint256","internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateStore"}],"stateMutability":"view"},{"type":"event","name":"AddCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AddTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JB721TierParams","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"totalAmountContributed","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintReservedToken","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RemoveTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetBaseUri","inputs":[{"name":"baseUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetContractUri","inputs":[{"name":"contractUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetEncodedIPFSUri","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"newResolver","type":"address","indexed":true,"internalType":"contract IJB721TokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UseCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":"843d92ee","baseURI()":"6c0360eb","codeOrigin()":"1d153ca4","contractURI()":"e8a3d485","creditsOf(address)":"245a45b5","directory()":"c41c2f24","firstOwnerOf(uint256)":"54c6d1f5","fundingCycleStore()":"557e7155","initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":"a1250d7f","mintFor(uint16[],address)":"6ac6d941","mintReservesFor((uint256,uint256)[])":"2a596e53","mintReservesFor(uint256,uint256)":"aa4fb15b","payMetadataDelegateId()":"46a6d981","pricingContext()":"08786b1a","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8","setMetadata(string,string,address,uint256,bytes32)":"1435aad5","store()":"975057e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddCredits\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct JB721TierParams\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmountContributed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintReservedToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"RemoveTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetBaseUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetContractUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetEncodedIPFSUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UseCredits\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tierDataToAdd\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"tierIdsToRemove\",\"type\":\"uint256[]\"}],\"name\":\"adjustTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codeOrigin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"creditsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"firstOwnerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTiered721MintReservesForTiersData[]\",\"name\":\"mintReservesForTiersData\",\"type\":\"tuple[]\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricingContext\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractMetadataUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"encodedIPFSUriTierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721Delegate.sol\":\"IJBTiered721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddCredits","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"struct JB721TierParams","name":"data","type":"tuple","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTier","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"totalAmountContributed","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintReservedToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"RemoveTier","anonymous":false},{"inputs":[{"internalType":"string","name":"baseUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetBaseUri","anonymous":false},{"inputs":[{"internalType":"string","name":"contractUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetContractUri","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetEncodedIPFSUri","anonymous":false},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"newResolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"UseCredits","anonymous":false},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"tierDataToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint256[]","name":"tierIdsToRemove","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"adjustTiers"},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"codeOrigin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"creditsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"firstOwnerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint16[]","name":"tierIds","type":"uint16[]"},{"internalType":"address","name":"beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"struct JBTiered721MintReservesForTiersData[]","name":"mintReservesForTiersData","type":"tuple[]","components":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pricingContext","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract IJBPrices","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"string","name":"contractMetadataUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"uint256","name":"encodedIPFSUriTierId","type":"uint256"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setMetadata"},{"inputs":[],"stateMutability":"view","type":"function","name":"store","outputs":[{"internalType":"contract IJBTiered721DelegateStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721Delegate.sol":"IJBTiered721Delegate"},"libraries":{}},"sources":{"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/interfaces/IJBTiered721Delegate.sol","id":28043,"exportedSymbols":{"IJB721Delegate":[27791],"IJB721TokenUriResolver":[27803],"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBPrices":[86000],"IJBTiered721Delegate":[28042],"IJBTiered721DelegateStore":[28458],"JB721PricingParams":[29385],"JB721TierParams":[29439],"JBTiered721Flags":[29646],"JBTiered721MintForTiersData":[29663],"JBTiered721MintReservesForTiersData":[29671]},"nodeType":"SourceUnit","src":"32:3724:23","nodes":[{"id":27805,"nodeType":"PragmaDirective","src":"32:23:23","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":27807,"nodeType":"ImportDirective","src":"57:102:23","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":27806,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"66:12:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27809,"nodeType":"ImportDirective","src":"160:118:23","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":27808,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"169:20:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27811,"nodeType":"ImportDirective","src":"279:96:23","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":86001,"symbolAliases":[{"foreign":{"id":27810,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"288:9:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27813,"nodeType":"ImportDirective","src":"377:54:23","nodes":[],"absolutePath":"contracts/interfaces/IJB721Delegate.sol","file":"./IJB721Delegate.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":27792,"symbolAliases":[{"foreign":{"id":27812,"name":"IJB721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27791,"src":"386:14:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27815,"nodeType":"ImportDirective","src":"432:70:23","nodes":[],"absolutePath":"contracts/interfaces/IJB721TokenUriResolver.sol","file":"./IJB721TokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":27804,"symbolAliases":[{"foreign":{"id":27814,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"441:22:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27817,"nodeType":"ImportDirective","src":"503:76:23","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateStore.sol","file":"./IJBTiered721DelegateStore.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":28459,"symbolAliases":[{"foreign":{"id":27816,"name":"IJBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28458,"src":"512:25:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27819,"nodeType":"ImportDirective","src":"580:73:23","nodes":[],"absolutePath":"contracts/structs/JB721PricingParams.sol","file":"./../structs/JB721PricingParams.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":29386,"symbolAliases":[{"foreign":{"id":27818,"name":"JB721PricingParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29385,"src":"589:18:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27821,"nodeType":"ImportDirective","src":"654:67:23","nodes":[],"absolutePath":"contracts/structs/JB721TierParams.sol","file":"./../structs/JB721TierParams.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":29440,"symbolAliases":[{"foreign":{"id":27820,"name":"JB721TierParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"663:15:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27823,"nodeType":"ImportDirective","src":"722:69:23","nodes":[],"absolutePath":"contracts/structs/JBTiered721Flags.sol","file":"./../structs/JBTiered721Flags.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":29647,"symbolAliases":[{"foreign":{"id":27822,"name":"JBTiered721Flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29646,"src":"731:16:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27825,"nodeType":"ImportDirective","src":"792:107:23","nodes":[],"absolutePath":"contracts/structs/JBTiered721MintReservesForTiersData.sol","file":"./../structs/JBTiered721MintReservesForTiersData.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":29672,"symbolAliases":[{"foreign":{"id":27824,"name":"JBTiered721MintReservesForTiersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29671,"src":"801:35:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27827,"nodeType":"ImportDirective","src":"900:91:23","nodes":[],"absolutePath":"contracts/structs/JBTiered721MintForTiersData.sol","file":"./../structs/JBTiered721MintForTiersData.sol","nameLocation":"-1:-1:-1","scope":28043,"sourceUnit":29664,"symbolAliases":[{"foreign":{"id":27826,"name":"JBTiered721MintForTiersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29663,"src":"909:27:23","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28042,"nodeType":"ContractDefinition","src":"993:2762:23","nodes":[{"id":27841,"nodeType":"EventDefinition","src":"1048:183:23","nodes":[],"anonymous":false,"eventSelector":"598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6","name":"Mint","nameLocation":"1054:4:23","parameters":{"id":27840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27831,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1084:7:23","nodeType":"VariableDeclaration","scope":27841,"src":"1068:23:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27830,"name":"uint256","nodeType":"ElementaryTypeName","src":"1068:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27833,"indexed":true,"mutability":"mutable","name":"tierId","nameLocation":"1117:6:23","nodeType":"VariableDeclaration","scope":27841,"src":"1101:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27832,"name":"uint256","nodeType":"ElementaryTypeName","src":"1101:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27835,"indexed":true,"mutability":"mutable","name":"beneficiary","nameLocation":"1149:11:23","nodeType":"VariableDeclaration","scope":27841,"src":"1133:27:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27834,"name":"address","nodeType":"ElementaryTypeName","src":"1133:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27837,"indexed":false,"mutability":"mutable","name":"totalAmountContributed","nameLocation":"1178:22:23","nodeType":"VariableDeclaration","scope":27841,"src":"1170:30:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27836,"name":"uint256","nodeType":"ElementaryTypeName","src":"1170:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27839,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1218:6:23","nodeType":"VariableDeclaration","scope":27841,"src":"1210:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27838,"name":"address","nodeType":"ElementaryTypeName","src":"1210:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1058:172:23"}},{"id":27851,"nodeType":"EventDefinition","src":"1237:132:23","nodes":[],"anonymous":false,"eventSelector":"031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b","name":"MintReservedToken","nameLocation":"1243:17:23","parameters":{"id":27850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27843,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"1286:7:23","nodeType":"VariableDeclaration","scope":27851,"src":"1270:23:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27842,"name":"uint256","nodeType":"ElementaryTypeName","src":"1270:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27845,"indexed":true,"mutability":"mutable","name":"tierId","nameLocation":"1311:6:23","nodeType":"VariableDeclaration","scope":27851,"src":"1295:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27844,"name":"uint256","nodeType":"ElementaryTypeName","src":"1295:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27847,"indexed":true,"mutability":"mutable","name":"beneficiary","nameLocation":"1335:11:23","nodeType":"VariableDeclaration","scope":27851,"src":"1319:27:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27846,"name":"address","nodeType":"ElementaryTypeName","src":"1319:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27849,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1356:6:23","nodeType":"VariableDeclaration","scope":27851,"src":"1348:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27848,"name":"address","nodeType":"ElementaryTypeName","src":"1348:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1260:108:23"}},{"id":27860,"nodeType":"EventDefinition","src":"1375:76:23","nodes":[],"anonymous":false,"eventSelector":"1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d","name":"AddTier","nameLocation":"1381:7:23","parameters":{"id":27859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27853,"indexed":true,"mutability":"mutable","name":"tierId","nameLocation":"1405:6:23","nodeType":"VariableDeclaration","scope":27860,"src":"1389:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27852,"name":"uint256","nodeType":"ElementaryTypeName","src":"1389:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27856,"indexed":false,"mutability":"mutable","name":"data","nameLocation":"1429:4:23","nodeType":"VariableDeclaration","scope":27860,"src":"1413:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_memory_ptr","typeString":"struct JB721TierParams"},"typeName":{"id":27855,"nodeType":"UserDefinedTypeName","pathNode":{"id":27854,"name":"JB721TierParams","nameLocations":["1413:15:23"],"nodeType":"IdentifierPath","referencedDeclaration":29439,"src":"1413:15:23"},"referencedDeclaration":29439,"src":"1413:15:23","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_storage_ptr","typeString":"struct JB721TierParams"}},"visibility":"internal"},{"constant":false,"id":27858,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1443:6:23","nodeType":"VariableDeclaration","scope":27860,"src":"1435:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27857,"name":"address","nodeType":"ElementaryTypeName","src":"1435:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1388:62:23"}},{"id":27866,"nodeType":"EventDefinition","src":"1457:57:23","nodes":[],"anonymous":false,"eventSelector":"832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba729","name":"RemoveTier","nameLocation":"1463:10:23","parameters":{"id":27865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27862,"indexed":true,"mutability":"mutable","name":"tierId","nameLocation":"1490:6:23","nodeType":"VariableDeclaration","scope":27866,"src":"1474:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27861,"name":"uint256","nodeType":"ElementaryTypeName","src":"1474:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27864,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1506:6:23","nodeType":"VariableDeclaration","scope":27866,"src":"1498:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27863,"name":"address","nodeType":"ElementaryTypeName","src":"1498:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1473:40:23"}},{"id":27874,"nodeType":"EventDefinition","src":"1520:88:23","nodes":[],"anonymous":false,"eventSelector":"677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc","name":"SetEncodedIPFSUri","nameLocation":"1526:17:23","parameters":{"id":27873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27868,"indexed":true,"mutability":"mutable","name":"tierId","nameLocation":"1560:6:23","nodeType":"VariableDeclaration","scope":27874,"src":"1544:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27867,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27870,"indexed":false,"mutability":"mutable","name":"encodedIPFSUri","nameLocation":"1576:14:23","nodeType":"VariableDeclaration","scope":27874,"src":"1568:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":27869,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1568:7:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":27872,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1600:6:23","nodeType":"VariableDeclaration","scope":27874,"src":"1592:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27871,"name":"address","nodeType":"ElementaryTypeName","src":"1592:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1543:64:23"}},{"id":27880,"nodeType":"EventDefinition","src":"1614:57:23","nodes":[],"anonymous":false,"eventSelector":"7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c13","name":"SetBaseUri","nameLocation":"1620:10:23","parameters":{"id":27879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27876,"indexed":true,"mutability":"mutable","name":"baseUri","nameLocation":"1646:7:23","nodeType":"VariableDeclaration","scope":27880,"src":"1631:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27875,"name":"string","nodeType":"ElementaryTypeName","src":"1631:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27878,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1663:6:23","nodeType":"VariableDeclaration","scope":27880,"src":"1655:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27877,"name":"address","nodeType":"ElementaryTypeName","src":"1655:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1630:40:23"}},{"id":27886,"nodeType":"EventDefinition","src":"1677:65:23","nodes":[],"anonymous":false,"eventSelector":"d36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b8","name":"SetContractUri","nameLocation":"1683:14:23","parameters":{"id":27885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27882,"indexed":true,"mutability":"mutable","name":"contractUri","nameLocation":"1713:11:23","nodeType":"VariableDeclaration","scope":27886,"src":"1698:26:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27881,"name":"string","nodeType":"ElementaryTypeName","src":"1698:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":27884,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1734:6:23","nodeType":"VariableDeclaration","scope":27886,"src":"1726:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27883,"name":"address","nodeType":"ElementaryTypeName","src":"1726:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1697:44:23"}},{"id":27893,"nodeType":"EventDefinition","src":"1748:86:23","nodes":[],"anonymous":false,"eventSelector":"e7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16","name":"SetTokenUriResolver","nameLocation":"1754:19:23","parameters":{"id":27892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27889,"indexed":true,"mutability":"mutable","name":"newResolver","nameLocation":"1805:11:23","nodeType":"VariableDeclaration","scope":27893,"src":"1774:42:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":27888,"nodeType":"UserDefinedTypeName","pathNode":{"id":27887,"name":"IJB721TokenUriResolver","nameLocations":["1774:22:23"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"1774:22:23"},"referencedDeclaration":27803,"src":"1774:22:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":27891,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1826:6:23","nodeType":"VariableDeclaration","scope":27893,"src":"1818:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27890,"name":"address","nodeType":"ElementaryTypeName","src":"1818:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1773:60:23"}},{"id":27903,"nodeType":"EventDefinition","src":"1840:135:23","nodes":[],"anonymous":false,"eventSelector":"2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da30336","name":"AddCredits","nameLocation":"1846:10:23","parameters":{"id":27902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27895,"indexed":true,"mutability":"mutable","name":"changeAmount","nameLocation":"1882:12:23","nodeType":"VariableDeclaration","scope":27903,"src":"1866:28:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27894,"name":"uint256","nodeType":"ElementaryTypeName","src":"1866:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27897,"indexed":true,"mutability":"mutable","name":"newTotalCredits","nameLocation":"1912:15:23","nodeType":"VariableDeclaration","scope":27903,"src":"1896:31:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27896,"name":"uint256","nodeType":"ElementaryTypeName","src":"1896:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27899,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1945:7:23","nodeType":"VariableDeclaration","scope":27903,"src":"1929:23:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27898,"name":"address","nodeType":"ElementaryTypeName","src":"1929:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27901,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1962:6:23","nodeType":"VariableDeclaration","scope":27903,"src":"1954:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27900,"name":"address","nodeType":"ElementaryTypeName","src":"1954:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1856:118:23"}},{"id":27913,"nodeType":"EventDefinition","src":"1981:135:23","nodes":[],"anonymous":false,"eventSelector":"e0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d","name":"UseCredits","nameLocation":"1987:10:23","parameters":{"id":27912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27905,"indexed":true,"mutability":"mutable","name":"changeAmount","nameLocation":"2023:12:23","nodeType":"VariableDeclaration","scope":27913,"src":"2007:28:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27904,"name":"uint256","nodeType":"ElementaryTypeName","src":"2007:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27907,"indexed":true,"mutability":"mutable","name":"newTotalCredits","nameLocation":"2053:15:23","nodeType":"VariableDeclaration","scope":27913,"src":"2037:31:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27906,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27909,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2086:7:23","nodeType":"VariableDeclaration","scope":27913,"src":"2070:23:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27908,"name":"address","nodeType":"ElementaryTypeName","src":"2070:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":27911,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"2103:6:23","nodeType":"VariableDeclaration","scope":27913,"src":"2095:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27910,"name":"address","nodeType":"ElementaryTypeName","src":"2095:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1997:118:23"}},{"id":27918,"nodeType":"FunctionDefinition","src":"2122:54:23","nodes":[],"functionSelector":"1d153ca4","implemented":false,"kind":"function","modifiers":[],"name":"codeOrigin","nameLocation":"2131:10:23","parameters":{"id":27914,"nodeType":"ParameterList","parameters":[],"src":"2141:2:23"},"returnParameters":{"id":27917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27916,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27918,"src":"2167:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27915,"name":"address","nodeType":"ElementaryTypeName","src":"2167:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2166:9:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27924,"nodeType":"FunctionDefinition","src":"2182:67:23","nodes":[],"functionSelector":"975057e7","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"2191:5:23","parameters":{"id":27919,"nodeType":"ParameterList","parameters":[],"src":"2196:2:23"},"returnParameters":{"id":27923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27924,"src":"2222:25:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"},"typeName":{"id":27921,"nodeType":"UserDefinedTypeName","pathNode":{"id":27920,"name":"IJBTiered721DelegateStore","nameLocations":["2222:25:23"],"nodeType":"IdentifierPath","referencedDeclaration":28458,"src":"2222:25:23"},"referencedDeclaration":28458,"src":"2222:25:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"visibility":"internal"}],"src":"2221:27:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27930,"nodeType":"FunctionDefinition","src":"2255:74:23","nodes":[],"functionSelector":"557e7155","implemented":false,"kind":"function","modifiers":[],"name":"fundingCycleStore","nameLocation":"2264:17:23","parameters":{"id":27925,"nodeType":"ParameterList","parameters":[],"src":"2281:2:23"},"returnParameters":{"id":27929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27928,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27930,"src":"2307:20:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":27927,"nodeType":"UserDefinedTypeName","pathNode":{"id":27926,"name":"IJBFundingCycleStore","nameLocations":["2307:20:23"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"2307:20:23"},"referencedDeclaration":85310,"src":"2307:20:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"}],"src":"2306:22:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27940,"nodeType":"FunctionDefinition","src":"2335:78:23","nodes":[],"functionSelector":"08786b1a","implemented":false,"kind":"function","modifiers":[],"name":"pricingContext","nameLocation":"2344:14:23","parameters":{"id":27931,"nodeType":"ParameterList","parameters":[],"src":"2358:2:23"},"returnParameters":{"id":27939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27933,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27940,"src":"2384:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27932,"name":"uint256","nodeType":"ElementaryTypeName","src":"2384:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27935,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27940,"src":"2393:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27934,"name":"uint256","nodeType":"ElementaryTypeName","src":"2393:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27938,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27940,"src":"2402:9:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"},"typeName":{"id":27937,"nodeType":"UserDefinedTypeName","pathNode":{"id":27936,"name":"IJBPrices","nameLocations":["2402:9:23"],"nodeType":"IdentifierPath","referencedDeclaration":86000,"src":"2402:9:23"},"referencedDeclaration":86000,"src":"2402:9:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"visibility":"internal"}],"src":"2383:29:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27947,"nodeType":"FunctionDefinition","src":"2419:69:23","nodes":[],"functionSelector":"245a45b5","implemented":false,"kind":"function","modifiers":[],"name":"creditsOf","nameLocation":"2428:9:23","parameters":{"id":27943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27942,"mutability":"mutable","name":"_address","nameLocation":"2446:8:23","nodeType":"VariableDeclaration","scope":27947,"src":"2438:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27941,"name":"address","nodeType":"ElementaryTypeName","src":"2438:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2437:18:23"},"returnParameters":{"id":27946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27945,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27947,"src":"2479:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27944,"name":"uint256","nodeType":"ElementaryTypeName","src":"2479:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2478:9:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27954,"nodeType":"FunctionDefinition","src":"2494:72:23","nodes":[],"functionSelector":"54c6d1f5","implemented":false,"kind":"function","modifiers":[],"name":"firstOwnerOf","nameLocation":"2503:12:23","parameters":{"id":27950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27949,"mutability":"mutable","name":"_tokenId","nameLocation":"2524:8:23","nodeType":"VariableDeclaration","scope":27954,"src":"2516:16:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2516:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2515:18:23"},"returnParameters":{"id":27953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27952,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27954,"src":"2557:7:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27951,"name":"address","nodeType":"ElementaryTypeName","src":"2557:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2556:9:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27959,"nodeType":"FunctionDefinition","src":"2572:57:23","nodes":[],"functionSelector":"6c0360eb","implemented":false,"kind":"function","modifiers":[],"name":"baseURI","nameLocation":"2581:7:23","parameters":{"id":27955,"nodeType":"ParameterList","parameters":[],"src":"2588:2:23"},"returnParameters":{"id":27958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27959,"src":"2614:13:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27956,"name":"string","nodeType":"ElementaryTypeName","src":"2614:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2613:15:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27964,"nodeType":"FunctionDefinition","src":"2635:61:23","nodes":[],"functionSelector":"e8a3d485","implemented":false,"kind":"function","modifiers":[],"name":"contractURI","nameLocation":"2644:11:23","parameters":{"id":27960,"nodeType":"ParameterList","parameters":[],"src":"2655:2:23"},"returnParameters":{"id":27963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":27964,"src":"2681:13:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":27961,"name":"string","nodeType":"ElementaryTypeName","src":"2681:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2680:15:23"},"scope":28042,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":27974,"nodeType":"FunctionDefinition","src":"2702:104:23","nodes":[],"functionSelector":"843d92ee","implemented":false,"kind":"function","modifiers":[],"name":"adjustTiers","nameLocation":"2711:11:23","parameters":{"id":27972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27968,"mutability":"mutable","name":"tierDataToAdd","nameLocation":"2748:13:23","nodeType":"VariableDeclaration","scope":27974,"src":"2723:38:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721TierParams[]"},"typeName":{"baseType":{"id":27966,"nodeType":"UserDefinedTypeName","pathNode":{"id":27965,"name":"JB721TierParams","nameLocations":["2723:15:23"],"nodeType":"IdentifierPath","referencedDeclaration":29439,"src":"2723:15:23"},"referencedDeclaration":29439,"src":"2723:15:23","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_storage_ptr","typeString":"struct JB721TierParams"}},"id":27967,"nodeType":"ArrayTypeName","src":"2723:17:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_storage_$dyn_storage_ptr","typeString":"struct JB721TierParams[]"}},"visibility":"internal"},{"constant":false,"id":27971,"mutability":"mutable","name":"tierIdsToRemove","nameLocation":"2780:15:23","nodeType":"VariableDeclaration","scope":27974,"src":"2763:32:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27969,"name":"uint256","nodeType":"ElementaryTypeName","src":"2763:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27970,"nodeType":"ArrayTypeName","src":"2763:9:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2722:74:23"},"returnParameters":{"id":27973,"nodeType":"ParameterList","parameters":[],"src":"2805:0:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":27981,"nodeType":"FunctionDefinition","src":"2812:105:23","nodes":[],"functionSelector":"2a596e53","implemented":false,"kind":"function","modifiers":[],"name":"mintReservesFor","nameLocation":"2821:15:23","parameters":{"id":27979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27978,"mutability":"mutable","name":"mintReservesForTiersData","nameLocation":"2882:24:23","nodeType":"VariableDeclaration","scope":27981,"src":"2837:69:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_memory_ptr_$dyn_memory_ptr","typeString":"struct JBTiered721MintReservesForTiersData[]"},"typeName":{"baseType":{"id":27976,"nodeType":"UserDefinedTypeName","pathNode":{"id":27975,"name":"JBTiered721MintReservesForTiersData","nameLocations":["2837:35:23"],"nodeType":"IdentifierPath","referencedDeclaration":29671,"src":"2837:35:23"},"referencedDeclaration":29671,"src":"2837:35:23","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_storage_ptr","typeString":"struct JBTiered721MintReservesForTiersData"}},"id":27977,"nodeType":"ArrayTypeName","src":"2837:37:23","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_storage_$dyn_storage_ptr","typeString":"struct JBTiered721MintReservesForTiersData[]"}},"visibility":"internal"}],"src":"2836:71:23"},"returnParameters":{"id":27980,"nodeType":"ParameterList","parameters":[],"src":"2916:0:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":27988,"nodeType":"FunctionDefinition","src":"2923:65:23","nodes":[],"functionSelector":"aa4fb15b","implemented":false,"kind":"function","modifiers":[],"name":"mintReservesFor","nameLocation":"2932:15:23","parameters":{"id":27986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27983,"mutability":"mutable","name":"tierId","nameLocation":"2956:6:23","nodeType":"VariableDeclaration","scope":27988,"src":"2948:14:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27982,"name":"uint256","nodeType":"ElementaryTypeName","src":"2948:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27985,"mutability":"mutable","name":"count","nameLocation":"2972:5:23","nodeType":"VariableDeclaration","scope":27988,"src":"2964:13:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":27984,"name":"uint256","nodeType":"ElementaryTypeName","src":"2964:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2947:31:23"},"returnParameters":{"id":27987,"nodeType":"ParameterList","parameters":[],"src":"2987:0:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":27999,"nodeType":"FunctionDefinition","src":"2994:110:23","nodes":[],"functionSelector":"6ac6d941","implemented":false,"kind":"function","modifiers":[],"name":"mintFor","nameLocation":"3003:7:23","parameters":{"id":27994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27991,"mutability":"mutable","name":"tierIds","nameLocation":"3029:7:23","nodeType":"VariableDeclaration","scope":27999,"src":"3011:25:23","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":27989,"name":"uint16","nodeType":"ElementaryTypeName","src":"3011:6:23","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":27990,"nodeType":"ArrayTypeName","src":"3011:8:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"},{"constant":false,"id":27993,"mutability":"mutable","name":"beneficiary","nameLocation":"3046:11:23","nodeType":"VariableDeclaration","scope":27999,"src":"3038:19:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":27992,"name":"address","nodeType":"ElementaryTypeName","src":"3038:7:23","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3010:48:23"},"returnParameters":{"id":27998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":27997,"mutability":"mutable","name":"tokenIds","nameLocation":"3094:8:23","nodeType":"VariableDeclaration","scope":27999,"src":"3077:25:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":27995,"name":"uint256","nodeType":"ElementaryTypeName","src":"3077:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":27996,"nodeType":"ArrayTypeName","src":"3077:9:23","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3076:27:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28013,"nodeType":"FunctionDefinition","src":"3110:231:23","nodes":[],"functionSelector":"1435aad5","implemented":false,"kind":"function","modifiers":[],"name":"setMetadata","nameLocation":"3119:11:23","parameters":{"id":28011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28001,"mutability":"mutable","name":"baseUri","nameLocation":"3154:7:23","nodeType":"VariableDeclaration","scope":28013,"src":"3140:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28000,"name":"string","nodeType":"ElementaryTypeName","src":"3140:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28003,"mutability":"mutable","name":"contractMetadataUri","nameLocation":"3187:19:23","nodeType":"VariableDeclaration","scope":28013,"src":"3171:35:23","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":28002,"name":"string","nodeType":"ElementaryTypeName","src":"3171:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28006,"mutability":"mutable","name":"tokenUriResolver","nameLocation":"3239:16:23","nodeType":"VariableDeclaration","scope":28013,"src":"3216:39:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":28005,"nodeType":"UserDefinedTypeName","pathNode":{"id":28004,"name":"IJB721TokenUriResolver","nameLocations":["3216:22:23"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"3216:22:23"},"referencedDeclaration":27803,"src":"3216:22:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":28008,"mutability":"mutable","name":"encodedIPFSUriTierId","nameLocation":"3273:20:23","nodeType":"VariableDeclaration","scope":28013,"src":"3265:28:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28007,"name":"uint256","nodeType":"ElementaryTypeName","src":"3265:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28010,"mutability":"mutable","name":"encodedIPFSUri","nameLocation":"3311:14:23","nodeType":"VariableDeclaration","scope":28013,"src":"3303:22:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28009,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3303:7:23","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3130:201:23"},"returnParameters":{"id":28012,"nodeType":"ParameterList","parameters":[],"src":"3340:0:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28041,"nodeType":"FunctionDefinition","src":"3347:406:23","nodes":[],"functionSelector":"a1250d7f","implemented":false,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"3356:10:23","parameters":{"id":28039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28015,"mutability":"mutable","name":"projectId","nameLocation":"3384:9:23","nodeType":"VariableDeclaration","scope":28041,"src":"3376:17:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28014,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:23","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28017,"mutability":"mutable","name":"name","nameLocation":"3417:4:23","nodeType":"VariableDeclaration","scope":28041,"src":"3403:18:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28016,"name":"string","nodeType":"ElementaryTypeName","src":"3403:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28019,"mutability":"mutable","name":"symbol","nameLocation":"3445:6:23","nodeType":"VariableDeclaration","scope":28041,"src":"3431:20:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28018,"name":"string","nodeType":"ElementaryTypeName","src":"3431:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28022,"mutability":"mutable","name":"fundingCycleStore","nameLocation":"3482:17:23","nodeType":"VariableDeclaration","scope":28041,"src":"3461:38:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":28021,"nodeType":"UserDefinedTypeName","pathNode":{"id":28020,"name":"IJBFundingCycleStore","nameLocations":["3461:20:23"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"3461:20:23"},"referencedDeclaration":85310,"src":"3461:20:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"},{"constant":false,"id":28024,"mutability":"mutable","name":"baseUri","nameLocation":"3523:7:23","nodeType":"VariableDeclaration","scope":28041,"src":"3509:21:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28023,"name":"string","nodeType":"ElementaryTypeName","src":"3509:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28027,"mutability":"mutable","name":"tokenUriResolver","nameLocation":"3563:16:23","nodeType":"VariableDeclaration","scope":28041,"src":"3540:39:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":28026,"nodeType":"UserDefinedTypeName","pathNode":{"id":28025,"name":"IJB721TokenUriResolver","nameLocations":["3540:22:23"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"3540:22:23"},"referencedDeclaration":27803,"src":"3540:22:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":28029,"mutability":"mutable","name":"contractUri","nameLocation":"3603:11:23","nodeType":"VariableDeclaration","scope":28041,"src":"3589:25:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28028,"name":"string","nodeType":"ElementaryTypeName","src":"3589:6:23","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28032,"mutability":"mutable","name":"pricing","nameLocation":"3650:7:23","nodeType":"VariableDeclaration","scope":28041,"src":"3624:33:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams"},"typeName":{"id":28031,"nodeType":"UserDefinedTypeName","pathNode":{"id":28030,"name":"JB721PricingParams","nameLocations":["3624:18:23"],"nodeType":"IdentifierPath","referencedDeclaration":29385,"src":"3624:18:23"},"referencedDeclaration":29385,"src":"3624:18:23","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_storage_ptr","typeString":"struct JB721PricingParams"}},"visibility":"internal"},{"constant":false,"id":28035,"mutability":"mutable","name":"store","nameLocation":"3693:5:23","nodeType":"VariableDeclaration","scope":28041,"src":"3667:31:23","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"},"typeName":{"id":28034,"nodeType":"UserDefinedTypeName","pathNode":{"id":28033,"name":"IJBTiered721DelegateStore","nameLocations":["3667:25:23"],"nodeType":"IdentifierPath","referencedDeclaration":28458,"src":"3667:25:23"},"referencedDeclaration":28458,"src":"3667:25:23","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"visibility":"internal"},{"constant":false,"id":28038,"mutability":"mutable","name":"flags","nameLocation":"3732:5:23","nodeType":"VariableDeclaration","scope":28041,"src":"3708:29:23","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":28037,"nodeType":"UserDefinedTypeName","pathNode":{"id":28036,"name":"JBTiered721Flags","nameLocations":["3708:16:23"],"nodeType":"IdentifierPath","referencedDeclaration":29646,"src":"3708:16:23"},"referencedDeclaration":29646,"src":"3708:16:23","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"3366:377:23"},"returnParameters":{"id":28040,"nodeType":"ParameterList","parameters":[],"src":"3752:0:23"},"scope":28042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":27828,"name":"IJB721Delegate","nameLocations":["1027:14:23"],"nodeType":"IdentifierPath","referencedDeclaration":27791,"src":"1027:14:23"},"id":27829,"nodeType":"InheritanceSpecifier","src":"1027:14:23"}],"canonicalName":"IJBTiered721Delegate","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28042,27791],"name":"IJBTiered721Delegate","nameLocation":"1003:20:23","scope":28043,"usedErrors":[],"usedEvents":[27841,27851,27860,27866,27874,27880,27886,27893,27903,27913]}],"license":"MIT"},"id":23} \ No newline at end of file +{"abi":[{"type":"function","name":"adjustTiers","inputs":[{"name":"tierDataToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"tierIdsToRemove","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"codeOrigin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"creditsOf","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"firstOwnerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"beneficiary","type":"address","internalType":"address"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"mintReservesForTiersData","type":"tuple[]","internalType":"struct JBTiered721MintReservesForTiersData[]","components":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"pricingContext","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"contract IJBPrices"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"setMetadata","inputs":[{"name":"baseUri","type":"string","internalType":"string"},{"name":"contractMetadataUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"encodedIPFSUriTierId","type":"uint256","internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateStore"}],"stateMutability":"view"},{"type":"event","name":"AddCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AddTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JB721TierParams","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"totalAmountContributed","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintReservedToken","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RemoveTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetBaseUri","inputs":[{"name":"baseUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetContractUri","inputs":[{"name":"contractUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetEncodedIPFSUri","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"newResolver","type":"address","indexed":true,"internalType":"contract IJB721TokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UseCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":"843d92ee","baseURI()":"6c0360eb","codeOrigin()":"1d153ca4","contractURI()":"e8a3d485","creditsOf(address)":"245a45b5","directory()":"c41c2f24","firstOwnerOf(uint256)":"54c6d1f5","fundingCycleStore()":"557e7155","initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":"a1250d7f","mintFor(uint16[],address)":"6ac6d941","mintReservesFor((uint256,uint256)[])":"2a596e53","mintReservesFor(uint256,uint256)":"aa4fb15b","payMetadataDelegateId()":"46a6d981","pricingContext()":"08786b1a","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8","setMetadata(string,string,address,uint256,bytes32)":"1435aad5","store()":"975057e7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddCredits\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct JB721TierParams\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmountContributed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintReservedToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"RemoveTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetBaseUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetContractUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetEncodedIPFSUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UseCredits\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tierDataToAdd\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"tierIdsToRemove\",\"type\":\"uint256[]\"}],\"name\":\"adjustTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codeOrigin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"creditsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"firstOwnerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTiered721MintReservesForTiersData[]\",\"name\":\"mintReservesForTiersData\",\"type\":\"tuple[]\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricingContext\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"contractMetadataUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"encodedIPFSUriTierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721Delegate.sol\":\"IJBTiered721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddCredits","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"struct JB721TierParams","name":"data","type":"tuple","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTier","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"totalAmountContributed","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintReservedToken","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"RemoveTier","anonymous":false},{"inputs":[{"internalType":"string","name":"baseUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetBaseUri","anonymous":false},{"inputs":[{"internalType":"string","name":"contractUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetContractUri","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetEncodedIPFSUri","anonymous":false},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"newResolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"UseCredits","anonymous":false},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"tierDataToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint256[]","name":"tierIdsToRemove","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"adjustTiers"},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"codeOrigin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"view","type":"function","name":"creditsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"firstOwnerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"uint16[]","name":"tierIds","type":"uint16[]"},{"internalType":"address","name":"beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"struct JBTiered721MintReservesForTiersData[]","name":"mintReservesForTiersData","type":"tuple[]","components":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pricingContext","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"contract IJBPrices","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"string","name":"contractMetadataUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"uint256","name":"encodedIPFSUriTierId","type":"uint256"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setMetadata"},{"inputs":[],"stateMutability":"view","type":"function","name":"store","outputs":[{"internalType":"contract IJBTiered721DelegateStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721Delegate.sol":"IJBTiered721Delegate"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":23} \ No newline at end of file diff --git a/out/IJBTiered721DelegateDeployer.sol/IJBTiered721DelegateDeployer.json b/out/IJBTiered721DelegateDeployer.sol/IJBTiered721DelegateDeployer.json index bd105065..b8a49fa1 100644 --- a/out/IJBTiered721DelegateDeployer.sol/IJBTiered721DelegateDeployer.json +++ b/out/IJBTiered721DelegateDeployer.sol/IJBTiered721DelegateDeployer.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"deployDelegateFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTieredNFTRewardDelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]}],"outputs":[{"name":"delegate","type":"address","internalType":"contract IJBTiered721Delegate"}],"stateMutability":"nonpayable"},{"type":"event","name":"DelegateDeployed","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newDelegate","type":"address","indexed":false,"internalType":"contract IJBTiered721Delegate"},{"name":"governanceType","type":"uint8","indexed":false,"internalType":"enum JB721GovernanceType"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":"70d7f249"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"name\":\"DelegateDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTieredNFTRewardDelegateData\",\"type\":\"tuple\"}],\"name\":\"deployDelegateFor\",\"outputs\":[{\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"delegate\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":\"IJBTiered721DelegateDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address","indexed":false},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8","indexed":false}],"type":"event","name":"DelegateDeployed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTieredNFTRewardDelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"deployDelegateFor","outputs":[{"internalType":"contract IJBTiered721Delegate","name":"delegate","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateDeployer.sol":"IJBTiered721DelegateDeployer"},"libraries":{}},"sources":{"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/interfaces/IJBTiered721DelegateDeployer.sol","id":28075,"exportedSymbols":{"IJBDirectory":[85041],"IJBTiered721Delegate":[28042],"IJBTiered721DelegateDeployer":[28074],"JB721GovernanceType":[6273],"JBDeployTiered721DelegateData":[29486]},"nodeType":"SourceUnit","src":"32:756:24","nodes":[{"id":28044,"nodeType":"PragmaDirective","src":"32:23:24","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":28046,"nodeType":"ImportDirective","src":"57:102:24","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":28075,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":28045,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"66:12:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28048,"nodeType":"ImportDirective","src":"161:71:24","nodes":[],"absolutePath":"contracts/enums/JB721GovernanceType.sol","file":"../enums/JB721GovernanceType.sol","nameLocation":"-1:-1:-1","scope":28075,"sourceUnit":6274,"symbolAliases":[{"foreign":{"id":28047,"name":"JB721GovernanceType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"170:19:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28050,"nodeType":"ImportDirective","src":"233:93:24","nodes":[],"absolutePath":"contracts/structs/JBDeployTiered721DelegateData.sol","file":"../structs/JBDeployTiered721DelegateData.sol","nameLocation":"-1:-1:-1","scope":28075,"sourceUnit":29487,"symbolAliases":[{"foreign":{"id":28049,"name":"JBDeployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"242:29:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28052,"nodeType":"ImportDirective","src":"327:66:24","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721Delegate.sol","file":"./IJBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":28075,"sourceUnit":28043,"symbolAliases":[{"foreign":{"id":28051,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"336:20:24","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28074,"nodeType":"ContractDefinition","src":"395:392:24","nodes":[{"id":28062,"nodeType":"EventDefinition","src":"440:150:24","nodes":[],"anonymous":false,"eventSelector":"a1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f5","name":"DelegateDeployed","nameLocation":"446:16:24","parameters":{"id":28061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28054,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"488:9:24","nodeType":"VariableDeclaration","scope":28062,"src":"472:25:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28053,"name":"uint256","nodeType":"ElementaryTypeName","src":"472:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28057,"indexed":false,"mutability":"mutable","name":"newDelegate","nameLocation":"528:11:24","nodeType":"VariableDeclaration","scope":28062,"src":"507:32:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":28056,"nodeType":"UserDefinedTypeName","pathNode":{"id":28055,"name":"IJBTiered721Delegate","nameLocations":["507:20:24"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"507:20:24"},"referencedDeclaration":28042,"src":"507:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"},{"constant":false,"id":28060,"indexed":false,"mutability":"mutable","name":"governanceType","nameLocation":"569:14:24","nodeType":"VariableDeclaration","scope":28062,"src":"549:34:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"},"typeName":{"id":28059,"nodeType":"UserDefinedTypeName","pathNode":{"id":28058,"name":"JB721GovernanceType","nameLocations":["549:19:24"],"nodeType":"IdentifierPath","referencedDeclaration":6273,"src":"549:19:24"},"referencedDeclaration":6273,"src":"549:19:24","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}},"visibility":"internal"}],"src":"462:127:24"}},{"id":28073,"nodeType":"FunctionDefinition","src":"596:189:24","nodes":[],"functionSelector":"70d7f249","implemented":false,"kind":"function","modifiers":[],"name":"deployDelegateFor","nameLocation":"605:17:24","parameters":{"id":28068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28064,"mutability":"mutable","name":"projectId","nameLocation":"640:9:24","nodeType":"VariableDeclaration","scope":28073,"src":"632:17:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28063,"name":"uint256","nodeType":"ElementaryTypeName","src":"632:7:24","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28067,"mutability":"mutable","name":"deployTieredNFTRewardDelegateData","nameLocation":"696:33:24","nodeType":"VariableDeclaration","scope":28073,"src":"659:70:24","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":28066,"nodeType":"UserDefinedTypeName","pathNode":{"id":28065,"name":"JBDeployTiered721DelegateData","nameLocations":["659:29:24"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"659:29:24"},"referencedDeclaration":29486,"src":"659:29:24","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"}],"src":"622:113:24"},"returnParameters":{"id":28072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28071,"mutability":"mutable","name":"delegate","nameLocation":"775:8:24","nodeType":"VariableDeclaration","scope":28073,"src":"754:29:24","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":28070,"nodeType":"UserDefinedTypeName","pathNode":{"id":28069,"name":"IJBTiered721Delegate","nameLocations":["754:20:24"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"754:20:24"},"referencedDeclaration":28042,"src":"754:20:24","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"}],"src":"753:31:24"},"scope":28074,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBTiered721DelegateDeployer","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28074],"name":"IJBTiered721DelegateDeployer","nameLocation":"405:28:24","scope":28075,"usedErrors":[],"usedEvents":[28062]}],"license":"MIT"},"id":24} \ No newline at end of file +{"abi":[{"type":"function","name":"deployDelegateFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTieredNFTRewardDelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]}],"outputs":[{"name":"delegate","type":"address","internalType":"contract IJBTiered721Delegate"}],"stateMutability":"nonpayable"},{"type":"event","name":"DelegateDeployed","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newDelegate","type":"address","indexed":false,"internalType":"contract IJBTiered721Delegate"},{"name":"governanceType","type":"uint8","indexed":false,"internalType":"enum JB721GovernanceType"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":"70d7f249"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"name\":\"DelegateDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTieredNFTRewardDelegateData\",\"type\":\"tuple\"}],\"name\":\"deployDelegateFor\",\"outputs\":[{\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"delegate\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":\"IJBTiered721DelegateDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address","indexed":false},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8","indexed":false}],"type":"event","name":"DelegateDeployed","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTieredNFTRewardDelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"deployDelegateFor","outputs":[{"internalType":"contract IJBTiered721Delegate","name":"delegate","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateDeployer.sol":"IJBTiered721DelegateDeployer"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":24} \ No newline at end of file diff --git a/out/IJBTiered721DelegateProjectDeployer.sol/IJBTiered721DelegateProjectDeployer.json b/out/IJBTiered721DelegateProjectDeployer.sol/IJBTiered721DelegateProjectDeployer.json index 3bb25e9c..7364a1ac 100644 --- a/out/IJBTiered721DelegateProjectDeployer.sol/IJBTiered721DelegateProjectDeployer.json +++ b/out/IJBTiered721DelegateProjectDeployer.sol/IJBTiered721DelegateProjectDeployer.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"delegateDeployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateDeployer"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"launchFundingCyclesData","type":"tuple","internalType":"struct JBLaunchFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"launchProjectData","type":"tuple","internalType":"struct JBLaunchProjectData","components":[{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"reconfigureFundingCyclesData","type":"tuple","internalType":"struct JBReconfigureFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegateDeployer()":"8f3d964b","directory()":"c41c2f24","launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"6907d436","launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"3c2402c4","reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":"aac68198"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"delegateDeployer\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchFundingCyclesData\",\"name\":\"launchFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchProjectData\",\"name\":\"launchProjectData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBReconfigureFundingCyclesData\",\"name\":\"reconfigureFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":\"IJBTiered721DelegateProjectDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"delegateDeployer","outputs":[{"internalType":"contract IJBTiered721DelegateDeployer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchFundingCyclesData","name":"launchFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchProjectData","name":"launchProjectData","type":"tuple","components":[{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBReconfigureFundingCyclesData","name":"reconfigureFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":"IJBTiered721DelegateProjectDeployer"},"libraries":{}},"sources":{"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol","id":28156,"exportedSymbols":{"IJBController3_1":[84887],"IJBDirectory":[85041],"IJBProjects":[86082],"IJBTiered721DelegateDeployer":[28074],"IJBTiered721DelegateProjectDeployer":[28155],"JBDeployTiered721DelegateData":[29486],"JBLaunchFundingCyclesData":[29517],"JBLaunchProjectData":[29552],"JBProjectMetadata":[87943],"JBReconfigureFundingCyclesData":[29616]},"nodeType":"SourceUnit","src":"32:1940:25","nodes":[{"id":28076,"nodeType":"PragmaDirective","src":"32:23:25","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":28078,"nodeType":"ImportDirective","src":"57:102:25","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":28077,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"66:12:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28080,"nodeType":"ImportDirective","src":"160:100:25","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":28079,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"169:11:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28082,"nodeType":"ImportDirective","src":"261:110:25","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":84888,"symbolAliases":[{"foreign":{"id":28081,"name":"IJBController3_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84887,"src":"270:16:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28084,"nodeType":"ImportDirective","src":"372:109:25","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":87944,"symbolAliases":[{"foreign":{"id":28083,"name":"JBProjectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87943,"src":"381:17:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28086,"nodeType":"ImportDirective","src":"483:93:25","nodes":[],"absolutePath":"contracts/structs/JBDeployTiered721DelegateData.sol","file":"../structs/JBDeployTiered721DelegateData.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":29487,"symbolAliases":[{"foreign":{"id":28085,"name":"JBDeployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"492:29:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28088,"nodeType":"ImportDirective","src":"577:73:25","nodes":[],"absolutePath":"contracts/structs/JBLaunchProjectData.sol","file":"../structs/JBLaunchProjectData.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":29553,"symbolAliases":[{"foreign":{"id":28087,"name":"JBLaunchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29552,"src":"586:19:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28090,"nodeType":"ImportDirective","src":"651:85:25","nodes":[],"absolutePath":"contracts/structs/JBLaunchFundingCyclesData.sol","file":"../structs/JBLaunchFundingCyclesData.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":29518,"symbolAliases":[{"foreign":{"id":28089,"name":"JBLaunchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29517,"src":"660:25:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28092,"nodeType":"ImportDirective","src":"737:95:25","nodes":[],"absolutePath":"contracts/structs/JBReconfigureFundingCyclesData.sol","file":"../structs/JBReconfigureFundingCyclesData.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":29617,"symbolAliases":[{"foreign":{"id":28091,"name":"JBReconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29616,"src":"746:30:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28094,"nodeType":"ImportDirective","src":"833:82:25","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateDeployer.sol","file":"./IJBTiered721DelegateDeployer.sol","nameLocation":"-1:-1:-1","scope":28156,"sourceUnit":28075,"symbolAliases":[{"foreign":{"id":28093,"name":"IJBTiered721DelegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28074,"src":"842:28:25","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28155,"nodeType":"ContractDefinition","src":"917:1054:25","nodes":[{"id":28100,"nodeType":"FunctionDefinition","src":"969:58:25","nodes":[],"functionSelector":"c41c2f24","implemented":false,"kind":"function","modifiers":[],"name":"directory","nameLocation":"978:9:25","parameters":{"id":28095,"nodeType":"ParameterList","parameters":[],"src":"987:2:25"},"returnParameters":{"id":28099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28098,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28100,"src":"1013:12:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":28097,"nodeType":"UserDefinedTypeName","pathNode":{"id":28096,"name":"IJBDirectory","nameLocations":["1013:12:25"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"1013:12:25"},"referencedDeclaration":85041,"src":"1013:12:25","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"1012:14:25"},"scope":28155,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28106,"nodeType":"FunctionDefinition","src":"1033:81:25","nodes":[],"functionSelector":"8f3d964b","implemented":false,"kind":"function","modifiers":[],"name":"delegateDeployer","nameLocation":"1042:16:25","parameters":{"id":28101,"nodeType":"ParameterList","parameters":[],"src":"1058:2:25"},"returnParameters":{"id":28105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28104,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28106,"src":"1084:28:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"},"typeName":{"id":28103,"nodeType":"UserDefinedTypeName","pathNode":{"id":28102,"name":"IJBTiered721DelegateDeployer","nameLocations":["1084:28:25"],"nodeType":"IdentifierPath","referencedDeclaration":28074,"src":"1084:28:25"},"referencedDeclaration":28074,"src":"1084:28:25","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"visibility":"internal"}],"src":"1083:30:25"},"scope":28155,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28122,"nodeType":"FunctionDefinition","src":"1120:257:25","nodes":[],"functionSelector":"3c2402c4","implemented":false,"kind":"function","modifiers":[],"name":"launchProjectFor","nameLocation":"1129:16:25","parameters":{"id":28118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28108,"mutability":"mutable","name":"owner","nameLocation":"1163:5:25","nodeType":"VariableDeclaration","scope":28122,"src":"1155:13:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28107,"name":"address","nodeType":"ElementaryTypeName","src":"1155:7:25","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28111,"mutability":"mutable","name":"deployTiered721DelegateData","nameLocation":"1215:27:25","nodeType":"VariableDeclaration","scope":28122,"src":"1178:64:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":28110,"nodeType":"UserDefinedTypeName","pathNode":{"id":28109,"name":"JBDeployTiered721DelegateData","nameLocations":["1178:29:25"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"1178:29:25"},"referencedDeclaration":29486,"src":"1178:29:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":28114,"mutability":"mutable","name":"launchProjectData","nameLocation":"1279:17:25","nodeType":"VariableDeclaration","scope":28122,"src":"1252:44:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData"},"typeName":{"id":28113,"nodeType":"UserDefinedTypeName","pathNode":{"id":28112,"name":"JBLaunchProjectData","nameLocations":["1252:19:25"],"nodeType":"IdentifierPath","referencedDeclaration":29552,"src":"1252:19:25"},"referencedDeclaration":29552,"src":"1252:19:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_storage_ptr","typeString":"struct JBLaunchProjectData"}},"visibility":"internal"},{"constant":false,"id":28117,"mutability":"mutable","name":"controller","nameLocation":"1323:10:25","nodeType":"VariableDeclaration","scope":28122,"src":"1306:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":28116,"nodeType":"UserDefinedTypeName","pathNode":{"id":28115,"name":"IJBController3_1","nameLocations":["1306:16:25"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"1306:16:25"},"referencedDeclaration":84887,"src":"1306:16:25","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"1145:194:25"},"returnParameters":{"id":28121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28120,"mutability":"mutable","name":"projectId","nameLocation":"1366:9:25","nodeType":"VariableDeclaration","scope":28122,"src":"1358:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28119,"name":"uint256","nodeType":"ElementaryTypeName","src":"1358:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1357:19:25"},"scope":28155,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28138,"nodeType":"FunctionDefinition","src":"1383:283:25","nodes":[],"functionSelector":"6907d436","implemented":false,"kind":"function","modifiers":[],"name":"launchFundingCyclesFor","nameLocation":"1392:22:25","parameters":{"id":28134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28124,"mutability":"mutable","name":"projectId","nameLocation":"1432:9:25","nodeType":"VariableDeclaration","scope":28138,"src":"1424:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28123,"name":"uint256","nodeType":"ElementaryTypeName","src":"1424:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28127,"mutability":"mutable","name":"deployTiered721DelegateData","nameLocation":"1488:27:25","nodeType":"VariableDeclaration","scope":28138,"src":"1451:64:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":28126,"nodeType":"UserDefinedTypeName","pathNode":{"id":28125,"name":"JBDeployTiered721DelegateData","nameLocations":["1451:29:25"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"1451:29:25"},"referencedDeclaration":29486,"src":"1451:29:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":28130,"mutability":"mutable","name":"launchFundingCyclesData","nameLocation":"1558:23:25","nodeType":"VariableDeclaration","scope":28138,"src":"1525:56:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData"},"typeName":{"id":28129,"nodeType":"UserDefinedTypeName","pathNode":{"id":28128,"name":"JBLaunchFundingCyclesData","nameLocations":["1525:25:25"],"nodeType":"IdentifierPath","referencedDeclaration":29517,"src":"1525:25:25"},"referencedDeclaration":29517,"src":"1525:25:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_storage_ptr","typeString":"struct JBLaunchFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":28133,"mutability":"mutable","name":"controller","nameLocation":"1608:10:25","nodeType":"VariableDeclaration","scope":28138,"src":"1591:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":28132,"nodeType":"UserDefinedTypeName","pathNode":{"id":28131,"name":"IJBController3_1","nameLocations":["1591:16:25"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"1591:16:25"},"referencedDeclaration":84887,"src":"1591:16:25","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"1414:210:25"},"returnParameters":{"id":28137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28136,"mutability":"mutable","name":"configuration","nameLocation":"1651:13:25","nodeType":"VariableDeclaration","scope":28138,"src":"1643:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28135,"name":"uint256","nodeType":"ElementaryTypeName","src":"1643:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1642:23:25"},"scope":28155,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28154,"nodeType":"FunctionDefinition","src":"1672:297:25","nodes":[],"functionSelector":"aac68198","implemented":false,"kind":"function","modifiers":[],"name":"reconfigureFundingCyclesOf","nameLocation":"1681:26:25","parameters":{"id":28150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28140,"mutability":"mutable","name":"projectId","nameLocation":"1725:9:25","nodeType":"VariableDeclaration","scope":28154,"src":"1717:17:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28139,"name":"uint256","nodeType":"ElementaryTypeName","src":"1717:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28143,"mutability":"mutable","name":"deployTiered721DelegateData","nameLocation":"1781:27:25","nodeType":"VariableDeclaration","scope":28154,"src":"1744:64:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":28142,"nodeType":"UserDefinedTypeName","pathNode":{"id":28141,"name":"JBDeployTiered721DelegateData","nameLocations":["1744:29:25"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"1744:29:25"},"referencedDeclaration":29486,"src":"1744:29:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":28146,"mutability":"mutable","name":"reconfigureFundingCyclesData","nameLocation":"1856:28:25","nodeType":"VariableDeclaration","scope":28154,"src":"1818:66:25","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData"},"typeName":{"id":28145,"nodeType":"UserDefinedTypeName","pathNode":{"id":28144,"name":"JBReconfigureFundingCyclesData","nameLocations":["1818:30:25"],"nodeType":"IdentifierPath","referencedDeclaration":29616,"src":"1818:30:25"},"referencedDeclaration":29616,"src":"1818:30:25","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_storage_ptr","typeString":"struct JBReconfigureFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":28149,"mutability":"mutable","name":"controller","nameLocation":"1911:10:25","nodeType":"VariableDeclaration","scope":28154,"src":"1894:27:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":28148,"nodeType":"UserDefinedTypeName","pathNode":{"id":28147,"name":"IJBController3_1","nameLocations":["1894:16:25"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"1894:16:25"},"referencedDeclaration":84887,"src":"1894:16:25","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"1707:220:25"},"returnParameters":{"id":28153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28152,"mutability":"mutable","name":"configuration","nameLocation":"1954:13:25","nodeType":"VariableDeclaration","scope":28154,"src":"1946:21:25","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28151,"name":"uint256","nodeType":"ElementaryTypeName","src":"1946:7:25","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1945:23:25"},"scope":28155,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBTiered721DelegateProjectDeployer","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28155],"name":"IJBTiered721DelegateProjectDeployer","nameLocation":"927:35:25","scope":28156,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":25} \ No newline at end of file +{"abi":[{"type":"function","name":"delegateDeployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateDeployer"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"launchFundingCyclesData","type":"tuple","internalType":"struct JBLaunchFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"launchProjectData","type":"tuple","internalType":"struct JBLaunchProjectData","components":[{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"reconfigureFundingCyclesData","type":"tuple","internalType":"struct JBReconfigureFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}]},{"name":"controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegateDeployer()":"8f3d964b","directory()":"c41c2f24","launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"6907d436","launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"3c2402c4","reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":"aac68198"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"delegateDeployer\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchFundingCyclesData\",\"name\":\"launchFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchProjectData\",\"name\":\"launchProjectData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBReconfigureFundingCyclesData\",\"name\":\"reconfigureFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"controller\",\"type\":\"address\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":\"IJBTiered721DelegateProjectDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"delegateDeployer","outputs":[{"internalType":"contract IJBTiered721DelegateDeployer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchFundingCyclesData","name":"launchFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchProjectData","name":"launchProjectData","type":"tuple","components":[{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBReconfigureFundingCyclesData","name":"reconfigureFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":"IJBTiered721DelegateProjectDeployer"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":25} \ No newline at end of file diff --git a/out/IJBTiered721DelegateStore.sol/IJBTiered721DelegateStore.json b/out/IJBTiered721DelegateStore.sol/IJBTiered721DelegateStore.json index c17f656b..61ed68a6 100644 --- a/out/IJBTiered721DelegateStore.sol/IJBTiered721DelegateStore.json +++ b/out/IJBTiered721DelegateStore.sol/IJBTiered721DelegateStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cleanTiers","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultReservedTokenBeneficiaryOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"encodedIPFSUriOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"encodedTierIPFSUriOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"flagsOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"isTierRemoved","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTierIdOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfBurnedFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservedTokensOutstandingFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservesMintedFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recordAddTiers","inputs":[{"name":"tierData","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordBurn","inputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordFlags","inputs":[{"name":"flag","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordMint","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"isManualMint","type":"bool","internalType":"bool"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"leftoverAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordMintReservesFor","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordRemoveTierIds","inputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetEncodedIPFSUriOf","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetTokenUriResolver","inputs":[{"name":"resolver","type":"address","internalType":"contract IJB721TokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordTransferForTier","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"reservedTokenBeneficiaryOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tierBalanceOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"},{"name":"tier","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tierIdOfToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"tierOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"tier","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierOfTokenId","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"tier","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierVotingUnitsOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tiersOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"categories","type":"uint256[]","internalType":"uint256[]"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"},{"name":"startingSortIndex","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721Tier[]","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolverOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJB721TokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"votingUnitsOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CleanTiers","inputs":[{"name":"nft","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,address)":"f7888aec","cleanTiers(address)":"086bb19a","defaultReservedTokenBeneficiaryOf(address)":"911c80b5","encodedIPFSUriOf(address,uint256)":"bd51923c","encodedTierIPFSUriOf(address,uint256)":"c8df1710","flagsOf(address)":"845104de","isTierRemoved(address,uint256)":"5f646611","maxTierIdOf(address)":"f1bea54f","numberOfBurnedFor(address,uint256)":"2b7e6ef0","numberOfReservedTokensOutstandingFor(address,uint256)":"35314b92","numberOfReservesMintedFor(address,uint256)":"6825bb80","recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":"8da5e32b","recordBurn(uint256[])":"86bc2be3","recordFlags((bool,bool,bool,bool))":"cb827e32","recordMint(uint256,uint16[],bool)":"eaa19ab3","recordMintReservesFor(uint256,uint256)":"baa7e80e","recordRemoveTierIds(uint256[])":"20512ba1","recordSetEncodedIPFSUriOf(uint256,bytes32)":"49bd1ac6","recordSetTokenUriResolver(address)":"d84a72c0","recordTransferForTier(uint256,address,address)":"c2c55f94","redemptionWeightOf(address,uint256[])":"144cc2d4","reservedTokenBeneficiaryOf(address,uint256)":"136e651c","tierBalanceOf(address,address,uint256)":"37f44652","tierIdOfToken(uint256)":"42f9914b","tierOf(address,uint256,bool)":"64faa159","tierOfTokenId(address,uint256,bool)":"c44a8e6d","tierVotingUnitsOf(address,address,uint256)":"2e4d0ea8","tiersOf(address,uint256[],bool,uint256,uint256)":"9403a74f","tokenUriResolverOf(address)":"0fab0947","totalRedemptionWeight(address)":"2ae5e492","totalSupplyOf(address)":"cf9530d0","votingUnitsOf(address,address)":"93355578"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CleanTiers\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"cleanTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"defaultReservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"encodedIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"encodedTierIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"flagsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"isTierRemoved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"maxTierIdOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfBurnedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservedTokensOutstandingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservesMintedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tierData\",\"type\":\"tuple[]\"}],\"name\":\"recordAddTiers\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"recordBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flag\",\"type\":\"tuple\"}],\"name\":\"recordFlags\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"bool\",\"name\":\"isManualMint\",\"type\":\"bool\"}],\"name\":\"recordMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"recordMintReservesFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"name\":\"recordRemoveTierIds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"recordSetEncodedIPFSUriOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"recordSetTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recordTransferForTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"}],\"name\":\"tierBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tierIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"tier\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOfTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"tier\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"tierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"categories\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"startingSortIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"tiersOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"tokenUriResolverOf\",\"outputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"votingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateStore.sol\":\"IJBTiered721DelegateStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"nft","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"CleanTiers","anonymous":false},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cleanTiers"},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"defaultReservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedTierIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"flagsOf","outputs":[{"internalType":"struct JBTiered721Flags","name":"","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isTierRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"maxTierIdOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfBurnedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservedTokensOutstandingFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservesMintedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"tierData","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordAddTiers","outputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordBurn"},{"inputs":[{"internalType":"struct JBTiered721Flags","name":"flag","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordFlags"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint16[]","name":"tierIds","type":"uint16[]"},{"internalType":"bool","name":"isManualMint","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"recordMint","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256","name":"leftoverAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"recordMintReservesFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordRemoveTierIds"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"recordSetEncodedIPFSUriOf"},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordSetTokenUriResolver"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordTransferForTier"},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tier","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"pure","type":"function","name":"tierIdOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOf","outputs":[{"internalType":"struct JB721Tier","name":"tier","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOfTokenId","outputs":[{"internalType":"struct JB721Tier","name":"tier","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierVotingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256[]","name":"categories","type":"uint256[]"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"},{"internalType":"uint256","name":"startingSortIndex","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"view","type":"function","name":"tiersOf","outputs":[{"internalType":"struct JB721Tier[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"tokenUriResolverOf","outputs":[{"internalType":"contract IJB721TokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"votingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateStore.sol":"IJBTiered721DelegateStore"},"libraries":{}},"sources":{"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/interfaces/IJBTiered721DelegateStore.sol","id":28459,"exportedSymbols":{"IJB721TokenUriResolver":[27803],"IJBTiered721DelegateStore":[28458],"JB721Tier":[29413],"JB721TierParams":[29439],"JBTiered721Flags":[29646]},"nodeType":"SourceUnit","src":"32:3588:26","nodes":[{"id":28157,"nodeType":"PragmaDirective","src":"32:23:26","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":28159,"nodeType":"ImportDirective","src":"57:70:26","nodes":[],"absolutePath":"contracts/interfaces/IJB721TokenUriResolver.sol","file":"./IJB721TokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":28459,"sourceUnit":27804,"symbolAliases":[{"foreign":{"id":28158,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"66:22:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28161,"nodeType":"ImportDirective","src":"128:67:26","nodes":[],"absolutePath":"contracts/structs/JB721TierParams.sol","file":"./../structs/JB721TierParams.sol","nameLocation":"-1:-1:-1","scope":28459,"sourceUnit":29440,"symbolAliases":[{"foreign":{"id":28160,"name":"JB721TierParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"137:15:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28163,"nodeType":"ImportDirective","src":"196:55:26","nodes":[],"absolutePath":"contracts/structs/JB721Tier.sol","file":"./../structs/JB721Tier.sol","nameLocation":"-1:-1:-1","scope":28459,"sourceUnit":29414,"symbolAliases":[{"foreign":{"id":28162,"name":"JB721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29413,"src":"205:9:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28165,"nodeType":"ImportDirective","src":"252:69:26","nodes":[],"absolutePath":"contracts/structs/JBTiered721Flags.sol","file":"./../structs/JBTiered721Flags.sol","nameLocation":"-1:-1:-1","scope":28459,"sourceUnit":29647,"symbolAliases":[{"foreign":{"id":28164,"name":"JBTiered721Flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29646,"src":"261:16:26","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28458,"nodeType":"ContractDefinition","src":"323:3296:26","nodes":[{"id":28171,"nodeType":"EventDefinition","src":"365:54:26","nodes":[],"anonymous":false,"eventSelector":"4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a8","name":"CleanTiers","nameLocation":"371:10:26","parameters":{"id":28170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28167,"indexed":true,"mutability":"mutable","name":"nft","nameLocation":"398:3:26","nodeType":"VariableDeclaration","scope":28171,"src":"382:19:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28166,"name":"address","nodeType":"ElementaryTypeName","src":"382:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28169,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"411:6:26","nodeType":"VariableDeclaration","scope":28171,"src":"403:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28168,"name":"address","nodeType":"ElementaryTypeName","src":"403:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"381:37:26"}},{"id":28178,"nodeType":"FunctionDefinition","src":"425:69:26","nodes":[],"functionSelector":"cf9530d0","implemented":false,"kind":"function","modifiers":[],"name":"totalSupplyOf","nameLocation":"434:13:26","parameters":{"id":28174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28173,"mutability":"mutable","name":"_nft","nameLocation":"456:4:26","nodeType":"VariableDeclaration","scope":28178,"src":"448:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28172,"name":"address","nodeType":"ElementaryTypeName","src":"448:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"447:14:26"},"returnParameters":{"id":28177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28176,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28178,"src":"485:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28175,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"484:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28187,"nodeType":"FunctionDefinition","src":"500:81:26","nodes":[],"functionSelector":"f7888aec","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"509:9:26","parameters":{"id":28183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28180,"mutability":"mutable","name":"_nft","nameLocation":"527:4:26","nodeType":"VariableDeclaration","scope":28187,"src":"519:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28179,"name":"address","nodeType":"ElementaryTypeName","src":"519:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28182,"mutability":"mutable","name":"_owner","nameLocation":"541:6:26","nodeType":"VariableDeclaration","scope":28187,"src":"533:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28181,"name":"address","nodeType":"ElementaryTypeName","src":"533:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"518:30:26"},"returnParameters":{"id":28186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28187,"src":"572:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28184,"name":"uint256","nodeType":"ElementaryTypeName","src":"572:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"571:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28194,"nodeType":"FunctionDefinition","src":"587:67:26","nodes":[],"functionSelector":"f1bea54f","implemented":false,"kind":"function","modifiers":[],"name":"maxTierIdOf","nameLocation":"596:11:26","parameters":{"id":28190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28189,"mutability":"mutable","name":"_nft","nameLocation":"616:4:26","nodeType":"VariableDeclaration","scope":28194,"src":"608:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28188,"name":"address","nodeType":"ElementaryTypeName","src":"608:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"607:14:26"},"returnParameters":{"id":28193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28194,"src":"645:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28191,"name":"uint256","nodeType":"ElementaryTypeName","src":"645:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"644:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28212,"nodeType":"FunctionDefinition","src":"660:222:26","nodes":[],"functionSelector":"9403a74f","implemented":false,"kind":"function","modifiers":[],"name":"tiersOf","nameLocation":"669:7:26","parameters":{"id":28206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28196,"mutability":"mutable","name":"nft","nameLocation":"694:3:26","nodeType":"VariableDeclaration","scope":28212,"src":"686:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28195,"name":"address","nodeType":"ElementaryTypeName","src":"686:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28199,"mutability":"mutable","name":"categories","nameLocation":"726:10:26","nodeType":"VariableDeclaration","scope":28212,"src":"707:29:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28197,"name":"uint256","nodeType":"ElementaryTypeName","src":"707:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28198,"nodeType":"ArrayTypeName","src":"707:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":28201,"mutability":"mutable","name":"includeResolvedUri","nameLocation":"751:18:26","nodeType":"VariableDeclaration","scope":28212,"src":"746:23:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28200,"name":"bool","nodeType":"ElementaryTypeName","src":"746:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":28203,"mutability":"mutable","name":"startingSortIndex","nameLocation":"787:17:26","nodeType":"VariableDeclaration","scope":28212,"src":"779:25:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28202,"name":"uint256","nodeType":"ElementaryTypeName","src":"779:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28205,"mutability":"mutable","name":"size","nameLocation":"822:4:26","nodeType":"VariableDeclaration","scope":28212,"src":"814:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28204,"name":"uint256","nodeType":"ElementaryTypeName","src":"814:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"676:156:26"},"returnParameters":{"id":28211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28210,"mutability":"mutable","name":"tiers","nameLocation":"875:5:26","nodeType":"VariableDeclaration","scope":28212,"src":"856:24:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29413_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier[]"},"typeName":{"baseType":{"id":28208,"nodeType":"UserDefinedTypeName","pathNode":{"id":28207,"name":"JB721Tier","nameLocations":["856:9:26"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"856:9:26"},"referencedDeclaration":29413,"src":"856:9:26","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"id":28209,"nodeType":"ArrayTypeName","src":"856:11:26","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29413_storage_$dyn_storage_ptr","typeString":"struct JB721Tier[]"}},"visibility":"internal"}],"src":"855:26:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28224,"nodeType":"FunctionDefinition","src":"888:112:26","nodes":[],"functionSelector":"64faa159","implemented":false,"kind":"function","modifiers":[],"name":"tierOf","nameLocation":"897:6:26","parameters":{"id":28219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28214,"mutability":"mutable","name":"nft","nameLocation":"912:3:26","nodeType":"VariableDeclaration","scope":28224,"src":"904:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28213,"name":"address","nodeType":"ElementaryTypeName","src":"904:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28216,"mutability":"mutable","name":"id","nameLocation":"925:2:26","nodeType":"VariableDeclaration","scope":28224,"src":"917:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28215,"name":"uint256","nodeType":"ElementaryTypeName","src":"917:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28218,"mutability":"mutable","name":"includeResolvedUri","nameLocation":"934:18:26","nodeType":"VariableDeclaration","scope":28224,"src":"929:23:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28217,"name":"bool","nodeType":"ElementaryTypeName","src":"929:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"903:50:26"},"returnParameters":{"id":28223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28222,"mutability":"mutable","name":"tier","nameLocation":"994:4:26","nodeType":"VariableDeclaration","scope":28224,"src":"977:21:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":28221,"nodeType":"UserDefinedTypeName","pathNode":{"id":28220,"name":"JB721Tier","nameLocations":["977:9:26"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"977:9:26"},"referencedDeclaration":29413,"src":"977:9:26","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"976:23:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28235,"nodeType":"FunctionDefinition","src":"1006:97:26","nodes":[],"functionSelector":"37f44652","implemented":false,"kind":"function","modifiers":[],"name":"tierBalanceOf","nameLocation":"1015:13:26","parameters":{"id":28231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28226,"mutability":"mutable","name":"nft","nameLocation":"1037:3:26","nodeType":"VariableDeclaration","scope":28235,"src":"1029:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28225,"name":"address","nodeType":"ElementaryTypeName","src":"1029:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28228,"mutability":"mutable","name":"owner","nameLocation":"1050:5:26","nodeType":"VariableDeclaration","scope":28235,"src":"1042:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28227,"name":"address","nodeType":"ElementaryTypeName","src":"1042:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28230,"mutability":"mutable","name":"tier","nameLocation":"1065:4:26","nodeType":"VariableDeclaration","scope":28235,"src":"1057:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28229,"name":"uint256","nodeType":"ElementaryTypeName","src":"1057:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1028:42:26"},"returnParameters":{"id":28234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28233,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28235,"src":"1094:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28232,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1093:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28247,"nodeType":"FunctionDefinition","src":"1109:148:26","nodes":[],"functionSelector":"c44a8e6d","implemented":false,"kind":"function","modifiers":[],"name":"tierOfTokenId","nameLocation":"1118:13:26","parameters":{"id":28242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28237,"mutability":"mutable","name":"nft","nameLocation":"1140:3:26","nodeType":"VariableDeclaration","scope":28247,"src":"1132:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28236,"name":"address","nodeType":"ElementaryTypeName","src":"1132:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28239,"mutability":"mutable","name":"tokenId","nameLocation":"1153:7:26","nodeType":"VariableDeclaration","scope":28247,"src":"1145:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28238,"name":"uint256","nodeType":"ElementaryTypeName","src":"1145:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28241,"mutability":"mutable","name":"includeResolvedUri","nameLocation":"1167:18:26","nodeType":"VariableDeclaration","scope":28247,"src":"1162:23:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28240,"name":"bool","nodeType":"ElementaryTypeName","src":"1162:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1131:55:26"},"returnParameters":{"id":28246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28245,"mutability":"mutable","name":"tier","nameLocation":"1251:4:26","nodeType":"VariableDeclaration","scope":28247,"src":"1234:21:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":28244,"nodeType":"UserDefinedTypeName","pathNode":{"id":28243,"name":"JB721Tier","nameLocations":["1234:9:26"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"1234:9:26"},"referencedDeclaration":29413,"src":"1234:9:26","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"1233:23:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28254,"nodeType":"FunctionDefinition","src":"1263:72:26","nodes":[],"functionSelector":"42f9914b","implemented":false,"kind":"function","modifiers":[],"name":"tierIdOfToken","nameLocation":"1272:13:26","parameters":{"id":28250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28249,"mutability":"mutable","name":"tokenId","nameLocation":"1294:7:26","nodeType":"VariableDeclaration","scope":28254,"src":"1286:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28248,"name":"uint256","nodeType":"ElementaryTypeName","src":"1286:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1285:17:26"},"returnParameters":{"id":28253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28254,"src":"1326:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28251,"name":"uint256","nodeType":"ElementaryTypeName","src":"1326:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1325:9:26"},"scope":28458,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":28263,"nodeType":"FunctionDefinition","src":"1341:87:26","nodes":[],"functionSelector":"bd51923c","implemented":false,"kind":"function","modifiers":[],"name":"encodedIPFSUriOf","nameLocation":"1350:16:26","parameters":{"id":28259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28256,"mutability":"mutable","name":"nft","nameLocation":"1375:3:26","nodeType":"VariableDeclaration","scope":28263,"src":"1367:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28255,"name":"address","nodeType":"ElementaryTypeName","src":"1367:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28258,"mutability":"mutable","name":"tierId","nameLocation":"1388:6:26","nodeType":"VariableDeclaration","scope":28263,"src":"1380:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28257,"name":"uint256","nodeType":"ElementaryTypeName","src":"1380:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1366:29:26"},"returnParameters":{"id":28262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28261,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28263,"src":"1419:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28260,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1419:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1418:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28273,"nodeType":"FunctionDefinition","src":"1434:107:26","nodes":[],"functionSelector":"144cc2d4","implemented":false,"kind":"function","modifiers":[],"name":"redemptionWeightOf","nameLocation":"1443:18:26","parameters":{"id":28269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28265,"mutability":"mutable","name":"nft","nameLocation":"1470:3:26","nodeType":"VariableDeclaration","scope":28273,"src":"1462:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28264,"name":"address","nodeType":"ElementaryTypeName","src":"1462:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28268,"mutability":"mutable","name":"tokenIds","nameLocation":"1492:8:26","nodeType":"VariableDeclaration","scope":28273,"src":"1475:25:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28266,"name":"uint256","nodeType":"ElementaryTypeName","src":"1475:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28267,"nodeType":"ArrayTypeName","src":"1475:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"1461:40:26"},"returnParameters":{"id":28272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28271,"mutability":"mutable","name":"weight","nameLocation":"1533:6:26","nodeType":"VariableDeclaration","scope":28273,"src":"1525:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28270,"name":"uint256","nodeType":"ElementaryTypeName","src":"1525:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1524:16:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28280,"nodeType":"FunctionDefinition","src":"1547:83:26","nodes":[],"functionSelector":"2ae5e492","implemented":false,"kind":"function","modifiers":[],"name":"totalRedemptionWeight","nameLocation":"1556:21:26","parameters":{"id":28276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28275,"mutability":"mutable","name":"nft","nameLocation":"1586:3:26","nodeType":"VariableDeclaration","scope":28280,"src":"1578:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28274,"name":"address","nodeType":"ElementaryTypeName","src":"1578:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1577:13:26"},"returnParameters":{"id":28279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28278,"mutability":"mutable","name":"weight","nameLocation":"1622:6:26","nodeType":"VariableDeclaration","scope":28280,"src":"1614:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28277,"name":"uint256","nodeType":"ElementaryTypeName","src":"1614:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1613:16:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28289,"nodeType":"FunctionDefinition","src":"1636:107:26","nodes":[],"functionSelector":"35314b92","implemented":false,"kind":"function","modifiers":[],"name":"numberOfReservedTokensOutstandingFor","nameLocation":"1645:36:26","parameters":{"id":28285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28282,"mutability":"mutable","name":"nft","nameLocation":"1690:3:26","nodeType":"VariableDeclaration","scope":28289,"src":"1682:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28281,"name":"address","nodeType":"ElementaryTypeName","src":"1682:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28284,"mutability":"mutable","name":"tierId","nameLocation":"1703:6:26","nodeType":"VariableDeclaration","scope":28289,"src":"1695:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28283,"name":"uint256","nodeType":"ElementaryTypeName","src":"1695:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1681:29:26"},"returnParameters":{"id":28288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28287,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28289,"src":"1734:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28286,"name":"uint256","nodeType":"ElementaryTypeName","src":"1734:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1733:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28298,"nodeType":"FunctionDefinition","src":"1749:96:26","nodes":[],"functionSelector":"6825bb80","implemented":false,"kind":"function","modifiers":[],"name":"numberOfReservesMintedFor","nameLocation":"1758:25:26","parameters":{"id":28294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28291,"mutability":"mutable","name":"nft","nameLocation":"1792:3:26","nodeType":"VariableDeclaration","scope":28298,"src":"1784:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28290,"name":"address","nodeType":"ElementaryTypeName","src":"1784:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28293,"mutability":"mutable","name":"tierId","nameLocation":"1805:6:26","nodeType":"VariableDeclaration","scope":28298,"src":"1797:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28292,"name":"uint256","nodeType":"ElementaryTypeName","src":"1797:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1783:29:26"},"returnParameters":{"id":28297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28296,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28298,"src":"1836:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28295,"name":"uint256","nodeType":"ElementaryTypeName","src":"1836:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1835:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28307,"nodeType":"FunctionDefinition","src":"1851:88:26","nodes":[],"functionSelector":"2b7e6ef0","implemented":false,"kind":"function","modifiers":[],"name":"numberOfBurnedFor","nameLocation":"1860:17:26","parameters":{"id":28303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28300,"mutability":"mutable","name":"nft","nameLocation":"1886:3:26","nodeType":"VariableDeclaration","scope":28307,"src":"1878:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28299,"name":"address","nodeType":"ElementaryTypeName","src":"1878:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28302,"mutability":"mutable","name":"tierId","nameLocation":"1899:6:26","nodeType":"VariableDeclaration","scope":28307,"src":"1891:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28301,"name":"uint256","nodeType":"ElementaryTypeName","src":"1891:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1877:29:26"},"returnParameters":{"id":28306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28307,"src":"1930:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28304,"name":"uint256","nodeType":"ElementaryTypeName","src":"1930:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1929:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28316,"nodeType":"FunctionDefinition","src":"1945:81:26","nodes":[],"functionSelector":"5f646611","implemented":false,"kind":"function","modifiers":[],"name":"isTierRemoved","nameLocation":"1954:13:26","parameters":{"id":28312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28309,"mutability":"mutable","name":"nft","nameLocation":"1976:3:26","nodeType":"VariableDeclaration","scope":28316,"src":"1968:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28308,"name":"address","nodeType":"ElementaryTypeName","src":"1968:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28311,"mutability":"mutable","name":"tierId","nameLocation":"1989:6:26","nodeType":"VariableDeclaration","scope":28316,"src":"1981:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28310,"name":"uint256","nodeType":"ElementaryTypeName","src":"1981:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1967:29:26"},"returnParameters":{"id":28315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28316,"src":"2020:4:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28313,"name":"bool","nodeType":"ElementaryTypeName","src":"2020:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2019:6:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28324,"nodeType":"FunctionDefinition","src":"2032:78:26","nodes":[],"functionSelector":"845104de","implemented":false,"kind":"function","modifiers":[],"name":"flagsOf","nameLocation":"2041:7:26","parameters":{"id":28319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28318,"mutability":"mutable","name":"nft","nameLocation":"2057:3:26","nodeType":"VariableDeclaration","scope":28324,"src":"2049:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28317,"name":"address","nodeType":"ElementaryTypeName","src":"2049:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2048:13:26"},"returnParameters":{"id":28323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28324,"src":"2085:23:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":28321,"nodeType":"UserDefinedTypeName","pathNode":{"id":28320,"name":"JBTiered721Flags","nameLocations":["2085:16:26"],"nodeType":"IdentifierPath","referencedDeclaration":29646,"src":"2085:16:26"},"referencedDeclaration":29646,"src":"2085:16:26","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"2084:25:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28333,"nodeType":"FunctionDefinition","src":"2116:91:26","nodes":[],"functionSelector":"93355578","implemented":false,"kind":"function","modifiers":[],"name":"votingUnitsOf","nameLocation":"2125:13:26","parameters":{"id":28329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28326,"mutability":"mutable","name":"nft","nameLocation":"2147:3:26","nodeType":"VariableDeclaration","scope":28333,"src":"2139:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28325,"name":"address","nodeType":"ElementaryTypeName","src":"2139:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28328,"mutability":"mutable","name":"account","nameLocation":"2160:7:26","nodeType":"VariableDeclaration","scope":28333,"src":"2152:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28327,"name":"address","nodeType":"ElementaryTypeName","src":"2152:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2138:30:26"},"returnParameters":{"id":28332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28331,"mutability":"mutable","name":"units","nameLocation":"2200:5:26","nodeType":"VariableDeclaration","scope":28333,"src":"2192:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28330,"name":"uint256","nodeType":"ElementaryTypeName","src":"2192:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2191:15:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28344,"nodeType":"FunctionDefinition","src":"2213:111:26","nodes":[],"functionSelector":"2e4d0ea8","implemented":false,"kind":"function","modifiers":[],"name":"tierVotingUnitsOf","nameLocation":"2222:17:26","parameters":{"id":28340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28335,"mutability":"mutable","name":"nft","nameLocation":"2248:3:26","nodeType":"VariableDeclaration","scope":28344,"src":"2240:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28334,"name":"address","nodeType":"ElementaryTypeName","src":"2240:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28337,"mutability":"mutable","name":"account","nameLocation":"2261:7:26","nodeType":"VariableDeclaration","scope":28344,"src":"2253:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28336,"name":"address","nodeType":"ElementaryTypeName","src":"2253:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28339,"mutability":"mutable","name":"tierId","nameLocation":"2278:6:26","nodeType":"VariableDeclaration","scope":28344,"src":"2270:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28338,"name":"uint256","nodeType":"ElementaryTypeName","src":"2270:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2239:46:26"},"returnParameters":{"id":28343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28342,"mutability":"mutable","name":"units","nameLocation":"2317:5:26","nodeType":"VariableDeclaration","scope":28344,"src":"2309:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28341,"name":"uint256","nodeType":"ElementaryTypeName","src":"2309:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2308:15:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28351,"nodeType":"FunctionDefinition","src":"2330:88:26","nodes":[],"functionSelector":"911c80b5","implemented":false,"kind":"function","modifiers":[],"name":"defaultReservedTokenBeneficiaryOf","nameLocation":"2339:33:26","parameters":{"id":28347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28346,"mutability":"mutable","name":"nft","nameLocation":"2381:3:26","nodeType":"VariableDeclaration","scope":28351,"src":"2373:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28345,"name":"address","nodeType":"ElementaryTypeName","src":"2373:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2372:13:26"},"returnParameters":{"id":28350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28349,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28351,"src":"2409:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28348,"name":"address","nodeType":"ElementaryTypeName","src":"2409:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2408:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28360,"nodeType":"FunctionDefinition","src":"2424:97:26","nodes":[],"functionSelector":"136e651c","implemented":false,"kind":"function","modifiers":[],"name":"reservedTokenBeneficiaryOf","nameLocation":"2433:26:26","parameters":{"id":28356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28353,"mutability":"mutable","name":"nft","nameLocation":"2468:3:26","nodeType":"VariableDeclaration","scope":28360,"src":"2460:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28352,"name":"address","nodeType":"ElementaryTypeName","src":"2460:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28355,"mutability":"mutable","name":"tierId","nameLocation":"2481:6:26","nodeType":"VariableDeclaration","scope":28360,"src":"2473:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28354,"name":"uint256","nodeType":"ElementaryTypeName","src":"2473:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2459:29:26"},"returnParameters":{"id":28359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28358,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28360,"src":"2512:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28357,"name":"address","nodeType":"ElementaryTypeName","src":"2512:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2511:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28368,"nodeType":"FunctionDefinition","src":"2527:88:26","nodes":[],"functionSelector":"0fab0947","implemented":false,"kind":"function","modifiers":[],"name":"tokenUriResolverOf","nameLocation":"2536:18:26","parameters":{"id":28363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28362,"mutability":"mutable","name":"nft","nameLocation":"2563:3:26","nodeType":"VariableDeclaration","scope":28368,"src":"2555:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28361,"name":"address","nodeType":"ElementaryTypeName","src":"2555:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2554:13:26"},"returnParameters":{"id":28367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28368,"src":"2591:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":28365,"nodeType":"UserDefinedTypeName","pathNode":{"id":28364,"name":"IJB721TokenUriResolver","nameLocations":["2591:22:26"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"2591:22:26"},"referencedDeclaration":27803,"src":"2591:22:26","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"}],"src":"2590:24:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28377,"nodeType":"FunctionDefinition","src":"2621:92:26","nodes":[],"functionSelector":"c8df1710","implemented":false,"kind":"function","modifiers":[],"name":"encodedTierIPFSUriOf","nameLocation":"2630:20:26","parameters":{"id":28373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28370,"mutability":"mutable","name":"nft","nameLocation":"2659:3:26","nodeType":"VariableDeclaration","scope":28377,"src":"2651:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28369,"name":"address","nodeType":"ElementaryTypeName","src":"2651:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28372,"mutability":"mutable","name":"tokenId","nameLocation":"2672:7:26","nodeType":"VariableDeclaration","scope":28377,"src":"2664:15:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28371,"name":"uint256","nodeType":"ElementaryTypeName","src":"2664:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2650:30:26"},"returnParameters":{"id":28376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28377,"src":"2704:7:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28374,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2704:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2703:9:26"},"scope":28458,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":28387,"nodeType":"FunctionDefinition","src":"2719:103:26","nodes":[],"functionSelector":"8da5e32b","implemented":false,"kind":"function","modifiers":[],"name":"recordAddTiers","nameLocation":"2728:14:26","parameters":{"id":28382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28381,"mutability":"mutable","name":"tierData","nameLocation":"2768:8:26","nodeType":"VariableDeclaration","scope":28387,"src":"2743:33:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721TierParams[]"},"typeName":{"baseType":{"id":28379,"nodeType":"UserDefinedTypeName","pathNode":{"id":28378,"name":"JB721TierParams","nameLocations":["2743:15:26"],"nodeType":"IdentifierPath","referencedDeclaration":29439,"src":"2743:15:26"},"referencedDeclaration":29439,"src":"2743:15:26","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_storage_ptr","typeString":"struct JB721TierParams"}},"id":28380,"nodeType":"ArrayTypeName","src":"2743:17:26","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_storage_$dyn_storage_ptr","typeString":"struct JB721TierParams[]"}},"visibility":"internal"}],"src":"2742:35:26"},"returnParameters":{"id":28386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28385,"mutability":"mutable","name":"tierIds","nameLocation":"2813:7:26","nodeType":"VariableDeclaration","scope":28387,"src":"2796:24:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28383,"name":"uint256","nodeType":"ElementaryTypeName","src":"2796:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28384,"nodeType":"ArrayTypeName","src":"2796:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2795:26:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28397,"nodeType":"FunctionDefinition","src":"2828:107:26","nodes":[],"functionSelector":"baa7e80e","implemented":false,"kind":"function","modifiers":[],"name":"recordMintReservesFor","nameLocation":"2837:21:26","parameters":{"id":28392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28389,"mutability":"mutable","name":"tierId","nameLocation":"2867:6:26","nodeType":"VariableDeclaration","scope":28397,"src":"2859:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28388,"name":"uint256","nodeType":"ElementaryTypeName","src":"2859:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28391,"mutability":"mutable","name":"count","nameLocation":"2883:5:26","nodeType":"VariableDeclaration","scope":28397,"src":"2875:13:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28390,"name":"uint256","nodeType":"ElementaryTypeName","src":"2875:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2858:31:26"},"returnParameters":{"id":28396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28395,"mutability":"mutable","name":"tokenIds","nameLocation":"2925:8:26","nodeType":"VariableDeclaration","scope":28397,"src":"2908:25:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28393,"name":"uint256","nodeType":"ElementaryTypeName","src":"2908:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28394,"nodeType":"ArrayTypeName","src":"2908:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2907:27:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28403,"nodeType":"FunctionDefinition","src":"2941:56:26","nodes":[],"functionSelector":"86bc2be3","implemented":false,"kind":"function","modifiers":[],"name":"recordBurn","nameLocation":"2950:10:26","parameters":{"id":28401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28400,"mutability":"mutable","name":"tokenIds","nameLocation":"2978:8:26","nodeType":"VariableDeclaration","scope":28403,"src":"2961:25:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28398,"name":"uint256","nodeType":"ElementaryTypeName","src":"2961:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28399,"nodeType":"ArrayTypeName","src":"2961:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2960:27:26"},"returnParameters":{"id":28402,"nodeType":"ParameterList","parameters":[],"src":"2996:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28418,"nodeType":"FunctionDefinition","src":"3003:167:26","nodes":[],"functionSelector":"eaa19ab3","implemented":false,"kind":"function","modifiers":[],"name":"recordMint","nameLocation":"3012:10:26","parameters":{"id":28411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28405,"mutability":"mutable","name":"amount","nameLocation":"3031:6:26","nodeType":"VariableDeclaration","scope":28418,"src":"3023:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28404,"name":"uint256","nodeType":"ElementaryTypeName","src":"3023:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28408,"mutability":"mutable","name":"tierIds","nameLocation":"3057:7:26","nodeType":"VariableDeclaration","scope":28418,"src":"3039:25:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":28406,"name":"uint16","nodeType":"ElementaryTypeName","src":"3039:6:26","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":28407,"nodeType":"ArrayTypeName","src":"3039:8:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"},{"constant":false,"id":28410,"mutability":"mutable","name":"isManualMint","nameLocation":"3071:12:26","nodeType":"VariableDeclaration","scope":28418,"src":"3066:17:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28409,"name":"bool","nodeType":"ElementaryTypeName","src":"3066:4:26","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3022:62:26"},"returnParameters":{"id":28417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28414,"mutability":"mutable","name":"tokenIds","nameLocation":"3136:8:26","nodeType":"VariableDeclaration","scope":28418,"src":"3119:25:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28412,"name":"uint256","nodeType":"ElementaryTypeName","src":"3119:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28413,"nodeType":"ArrayTypeName","src":"3119:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":28416,"mutability":"mutable","name":"leftoverAmount","nameLocation":"3154:14:26","nodeType":"VariableDeclaration","scope":28418,"src":"3146:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28415,"name":"uint256","nodeType":"ElementaryTypeName","src":"3146:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3118:51:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28427,"nodeType":"FunctionDefinition","src":"3176:82:26","nodes":[],"functionSelector":"c2c55f94","implemented":false,"kind":"function","modifiers":[],"name":"recordTransferForTier","nameLocation":"3185:21:26","parameters":{"id":28425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28420,"mutability":"mutable","name":"tierId","nameLocation":"3215:6:26","nodeType":"VariableDeclaration","scope":28427,"src":"3207:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28419,"name":"uint256","nodeType":"ElementaryTypeName","src":"3207:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28422,"mutability":"mutable","name":"from","nameLocation":"3231:4:26","nodeType":"VariableDeclaration","scope":28427,"src":"3223:12:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28421,"name":"address","nodeType":"ElementaryTypeName","src":"3223:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":28424,"mutability":"mutable","name":"to","nameLocation":"3245:2:26","nodeType":"VariableDeclaration","scope":28427,"src":"3237:10:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28423,"name":"address","nodeType":"ElementaryTypeName","src":"3237:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3206:42:26"},"returnParameters":{"id":28426,"nodeType":"ParameterList","parameters":[],"src":"3257:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28433,"nodeType":"FunctionDefinition","src":"3264:64:26","nodes":[],"functionSelector":"20512ba1","implemented":false,"kind":"function","modifiers":[],"name":"recordRemoveTierIds","nameLocation":"3273:19:26","parameters":{"id":28431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28430,"mutability":"mutable","name":"tierIds","nameLocation":"3310:7:26","nodeType":"VariableDeclaration","scope":28433,"src":"3293:24:26","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":28428,"name":"uint256","nodeType":"ElementaryTypeName","src":"3293:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28429,"nodeType":"ArrayTypeName","src":"3293:9:26","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3292:26:26"},"returnParameters":{"id":28432,"nodeType":"ParameterList","parameters":[],"src":"3327:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28439,"nodeType":"FunctionDefinition","src":"3334:77:26","nodes":[],"functionSelector":"d84a72c0","implemented":false,"kind":"function","modifiers":[],"name":"recordSetTokenUriResolver","nameLocation":"3343:25:26","parameters":{"id":28437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28436,"mutability":"mutable","name":"resolver","nameLocation":"3392:8:26","nodeType":"VariableDeclaration","scope":28439,"src":"3369:31:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":28435,"nodeType":"UserDefinedTypeName","pathNode":{"id":28434,"name":"IJB721TokenUriResolver","nameLocations":["3369:22:26"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"3369:22:26"},"referencedDeclaration":27803,"src":"3369:22:26","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"}],"src":"3368:33:26"},"returnParameters":{"id":28438,"nodeType":"ParameterList","parameters":[],"src":"3410:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28446,"nodeType":"FunctionDefinition","src":"3417:84:26","nodes":[],"functionSelector":"49bd1ac6","implemented":false,"kind":"function","modifiers":[],"name":"recordSetEncodedIPFSUriOf","nameLocation":"3426:25:26","parameters":{"id":28444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28441,"mutability":"mutable","name":"tierId","nameLocation":"3460:6:26","nodeType":"VariableDeclaration","scope":28446,"src":"3452:14:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28440,"name":"uint256","nodeType":"ElementaryTypeName","src":"3452:7:26","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":28443,"mutability":"mutable","name":"encodedIPFSUri","nameLocation":"3476:14:26","nodeType":"VariableDeclaration","scope":28446,"src":"3468:22:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28442,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3468:7:26","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3451:40:26"},"returnParameters":{"id":28445,"nodeType":"ParameterList","parameters":[],"src":"3500:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28452,"nodeType":"FunctionDefinition","src":"3507:62:26","nodes":[],"functionSelector":"cb827e32","implemented":false,"kind":"function","modifiers":[],"name":"recordFlags","nameLocation":"3516:11:26","parameters":{"id":28450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28449,"mutability":"mutable","name":"flag","nameLocation":"3554:4:26","nodeType":"VariableDeclaration","scope":28452,"src":"3528:30:26","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_calldata_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":28448,"nodeType":"UserDefinedTypeName","pathNode":{"id":28447,"name":"JBTiered721Flags","nameLocations":["3528:16:26"],"nodeType":"IdentifierPath","referencedDeclaration":29646,"src":"3528:16:26"},"referencedDeclaration":29646,"src":"3528:16:26","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"3527:32:26"},"returnParameters":{"id":28451,"nodeType":"ParameterList","parameters":[],"src":"3568:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":28457,"nodeType":"FunctionDefinition","src":"3575:42:26","nodes":[],"functionSelector":"086bb19a","implemented":false,"kind":"function","modifiers":[],"name":"cleanTiers","nameLocation":"3584:10:26","parameters":{"id":28455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28454,"mutability":"mutable","name":"nft","nameLocation":"3603:3:26","nodeType":"VariableDeclaration","scope":28457,"src":"3595:11:26","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28453,"name":"address","nodeType":"ElementaryTypeName","src":"3595:7:26","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3594:13:26"},"returnParameters":{"id":28456,"nodeType":"ParameterList","parameters":[],"src":"3616:0:26"},"scope":28458,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBTiered721DelegateStore","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[28458],"name":"IJBTiered721DelegateStore","nameLocation":"333:25:26","scope":28459,"usedErrors":[],"usedEvents":[28171]}],"license":"MIT"},"id":26} \ No newline at end of file +{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cleanTiers","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultReservedTokenBeneficiaryOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"encodedIPFSUriOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"encodedTierIPFSUriOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"flagsOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"isTierRemoved","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTierIdOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfBurnedFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservedTokensOutstandingFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservesMintedFor","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recordAddTiers","inputs":[{"name":"tierData","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordBurn","inputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordFlags","inputs":[{"name":"flag","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordMint","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"isManualMint","type":"bool","internalType":"bool"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"leftoverAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordMintReservesFor","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordRemoveTierIds","inputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetEncodedIPFSUriOf","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetTokenUriResolver","inputs":[{"name":"resolver","type":"address","internalType":"contract IJB721TokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordTransferForTier","inputs":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"reservedTokenBeneficiaryOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tierBalanceOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"},{"name":"tier","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tierIdOfToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"tierOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"tier","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierOfTokenId","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"tier","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierVotingUnitsOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"},{"name":"tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tiersOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"categories","type":"uint256[]","internalType":"uint256[]"},{"name":"includeResolvedUri","type":"bool","internalType":"bool"},{"name":"startingSortIndex","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721Tier[]","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolverOf","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJB721TokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"nft","type":"address","internalType":"address"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"votingUnitsOf","inputs":[{"name":"nft","type":"address","internalType":"address"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CleanTiers","inputs":[{"name":"nft","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,address)":"f7888aec","cleanTiers(address)":"086bb19a","defaultReservedTokenBeneficiaryOf(address)":"911c80b5","encodedIPFSUriOf(address,uint256)":"bd51923c","encodedTierIPFSUriOf(address,uint256)":"c8df1710","flagsOf(address)":"845104de","isTierRemoved(address,uint256)":"5f646611","maxTierIdOf(address)":"f1bea54f","numberOfBurnedFor(address,uint256)":"2b7e6ef0","numberOfReservedTokensOutstandingFor(address,uint256)":"35314b92","numberOfReservesMintedFor(address,uint256)":"6825bb80","recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":"8da5e32b","recordBurn(uint256[])":"86bc2be3","recordFlags((bool,bool,bool,bool))":"cb827e32","recordMint(uint256,uint16[],bool)":"eaa19ab3","recordMintReservesFor(uint256,uint256)":"baa7e80e","recordRemoveTierIds(uint256[])":"20512ba1","recordSetEncodedIPFSUriOf(uint256,bytes32)":"49bd1ac6","recordSetTokenUriResolver(address)":"d84a72c0","recordTransferForTier(uint256,address,address)":"c2c55f94","redemptionWeightOf(address,uint256[])":"144cc2d4","reservedTokenBeneficiaryOf(address,uint256)":"136e651c","tierBalanceOf(address,address,uint256)":"37f44652","tierIdOfToken(uint256)":"42f9914b","tierOf(address,uint256,bool)":"64faa159","tierOfTokenId(address,uint256,bool)":"c44a8e6d","tierVotingUnitsOf(address,address,uint256)":"2e4d0ea8","tiersOf(address,uint256[],bool,uint256,uint256)":"9403a74f","tokenUriResolverOf(address)":"0fab0947","totalRedemptionWeight(address)":"2ae5e492","totalSupplyOf(address)":"cf9530d0","votingUnitsOf(address,address)":"93355578"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CleanTiers\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"cleanTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"defaultReservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"encodedIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"encodedTierIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"flagsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"isTierRemoved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"maxTierIdOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfBurnedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservedTokensOutstandingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservesMintedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tierData\",\"type\":\"tuple[]\"}],\"name\":\"recordAddTiers\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"recordBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flag\",\"type\":\"tuple\"}],\"name\":\"recordFlags\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint16[]\",\"name\":\"tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"bool\",\"name\":\"isManualMint\",\"type\":\"bool\"}],\"name\":\"recordMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"recordMintReservesFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"name\":\"recordRemoveTierIds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"recordSetEncodedIPFSUriOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"}],\"name\":\"recordSetTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"recordTransferForTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"}],\"name\":\"tierBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tierIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"tier\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOfTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"tier\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"tierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"categories\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"includeResolvedUri\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"startingSortIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"tiersOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"tokenUriResolverOf\",\"outputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"votingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IJBTiered721DelegateStore.sol\":\"IJBTiered721DelegateStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"nft","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"CleanTiers","anonymous":false},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cleanTiers"},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"defaultReservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedTierIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"flagsOf","outputs":[{"internalType":"struct JBTiered721Flags","name":"","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isTierRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"maxTierIdOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfBurnedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservedTokensOutstandingFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservesMintedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"tierData","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordAddTiers","outputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordBurn"},{"inputs":[{"internalType":"struct JBTiered721Flags","name":"flag","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordFlags"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint16[]","name":"tierIds","type":"uint16[]"},{"internalType":"bool","name":"isManualMint","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"recordMint","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256","name":"leftoverAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"recordMintReservesFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordRemoveTierIds"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"recordSetEncodedIPFSUriOf"},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordSetTokenUriResolver"},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordTransferForTier"},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"tier","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"pure","type":"function","name":"tierIdOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOf","outputs":[{"internalType":"struct JB721Tier","name":"tier","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOfTokenId","outputs":[{"internalType":"struct JB721Tier","name":"tier","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierVotingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"uint256[]","name":"categories","type":"uint256[]"},{"internalType":"bool","name":"includeResolvedUri","type":"bool"},{"internalType":"uint256","name":"startingSortIndex","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"view","type":"function","name":"tiersOf","outputs":[{"internalType":"struct JB721Tier[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"tokenUriResolverOf","outputs":[{"internalType":"contract IJB721TokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"nft","type":"address"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"votingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/interfaces/IJBTiered721DelegateStore.sol":"IJBTiered721DelegateStore"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"}},"version":1},"id":26} \ No newline at end of file diff --git a/out/IJBToken.sol/IJBToken.json b/out/IJBToken.sol/IJBToken.json index 053fb5e6..544f0225 100644 --- a/out/IJBToken.sol/IJBToken.json +++ b/out/IJBToken.sol/IJBToken.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(uint256,address,uint256)":"8cb0a511","balanceOf(address,uint256)":"00fdd58e","burn(uint256,address,uint256)":"9eea5f66","decimals()":"313ce567","mint(uint256,address,uint256)":"836a1040","projectId()":"3fafa127","totalSupply(uint256)":"bd85b039","transfer(uint256,address,uint256)":"f8548e36","transferFrom(uint256,address,address,uint256)":"1c0f12b6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":\"IJBToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":"IJBToken"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","id":86530,"exportedSymbols":{"IJBToken":[86529]},"nodeType":"SourceUnit","src":"32:729:117","nodes":[{"id":86455,"nodeType":"PragmaDirective","src":"32:23:117","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86529,"nodeType":"ContractDefinition","src":"57:703:117","nodes":[{"id":86460,"nodeType":"FunctionDefinition","src":"80:53:117","nodes":[],"functionSelector":"3fafa127","implemented":false,"kind":"function","modifiers":[],"name":"projectId","nameLocation":"89:9:117","parameters":{"id":86456,"nodeType":"ParameterList","parameters":[],"src":"98:2:117"},"returnParameters":{"id":86459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86458,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86460,"src":"124:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86457,"name":"uint256","nodeType":"ElementaryTypeName","src":"124:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"123:9:117"},"scope":86529,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86465,"nodeType":"FunctionDefinition","src":"137:50:117","nodes":[],"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"146:8:117","parameters":{"id":86461,"nodeType":"ParameterList","parameters":[],"src":"154:2:117"},"returnParameters":{"id":86464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86463,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86465,"src":"180:5:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":86462,"name":"uint8","nodeType":"ElementaryTypeName","src":"180:5:117","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"179:7:117"},"scope":86529,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86472,"nodeType":"FunctionDefinition","src":"191:72:117","nodes":[],"functionSelector":"bd85b039","implemented":false,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"200:11:117","parameters":{"id":86468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86467,"mutability":"mutable","name":"projectId","nameLocation":"220:9:117","nodeType":"VariableDeclaration","scope":86472,"src":"212:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86466,"name":"uint256","nodeType":"ElementaryTypeName","src":"212:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"211:19:117"},"returnParameters":{"id":86471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86472,"src":"254:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86469,"name":"uint256","nodeType":"ElementaryTypeName","src":"254:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"253:9:117"},"scope":86529,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86481,"nodeType":"FunctionDefinition","src":"267:87:117","nodes":[],"functionSelector":"00fdd58e","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"276:9:117","parameters":{"id":86477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86474,"mutability":"mutable","name":"account","nameLocation":"294:7:117","nodeType":"VariableDeclaration","scope":86481,"src":"286:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86473,"name":"address","nodeType":"ElementaryTypeName","src":"286:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86476,"mutability":"mutable","name":"projectId","nameLocation":"311:9:117","nodeType":"VariableDeclaration","scope":86481,"src":"303:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86475,"name":"uint256","nodeType":"ElementaryTypeName","src":"303:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"285:36:117"},"returnParameters":{"id":86480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86479,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86481,"src":"345:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86478,"name":"uint256","nodeType":"ElementaryTypeName","src":"345:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"344:9:117"},"scope":86529,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86490,"nodeType":"FunctionDefinition","src":"358:75:117","nodes":[],"functionSelector":"836a1040","implemented":false,"kind":"function","modifiers":[],"name":"mint","nameLocation":"367:4:117","parameters":{"id":86488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86483,"mutability":"mutable","name":"projectId","nameLocation":"380:9:117","nodeType":"VariableDeclaration","scope":86490,"src":"372:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86482,"name":"uint256","nodeType":"ElementaryTypeName","src":"372:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86485,"mutability":"mutable","name":"account","nameLocation":"399:7:117","nodeType":"VariableDeclaration","scope":86490,"src":"391:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86484,"name":"address","nodeType":"ElementaryTypeName","src":"391:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86487,"mutability":"mutable","name":"amount","nameLocation":"416:6:117","nodeType":"VariableDeclaration","scope":86490,"src":"408:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86486,"name":"uint256","nodeType":"ElementaryTypeName","src":"408:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"371:52:117"},"returnParameters":{"id":86489,"nodeType":"ParameterList","parameters":[],"src":"432:0:117"},"scope":86529,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86499,"nodeType":"FunctionDefinition","src":"437:75:117","nodes":[],"functionSelector":"9eea5f66","implemented":false,"kind":"function","modifiers":[],"name":"burn","nameLocation":"446:4:117","parameters":{"id":86497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86492,"mutability":"mutable","name":"projectId","nameLocation":"459:9:117","nodeType":"VariableDeclaration","scope":86499,"src":"451:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86491,"name":"uint256","nodeType":"ElementaryTypeName","src":"451:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86494,"mutability":"mutable","name":"account","nameLocation":"478:7:117","nodeType":"VariableDeclaration","scope":86499,"src":"470:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86493,"name":"address","nodeType":"ElementaryTypeName","src":"470:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86496,"mutability":"mutable","name":"amount","nameLocation":"495:6:117","nodeType":"VariableDeclaration","scope":86499,"src":"487:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86495,"name":"uint256","nodeType":"ElementaryTypeName","src":"487:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"450:52:117"},"returnParameters":{"id":86498,"nodeType":"ParameterList","parameters":[],"src":"511:0:117"},"scope":86529,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86508,"nodeType":"FunctionDefinition","src":"516:68:117","nodes":[],"functionSelector":"8cb0a511","implemented":false,"kind":"function","modifiers":[],"name":"approve","nameLocation":"525:7:117","parameters":{"id":86506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86501,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86508,"src":"533:7:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86500,"name":"uint256","nodeType":"ElementaryTypeName","src":"533:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86503,"mutability":"mutable","name":"spender","nameLocation":"550:7:117","nodeType":"VariableDeclaration","scope":86508,"src":"542:15:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86502,"name":"address","nodeType":"ElementaryTypeName","src":"542:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86505,"mutability":"mutable","name":"amount","nameLocation":"567:6:117","nodeType":"VariableDeclaration","scope":86508,"src":"559:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86504,"name":"uint256","nodeType":"ElementaryTypeName","src":"559:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"532:42:117"},"returnParameters":{"id":86507,"nodeType":"ParameterList","parameters":[],"src":"583:0:117"},"scope":86529,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86517,"nodeType":"FunctionDefinition","src":"588:74:117","nodes":[],"functionSelector":"f8548e36","implemented":false,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"597:8:117","parameters":{"id":86515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86510,"mutability":"mutable","name":"projectId","nameLocation":"614:9:117","nodeType":"VariableDeclaration","scope":86517,"src":"606:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86509,"name":"uint256","nodeType":"ElementaryTypeName","src":"606:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86512,"mutability":"mutable","name":"to","nameLocation":"633:2:117","nodeType":"VariableDeclaration","scope":86517,"src":"625:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86511,"name":"address","nodeType":"ElementaryTypeName","src":"625:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86514,"mutability":"mutable","name":"amount","nameLocation":"645:6:117","nodeType":"VariableDeclaration","scope":86517,"src":"637:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86513,"name":"uint256","nodeType":"ElementaryTypeName","src":"637:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"605:47:117"},"returnParameters":{"id":86516,"nodeType":"ParameterList","parameters":[],"src":"661:0:117"},"scope":86529,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86528,"nodeType":"FunctionDefinition","src":"666:92:117","nodes":[],"functionSelector":"1c0f12b6","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"675:12:117","parameters":{"id":86526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86519,"mutability":"mutable","name":"projectId","nameLocation":"696:9:117","nodeType":"VariableDeclaration","scope":86528,"src":"688:17:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86518,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86521,"mutability":"mutable","name":"from","nameLocation":"715:4:117","nodeType":"VariableDeclaration","scope":86528,"src":"707:12:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86520,"name":"address","nodeType":"ElementaryTypeName","src":"707:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86523,"mutability":"mutable","name":"to","nameLocation":"729:2:117","nodeType":"VariableDeclaration","scope":86528,"src":"721:10:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86522,"name":"address","nodeType":"ElementaryTypeName","src":"721:7:117","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86525,"mutability":"mutable","name":"amount","nameLocation":"741:6:117","nodeType":"VariableDeclaration","scope":86528,"src":"733:14:117","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86524,"name":"uint256","nodeType":"ElementaryTypeName","src":"733:7:117","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"687:61:117"},"returnParameters":{"id":86527,"nodeType":"ParameterList","parameters":[],"src":"757:0:117"},"scope":86529,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBToken","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86529],"name":"IJBToken","nameLocation":"67:8:117","scope":86530,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":117} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(uint256,address,uint256)":"8cb0a511","balanceOf(address,uint256)":"00fdd58e","burn(uint256,address,uint256)":"9eea5f66","decimals()":"313ce567","mint(uint256,address,uint256)":"836a1040","projectId()":"3fafa127","totalSupply(uint256)":"bd85b039","transfer(uint256,address,uint256)":"f8548e36","transferFrom(uint256,address,address,uint256)":"1c0f12b6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":\"IJBToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":"IJBToken"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"}},"version":1},"id":117} \ No newline at end of file diff --git a/out/IJBTokenStore.sol/IJBTokenStore.json b/out/IJBTokenStore.sol/IJBTokenStore.json index bdb33392..d4a2692c 100644 --- a/out/IJBTokenStore.sol/IJBTokenStore.json +++ b/out/IJBTokenStore.sol/IJBTokenStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burnFrom","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFor","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"issueFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"address","internalType":"contract IJBToken"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IJBToken"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBToken"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unclaimedBalanceOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"unclaimedTotalSupplyOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Burn","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialClaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Claim","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Issue","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"symbol","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokensWereClaimed","type":"bool","indexed":false,"internalType":"bool"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Set","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newToken","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","burnFrom(address,uint256,uint256,bool)":"906ebd0f","claimFor(address,uint256,uint256)":"6607955d","fundingCycleStore()":"557e7155","issueFor(uint256,string,string)":"a7f2a70b","mintFor(address,uint256,uint256,bool)":"ceddd3e4","projects()":"8b79543c","setFor(uint256,address)":"831d7fac","tokenOf(uint256)":"ea78803f","totalSupplyOf(uint256)":"75b0d9cd","transferFrom(address,uint256,address,uint256)":"ac689bcd","unclaimedBalanceOf(address,uint256)":"5287af37","unclaimedTotalSupplyOf(uint256)":"1412884f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialClaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Issue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"tokensWereClaimed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"newToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Set\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"claimFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"issueFor\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"setFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"tokenOf\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"unclaimedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"unclaimedTotalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":\"IJBTokenStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialClaimedBalance","type":"uint256","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"token","type":"address","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"string","name":"symbol","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Issue","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bool","name":"tokensWereClaimed","type":"bool","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"newToken","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Set","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnFrom"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claimFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"issueFor","outputs":[{"internalType":"contract IJBToken","name":"token","type":"address"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBToken","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFor"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenOf","outputs":[{"internalType":"contract IJBToken","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedTotalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":"IJBTokenStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol","id":86729,"exportedSymbols":{"IJBFundingCycleStore":[85310],"IJBProjects":[86082],"IJBToken":[86529],"IJBTokenStore":[86728]},"nodeType":"SourceUnit","src":"32:2365:118","nodes":[{"id":86531,"nodeType":"PragmaDirective","src":"32:23:118","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86533,"nodeType":"ImportDirective","src":"57:64:118","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":86729,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":86532,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"65:20:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86535,"nodeType":"ImportDirective","src":"122:46:118","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./IJBProjects.sol","nameLocation":"-1:-1:-1","scope":86729,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":86534,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"130:11:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86537,"nodeType":"ImportDirective","src":"169:40:118","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","file":"./IJBToken.sol","nameLocation":"-1:-1:-1","scope":86729,"sourceUnit":86530,"symbolAliases":[{"foreign":{"id":86536,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"177:8:118","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86728,"nodeType":"ContractDefinition","src":"211:2185:118","nodes":[{"id":86550,"nodeType":"EventDefinition","src":"239:131:118","nodes":[],"anonymous":false,"eventSelector":"1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da","name":"Issue","nameLocation":"245:5:118","parameters":{"id":86549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86539,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"272:9:118","nodeType":"VariableDeclaration","scope":86550,"src":"256:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86538,"name":"uint256","nodeType":"ElementaryTypeName","src":"256:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86542,"indexed":true,"mutability":"mutable","name":"token","nameLocation":"304:5:118","nodeType":"VariableDeclaration","scope":86550,"src":"287:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":86541,"nodeType":"UserDefinedTypeName","pathNode":{"id":86540,"name":"IJBToken","nameLocations":["287:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"287:8:118"},"referencedDeclaration":86529,"src":"287:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"},{"constant":false,"id":86544,"indexed":false,"mutability":"mutable","name":"name","nameLocation":"322:4:118","nodeType":"VariableDeclaration","scope":86550,"src":"315:11:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":86543,"name":"string","nodeType":"ElementaryTypeName","src":"315:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86546,"indexed":false,"mutability":"mutable","name":"symbol","nameLocation":"339:6:118","nodeType":"VariableDeclaration","scope":86550,"src":"332:13:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":86545,"name":"string","nodeType":"ElementaryTypeName","src":"332:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86548,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"359:6:118","nodeType":"VariableDeclaration","scope":86550,"src":"351:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86547,"name":"address","nodeType":"ElementaryTypeName","src":"351:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"250:119:118"}},{"id":86564,"nodeType":"EventDefinition","src":"374:172:118","nodes":[],"anonymous":false,"eventSelector":"5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f","name":"Mint","nameLocation":"380:4:118","parameters":{"id":86563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86552,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"406:6:118","nodeType":"VariableDeclaration","scope":86564,"src":"390:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86551,"name":"address","nodeType":"ElementaryTypeName","src":"390:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86554,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"434:9:118","nodeType":"VariableDeclaration","scope":86564,"src":"418:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86553,"name":"uint256","nodeType":"ElementaryTypeName","src":"418:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86556,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"457:6:118","nodeType":"VariableDeclaration","scope":86564,"src":"449:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86555,"name":"uint256","nodeType":"ElementaryTypeName","src":"449:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86558,"indexed":false,"mutability":"mutable","name":"tokensWereClaimed","nameLocation":"474:17:118","nodeType":"VariableDeclaration","scope":86564,"src":"469:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86557,"name":"bool","nodeType":"ElementaryTypeName","src":"469:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":86560,"indexed":false,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"502:19:118","nodeType":"VariableDeclaration","scope":86564,"src":"497:24:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86559,"name":"bool","nodeType":"ElementaryTypeName","src":"497:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":86562,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"535:6:118","nodeType":"VariableDeclaration","scope":86564,"src":"527:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86561,"name":"address","nodeType":"ElementaryTypeName","src":"527:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"384:161:118"}},{"id":86580,"nodeType":"EventDefinition","src":"550:216:118","nodes":[],"anonymous":false,"eventSelector":"be100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd","name":"Burn","nameLocation":"556:4:118","parameters":{"id":86579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86566,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"582:6:118","nodeType":"VariableDeclaration","scope":86580,"src":"566:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86565,"name":"address","nodeType":"ElementaryTypeName","src":"566:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86568,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"610:9:118","nodeType":"VariableDeclaration","scope":86580,"src":"594:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86567,"name":"uint256","nodeType":"ElementaryTypeName","src":"594:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86570,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"633:6:118","nodeType":"VariableDeclaration","scope":86580,"src":"625:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86569,"name":"uint256","nodeType":"ElementaryTypeName","src":"625:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86572,"indexed":false,"mutability":"mutable","name":"initialUnclaimedBalance","nameLocation":"653:23:118","nodeType":"VariableDeclaration","scope":86580,"src":"645:31:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86571,"name":"uint256","nodeType":"ElementaryTypeName","src":"645:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86574,"indexed":false,"mutability":"mutable","name":"initialClaimedBalance","nameLocation":"690:21:118","nodeType":"VariableDeclaration","scope":86580,"src":"682:29:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86573,"name":"uint256","nodeType":"ElementaryTypeName","src":"682:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86576,"indexed":false,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"722:19:118","nodeType":"VariableDeclaration","scope":86580,"src":"717:24:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86575,"name":"bool","nodeType":"ElementaryTypeName","src":"717:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":86578,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"755:6:118","nodeType":"VariableDeclaration","scope":86580,"src":"747:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86577,"name":"address","nodeType":"ElementaryTypeName","src":"747:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"560:205:118"}},{"id":86592,"nodeType":"EventDefinition","src":"770:152:118","nodes":[],"anonymous":false,"eventSelector":"e718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f98082","name":"Claim","nameLocation":"776:5:118","parameters":{"id":86591,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86582,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"803:6:118","nodeType":"VariableDeclaration","scope":86592,"src":"787:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86581,"name":"address","nodeType":"ElementaryTypeName","src":"787:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86584,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"831:9:118","nodeType":"VariableDeclaration","scope":86592,"src":"815:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86583,"name":"uint256","nodeType":"ElementaryTypeName","src":"815:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86586,"indexed":false,"mutability":"mutable","name":"initialUnclaimedBalance","nameLocation":"854:23:118","nodeType":"VariableDeclaration","scope":86592,"src":"846:31:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86585,"name":"uint256","nodeType":"ElementaryTypeName","src":"846:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86588,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"891:6:118","nodeType":"VariableDeclaration","scope":86592,"src":"883:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86587,"name":"uint256","nodeType":"ElementaryTypeName","src":"883:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86590,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"911:6:118","nodeType":"VariableDeclaration","scope":86592,"src":"903:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86589,"name":"address","nodeType":"ElementaryTypeName","src":"903:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"781:140:118"}},{"id":86601,"nodeType":"EventDefinition","src":"926:80:118","nodes":[],"anonymous":false,"eventSelector":"f2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e","name":"Set","nameLocation":"932:3:118","parameters":{"id":86600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86594,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"952:9:118","nodeType":"VariableDeclaration","scope":86601,"src":"936:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86593,"name":"uint256","nodeType":"ElementaryTypeName","src":"936:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86597,"indexed":true,"mutability":"mutable","name":"newToken","nameLocation":"980:8:118","nodeType":"VariableDeclaration","scope":86601,"src":"963:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":86596,"nodeType":"UserDefinedTypeName","pathNode":{"id":86595,"name":"IJBToken","nameLocations":["963:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"963:8:118"},"referencedDeclaration":86529,"src":"963:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"},{"constant":false,"id":86599,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"998:6:118","nodeType":"VariableDeclaration","scope":86601,"src":"990:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86598,"name":"address","nodeType":"ElementaryTypeName","src":"990:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"935:70:118"}},{"id":86613,"nodeType":"EventDefinition","src":"1010:149:118","nodes":[],"anonymous":false,"eventSelector":"ae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6","name":"Transfer","nameLocation":"1016:8:118","parameters":{"id":86612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86603,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"1046:6:118","nodeType":"VariableDeclaration","scope":86613,"src":"1030:22:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86602,"name":"address","nodeType":"ElementaryTypeName","src":"1030:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86605,"indexed":true,"mutability":"mutable","name":"projectId","nameLocation":"1074:9:118","nodeType":"VariableDeclaration","scope":86613,"src":"1058:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86604,"name":"uint256","nodeType":"ElementaryTypeName","src":"1058:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86607,"indexed":true,"mutability":"mutable","name":"recipient","nameLocation":"1105:9:118","nodeType":"VariableDeclaration","scope":86613,"src":"1089:25:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86606,"name":"address","nodeType":"ElementaryTypeName","src":"1089:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86609,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1128:6:118","nodeType":"VariableDeclaration","scope":86613,"src":"1120:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86608,"name":"uint256","nodeType":"ElementaryTypeName","src":"1120:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86611,"indexed":false,"mutability":"mutable","name":"caller","nameLocation":"1148:6:118","nodeType":"VariableDeclaration","scope":86613,"src":"1140:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86610,"name":"address","nodeType":"ElementaryTypeName","src":"1140:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1024:134:118"}},{"id":86621,"nodeType":"FunctionDefinition","src":"1163:69:118","nodes":[],"functionSelector":"ea78803f","implemented":false,"kind":"function","modifiers":[],"name":"tokenOf","nameLocation":"1172:7:118","parameters":{"id":86616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86615,"mutability":"mutable","name":"projectId","nameLocation":"1188:9:118","nodeType":"VariableDeclaration","scope":86621,"src":"1180:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86614,"name":"uint256","nodeType":"ElementaryTypeName","src":"1180:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1179:19:118"},"returnParameters":{"id":86620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86619,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86621,"src":"1222:8:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":86618,"nodeType":"UserDefinedTypeName","pathNode":{"id":86617,"name":"IJBToken","nameLocations":["1222:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"1222:8:118"},"referencedDeclaration":86529,"src":"1222:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"src":"1221:10:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86627,"nodeType":"FunctionDefinition","src":"1236:56:118","nodes":[],"functionSelector":"8b79543c","implemented":false,"kind":"function","modifiers":[],"name":"projects","nameLocation":"1245:8:118","parameters":{"id":86622,"nodeType":"ParameterList","parameters":[],"src":"1253:2:118"},"returnParameters":{"id":86626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86625,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86627,"src":"1279:11:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":86624,"nodeType":"UserDefinedTypeName","pathNode":{"id":86623,"name":"IJBProjects","nameLocations":["1279:11:118"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"1279:11:118"},"referencedDeclaration":86082,"src":"1279:11:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"}],"src":"1278:13:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86633,"nodeType":"FunctionDefinition","src":"1296:74:118","nodes":[],"functionSelector":"557e7155","implemented":false,"kind":"function","modifiers":[],"name":"fundingCycleStore","nameLocation":"1305:17:118","parameters":{"id":86628,"nodeType":"ParameterList","parameters":[],"src":"1322:2:118"},"returnParameters":{"id":86632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86631,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86633,"src":"1348:20:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":86630,"nodeType":"UserDefinedTypeName","pathNode":{"id":86629,"name":"IJBFundingCycleStore","nameLocations":["1348:20:118"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"1348:20:118"},"referencedDeclaration":85310,"src":"1348:20:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"}],"src":"1347:22:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86642,"nodeType":"FunctionDefinition","src":"1374:95:118","nodes":[],"functionSelector":"5287af37","implemented":false,"kind":"function","modifiers":[],"name":"unclaimedBalanceOf","nameLocation":"1383:18:118","parameters":{"id":86638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86635,"mutability":"mutable","name":"holder","nameLocation":"1410:6:118","nodeType":"VariableDeclaration","scope":86642,"src":"1402:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86634,"name":"address","nodeType":"ElementaryTypeName","src":"1402:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86637,"mutability":"mutable","name":"projectId","nameLocation":"1426:9:118","nodeType":"VariableDeclaration","scope":86642,"src":"1418:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86636,"name":"uint256","nodeType":"ElementaryTypeName","src":"1418:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1401:35:118"},"returnParameters":{"id":86641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86640,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86642,"src":"1460:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86639,"name":"uint256","nodeType":"ElementaryTypeName","src":"1460:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1459:9:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86649,"nodeType":"FunctionDefinition","src":"1473:83:118","nodes":[],"functionSelector":"1412884f","implemented":false,"kind":"function","modifiers":[],"name":"unclaimedTotalSupplyOf","nameLocation":"1482:22:118","parameters":{"id":86645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86644,"mutability":"mutable","name":"projectId","nameLocation":"1513:9:118","nodeType":"VariableDeclaration","scope":86649,"src":"1505:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86643,"name":"uint256","nodeType":"ElementaryTypeName","src":"1505:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1504:19:118"},"returnParameters":{"id":86648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86649,"src":"1547:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86646,"name":"uint256","nodeType":"ElementaryTypeName","src":"1547:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1546:9:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86656,"nodeType":"FunctionDefinition","src":"1560:74:118","nodes":[],"functionSelector":"75b0d9cd","implemented":false,"kind":"function","modifiers":[],"name":"totalSupplyOf","nameLocation":"1569:13:118","parameters":{"id":86652,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86651,"mutability":"mutable","name":"projectId","nameLocation":"1591:9:118","nodeType":"VariableDeclaration","scope":86656,"src":"1583:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86650,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1582:19:118"},"returnParameters":{"id":86655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86654,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86656,"src":"1625:7:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86653,"name":"uint256","nodeType":"ElementaryTypeName","src":"1625:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1624:9:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86665,"nodeType":"FunctionDefinition","src":"1638:93:118","nodes":[],"functionSelector":"00fdd58e","implemented":false,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"1647:9:118","parameters":{"id":86661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86658,"mutability":"mutable","name":"holder","nameLocation":"1665:6:118","nodeType":"VariableDeclaration","scope":86665,"src":"1657:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86657,"name":"address","nodeType":"ElementaryTypeName","src":"1657:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86660,"mutability":"mutable","name":"projectId","nameLocation":"1681:9:118","nodeType":"VariableDeclaration","scope":86665,"src":"1673:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86659,"name":"uint256","nodeType":"ElementaryTypeName","src":"1673:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1656:35:118"},"returnParameters":{"id":86664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86663,"mutability":"mutable","name":"result","nameLocation":"1723:6:118","nodeType":"VariableDeclaration","scope":86665,"src":"1715:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86662,"name":"uint256","nodeType":"ElementaryTypeName","src":"1715:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1714:16:118"},"scope":86728,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":86677,"nodeType":"FunctionDefinition","src":"1735:133:118","nodes":[],"functionSelector":"a7f2a70b","implemented":false,"kind":"function","modifiers":[],"name":"issueFor","nameLocation":"1744:8:118","parameters":{"id":86672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86667,"mutability":"mutable","name":"projectId","nameLocation":"1766:9:118","nodeType":"VariableDeclaration","scope":86677,"src":"1758:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86666,"name":"uint256","nodeType":"ElementaryTypeName","src":"1758:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86669,"mutability":"mutable","name":"name","nameLocation":"1797:4:118","nodeType":"VariableDeclaration","scope":86677,"src":"1781:20:118","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":86668,"name":"string","nodeType":"ElementaryTypeName","src":"1781:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":86671,"mutability":"mutable","name":"symbol","nameLocation":"1823:6:118","nodeType":"VariableDeclaration","scope":86677,"src":"1807:22:118","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":86670,"name":"string","nodeType":"ElementaryTypeName","src":"1807:6:118","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1752:81:118"},"returnParameters":{"id":86676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86675,"mutability":"mutable","name":"token","nameLocation":"1861:5:118","nodeType":"VariableDeclaration","scope":86677,"src":"1852:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":86674,"nodeType":"UserDefinedTypeName","pathNode":{"id":86673,"name":"IJBToken","nameLocations":["1852:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"1852:8:118"},"referencedDeclaration":86529,"src":"1852:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"src":"1851:16:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86685,"nodeType":"FunctionDefinition","src":"1872:60:118","nodes":[],"functionSelector":"831d7fac","implemented":false,"kind":"function","modifiers":[],"name":"setFor","nameLocation":"1881:6:118","parameters":{"id":86683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86679,"mutability":"mutable","name":"projectId","nameLocation":"1896:9:118","nodeType":"VariableDeclaration","scope":86685,"src":"1888:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86678,"name":"uint256","nodeType":"ElementaryTypeName","src":"1888:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86682,"mutability":"mutable","name":"token","nameLocation":"1916:5:118","nodeType":"VariableDeclaration","scope":86685,"src":"1907:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":86681,"nodeType":"UserDefinedTypeName","pathNode":{"id":86680,"name":"IJBToken","nameLocations":["1907:8:118"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"1907:8:118"},"referencedDeclaration":86529,"src":"1907:8:118","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"src":"1887:35:118"},"returnParameters":{"id":86684,"nodeType":"ParameterList","parameters":[],"src":"1931:0:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86696,"nodeType":"FunctionDefinition","src":"1936:124:118","nodes":[],"functionSelector":"906ebd0f","implemented":false,"kind":"function","modifiers":[],"name":"burnFrom","nameLocation":"1945:8:118","parameters":{"id":86694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86687,"mutability":"mutable","name":"holder","nameLocation":"1967:6:118","nodeType":"VariableDeclaration","scope":86696,"src":"1959:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86686,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86689,"mutability":"mutable","name":"projectId","nameLocation":"1987:9:118","nodeType":"VariableDeclaration","scope":86696,"src":"1979:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86688,"name":"uint256","nodeType":"ElementaryTypeName","src":"1979:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86691,"mutability":"mutable","name":"amount","nameLocation":"2010:6:118","nodeType":"VariableDeclaration","scope":86696,"src":"2002:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86690,"name":"uint256","nodeType":"ElementaryTypeName","src":"2002:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86693,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"2027:19:118","nodeType":"VariableDeclaration","scope":86696,"src":"2022:24:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86692,"name":"bool","nodeType":"ElementaryTypeName","src":"2022:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1953:97:118"},"returnParameters":{"id":86695,"nodeType":"ParameterList","parameters":[],"src":"2059:0:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86707,"nodeType":"FunctionDefinition","src":"2064:123:118","nodes":[],"functionSelector":"ceddd3e4","implemented":false,"kind":"function","modifiers":[],"name":"mintFor","nameLocation":"2073:7:118","parameters":{"id":86705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86698,"mutability":"mutable","name":"holder","nameLocation":"2094:6:118","nodeType":"VariableDeclaration","scope":86707,"src":"2086:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86697,"name":"address","nodeType":"ElementaryTypeName","src":"2086:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86700,"mutability":"mutable","name":"projectId","nameLocation":"2114:9:118","nodeType":"VariableDeclaration","scope":86707,"src":"2106:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86699,"name":"uint256","nodeType":"ElementaryTypeName","src":"2106:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86702,"mutability":"mutable","name":"amount","nameLocation":"2137:6:118","nodeType":"VariableDeclaration","scope":86707,"src":"2129:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86701,"name":"uint256","nodeType":"ElementaryTypeName","src":"2129:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86704,"mutability":"mutable","name":"preferClaimedTokens","nameLocation":"2154:19:118","nodeType":"VariableDeclaration","scope":86707,"src":"2149:24:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86703,"name":"bool","nodeType":"ElementaryTypeName","src":"2149:4:118","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2080:97:118"},"returnParameters":{"id":86706,"nodeType":"ParameterList","parameters":[],"src":"2186:0:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86716,"nodeType":"FunctionDefinition","src":"2191:78:118","nodes":[],"functionSelector":"6607955d","implemented":false,"kind":"function","modifiers":[],"name":"claimFor","nameLocation":"2200:8:118","parameters":{"id":86714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86709,"mutability":"mutable","name":"holder","nameLocation":"2217:6:118","nodeType":"VariableDeclaration","scope":86716,"src":"2209:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86708,"name":"address","nodeType":"ElementaryTypeName","src":"2209:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86711,"mutability":"mutable","name":"projectId","nameLocation":"2233:9:118","nodeType":"VariableDeclaration","scope":86716,"src":"2225:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86710,"name":"uint256","nodeType":"ElementaryTypeName","src":"2225:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86713,"mutability":"mutable","name":"amount","nameLocation":"2252:6:118","nodeType":"VariableDeclaration","scope":86716,"src":"2244:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86712,"name":"uint256","nodeType":"ElementaryTypeName","src":"2244:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2208:51:118"},"returnParameters":{"id":86715,"nodeType":"ParameterList","parameters":[],"src":"2268:0:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":86727,"nodeType":"FunctionDefinition","src":"2273:121:118","nodes":[],"functionSelector":"ac689bcd","implemented":false,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"2282:12:118","parameters":{"id":86725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86718,"mutability":"mutable","name":"holder","nameLocation":"2308:6:118","nodeType":"VariableDeclaration","scope":86727,"src":"2300:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86717,"name":"address","nodeType":"ElementaryTypeName","src":"2300:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86720,"mutability":"mutable","name":"projectId","nameLocation":"2328:9:118","nodeType":"VariableDeclaration","scope":86727,"src":"2320:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86719,"name":"uint256","nodeType":"ElementaryTypeName","src":"2320:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86722,"mutability":"mutable","name":"recipient","nameLocation":"2351:9:118","nodeType":"VariableDeclaration","scope":86727,"src":"2343:17:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":86721,"name":"address","nodeType":"ElementaryTypeName","src":"2343:7:118","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":86724,"mutability":"mutable","name":"amount","nameLocation":"2374:6:118","nodeType":"VariableDeclaration","scope":86727,"src":"2366:14:118","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86723,"name":"uint256","nodeType":"ElementaryTypeName","src":"2366:7:118","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2294:90:118"},"returnParameters":{"id":86726,"nodeType":"ParameterList","parameters":[],"src":"2393:0:118"},"scope":86728,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBTokenStore","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86728],"name":"IJBTokenStore","nameLocation":"221:13:118","scope":86729,"usedErrors":[],"usedEvents":[86550,86564,86580,86592,86601,86613]}],"license":"MIT"},"id":118} \ No newline at end of file +{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burnFrom","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFor","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"issueFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"address","internalType":"contract IJBToken"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setFor","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IJBToken"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBToken"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unclaimedBalanceOf","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"unclaimedTotalSupplyOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Burn","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialClaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Claim","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Issue","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"symbol","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokensWereClaimed","type":"bool","indexed":false,"internalType":"bool"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Set","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newToken","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","burnFrom(address,uint256,uint256,bool)":"906ebd0f","claimFor(address,uint256,uint256)":"6607955d","fundingCycleStore()":"557e7155","issueFor(uint256,string,string)":"a7f2a70b","mintFor(address,uint256,uint256,bool)":"ceddd3e4","projects()":"8b79543c","setFor(uint256,address)":"831d7fac","tokenOf(uint256)":"ea78803f","totalSupplyOf(uint256)":"75b0d9cd","transferFrom(address,uint256,address,uint256)":"ac689bcd","unclaimedBalanceOf(address,uint256)":"5287af37","unclaimedTotalSupplyOf(uint256)":"1412884f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialClaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Issue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"tokensWereClaimed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"newToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Set\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"claimFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"issueFor\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"setFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"tokenOf\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"unclaimedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"unclaimedTotalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":\"IJBTokenStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialClaimedBalance","type":"uint256","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"token","type":"address","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"string","name":"symbol","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Issue","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bool","name":"tokensWereClaimed","type":"bool","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"newToken","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Set","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"result","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnFrom"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claimFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"issueFor","outputs":[{"internalType":"contract IJBToken","name":"token","type":"address"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"contract IJBToken","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFor"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenOf","outputs":[{"internalType":"contract IJBToken","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedTotalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":"IJBTokenStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":118} \ No newline at end of file diff --git a/out/IJBTokenUriResolver.sol/IJBTokenUriResolver.json b/out/IJBTokenUriResolver.sol/IJBTokenUriResolver.json index 93ee7faa..9023f19c 100644 --- a/out/IJBTokenUriResolver.sol/IJBTokenUriResolver.json +++ b/out/IJBTokenUriResolver.sol/IJBTokenUriResolver.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"getUri","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenUri","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getUri(uint256)":"da0544aa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":\"IJBTokenUriResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getUri","outputs":[{"internalType":"string","name":"tokenUri","type":"string"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":"IJBTokenUriResolver"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol","id":86739,"exportedSymbols":{"IJBTokenUriResolver":[86738]},"nodeType":"SourceUnit","src":"32:144:119","nodes":[{"id":86730,"nodeType":"PragmaDirective","src":"32:23:119","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86738,"nodeType":"ContractDefinition","src":"57:118:119","nodes":[{"id":86737,"nodeType":"FunctionDefinition","src":"91:82:119","nodes":[],"functionSelector":"da0544aa","implemented":false,"kind":"function","modifiers":[],"name":"getUri","nameLocation":"100:6:119","parameters":{"id":86733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86732,"mutability":"mutable","name":"projectId","nameLocation":"115:9:119","nodeType":"VariableDeclaration","scope":86737,"src":"107:17:119","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86731,"name":"uint256","nodeType":"ElementaryTypeName","src":"107:7:119","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"106:19:119"},"returnParameters":{"id":86736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86735,"mutability":"mutable","name":"tokenUri","nameLocation":"163:8:119","nodeType":"VariableDeclaration","scope":86737,"src":"149:22:119","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":86734,"name":"string","nodeType":"ElementaryTypeName","src":"149:6:119","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"148:24:119"},"scope":86738,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IJBTokenUriResolver","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[86738],"name":"IJBTokenUriResolver","nameLocation":"67:19:119","scope":86739,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":119} \ No newline at end of file +{"abi":[{"type":"function","name":"getUri","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenUri","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getUri(uint256)":"da0544aa"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"getUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"tokenUri\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":\"IJBTokenUriResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getUri","outputs":[{"internalType":"string","name":"tokenUri","type":"string"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":"IJBTokenUriResolver"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"}},"version":1},"id":119} \ No newline at end of file diff --git a/out/IVotes.sol/IVotes.json b/out/IVotes.sol/IVotes.json index a3a512f6..bd8f67a7 100644 --- a/out/IVotes.sol/IVotes.json +++ b/out/IVotes.sol/IVotes.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":\"IVotes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":"IVotes"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol","id":89768,"exportedSymbols":{"IVotes":[89767]},"nodeType":"SourceUnit","src":"110:2128:158","nodes":[{"id":89691,"nodeType":"PragmaDirective","src":"110:23:158","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":89767,"nodeType":"ContractDefinition","src":"268:1969:158","nodes":[{"id":89701,"nodeType":"EventDefinition","src":"367:107:158","nodes":[],"anonymous":false,"documentation":{"id":89693,"nodeType":"StructuredDocumentation","src":"291:71:158","text":" @dev Emitted when an account changes their delegate."},"eventSelector":"3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f","name":"DelegateChanged","nameLocation":"373:15:158","parameters":{"id":89700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89695,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"405:9:158","nodeType":"VariableDeclaration","scope":89701,"src":"389:25:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89694,"name":"address","nodeType":"ElementaryTypeName","src":"389:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89697,"indexed":true,"mutability":"mutable","name":"fromDelegate","nameLocation":"432:12:158","nodeType":"VariableDeclaration","scope":89701,"src":"416:28:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89696,"name":"address","nodeType":"ElementaryTypeName","src":"416:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89699,"indexed":true,"mutability":"mutable","name":"toDelegate","nameLocation":"462:10:158","nodeType":"VariableDeclaration","scope":89701,"src":"446:26:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89698,"name":"address","nodeType":"ElementaryTypeName","src":"446:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"388:85:158"}},{"id":89710,"nodeType":"EventDefinition","src":"609:98:158","nodes":[],"anonymous":false,"documentation":{"id":89702,"nodeType":"StructuredDocumentation","src":"480:124:158","text":" @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes."},"eventSelector":"dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","name":"DelegateVotesChanged","nameLocation":"615:20:158","parameters":{"id":89709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89704,"indexed":true,"mutability":"mutable","name":"delegate","nameLocation":"652:8:158","nodeType":"VariableDeclaration","scope":89710,"src":"636:24:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89703,"name":"address","nodeType":"ElementaryTypeName","src":"636:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89706,"indexed":false,"mutability":"mutable","name":"previousBalance","nameLocation":"670:15:158","nodeType":"VariableDeclaration","scope":89710,"src":"662:23:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89705,"name":"uint256","nodeType":"ElementaryTypeName","src":"662:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89708,"indexed":false,"mutability":"mutable","name":"newBalance","nameLocation":"695:10:158","nodeType":"VariableDeclaration","scope":89710,"src":"687:18:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89707,"name":"uint256","nodeType":"ElementaryTypeName","src":"687:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"635:71:158"}},{"id":89718,"nodeType":"FunctionDefinition","src":"797:67:158","nodes":[],"documentation":{"id":89711,"nodeType":"StructuredDocumentation","src":"713:79:158","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","implemented":false,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"806:8:158","parameters":{"id":89714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89713,"mutability":"mutable","name":"account","nameLocation":"823:7:158","nodeType":"VariableDeclaration","scope":89718,"src":"815:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89712,"name":"address","nodeType":"ElementaryTypeName","src":"815:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"814:17:158"},"returnParameters":{"id":89717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89716,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89718,"src":"855:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89715,"name":"uint256","nodeType":"ElementaryTypeName","src":"855:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"854:9:158"},"scope":89767,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":89728,"nodeType":"FunctionDefinition","src":"1105:90:158","nodes":[],"documentation":{"id":89719,"nodeType":"StructuredDocumentation","src":"870:230:158","text":" @dev Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block."},"functionSelector":"3a46b1a8","implemented":false,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"1114:12:158","parameters":{"id":89724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89721,"mutability":"mutable","name":"account","nameLocation":"1135:7:158","nodeType":"VariableDeclaration","scope":89728,"src":"1127:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89720,"name":"address","nodeType":"ElementaryTypeName","src":"1127:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89723,"mutability":"mutable","name":"timepoint","nameLocation":"1152:9:158","nodeType":"VariableDeclaration","scope":89728,"src":"1144:17:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89722,"name":"uint256","nodeType":"ElementaryTypeName","src":"1144:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1126:36:158"},"returnParameters":{"id":89727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89726,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89728,"src":"1186:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89725,"name":"uint256","nodeType":"ElementaryTypeName","src":"1186:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1185:9:158"},"scope":89767,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":89736,"nodeType":"FunctionDefinition","src":"1687:79:158","nodes":[],"documentation":{"id":89729,"nodeType":"StructuredDocumentation","src":"1201:481:158","text":" @dev Returns the total supply of votes available at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block.\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote."},"functionSelector":"8e539e8c","implemented":false,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"1696:18:158","parameters":{"id":89732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89731,"mutability":"mutable","name":"timepoint","nameLocation":"1723:9:158","nodeType":"VariableDeclaration","scope":89736,"src":"1715:17:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89730,"name":"uint256","nodeType":"ElementaryTypeName","src":"1715:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1714:19:158"},"returnParameters":{"id":89735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89734,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89736,"src":"1757:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89733,"name":"uint256","nodeType":"ElementaryTypeName","src":"1757:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1756:9:158"},"scope":89767,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":89744,"nodeType":"FunctionDefinition","src":"1848:68:158","nodes":[],"documentation":{"id":89737,"nodeType":"StructuredDocumentation","src":"1772:71:158","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","implemented":false,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"1857:9:158","parameters":{"id":89740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89739,"mutability":"mutable","name":"account","nameLocation":"1875:7:158","nodeType":"VariableDeclaration","scope":89744,"src":"1867:15:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89738,"name":"address","nodeType":"ElementaryTypeName","src":"1867:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1866:17:158"},"returnParameters":{"id":89743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89744,"src":"1907:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89741,"name":"address","nodeType":"ElementaryTypeName","src":"1907:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1906:9:158"},"scope":89767,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":89750,"nodeType":"FunctionDefinition","src":"1998:46:158","nodes":[],"documentation":{"id":89745,"nodeType":"StructuredDocumentation","src":"1922:71:158","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","implemented":false,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"2007:8:158","parameters":{"id":89748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89747,"mutability":"mutable","name":"delegatee","nameLocation":"2024:9:158","nodeType":"VariableDeclaration","scope":89750,"src":"2016:17:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89746,"name":"address","nodeType":"ElementaryTypeName","src":"2016:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2015:19:158"},"returnParameters":{"id":89749,"nodeType":"ParameterList","parameters":[],"src":"2043:0:158"},"scope":89767,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":89766,"nodeType":"FunctionDefinition","src":"2122:113:158","nodes":[],"documentation":{"id":89751,"nodeType":"StructuredDocumentation","src":"2050:67:158","text":" @dev Delegates votes from signer to `delegatee`."},"functionSelector":"c3cda520","implemented":false,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"2131:13:158","parameters":{"id":89764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89753,"mutability":"mutable","name":"delegatee","nameLocation":"2153:9:158","nodeType":"VariableDeclaration","scope":89766,"src":"2145:17:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89752,"name":"address","nodeType":"ElementaryTypeName","src":"2145:7:158","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89755,"mutability":"mutable","name":"nonce","nameLocation":"2172:5:158","nodeType":"VariableDeclaration","scope":89766,"src":"2164:13:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89754,"name":"uint256","nodeType":"ElementaryTypeName","src":"2164:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89757,"mutability":"mutable","name":"expiry","nameLocation":"2187:6:158","nodeType":"VariableDeclaration","scope":89766,"src":"2179:14:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89756,"name":"uint256","nodeType":"ElementaryTypeName","src":"2179:7:158","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89759,"mutability":"mutable","name":"v","nameLocation":"2201:1:158","nodeType":"VariableDeclaration","scope":89766,"src":"2195:7:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":89758,"name":"uint8","nodeType":"ElementaryTypeName","src":"2195:5:158","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":89761,"mutability":"mutable","name":"r","nameLocation":"2212:1:158","nodeType":"VariableDeclaration","scope":89766,"src":"2204:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89760,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2204:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":89763,"mutability":"mutable","name":"s","nameLocation":"2223:1:158","nodeType":"VariableDeclaration","scope":89766,"src":"2215:9:158","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89762,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2215:7:158","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2144:81:158"},"returnParameters":{"id":89765,"nodeType":"ParameterList","parameters":[],"src":"2234:0:158"},"scope":89767,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IVotes","contractDependencies":[],"contractKind":"interface","documentation":{"id":89692,"nodeType":"StructuredDocumentation","src":"135:132:158","text":" @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts.\n _Available since v4.5._"},"fullyImplemented":false,"linearizedBaseContracts":[89767],"name":"IVotes","nameLocation":"278:6:158","scope":89768,"usedErrors":[],"usedEvents":[89701,89710]}],"license":"MIT"},"id":158} \ No newline at end of file +{"abi":[{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":\"IVotes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":"IVotes"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"}},"version":1},"id":158} \ No newline at end of file diff --git a/out/JB721Delegate.sol/JB721Delegate.json b/out/JB721Delegate.sol/JB721Delegate.json index 76214ca6..fe0491f0 100644 --- a/out/JB721Delegate.sol/JB721Delegate.json +++ b/out/JB721Delegate.sol/JB721Delegate.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"didPay","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidPayData3_1_1","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"payerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"didRedeem","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidRedeemData3_1_1","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"redeemerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"payParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBPayParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"payer","type":"address","internalType":"address"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBPayDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBPayDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"redeemParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBRedemptionDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_PAYMENT_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_METADATA","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"PRBMath_MulDiv_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"UNAUTHORIZED_TOKEN","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":"6b204943","didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":"0bf46e59","directory()":"c41c2f24","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","payMetadataDelegateId()":"46a6d981","payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":"d46cf171","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8","redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"a51cfd18","redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"7ba62bf9","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"9494bf72","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAYMENT_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"UNAUTHORIZED_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNEXPECTED_TOKEN_REDEEMED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"payerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"redeemerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"payParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBPayDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redeemParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBRedemptionDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedemptionDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"Balance tracking to be overriden by childs\"},\"constructor\":{\"params\":{\"_directory\":\"A directory of terminals and controllers for projects.\",\"_payMetadataDelegateId\":\"The 4bytes ID of this delegate, used for pay metadata parsing\",\"_redeemMetadataDelegateId\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"}},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project payment data.\"}},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"params\":{\"_data\":\"The Juicebox standard project payment data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of adding to local balance.\",\"memo\":\"A memo to be forwarded to the event.\",\"weight\":\"The weight that tokens should get minted in accordance with.\"}},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of being added to the beneficiary.\",\"memo\":\"A memo to be forwarded to the event.\",\"reclaimAmount\":\"Amount to be reclaimed from the treasury.\"}},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\",\"_tokenIds\":\"The token IDs to calculate the cumulative redemption weight for.\"},\"returns\":{\"_0\":\"The cumulative redemption weight of the specified token IDs.\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherence to.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"_0\":\"Total cumulative redemption weight of all token IDs.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"JB721Delegate\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"notice\":\"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate.\"},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"notice\":\"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"payMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for pay metadata parsing\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource.\"},\"projectId()\":{\"notice\":\"The Juicebox project ID this contract's functionality applies to.\"},\"redeemMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource.\"},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"Returns the cumulative redemption weight of the given token IDs relative to the `totalRedemptionWeight`.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"Calculates the cumulative redemption weight of all token IDs.\"}},\"notice\":\"This delegate makes NFTs available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/JB721Delegate.sol\":\"JB721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[],"type":"error","name":"INVALID_PAYMENT_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_METADATA"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv_Overflow"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"UNAUTHORIZED_TOKEN"},{"inputs":[],"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"struct JBDidPayData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"payerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"struct JBDidRedeemData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"redeemerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBPayParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"payer","type":"address"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"payParams","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBPayDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBPayDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redeemParams","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBRedemptionDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"Balance tracking to be overriden by childs"},"constructor":{"params":{"_directory":"A directory of terminals and controllers for projects.","_payMetadataDelegateId":"The 4bytes ID of this delegate, used for pay metadata parsing","_redeemMetadataDelegateId":"The 4bytes ID of this delegate, used for redeem metadata parsing"}},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project payment data."}},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project redemption data."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"params":{"_data":"The Juicebox standard project payment data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of adding to local balance.","memo":"A memo to be forwarded to the event.","weight":"The weight that tokens should get minted in accordance with."}},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of being added to the beneficiary.","memo":"A memo to be forwarded to the event.","reclaimAmount":"Amount to be reclaimed from the treasury."}},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data.","_tokenIds":"The token IDs to calculate the cumulative redemption weight for."},"returns":{"_0":"The cumulative redemption weight of the specified token IDs."}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherence to."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"_0":"Total cumulative redemption weight of all token IDs."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"notice":"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate."},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"notice":"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"payMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for pay metadata parsing"},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"notice":"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource."},"projectId()":{"notice":"The Juicebox project ID this contract's functionality applies to."},"redeemMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for redeem metadata parsing"},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource."},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"Returns the cumulative redemption weight of the given token IDs relative to the `totalRedemptionWeight`."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"Calculates the cumulative redemption weight of all token IDs."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/JB721Delegate.sol":"JB721Delegate"},"libraries":{}},"sources":{"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/abstract/JB721Delegate.sol","id":5937,"exportedSymbols":{"ERC721":[5376],"IERC165":[97005],"IERC2981":[90337],"IJB721Delegate":[27791],"IJBDirectory":[85041],"IJBFundingCycleDataSource3_1_1":[85211],"IJBPayDelegate3_1_1":[85434],"IJBPaymentTerminal":[85505],"IJBRedemptionDelegate3_1_1":[86116],"JB721Delegate":[5936],"JBConstants":[86760],"JBDelegateMetadataLib":[88669],"JBDidPayData3_1_1":[87691],"JBDidRedeemData3_1_1":[87745],"JBPayDelegateAllocation3_1_1":[87905],"JBPayParamsData":[87935],"JBRedeemParamsData":[87977],"JBRedemptionDelegateAllocation3_1_1":[87990],"mulDiv":[100830]},"nodeType":"SourceUnit","src":"32:14480:6","nodes":[{"id":5378,"nodeType":"PragmaDirective","src":"32:24:6","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":5380,"nodeType":"ImportDirective","src":"58:48:6","nodes":[],"absolutePath":"node_modules/@prb/math/src/Common.sol","file":"@prb/math/src/Common.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":101249,"symbolAliases":[{"foreign":{"id":5379,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"66:6:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5382,"nodeType":"ImportDirective","src":"107:82:6","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":5381,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"116:7:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5384,"nodeType":"ImportDirective","src":"190:75:6","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol","file":"@openzeppelin/contracts/interfaces/IERC2981.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":90338,"symbolAliases":[{"foreign":{"id":5383,"name":"IERC2981","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90337,"src":"199:8:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5386,"nodeType":"ImportDirective","src":"266:138:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":85212,"symbolAliases":[{"foreign":{"id":5385,"name":"IJBFundingCycleDataSource3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85211,"src":"275:30:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5388,"nodeType":"ImportDirective","src":"405:102:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":5387,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"414:12:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5390,"nodeType":"ImportDirective","src":"508:116:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":85435,"symbolAliases":[{"foreign":{"id":5389,"name":"IJBPayDelegate3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85434,"src":"517:19:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5392,"nodeType":"ImportDirective","src":"625:130:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":86117,"symbolAliases":[{"foreign":{"id":5391,"name":"IJBRedemptionDelegate3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86116,"src":"634:26:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5394,"nodeType":"ImportDirective","src":"756:114:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":5393,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"765:18:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5396,"nodeType":"ImportDirective","src":"871:99:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":86761,"symbolAliases":[{"foreign":{"id":5395,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"880:11:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5398,"nodeType":"ImportDirective","src":"971:105:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87936,"symbolAliases":[{"foreign":{"id":5397,"name":"JBPayParamsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87935,"src":"980:15:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5400,"nodeType":"ImportDirective","src":"1077:109:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87692,"symbolAliases":[{"foreign":{"id":5399,"name":"JBDidPayData3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87691,"src":"1086:17:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5402,"nodeType":"ImportDirective","src":"1187:115:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87746,"symbolAliases":[{"foreign":{"id":5401,"name":"JBDidRedeemData3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87745,"src":"1196:20:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5404,"nodeType":"ImportDirective","src":"1303:111:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87978,"symbolAliases":[{"foreign":{"id":5403,"name":"JBRedeemParamsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87977,"src":"1312:18:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5406,"nodeType":"ImportDirective","src":"1415:131:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87906,"symbolAliases":[{"foreign":{"id":5405,"name":"JBPayDelegateAllocation3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87905,"src":"1424:28:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5408,"nodeType":"ImportDirective","src":"1547:145:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":87991,"symbolAliases":[{"foreign":{"id":5407,"name":"JBRedemptionDelegateAllocation3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87990,"src":"1556:35:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5410,"nodeType":"ImportDirective","src":"1693:112:6","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol","file":"@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":88670,"symbolAliases":[{"foreign":{"id":5409,"name":"JBDelegateMetadataLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88669,"src":"1702:21:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5412,"nodeType":"ImportDirective","src":"1807:66:6","nodes":[],"absolutePath":"contracts/interfaces/IJB721Delegate.sol","file":"../interfaces/IJB721Delegate.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":27792,"symbolAliases":[{"foreign":{"id":5411,"name":"IJB721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27791,"src":"1816:14:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5414,"nodeType":"ImportDirective","src":"1874:38:6","nodes":[],"absolutePath":"contracts/abstract/ERC721.sol","file":"./ERC721.sol","nameLocation":"-1:-1:-1","scope":5937,"sourceUnit":5377,"symbolAliases":[{"foreign":{"id":5413,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"1883:6:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5936,"nodeType":"ContractDefinition","src":"2100:12411:6","nodes":[{"id":5427,"nodeType":"ErrorDefinition","src":"2500:30:6","nodes":[],"errorSelector":"c715ec6c","name":"INVALID_PAYMENT_EVENT","nameLocation":"2506:21:6","parameters":{"id":5426,"nodeType":"ParameterList","parameters":[],"src":"2527:2:6"}},{"id":5429,"nodeType":"ErrorDefinition","src":"2535:33:6","nodes":[],"errorSelector":"7df94b86","name":"INVALID_REDEMPTION_EVENT","nameLocation":"2541:24:6","parameters":{"id":5428,"nodeType":"ParameterList","parameters":[],"src":"2565:2:6"}},{"id":5433,"nodeType":"ErrorDefinition","src":"2573:43:6","nodes":[],"errorSelector":"5caf1975","name":"UNAUTHORIZED_TOKEN","nameLocation":"2579:18:6","parameters":{"id":5432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5431,"mutability":"mutable","name":"_tokenId","nameLocation":"2606:8:6","nodeType":"VariableDeclaration","scope":5433,"src":"2598:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5430,"name":"uint256","nodeType":"ElementaryTypeName","src":"2598:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2597:18:6"}},{"id":5435,"nodeType":"ErrorDefinition","src":"2621:34:6","nodes":[],"errorSelector":"4fc178d8","name":"UNEXPECTED_TOKEN_REDEEMED","nameLocation":"2627:25:6","parameters":{"id":5434,"nodeType":"ParameterList","parameters":[],"src":"2652:2:6"}},{"id":5437,"nodeType":"ErrorDefinition","src":"2660:36:6","nodes":[],"errorSelector":"2a84050f","name":"INVALID_REDEMPTION_METADATA","nameLocation":"2666:27:6","parameters":{"id":5436,"nodeType":"ParameterList","parameters":[],"src":"2693:2:6"}},{"id":5442,"nodeType":"VariableDeclaration","src":"3011:48:6","nodes":[],"baseFunctions":[27780],"constant":false,"documentation":{"id":5438,"nodeType":"StructuredDocumentation","src":"2938:68:6","text":"@notice The directory of terminals and controllers for projects."},"functionSelector":"c41c2f24","mutability":"immutable","name":"directory","nameLocation":"3050:9:6","overrides":{"id":5441,"nodeType":"OverrideSpecifier","overrides":[],"src":"3031:8:6"},"scope":5936,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":5440,"nodeType":"UserDefinedTypeName","pathNode":{"id":5439,"name":"IJBDirectory","nameLocations":["3011:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"3011:12:6"},"referencedDeclaration":85041,"src":"3011:12:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"public"},{"id":5446,"nodeType":"VariableDeclaration","src":"3144:54:6","nodes":[],"baseFunctions":[27785],"constant":false,"documentation":{"id":5443,"nodeType":"StructuredDocumentation","src":"3066:73:6","text":"@notice The 4bytes ID of this delegate, used for pay metadata parsing"},"functionSelector":"46a6d981","mutability":"immutable","name":"payMetadataDelegateId","nameLocation":"3177:21:6","overrides":{"id":5445,"nodeType":"OverrideSpecifier","overrides":[],"src":"3158:8:6"},"scope":5936,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5444,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3144:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"public"},{"id":5450,"nodeType":"VariableDeclaration","src":"3286:57:6","nodes":[],"baseFunctions":[27790],"constant":false,"documentation":{"id":5447,"nodeType":"StructuredDocumentation","src":"3205:76:6","text":"@notice The 4bytes ID of this delegate, used for redeem metadata parsing"},"functionSelector":"4853f5e8","mutability":"immutable","name":"redeemMetadataDelegateId","nameLocation":"3319:24:6","overrides":{"id":5449,"nodeType":"OverrideSpecifier","overrides":[],"src":"3300:8:6"},"scope":5936,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5448,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3286:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"public"},{"id":5454,"nodeType":"VariableDeclaration","src":"3667:33:6","nodes":[],"baseFunctions":[27774],"constant":false,"documentation":{"id":5451,"nodeType":"StructuredDocumentation","src":"3585:77:6","text":"@notice The Juicebox project ID this contract's functionality applies to."},"functionSelector":"3fafa127","mutability":"mutable","name":"projectId","nameLocation":"3691:9:6","overrides":{"id":5453,"nodeType":"OverrideSpecifier","overrides":[],"src":"3682:8:6"},"scope":5936,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5452,"name":"uint256","nodeType":"ElementaryTypeName","src":"3667:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":5503,"nodeType":"FunctionDefinition","src":"4441:535:6","nodes":[],"body":{"id":5502,"nodeType":"Block","src":"4669:307:6","nodes":[],"statements":[{"expression":{"id":5473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5470,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5462,"src":"4769:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5471,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5458,"src":"4778:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayParamsData_$87935_calldata_ptr","typeString":"struct JBPayParamsData calldata"}},"id":5472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4784:6:6","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87928,"src":"4778:12:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4769:21:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5474,"nodeType":"ExpressionStatement","src":"4769:21:6"},{"expression":{"id":5478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5475,"name":"memo","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5464,"src":"4800:4:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":5476,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5458,"src":"4807:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayParamsData_$87935_calldata_ptr","typeString":"struct JBPayParamsData calldata"}},"id":5477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4813:4:6","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":87932,"src":"4807:10:6","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"4800:17:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":5479,"nodeType":"ExpressionStatement","src":"4800:17:6"},{"expression":{"id":5487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5480,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5468,"src":"4827:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":5485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4884:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":5484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"4849:34:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct JBPayDelegateAllocation3_1_1 memory[] memory)"},"typeName":{"baseType":{"id":5482,"nodeType":"UserDefinedTypeName","pathNode":{"id":5481,"name":"JBPayDelegateAllocation3_1_1","nameLocations":["4853:28:6"],"nodeType":"IdentifierPath","referencedDeclaration":87905,"src":"4853:28:6"},"referencedDeclaration":87905,"src":"4853:28:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDelegateAllocation3_1_1_$87905_storage_ptr","typeString":"struct JBPayDelegateAllocation3_1_1"}},"id":5483,"nodeType":"ArrayTypeName","src":"4853:30:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_storage_$dyn_storage_ptr","typeString":"struct JBPayDelegateAllocation3_1_1[]"}}},"id":5486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4849:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory[] memory"}},"src":"4827:59:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory[] memory"}},"id":5488,"nodeType":"ExpressionStatement","src":"4827:59:6"},{"expression":{"id":5500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5489,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5468,"src":"4896:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory[] memory"}},"id":5491,"indexExpression":{"hexValue":"30","id":5490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4916:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4896:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5493,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4950:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_JB721Delegate_$5936","typeString":"contract JB721Delegate"}},{"hexValue":"30","id":5494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4956:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"","id":5497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4965:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":5496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4959:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5495,"name":"bytes","nodeType":"ElementaryTypeName","src":"4959:5:6","typeDescriptions":{}}},"id":5498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4959:9:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JB721Delegate_$5936","typeString":"contract JB721Delegate"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5492,"name":"JBPayDelegateAllocation3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87905,"src":"4921:28:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_storage_ptr_$","typeString":"type(struct JBPayDelegateAllocation3_1_1 storage pointer)"}},"id":5499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4921:48:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory"}},"src":"4896:73:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1 memory"}},"id":5501,"nodeType":"ExpressionStatement","src":"4896:73:6"}]},"baseFunctions":[85195],"documentation":{"id":5455,"nodeType":"StructuredDocumentation","src":"3942:494:6","text":"@notice This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource.\n @param _data The Juicebox standard project payment data.\n @return weight The weight that tokens should get minted in accordance with.\n @return memo A memo to be forwarded to the event.\n @return delegateAllocations Amount to be sent to delegates instead of adding to local balance."},"functionSelector":"d46cf171","implemented":true,"kind":"function","modifiers":[],"name":"payParams","nameLocation":"4450:9:6","overrides":{"id":5460,"nodeType":"OverrideSpecifier","overrides":[],"src":"4544:8:6"},"parameters":{"id":5459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5458,"mutability":"mutable","name":"_data","nameLocation":"4485:5:6","nodeType":"VariableDeclaration","scope":5503,"src":"4460:30:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayParamsData_$87935_calldata_ptr","typeString":"struct JBPayParamsData"},"typeName":{"id":5457,"nodeType":"UserDefinedTypeName","pathNode":{"id":5456,"name":"JBPayParamsData","nameLocations":["4460:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":87935,"src":"4460:15:6"},"referencedDeclaration":87935,"src":"4460:15:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayParamsData_$87935_storage_ptr","typeString":"struct JBPayParamsData"}},"visibility":"internal"}],"src":"4459:32:6"},"returnParameters":{"id":5469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5462,"mutability":"mutable","name":"weight","nameLocation":"4578:6:6","nodeType":"VariableDeclaration","scope":5503,"src":"4570:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5461,"name":"uint256","nodeType":"ElementaryTypeName","src":"4570:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5464,"mutability":"mutable","name":"memo","nameLocation":"4600:4:6","nodeType":"VariableDeclaration","scope":5503,"src":"4586:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5463,"name":"string","nodeType":"ElementaryTypeName","src":"4586:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5468,"mutability":"mutable","name":"delegateAllocations","nameLocation":"4644:19:6","nodeType":"VariableDeclaration","scope":5503,"src":"4606:57:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_memory_ptr_$dyn_memory_ptr","typeString":"struct JBPayDelegateAllocation3_1_1[]"},"typeName":{"baseType":{"id":5466,"nodeType":"UserDefinedTypeName","pathNode":{"id":5465,"name":"JBPayDelegateAllocation3_1_1","nameLocations":["4606:28:6"],"nodeType":"IdentifierPath","referencedDeclaration":87905,"src":"4606:28:6"},"referencedDeclaration":87905,"src":"4606:28:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDelegateAllocation3_1_1_$87905_storage_ptr","typeString":"struct JBPayDelegateAllocation3_1_1"}},"id":5467,"nodeType":"ArrayTypeName","src":"4606:30:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBPayDelegateAllocation3_1_1_$87905_storage_$dyn_storage_ptr","typeString":"struct JBPayDelegateAllocation3_1_1[]"}},"visibility":"internal"}],"src":"4569:95:6"},"scope":5936,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5637,"nodeType":"FunctionDefinition","src":"5410:2106:6","nodes":[],"body":{"id":5636,"nodeType":"Block","src":"5658:1858:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5519,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"5745:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5751:10:6","memberName":"tokenCount","nodeType":"MemberAccess","referencedDeclaration":87961,"src":"5745:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":5521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5764:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5745:20:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5526,"nodeType":"IfStatement","src":"5741:60:6","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5523,"name":"UNEXPECTED_TOKEN_REDEEMED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5435,"src":"5774:25:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5774:27:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5525,"nodeType":"RevertStatement","src":"5767:34:6"}},{"assignments":[5528,5530],"declarations":[{"constant":false,"id":5528,"mutability":"mutable","name":"_found","nameLocation":"5880:6:6","nodeType":"VariableDeclaration","scope":5636,"src":"5875:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5527,"name":"bool","nodeType":"ElementaryTypeName","src":"5875:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5530,"mutability":"mutable","name":"_metadata","nameLocation":"5901:9:6","nodeType":"VariableDeclaration","scope":5636,"src":"5888:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5529,"name":"bytes","nodeType":"ElementaryTypeName","src":"5888:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5537,"initialValue":{"arguments":[{"id":5533,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"5948:24:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":5534,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"5974:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5980:8:6","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87976,"src":"5974:14:6","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":5531,"name":"JBDelegateMetadataLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88669,"src":"5914:21:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBDelegateMetadataLib_$88669_$","typeString":"type(library JBDelegateMetadataLib)"}},"id":5532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5936:11:6","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":88415,"src":"5914:33:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_bytes_calldata_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes4,bytes calldata) pure returns (bool,bytes memory)"}},"id":5536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5914:75:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"5874:115:6"},{"expression":{"id":5545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5538,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"6079:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"31","id":5543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6143:1:6","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":5542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6101:41:6","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct JBRedemptionDelegateAllocation3_1_1 memory[] memory)"},"typeName":{"baseType":{"id":5540,"nodeType":"UserDefinedTypeName","pathNode":{"id":5539,"name":"JBRedemptionDelegateAllocation3_1_1","nameLocations":["6105:35:6"],"nodeType":"IdentifierPath","referencedDeclaration":87990,"src":"6105:35:6"},"referencedDeclaration":87990,"src":"6105:35:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_storage_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1"}},"id":5541,"nodeType":"ArrayTypeName","src":"6105:37:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_storage_$dyn_storage_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1[]"}}},"id":5544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6101:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}},"src":"6079:66:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}},"id":5546,"nodeType":"ExpressionStatement","src":"6079:66:6"},{"expression":{"id":5558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":5547,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"6155:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}},"id":5549,"indexExpression":{"hexValue":"30","id":5548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6175:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6155:22:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5551,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"6216:4:6","typeDescriptions":{"typeIdentifier":"t_contract$_JB721Delegate_$5936","typeString":"contract JB721Delegate"}},{"hexValue":"30","id":5552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6222:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"","id":5555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6231:2:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":5554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6225:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":5553,"name":"bytes","nodeType":"ElementaryTypeName","src":"6225:5:6","typeDescriptions":{}}},"id":5556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6225:9:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JB721Delegate_$5936","typeString":"contract JB721Delegate"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":5550,"name":"JBRedemptionDelegateAllocation3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87990,"src":"6180:35:6","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_storage_ptr_$","typeString":"type(struct JBRedemptionDelegateAllocation3_1_1 storage pointer)"}},"id":5557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6180:55:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory"}},"src":"6155:80:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory"}},"id":5559,"nodeType":"ExpressionStatement","src":"6155:80:6"},{"assignments":[5564],"declarations":[{"constant":false,"id":5564,"mutability":"mutable","name":"_decodedTokenIds","nameLocation":"6263:16:6","nodeType":"VariableDeclaration","scope":5636,"src":"6246:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5562,"name":"uint256","nodeType":"ElementaryTypeName","src":"6246:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5563,"nodeType":"ArrayTypeName","src":"6246:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":5565,"nodeType":"VariableDeclarationStatement","src":"6246:33:6"},{"condition":{"id":5566,"name":"_found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5528,"src":"6325:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5578,"nodeType":"IfStatement","src":"6321:65:6","trueBody":{"expression":{"id":5576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5567,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5564,"src":"6333:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5570,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5530,"src":"6363:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5572,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6375:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5571,"name":"uint256","nodeType":"ElementaryTypeName","src":"6375:7:6","typeDescriptions":{}}},"id":5573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6375:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}}],"id":5574,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6374:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}],"expression":{"id":5568,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6352:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6356:6:6","memberName":"decode","nodeType":"MemberAccess","src":"6352:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6352:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"6333:53:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5577,"nodeType":"ExpressionStatement","src":"6333:53:6"}},{"assignments":[5580],"declarations":[{"constant":false,"id":5580,"mutability":"mutable","name":"_redemptionWeight","nameLocation":"6479:17:6","nodeType":"VariableDeclaration","scope":5636,"src":"6471:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5579,"name":"uint256","nodeType":"ElementaryTypeName","src":"6471:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5585,"initialValue":{"arguments":[{"id":5582,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5564,"src":"6518:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":5583,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"6536:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"},{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}],"id":5581,"name":"redemptionWeightOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5656,"src":"6499:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_array$_t_uint256_$dyn_memory_ptr_$_t_struct$_JBRedeemParamsData_$87977_calldata_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] memory,struct JBRedeemParamsData calldata) view returns (uint256)"}},"id":5584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6499:43:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6471:71:6"},{"assignments":[5587],"declarations":[{"constant":false,"id":5587,"mutability":"mutable","name":"_total","nameLocation":"6620:6:6","nodeType":"VariableDeclaration","scope":5636,"src":"6612:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5586,"name":"uint256","nodeType":"ElementaryTypeName","src":"6612:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5591,"initialValue":{"arguments":[{"id":5589,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"6651:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}],"id":5588,"name":"totalRedemptionWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5670,"src":"6629:21:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_JBRedeemParamsData_$87977_calldata_ptr_$returns$_t_uint256_$","typeString":"function (struct JBRedeemParamsData calldata) view returns (uint256)"}},"id":5590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6629:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6612:45:6"},{"assignments":[5593],"declarations":[{"constant":false,"id":5593,"mutability":"mutable","name":"_base","nameLocation":"6729:5:6","nodeType":"VariableDeclaration","scope":5636,"src":"6721:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5592,"name":"uint256","nodeType":"ElementaryTypeName","src":"6721:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5600,"initialValue":{"arguments":[{"expression":{"id":5595,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"6744:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6750:8:6","memberName":"overflow","nodeType":"MemberAccess","referencedDeclaration":87965,"src":"6744:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5597,"name":"_redemptionWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5580,"src":"6760:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5598,"name":"_total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5587,"src":"6779:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5594,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"6737:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":5599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6737:49:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6721:65:6"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5601,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"6930:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6936:14:6","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":87972,"src":"6930:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":5603,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"6954:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":5604,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6966:19:6","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"6954:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6930:55:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5613,"nodeType":"IfStatement","src":"6926:133:6","trueBody":{"id":5612,"nodeType":"Block","src":"6987:72:6","statements":[{"expression":{"components":[{"id":5606,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5593,"src":"7009:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5607,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"7016:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7022:4:6","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":87974,"src":"7016:10:6","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":5609,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"7028:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}}],"id":5610,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7008:40:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_string_calldata_ptr_$_t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,string calldata,struct JBRedemptionDelegateAllocation3_1_1 memory[] memory)"}},"functionReturnParameters":5518,"id":5611,"nodeType":"Return","src":"7001:47:6"}]}},{"expression":{"components":[{"arguments":[{"id":5615,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5593,"src":"7220:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5616,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"7243:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7249:14:6","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":87972,"src":"7243:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":5619,"name":"_redemptionWeight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5580,"src":"7293:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5620,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"7312:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":5621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7324:19:6","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"7312:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":5622,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"7346:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7352:14:6","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":87972,"src":"7346:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7312:54:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":5625,"name":"_total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5587,"src":"7368:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5618,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"7286:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":5626,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7286:89:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7243:132:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5628,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"7393:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":5629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7405:19:6","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"7393:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5614,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"7196:6:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":5630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7196:246:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":5631,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5507,"src":"7456:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7462:4:6","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":87974,"src":"7456:10:6","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":5633,"name":"delegateAllocations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5517,"src":"7480:19:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1 memory[] memory"}}],"id":5634,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7182:327:6","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_string_calldata_ptr_$_t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(uint256,string calldata,struct JBRedemptionDelegateAllocation3_1_1 memory[] memory)"}},"functionReturnParameters":5518,"id":5635,"nodeType":"Return","src":"7175:334:6"}]},"baseFunctions":[85210],"documentation":{"id":5504,"nodeType":"StructuredDocumentation","src":"4982:423:6","text":"@notice This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource.\n @param _data Standard Juicebox project redemption data.\n @return reclaimAmount Amount to be reclaimed from the treasury.\n @return memo A memo to be forwarded to the event.\n @return delegateAllocations Amount to be sent to delegates instead of being added to the beneficiary."},"functionSelector":"a51cfd18","implemented":true,"kind":"function","modifiers":[],"name":"redeemParams","nameLocation":"5419:12:6","overrides":{"id":5509,"nodeType":"OverrideSpecifier","overrides":[],"src":"5519:8:6"},"parameters":{"id":5508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5507,"mutability":"mutable","name":"_data","nameLocation":"5460:5:6","nodeType":"VariableDeclaration","scope":5637,"src":"5432:33:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData"},"typeName":{"id":5506,"nodeType":"UserDefinedTypeName","pathNode":{"id":5505,"name":"JBRedeemParamsData","nameLocations":["5432:18:6"],"nodeType":"IdentifierPath","referencedDeclaration":87977,"src":"5432:18:6"},"referencedDeclaration":87977,"src":"5432:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_storage_ptr","typeString":"struct JBRedeemParamsData"}},"visibility":"internal"}],"src":"5431:35:6"},"returnParameters":{"id":5518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5511,"mutability":"mutable","name":"reclaimAmount","nameLocation":"5553:13:6","nodeType":"VariableDeclaration","scope":5637,"src":"5545:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5510,"name":"uint256","nodeType":"ElementaryTypeName","src":"5545:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5513,"mutability":"mutable","name":"memo","nameLocation":"5582:4:6","nodeType":"VariableDeclaration","scope":5637,"src":"5568:18:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5512,"name":"string","nodeType":"ElementaryTypeName","src":"5568:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5517,"mutability":"mutable","name":"delegateAllocations","nameLocation":"5633:19:6","nodeType":"VariableDeclaration","scope":5637,"src":"5588:64:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_memory_ptr_$dyn_memory_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1[]"},"typeName":{"baseType":{"id":5515,"nodeType":"UserDefinedTypeName","pathNode":{"id":5514,"name":"JBRedemptionDelegateAllocation3_1_1","nameLocations":["5588:35:6"],"nodeType":"IdentifierPath","referencedDeclaration":87990,"src":"5588:35:6"},"referencedDeclaration":87990,"src":"5588:35:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_storage_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1"}},"id":5516,"nodeType":"ArrayTypeName","src":"5588:37:6","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBRedemptionDelegateAllocation3_1_1_$87990_storage_$dyn_storage_ptr","typeString":"struct JBRedemptionDelegateAllocation3_1_1[]"}},"visibility":"internal"}],"src":"5544:109:6"},"scope":5936,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5656,"nodeType":"FunctionDefinition","src":"8109:336:6","nodes":[],"body":{"id":5655,"nodeType":"Block","src":"8274:171:6","nodes":[],"statements":[{"expression":{"id":5649,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5641,"src":"8284:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5650,"nodeType":"ExpressionStatement","src":"8284:9:6"},{"expression":{"id":5651,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5644,"src":"8359:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5652,"nodeType":"ExpressionStatement","src":"8359:5:6"},{"expression":{"hexValue":"30","id":5653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8437:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":5648,"id":5654,"nodeType":"Return","src":"8430:8:6"}]},"documentation":{"id":5638,"nodeType":"StructuredDocumentation","src":"7757:347:6","text":"@notice Returns the cumulative redemption weight of the given token IDs relative to the `totalRedemptionWeight`.\n @param _tokenIds The token IDs to calculate the cumulative redemption weight for.\n @param _data Standard Juicebox project redemption data.\n @return The cumulative redemption weight of the specified token IDs."},"functionSelector":"7ba62bf9","implemented":true,"kind":"function","modifiers":[],"name":"redemptionWeightOf","nameLocation":"8118:18:6","parameters":{"id":5645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5641,"mutability":"mutable","name":"_tokenIds","nameLocation":"8154:9:6","nodeType":"VariableDeclaration","scope":5656,"src":"8137:26:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5639,"name":"uint256","nodeType":"ElementaryTypeName","src":"8137:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5640,"nodeType":"ArrayTypeName","src":"8137:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":5644,"mutability":"mutable","name":"_data","nameLocation":"8193:5:6","nodeType":"VariableDeclaration","scope":5656,"src":"8165:33:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData"},"typeName":{"id":5643,"nodeType":"UserDefinedTypeName","pathNode":{"id":5642,"name":"JBRedeemParamsData","nameLocations":["8165:18:6"],"nodeType":"IdentifierPath","referencedDeclaration":87977,"src":"8165:18:6"},"referencedDeclaration":87977,"src":"8165:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_storage_ptr","typeString":"struct JBRedeemParamsData"}},"visibility":"internal"}],"src":"8136:63:6"},"returnParameters":{"id":5648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5647,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5656,"src":"8261:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5646,"name":"uint256","nodeType":"ElementaryTypeName","src":"8261:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8260:9:6"},"scope":5936,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5670,"nodeType":"FunctionDefinition","src":"8662:200:6","nodes":[],"body":{"id":5669,"nodeType":"Block","src":"8766:96:6","nodes":[],"statements":[{"expression":{"id":5665,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5660,"src":"8776:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData calldata"}},"id":5666,"nodeType":"ExpressionStatement","src":"8776:5:6"},{"expression":{"hexValue":"30","id":5667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8854:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":5664,"id":5668,"nodeType":"Return","src":"8847:8:6"}]},"documentation":{"id":5657,"nodeType":"StructuredDocumentation","src":"8451:206:6","text":"@notice Calculates the cumulative redemption weight of all token IDs.\n @param _data Standard Juicebox project redemption data.\n @return Total cumulative redemption weight of all token IDs."},"functionSelector":"9494bf72","implemented":true,"kind":"function","modifiers":[],"name":"totalRedemptionWeight","nameLocation":"8671:21:6","parameters":{"id":5661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5660,"mutability":"mutable","name":"_data","nameLocation":"8721:5:6","nodeType":"VariableDeclaration","scope":5670,"src":"8693:33:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData"},"typeName":{"id":5659,"nodeType":"UserDefinedTypeName","pathNode":{"id":5658,"name":"JBRedeemParamsData","nameLocations":["8693:18:6"],"nodeType":"IdentifierPath","referencedDeclaration":87977,"src":"8693:18:6"},"referencedDeclaration":87977,"src":"8693:18:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_storage_ptr","typeString":"struct JBRedeemParamsData"}},"visibility":"internal"}],"src":"8692:35:6"},"returnParameters":{"id":5664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5663,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5670,"src":"8757:7:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5662,"name":"uint256","nodeType":"ElementaryTypeName","src":"8757:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8756:9:6"},"scope":5936,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5722,"nodeType":"FunctionDefinition","src":"9072:493:6","nodes":[],"body":{"id":5721,"nodeType":"Block","src":"9181:384:6","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5714,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5681,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9198:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5683,"name":"IJB721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27791,"src":"9219:14:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJB721Delegate_$27791_$","typeString":"type(contract IJB721Delegate)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJB721Delegate_$27791_$","typeString":"type(contract IJB721Delegate)"}],"id":5682,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9214:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9214:20:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJB721Delegate_$27791","typeString":"type(contract IJB721Delegate)"}},"id":5685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9235:11:6","memberName":"interfaceId","nodeType":"MemberAccess","src":"9214:32:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9198:48:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5687,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9262:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5689,"name":"IJBFundingCycleDataSource3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85211,"src":"9283:30:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleDataSource3_1_1_$85211_$","typeString":"type(contract IJBFundingCycleDataSource3_1_1)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleDataSource3_1_1_$85211_$","typeString":"type(contract IJBFundingCycleDataSource3_1_1)"}],"id":5688,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9278:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9278:36:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBFundingCycleDataSource3_1_1_$85211","typeString":"type(contract IJBFundingCycleDataSource3_1_1)"}},"id":5691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9315:11:6","memberName":"interfaceId","nodeType":"MemberAccess","src":"9278:48:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9262:64:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9198:128:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5694,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9342:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5696,"name":"IJBPayDelegate3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85434,"src":"9363:19:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPayDelegate3_1_1_$85434_$","typeString":"type(contract IJBPayDelegate3_1_1)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBPayDelegate3_1_1_$85434_$","typeString":"type(contract IJBPayDelegate3_1_1)"}],"id":5695,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9358:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5697,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9358:25:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBPayDelegate3_1_1_$85434","typeString":"type(contract IJBPayDelegate3_1_1)"}},"id":5698,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9384:11:6","memberName":"interfaceId","nodeType":"MemberAccess","src":"9358:37:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9342:53:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9198:197:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5701,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9399:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5703,"name":"IJBRedemptionDelegate3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86116,"src":"9420:26:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBRedemptionDelegate3_1_1_$86116_$","typeString":"type(contract IJBRedemptionDelegate3_1_1)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBRedemptionDelegate3_1_1_$86116_$","typeString":"type(contract IJBRedemptionDelegate3_1_1)"}],"id":5702,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9415:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9415:32:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBRedemptionDelegate3_1_1_$86116","typeString":"type(contract IJBRedemptionDelegate3_1_1)"}},"id":5705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9448:11:6","memberName":"interfaceId","nodeType":"MemberAccess","src":"9415:44:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9399:60:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9198:261:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":5713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5708,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9475:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":5710,"name":"IERC2981","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90337,"src":"9496:8:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC2981_$90337_$","typeString":"type(contract IERC2981)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IERC2981_$90337_$","typeString":"type(contract IERC2981)"}],"id":5709,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9491:4:6","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":5711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9491:14:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IERC2981_$90337","typeString":"type(contract IERC2981)"}},"id":5712,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9506:11:6","memberName":"interfaceId","nodeType":"MemberAccess","src":"9491:26:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9475:42:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9198:319:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":5717,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5673,"src":"9545:12:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":5715,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9521:5:6","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JB721Delegate_$5936_$","typeString":"type(contract super JB721Delegate)"}},"id":5716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9527:17:6","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":4677,"src":"9521:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":5718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9521:37:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9198:360:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":5680,"id":5720,"nodeType":"Return","src":"9191:367:6"}]},"baseFunctions":[4677,97004],"documentation":{"id":5671,"nodeType":"StructuredDocumentation","src":"8868:199:6","text":"@notice Indicates if this contract adheres to the specified interface.\n @dev See {IERC165-supportsInterface}.\n @param _interfaceId The ID of the interface to check for adherence to."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9081:17:6","overrides":{"id":5677,"nodeType":"OverrideSpecifier","overrides":[{"id":5675,"name":"ERC721","nameLocations":["9149:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":5376,"src":"9149:6:6"},{"id":5676,"name":"IERC165","nameLocations":["9157:7:6"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"9157:7:6"}],"src":"9140:25:6"},"parameters":{"id":5674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5673,"mutability":"mutable","name":"_interfaceId","nameLocation":"9106:12:6","nodeType":"VariableDeclaration","scope":5722,"src":"9099:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5672,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9099:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9098:21:6"},"returnParameters":{"id":5680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5679,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5722,"src":"9175:4:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5678,"name":"bool","nodeType":"ElementaryTypeName","src":"9175:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9174:6:6"},"scope":5936,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":5746,"nodeType":"FunctionDefinition","src":"10093:259:6","nodes":[],"body":{"id":5745,"nodeType":"Block","src":"10195:157:6","nodes":[],"statements":[{"expression":{"id":5735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5733,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5442,"src":"10205:9:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5734,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5726,"src":"10217:10:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"src":"10205:22:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":5736,"nodeType":"ExpressionStatement","src":"10205:22:6"},{"expression":{"id":5739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5737,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5446,"src":"10237:21:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5738,"name":"_payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5728,"src":"10261:22:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10237:46:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":5740,"nodeType":"ExpressionStatement","src":"10237:46:6"},{"expression":{"id":5743,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5741,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"10293:24:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5742,"name":"_redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5730,"src":"10320:25:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"10293:52:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"id":5744,"nodeType":"ExpressionStatement","src":"10293:52:6"}]},"documentation":{"id":5723,"nodeType":"StructuredDocumentation","src":"9806:282:6","text":"@param _directory A directory of terminals and controllers for projects.\n @param _payMetadataDelegateId The 4bytes ID of this delegate, used for pay metadata parsing\n @param _redeemMetadataDelegateId The 4bytes ID of this delegate, used for redeem metadata parsing"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":5731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5726,"mutability":"mutable","name":"_directory","nameLocation":"10118:10:6","nodeType":"VariableDeclaration","scope":5746,"src":"10105:23:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":5725,"nodeType":"UserDefinedTypeName","pathNode":{"id":5724,"name":"IJBDirectory","nameLocations":["10105:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"10105:12:6"},"referencedDeclaration":85041,"src":"10105:12:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"constant":false,"id":5728,"mutability":"mutable","name":"_payMetadataDelegateId","nameLocation":"10137:22:6","nodeType":"VariableDeclaration","scope":5746,"src":"10130:29:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5727,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10130:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":5730,"mutability":"mutable","name":"_redeemMetadataDelegateId","nameLocation":"10168:25:6","nodeType":"VariableDeclaration","scope":5746,"src":"10161:32:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":5729,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10161:6:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"10104:90:6"},"returnParameters":{"id":5732,"nodeType":"ParameterList","parameters":[],"src":"10195:0:6"},"scope":5936,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5768,"nodeType":"FunctionDefinition","src":"10638:189:6","nodes":[],"body":{"id":5767,"nodeType":"Block","src":"10744:83:6","nodes":[],"statements":[{"expression":{"arguments":[{"id":5759,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5751,"src":"10773:5:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":5760,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5753,"src":"10780:7:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":5756,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5376,"src":"10754:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721_$5376_$","typeString":"type(contract ERC721)"}},"id":5758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10761:11:6","memberName":"_initialize","nodeType":"MemberAccess","referencedDeclaration":4646,"src":"10754:18:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":5761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10754:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5762,"nodeType":"ExpressionStatement","src":"10754:34:6"},{"expression":{"id":5765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5763,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"10798:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":5764,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5749,"src":"10810:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10798:22:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5766,"nodeType":"ExpressionStatement","src":"10798:22:6"}]},"documentation":{"id":5747,"nodeType":"StructuredDocumentation","src":"10358:275:6","text":"@notice Initializes the contract with project details and ERC721 token details.\n @param _projectId The ID of the project this contract's functionality applies to.\n @param _name The name of the token.\n @param _symbol The symbol representing the token."},"implemented":true,"kind":"function","modifiers":[],"name":"_initialize","nameLocation":"10647:11:6","parameters":{"id":5754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5749,"mutability":"mutable","name":"_projectId","nameLocation":"10667:10:6","nodeType":"VariableDeclaration","scope":5768,"src":"10659:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5748,"name":"uint256","nodeType":"ElementaryTypeName","src":"10659:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5751,"mutability":"mutable","name":"_name","nameLocation":"10693:5:6","nodeType":"VariableDeclaration","scope":5768,"src":"10679:19:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5750,"name":"string","nodeType":"ElementaryTypeName","src":"10679:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":5753,"mutability":"mutable","name":"_symbol","nameLocation":"10714:7:6","nodeType":"VariableDeclaration","scope":5768,"src":"10700:21:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5752,"name":"string","nodeType":"ElementaryTypeName","src":"10700:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10658:64:6"},"returnParameters":{"id":5755,"nodeType":"ParameterList","parameters":[],"src":"10744:0:6"},"scope":5936,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":5808,"nodeType":"FunctionDefinition","src":"11349:547:6","nodes":[],"body":{"id":5807,"nodeType":"Block","src":"11433:463:6","nodes":[],"statements":[{"assignments":[5777],"declarations":[{"constant":false,"id":5777,"mutability":"mutable","name":"_projectId","nameLocation":"11451:10:6","nodeType":"VariableDeclaration","scope":5807,"src":"11443:18:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5776,"name":"uint256","nodeType":"ElementaryTypeName","src":"11443:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5779,"initialValue":{"id":5778,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"11464:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11443:30:6"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11649:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11653:5:6","memberName":"value","nodeType":"MemberAccess","src":"11649:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11662:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11649:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":5792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"11667:67:6","subExpression":{"arguments":[{"id":5786,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5777,"src":"11691:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":5788,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11722:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11726:6:6","memberName":"sender","nodeType":"MemberAccess","src":"11722:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5787,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"11703:18:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}},"id":5790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11703:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"expression":{"id":5784,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5442,"src":"11668:9:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":5785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11678:12:6","memberName":"isTerminalOf","nodeType":"MemberAccess","referencedDeclaration":84997,"src":"11668:22:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$returns$_t_bool_$","typeString":"function (uint256,contract IJBPaymentTerminal) view external returns (bool)"}},"id":5791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11668:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11649:85:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5794,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"11754:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":5795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11760:9:6","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":87670,"src":"11754:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5796,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5777,"src":"11773:10:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11754:29:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11649:134:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5802,"nodeType":"IfStatement","src":"11632:192:6","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5799,"name":"INVALID_PAYMENT_EVENT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5427,"src":"11801:21:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11801:23:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5801,"nodeType":"RevertStatement","src":"11794:30:6"}},{"expression":{"arguments":[{"id":5804,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5772,"src":"11883:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}],"id":5803,"name":"_processPayment","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5925,"src":"11867:15:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr_$returns$__$","typeString":"function (struct JBDidPayData3_1_1 calldata)"}},"id":5805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11867:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5806,"nodeType":"ExpressionStatement","src":"11867:22:6"}]},"baseFunctions":[85433],"documentation":{"id":5769,"nodeType":"StructuredDocumentation","src":"11068:276:6","text":"@notice Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate.\n @dev Reverts if the calling contract is not one of the project's terminals.\n @param _data Standard Juicebox project payment data."},"functionSelector":"6b204943","implemented":true,"kind":"function","modifiers":[],"name":"didPay","nameLocation":"11358:6:6","overrides":{"id":5774,"nodeType":"OverrideSpecifier","overrides":[],"src":"11424:8:6"},"parameters":{"id":5773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5772,"mutability":"mutable","name":"_data","nameLocation":"11392:5:6","nodeType":"VariableDeclaration","scope":5808,"src":"11365:32:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1"},"typeName":{"id":5771,"nodeType":"UserDefinedTypeName","pathNode":{"id":5770,"name":"JBDidPayData3_1_1","nameLocations":["11365:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":87691,"src":"11365:17:6"},"referencedDeclaration":87691,"src":"11365:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_storage_ptr","typeString":"struct JBDidPayData3_1_1"}},"visibility":"internal"}],"src":"11364:34:6"},"returnParameters":{"id":5775,"nodeType":"ParameterList","parameters":[],"src":"11433:0:6"},"scope":5936,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":5915,"nodeType":"FunctionDefinition","src":"12210:1568:6","nodes":[],"body":{"id":5914,"nodeType":"Block","src":"12300:1478:6","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":5829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5816,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12475:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12479:5:6","memberName":"value","nodeType":"MemberAccess","src":"12475:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":5818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12488:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12475:14:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"id":5828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12493:66:6","subExpression":{"arguments":[{"id":5822,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"12517:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"id":5824,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12547:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":5825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12551:6:6","memberName":"sender","nodeType":"MemberAccess","src":"12547:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5823,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"12528:18:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}},"id":5826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12528:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"expression":{"id":5820,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5442,"src":"12494:9:6","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":5821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12504:12:6","memberName":"isTerminalOf","nodeType":"MemberAccess","referencedDeclaration":84997,"src":"12494:22:6","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$returns$_t_bool_$","typeString":"function (uint256,contract IJBPaymentTerminal) view external returns (bool)"}},"id":5827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12494:65:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12475:84:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":5830,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5812,"src":"12579:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData3_1_1_$87745_calldata_ptr","typeString":"struct JBDidRedeemData3_1_1 calldata"}},"id":5831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12585:9:6","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":87726,"src":"12579:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":5832,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"12598:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12579:28:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12475:132:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5838,"nodeType":"IfStatement","src":"12458:193:6","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":5835,"name":"INVALID_REDEMPTION_EVENT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5429,"src":"12625:24:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":5836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12625:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5837,"nodeType":"RevertStatement","src":"12618:33:6"}},{"assignments":[5840,5842],"declarations":[{"constant":false,"id":5840,"mutability":"mutable","name":"_found","nameLocation":"12730:6:6","nodeType":"VariableDeclaration","scope":5914,"src":"12725:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":5839,"name":"bool","nodeType":"ElementaryTypeName","src":"12725:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":5842,"mutability":"mutable","name":"_metadata","nameLocation":"12751:9:6","nodeType":"VariableDeclaration","scope":5914,"src":"12738:22:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":5841,"name":"bytes","nodeType":"ElementaryTypeName","src":"12738:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":5849,"initialValue":{"arguments":[{"id":5845,"name":"redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5450,"src":"12798:24:6","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":5846,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5812,"src":"12824:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData3_1_1_$87745_calldata_ptr","typeString":"struct JBDidRedeemData3_1_1 calldata"}},"id":5847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12830:16:6","memberName":"redeemerMetadata","nodeType":"MemberAccess","referencedDeclaration":87744,"src":"12824:22:6","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":5843,"name":"JBDelegateMetadataLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88669,"src":"12764:21:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBDelegateMetadataLib_$88669_$","typeString":"type(library JBDelegateMetadataLib)"}},"id":5844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12786:11:6","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":88415,"src":"12764:33:6","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_bytes_calldata_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes4,bytes calldata) pure returns (bool,bytes memory)"}},"id":5848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12764:83:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"12724:123:6"},{"assignments":[5854],"declarations":[{"constant":false,"id":5854,"mutability":"mutable","name":"_decodedTokenIds","nameLocation":"12875:16:6","nodeType":"VariableDeclaration","scope":5914,"src":"12858:33:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5852,"name":"uint256","nodeType":"ElementaryTypeName","src":"12858:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5853,"nodeType":"ArrayTypeName","src":"12858:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":5855,"nodeType":"VariableDeclarationStatement","src":"12858:33:6"},{"condition":{"id":5856,"name":"_found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5840,"src":"12938:6:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5868,"nodeType":"IfStatement","src":"12934:65:6","trueBody":{"expression":{"id":5866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5857,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"12946:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5860,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5842,"src":"12976:9:6","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"baseExpression":{"id":5862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12988:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":5861,"name":"uint256","nodeType":"ElementaryTypeName","src":"12988:7:6","typeDescriptions":{}}},"id":5863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"12988:9:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}}],"id":5864,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"12987:11:6","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}],"expression":{"id":5858,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12965:3:6","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":5859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12969:6:6","memberName":"decode","nodeType":"MemberAccess","src":"12965:10:6","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":5865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12965:34:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"12946:53:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5867,"nodeType":"ExpressionStatement","src":"12946:53:6"}},{"assignments":[5870],"declarations":[{"constant":false,"id":5870,"mutability":"mutable","name":"_numberOfTokenIds","nameLocation":"13087:17:6","nodeType":"VariableDeclaration","scope":5914,"src":"13079:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5869,"name":"uint256","nodeType":"ElementaryTypeName","src":"13079:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5873,"initialValue":{"expression":{"id":5871,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"13107:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13124:6:6","memberName":"length","nodeType":"MemberAccess","src":"13107:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13079:51:6"},{"assignments":[5875],"declarations":[{"constant":false,"id":5875,"mutability":"mutable","name":"_tokenId","nameLocation":"13214:8:6","nodeType":"VariableDeclaration","scope":5914,"src":"13206:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5874,"name":"uint256","nodeType":"ElementaryTypeName","src":"13206:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5876,"nodeType":"VariableDeclarationStatement","src":"13206:16:6"},{"body":{"id":5908,"nodeType":"Block","src":"13352:357:6","statements":[{"expression":{"id":5887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5883,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5875,"src":"13401:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":5884,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"13412:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5886,"indexExpression":{"id":5885,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5878,"src":"13429:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13412:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13401:31:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5888,"nodeType":"ExpressionStatement","src":"13401:31:6"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":5894,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":5889,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"13506:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":5891,"indexExpression":{"id":5890,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5875,"src":"13514:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13506:17:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":5892,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5812,"src":"13527:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData3_1_1_$87745_calldata_ptr","typeString":"struct JBDidRedeemData3_1_1 calldata"}},"id":5893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13533:6:6","memberName":"holder","nodeType":"MemberAccess","referencedDeclaration":87724,"src":"13527:12:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"13506:33:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5899,"nodeType":"IfStatement","src":"13502:74:6","trueBody":{"errorCall":{"arguments":[{"id":5896,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5875,"src":"13567:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5895,"name":"UNAUTHORIZED_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5433,"src":"13548:18:6","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":5897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13548:28:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5898,"nodeType":"RevertStatement","src":"13541:35:6"}},{"expression":{"arguments":[{"id":5901,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5875,"src":"13628:8:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":5900,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5158,"src":"13622:5:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":5902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13622:15:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5903,"nodeType":"ExpressionStatement","src":"13622:15:6"},{"id":5907,"nodeType":"UncheckedBlock","src":"13652:47:6","statements":[{"expression":{"id":5905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"13680:4:6","subExpression":{"id":5904,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5878,"src":"13682:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5906,"nodeType":"ExpressionStatement","src":"13680:4:6"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":5882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":5880,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5878,"src":"13327:2:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":5881,"name":"_numberOfTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5870,"src":"13332:17:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13327:22:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":5909,"initializationExpression":{"assignments":[5878],"declarations":[{"constant":false,"id":5878,"mutability":"mutable","name":"_i","nameLocation":"13323:2:6","nodeType":"VariableDeclaration","scope":5909,"src":"13315:10:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5877,"name":"uint256","nodeType":"ElementaryTypeName","src":"13315:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":5879,"nodeType":"VariableDeclarationStatement","src":"13315:10:6"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"13310:399:6"},{"expression":{"arguments":[{"id":5911,"name":"_decodedTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5854,"src":"13754:16:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"id":5910,"name":"_didBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5935,"src":"13745:8:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory)"}},"id":5912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13745:26:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5913,"nodeType":"ExpressionStatement","src":"13745:26:6"}]},"baseFunctions":[86115],"documentation":{"id":5809,"nodeType":"StructuredDocumentation","src":"11902:303:6","text":"@notice Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate.\n @dev Reverts if the calling contract is not one of the project's terminals.\n @param _data Standard Juicebox project redemption data."},"functionSelector":"0bf46e59","implemented":true,"kind":"function","modifiers":[],"name":"didRedeem","nameLocation":"12219:9:6","overrides":{"id":5814,"nodeType":"OverrideSpecifier","overrides":[],"src":"12291:8:6"},"parameters":{"id":5813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5812,"mutability":"mutable","name":"_data","nameLocation":"12259:5:6","nodeType":"VariableDeclaration","scope":5915,"src":"12229:35:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData3_1_1_$87745_calldata_ptr","typeString":"struct JBDidRedeemData3_1_1"},"typeName":{"id":5811,"nodeType":"UserDefinedTypeName","pathNode":{"id":5810,"name":"JBDidRedeemData3_1_1","nameLocations":["12229:20:6"],"nodeType":"IdentifierPath","referencedDeclaration":87745,"src":"12229:20:6"},"referencedDeclaration":87745,"src":"12229:20:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidRedeemData3_1_1_$87745_storage_ptr","typeString":"struct JBDidRedeemData3_1_1"}},"visibility":"internal"}],"src":"12228:37:6"},"returnParameters":{"id":5815,"nodeType":"ParameterList","parameters":[],"src":"12300:0:6"},"scope":5936,"stateMutability":"payable","virtual":true,"visibility":"external"},{"id":5925,"nodeType":"FunctionDefinition","src":"14124:154:6","nodes":[],"body":{"id":5924,"nodeType":"Block","src":"14200:78:6","nodes":[],"statements":[{"expression":{"id":5922,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5919,"src":"14210:5:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":5923,"nodeType":"ExpressionStatement","src":"14210:5:6"}]},"documentation":{"id":5916,"nodeType":"StructuredDocumentation","src":"14019:100:6","text":"@notice Process a received payment.\n @param _data Standard Juicebox project payment data."},"implemented":true,"kind":"function","modifiers":[],"name":"_processPayment","nameLocation":"14133:15:6","parameters":{"id":5920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5919,"mutability":"mutable","name":"_data","nameLocation":"14176:5:6","nodeType":"VariableDeclaration","scope":5925,"src":"14149:32:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1"},"typeName":{"id":5918,"nodeType":"UserDefinedTypeName","pathNode":{"id":5917,"name":"JBDidPayData3_1_1","nameLocations":["14149:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":87691,"src":"14149:17:6"},"referencedDeclaration":87691,"src":"14149:17:6","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_storage_ptr","typeString":"struct JBDidPayData3_1_1"}},"visibility":"internal"}],"src":"14148:34:6"},"returnParameters":{"id":5921,"nodeType":"ParameterList","parameters":[],"src":"14200:0:6"},"scope":5936,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":5935,"nodeType":"FunctionDefinition","src":"14420:89:6","nodes":[],"body":{"id":5934,"nodeType":"Block","src":"14483:26:6","nodes":[],"statements":[{"expression":{"id":5932,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5929,"src":"14493:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":5933,"nodeType":"ExpressionStatement","src":"14493:9:6"}]},"documentation":{"id":5926,"nodeType":"StructuredDocumentation","src":"14284:131:6","text":"@notice Executes after tokens have been burned via redemption.\n @param _tokenIds The IDs of the tokens that were burned."},"implemented":true,"kind":"function","modifiers":[],"name":"_didBurn","nameLocation":"14429:8:6","parameters":{"id":5930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5929,"mutability":"mutable","name":"_tokenIds","nameLocation":"14455:9:6","nodeType":"VariableDeclaration","scope":5935,"src":"14438:26:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":5927,"name":"uint256","nodeType":"ElementaryTypeName","src":"14438:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5928,"nodeType":"ArrayTypeName","src":"14438:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"14437:28:6"},"returnParameters":{"id":5931,"nodeType":"ParameterList","parameters":[],"src":"14483:0:6"},"scope":5936,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":5416,"name":"ERC721","nameLocations":["2139:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":5376,"src":"2139:6:6"},"id":5417,"nodeType":"InheritanceSpecifier","src":"2139:6:6"},{"baseName":{"id":5418,"name":"IJB721Delegate","nameLocations":["2151:14:6"],"nodeType":"IdentifierPath","referencedDeclaration":27791,"src":"2151:14:6"},"id":5419,"nodeType":"InheritanceSpecifier","src":"2151:14:6"},{"baseName":{"id":5420,"name":"IJBFundingCycleDataSource3_1_1","nameLocations":["2171:30:6"],"nodeType":"IdentifierPath","referencedDeclaration":85211,"src":"2171:30:6"},"id":5421,"nodeType":"InheritanceSpecifier","src":"2171:30:6"},{"baseName":{"id":5422,"name":"IJBPayDelegate3_1_1","nameLocations":["2207:19:6"],"nodeType":"IdentifierPath","referencedDeclaration":85434,"src":"2207:19:6"},"id":5423,"nodeType":"InheritanceSpecifier","src":"2207:19:6"},{"baseName":{"id":5424,"name":"IJBRedemptionDelegate3_1_1","nameLocations":["2232:26:6"],"nodeType":"IdentifierPath","referencedDeclaration":86116,"src":"2232:26:6"},"id":5425,"nodeType":"InheritanceSpecifier","src":"2232:26:6"}],"canonicalName":"JB721Delegate","contractDependencies":[],"contractKind":"contract","documentation":{"id":5415,"nodeType":"StructuredDocumentation","src":"1914:186:6","text":"@title JB721Delegate\n @notice This delegate makes NFTs available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets."},"fullyImplemented":true,"linearizedBaseContracts":[5936,86116,85434,85211,27791,5376,93680,93582,96799,97005,95576],"name":"JB721Delegate","nameLocation":"2118:13:6","scope":5937,"usedErrors":[4595,4597,4599,4601,4603,4605,4607,4609,4611,5427,5429,5433,5435,5437,99531],"usedEvents":[93481,93490,93499]}],"license":"MIT"},"id":6} \ No newline at end of file +{"abi":[{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"didPay","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidPayData3_1_1","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"payerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"didRedeem","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidRedeemData3_1_1","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"redeemerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"payParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBPayParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"payer","type":"address","internalType":"address"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBPayDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBPayDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"redeemParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBRedemptionDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_PAYMENT_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_METADATA","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"PRBMath_MulDiv_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"UNAUTHORIZED_TOKEN","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":"6b204943","didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":"0bf46e59","directory()":"c41c2f24","getApproved(uint256)":"081812fc","isApprovedForAll(address,address)":"e985e9c5","name()":"06fdde03","ownerOf(uint256)":"6352211e","payMetadataDelegateId()":"46a6d981","payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":"d46cf171","projectId()":"3fafa127","redeemMetadataDelegateId()":"4853f5e8","redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"a51cfd18","redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"7ba62bf9","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"9494bf72","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAYMENT_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"UNAUTHORIZED_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNEXPECTED_TOKEN_REDEEMED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"payerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"redeemerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"payParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBPayDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redeemParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBRedemptionDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedemptionDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"Balance tracking to be overriden by childs\"},\"constructor\":{\"params\":{\"_directory\":\"A directory of terminals and controllers for projects.\",\"_payMetadataDelegateId\":\"The 4bytes ID of this delegate, used for pay metadata parsing\",\"_redeemMetadataDelegateId\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"}},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project payment data.\"}},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"params\":{\"_data\":\"The Juicebox standard project payment data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of adding to local balance.\",\"memo\":\"A memo to be forwarded to the event.\",\"weight\":\"The weight that tokens should get minted in accordance with.\"}},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of being added to the beneficiary.\",\"memo\":\"A memo to be forwarded to the event.\",\"reclaimAmount\":\"Amount to be reclaimed from the treasury.\"}},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\",\"_tokenIds\":\"The token IDs to calculate the cumulative redemption weight for.\"},\"returns\":{\"_0\":\"The cumulative redemption weight of the specified token IDs.\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherence to.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"_0\":\"Total cumulative redemption weight of all token IDs.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"JB721Delegate\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"notice\":\"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate.\"},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"notice\":\"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"payMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for pay metadata parsing\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource.\"},\"projectId()\":{\"notice\":\"The Juicebox project ID this contract's functionality applies to.\"},\"redeemMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource.\"},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"Returns the cumulative redemption weight of the given token IDs relative to the `totalRedemptionWeight`.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"Calculates the cumulative redemption weight of all token IDs.\"}},\"notice\":\"This delegate makes NFTs available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/JB721Delegate.sol\":\"JB721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[],"type":"error","name":"INVALID_PAYMENT_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_METADATA"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv_Overflow"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"UNAUTHORIZED_TOKEN"},{"inputs":[],"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"struct JBDidPayData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"payerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"struct JBDidRedeemData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"redeemerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBPayParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"payer","type":"address"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"payParams","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBPayDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBPayDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redeemParams","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBRedemptionDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"Balance tracking to be overriden by childs"},"constructor":{"params":{"_directory":"A directory of terminals and controllers for projects.","_payMetadataDelegateId":"The 4bytes ID of this delegate, used for pay metadata parsing","_redeemMetadataDelegateId":"The 4bytes ID of this delegate, used for redeem metadata parsing"}},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project payment data."}},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project redemption data."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"params":{"_data":"The Juicebox standard project payment data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of adding to local balance.","memo":"A memo to be forwarded to the event.","weight":"The weight that tokens should get minted in accordance with."}},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of being added to the beneficiary.","memo":"A memo to be forwarded to the event.","reclaimAmount":"Amount to be reclaimed from the treasury."}},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data.","_tokenIds":"The token IDs to calculate the cumulative redemption weight for."},"returns":{"_0":"The cumulative redemption weight of the specified token IDs."}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherence to."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"See {IERC721Metadata-tokenURI}."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"_0":"Total cumulative redemption weight of all token IDs."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."}},"version":1},"userdoc":{"kind":"user","methods":{"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"notice":"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate."},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"notice":"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"payMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for pay metadata parsing"},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"notice":"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource."},"projectId()":{"notice":"The Juicebox project ID this contract's functionality applies to."},"redeemMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for redeem metadata parsing"},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource."},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"Returns the cumulative redemption weight of the given token IDs relative to the `totalRedemptionWeight`."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"Calculates the cumulative redemption weight of all token IDs."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/JB721Delegate.sol":"JB721Delegate"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"id":6} \ No newline at end of file diff --git a/out/JBBitmap.sol/JBBitmap.json b/out/JBBitmap.sol/JBBitmap.json index 8c1f956e..ad0dba12 100644 --- a/out/JBBitmap.sol/JBBitmap.json +++ b/out/JBBitmap.sol/JBBitmap.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fbf6eec9a71a00906fb1a70b535fdce5bb7f8a7f13fae0fdeaf9d69b7b2a64764736f6c63430008170033","sourceMap":"211:1874:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;211:1874:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fbf6eec9a71a00906fb1a70b535fdce5bb7f8a7f13fae0fdeaf9d69b7b2a64764736f6c63430008170033","sourceMap":"211:1874:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"JBBitmap\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to manage bool bitmap storing the inactive tiers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBBitmap.sol\":\"JBBitmap\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBBitmap.sol":"JBBitmap"},"libraries":{}},"sources":{"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/libraries/JBBitmap.sol","id":28622,"exportedSymbols":{"JBBitmap":[28621],"JBBitmapWord":[29447]},"nodeType":"SourceUnit","src":"32:2054:28","nodes":[{"id":28473,"nodeType":"PragmaDirective","src":"32:24:28","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":28475,"nodeType":"ImportDirective","src":"58:59:28","nodes":[],"absolutePath":"contracts/structs/JBBitmapWord.sol","file":"../structs/JBBitmapWord.sol","nameLocation":"-1:-1:-1","scope":28622,"sourceUnit":29448,"symbolAliases":[{"foreign":{"id":28474,"name":"JBBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29447,"src":"67:12:28","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":28621,"nodeType":"ContractDefinition","src":"211:1874:28","nodes":[{"id":28503,"nodeType":"FunctionDefinition","src":"338:283:28","nodes":[],"body":{"id":28502,"nodeType":"Block","src":"484:137:28","nodes":[],"statements":[{"assignments":[28490],"declarations":[{"constant":false,"id":28490,"mutability":"mutable","name":"_depth","nameLocation":"502:6:28","nodeType":"VariableDeclaration","scope":28502,"src":"494:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28489,"name":"uint256","nodeType":"ElementaryTypeName","src":"494:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28494,"initialValue":{"arguments":[{"id":28492,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28483,"src":"526:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28491,"name":"_retrieveDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"511:14:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":28493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"511:22:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"494:39:28"},{"expression":{"arguments":[{"baseExpression":{"id":28496,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28481,"src":"578:4:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28498,"indexExpression":{"id":28497,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28490,"src":"583:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"578:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28499,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28490,"src":"606:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28495,"name":"JBBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29447,"src":"551:12:28","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBBitmapWord_$29447_storage_ptr_$","typeString":"type(struct JBBitmapWord storage pointer)"}},"id":28500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["565:11:28","592:12:28"],"names":["currentWord","currentDepth"],"nodeType":"FunctionCall","src":"551:63:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord memory"}},"functionReturnParameters":28488,"id":28501,"nodeType":"Return","src":"544:70:28"}]},"documentation":{"id":28477,"nodeType":"StructuredDocumentation","src":"234:99:28","text":"@notice Initialize a BitmapWord struct, based on the mapping storage pointer and a given index."},"implemented":true,"kind":"function","modifiers":[],"name":"readId","nameLocation":"347:6:28","parameters":{"id":28484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28481,"mutability":"mutable","name":"self","nameLocation":"390:4:28","nodeType":"VariableDeclaration","scope":28503,"src":"354:40:28","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":28480,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":28478,"name":"uint256","nodeType":"ElementaryTypeName","src":"362:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"354:27:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":28479,"name":"uint256","nodeType":"ElementaryTypeName","src":"373:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":28483,"mutability":"mutable","name":"_index","nameLocation":"404:6:28","nodeType":"VariableDeclaration","scope":28503,"src":"396:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28482,"name":"uint256","nodeType":"ElementaryTypeName","src":"396:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"353:58:28"},"returnParameters":{"id":28488,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28487,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28503,"src":"459:19:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":28486,"nodeType":"UserDefinedTypeName","pathNode":{"id":28485,"name":"JBBitmapWord","nameLocations":["459:12:28"],"nodeType":"IdentifierPath","referencedDeclaration":29447,"src":"459:12:28"},"referencedDeclaration":29447,"src":"459:12:28","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"src":"458:21:28"},"scope":28621,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28528,"nodeType":"FunctionDefinition","src":"728:165:28","nodes":[],"body":{"id":28527,"nodeType":"Block","src":"824:69:28","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28514,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28507,"src":"842:4:28","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":28515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"847:11:28","memberName":"currentWord","nodeType":"MemberAccess","referencedDeclaration":29444,"src":"842:16:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28516,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28509,"src":"863:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"323536","id":28517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"872:3:28","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"863:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28519,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"862:14:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"842:34:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28521,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"841:36:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":28522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"880:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"841:40:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":28524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"885:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"841:45:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28513,"id":28526,"nodeType":"Return","src":"834:52:28"}]},"documentation":{"id":28504,"nodeType":"StructuredDocumentation","src":"627:96:28","text":"@notice Returns the status of a given bit, in the single word stored in a BitmapWord struct."},"implemented":true,"kind":"function","modifiers":[],"name":"isTierIdRemoved","nameLocation":"737:15:28","parameters":{"id":28510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28507,"mutability":"mutable","name":"self","nameLocation":"773:4:28","nodeType":"VariableDeclaration","scope":28528,"src":"753:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":28506,"nodeType":"UserDefinedTypeName","pathNode":{"id":28505,"name":"JBBitmapWord","nameLocations":["753:12:28"],"nodeType":"IdentifierPath","referencedDeclaration":29447,"src":"753:12:28"},"referencedDeclaration":29447,"src":"753:12:28","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"},{"constant":false,"id":28509,"mutability":"mutable","name":"_index","nameLocation":"787:6:28","nodeType":"VariableDeclaration","scope":28528,"src":"779:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28508,"name":"uint256","nodeType":"ElementaryTypeName","src":"779:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"752:42:28"},"returnParameters":{"id":28513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28528,"src":"818:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28511,"name":"bool","nodeType":"ElementaryTypeName","src":"818:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"817:6:28"},"scope":28621,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28557,"nodeType":"FunctionDefinition","src":"1017:273:28","nodes":[],"body":{"id":28556,"nodeType":"Block","src":"1129:161:28","nodes":[],"statements":[{"assignments":[28541],"declarations":[{"constant":false,"id":28541,"mutability":"mutable","name":"_depth","nameLocation":"1147:6:28","nodeType":"VariableDeclaration","scope":28556,"src":"1139:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28540,"name":"uint256","nodeType":"ElementaryTypeName","src":"1139:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28545,"initialValue":{"arguments":[{"id":28543,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28535,"src":"1171:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28542,"name":"_retrieveDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"1156:14:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":28544,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1156:22:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1139:39:28"},{"expression":{"arguments":[{"arguments":[{"baseExpression":{"id":28548,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28533,"src":"1238:4:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28550,"indexExpression":{"id":28549,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28541,"src":"1243:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1238:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":28551,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28541,"src":"1266:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28547,"name":"JBBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29447,"src":"1211:12:28","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBBitmapWord_$29447_storage_ptr_$","typeString":"type(struct JBBitmapWord storage pointer)"}},"id":28552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1225:11:28","1252:12:28"],"names":["currentWord","currentDepth"],"nodeType":"FunctionCall","src":"1211:63:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord memory"}},{"id":28553,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28535,"src":"1276:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28546,"name":"isTierIdRemoved","nodeType":"Identifier","overloadedDeclarations":[28528,28557],"referencedDeclaration":28528,"src":"1195:15:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBBitmapWord_$29447_memory_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct JBBitmapWord memory,uint256) pure returns (bool)"}},"id":28554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1195:88:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28539,"id":28555,"nodeType":"Return","src":"1188:95:28"}]},"documentation":{"id":28529,"nodeType":"StructuredDocumentation","src":"899:113:28","text":"@notice Returns the status of a bit in a given bitmap (index is the index in the reshaped bitmap matrix 1*n)."},"implemented":true,"kind":"function","modifiers":[],"name":"isTierIdRemoved","nameLocation":"1026:15:28","parameters":{"id":28536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28533,"mutability":"mutable","name":"self","nameLocation":"1078:4:28","nodeType":"VariableDeclaration","scope":28557,"src":"1042:40:28","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":28532,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":28530,"name":"uint256","nodeType":"ElementaryTypeName","src":"1050:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1042:27:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":28531,"name":"uint256","nodeType":"ElementaryTypeName","src":"1061:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":28535,"mutability":"mutable","name":"_index","nameLocation":"1092:6:28","nodeType":"VariableDeclaration","scope":28557,"src":"1084:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28534,"name":"uint256","nodeType":"ElementaryTypeName","src":"1084:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1041:58:28"},"returnParameters":{"id":28539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28538,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28557,"src":"1123:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28537,"name":"bool","nodeType":"ElementaryTypeName","src":"1123:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1122:6:28"},"scope":28621,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":28588,"nodeType":"FunctionDefinition","src":"1381:197:28","nodes":[],"body":{"id":28587,"nodeType":"Block","src":"1468:110:28","nodes":[],"statements":[{"assignments":[28568],"declarations":[{"constant":false,"id":28568,"mutability":"mutable","name":"_depth","nameLocation":"1486:6:28","nodeType":"VariableDeclaration","scope":28587,"src":"1478:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28567,"name":"uint256","nodeType":"ElementaryTypeName","src":"1478:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28572,"initialValue":{"arguments":[{"id":28570,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28564,"src":"1510:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28569,"name":"_retrieveDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"1495:14:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":28571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:22:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1478:39:28"},{"expression":{"id":28585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28573,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28562,"src":"1527:4:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":28575,"indexExpression":{"id":28574,"name":"_depth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28568,"src":"1532:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1527:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":28578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1551:1:28","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28579,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28564,"src":"1557:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"323536","id":28580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1566:3:28","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"1557:12:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28582,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1556:14:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1551:19:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1543:7:28","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28576,"name":"uint256","nodeType":"ElementaryTypeName","src":"1543:7:28","typeDescriptions":{}}},"id":28584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1543:28:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1527:44:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28586,"nodeType":"ExpressionStatement","src":"1527:44:28"}]},"documentation":{"id":28558,"nodeType":"StructuredDocumentation","src":"1296:80:28","text":"@notice Flip the bit at a given index to true (this is a one-way operation)."},"implemented":true,"kind":"function","modifiers":[],"name":"removeTier","nameLocation":"1390:10:28","parameters":{"id":28565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28562,"mutability":"mutable","name":"self","nameLocation":"1437:4:28","nodeType":"VariableDeclaration","scope":28588,"src":"1401:40:28","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":28561,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":28559,"name":"uint256","nodeType":"ElementaryTypeName","src":"1409:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1401:27:28","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":28560,"name":"uint256","nodeType":"ElementaryTypeName","src":"1420:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"constant":false,"id":28564,"mutability":"mutable","name":"_index","nameLocation":"1451:6:28","nodeType":"VariableDeclaration","scope":28588,"src":"1443:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28563,"name":"uint256","nodeType":"ElementaryTypeName","src":"1443:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1400:58:28"},"returnParameters":{"id":28566,"nodeType":"ParameterList","parameters":[],"src":"1468:0:28"},"scope":28621,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":28607,"nodeType":"FunctionDefinition","src":"1693:167:28","nodes":[],"body":{"id":28606,"nodeType":"Block","src":"1793:67:28","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":28600,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28594,"src":"1825:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28599,"name":"_retrieveDepth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28620,"src":"1810:14:28","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":28601,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1810:22:28","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":28602,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28592,"src":"1836:4:28","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":28603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1841:12:28","memberName":"currentDepth","nodeType":"MemberAccess","referencedDeclaration":29446,"src":"1836:17:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1810:43:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28598,"id":28605,"nodeType":"Return","src":"1803:50:28"}]},"documentation":{"id":28589,"nodeType":"StructuredDocumentation","src":"1584:104:28","text":"@notice Return true if the index is in an another word than the one stored in the BitmapWord struct."},"implemented":true,"kind":"function","modifiers":[],"name":"refreshBitmapNeeded","nameLocation":"1702:19:28","parameters":{"id":28595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28592,"mutability":"mutable","name":"self","nameLocation":"1742:4:28","nodeType":"VariableDeclaration","scope":28607,"src":"1722:24:28","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":28591,"nodeType":"UserDefinedTypeName","pathNode":{"id":28590,"name":"JBBitmapWord","nameLocations":["1722:12:28"],"nodeType":"IdentifierPath","referencedDeclaration":29447,"src":"1722:12:28"},"referencedDeclaration":29447,"src":"1722:12:28","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29447_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"},{"constant":false,"id":28594,"mutability":"mutable","name":"_index","nameLocation":"1756:6:28","nodeType":"VariableDeclaration","scope":28607,"src":"1748:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28593,"name":"uint256","nodeType":"ElementaryTypeName","src":"1748:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1721:42:28"},"returnParameters":{"id":28598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28597,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28607,"src":"1787:4:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28596,"name":"bool","nodeType":"ElementaryTypeName","src":"1787:4:28","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1786:6:28"},"scope":28621,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28620,"nodeType":"FunctionDefinition","src":"1962:121:28","nodes":[],"body":{"id":28619,"nodeType":"Block","src":"2034:49:28","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28615,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28610,"src":"2051:6:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":28616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2061:1:28","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"2051:11:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":28614,"id":28618,"nodeType":"Return","src":"2044:18:28"}]},"documentation":{"id":28608,"nodeType":"StructuredDocumentation","src":"1887:70:28","text":"@notice Return the lines of the bitmap matrix where an index lies."},"implemented":true,"kind":"function","modifiers":[],"name":"_retrieveDepth","nameLocation":"1971:14:28","parameters":{"id":28611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28610,"mutability":"mutable","name":"_index","nameLocation":"1994:6:28","nodeType":"VariableDeclaration","scope":28620,"src":"1986:14:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28609,"name":"uint256","nodeType":"ElementaryTypeName","src":"1986:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1985:16:28"},"returnParameters":{"id":28614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28613,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28620,"src":"2025:7:28","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28612,"name":"uint256","nodeType":"ElementaryTypeName","src":"2025:7:28","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2024:9:28"},"scope":28621,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"JBBitmap","contractDependencies":[],"contractKind":"library","documentation":{"id":28476,"nodeType":"StructuredDocumentation","src":"119:92:28","text":"@title JBBitmap\n @notice Utilities to manage bool bitmap storing the inactive tiers."},"fullyImplemented":true,"linearizedBaseContracts":[28621],"name":"JBBitmap","nameLocation":"219:8:28","scope":28622,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":28} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fbf6eec9a71a00906fb1a70b535fdce5bb7f8a7f13fae0fdeaf9d69b7b2a64764736f6c63430008170033","sourceMap":"211:1874:28:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;211:1874:28;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fbf6eec9a71a00906fb1a70b535fdce5bb7f8a7f13fae0fdeaf9d69b7b2a64764736f6c63430008170033","sourceMap":"211:1874:28:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"JBBitmap\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to manage bool bitmap storing the inactive tiers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBBitmap.sol\":\"JBBitmap\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBBitmap.sol":"JBBitmap"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"}},"version":1},"id":28} \ No newline at end of file diff --git a/out/JBConstants.sol/JBConstants.json b/out/JBConstants.sol/JBConstants.json index 46da8378..973f5600 100644 --- a/out/JBConstants.sol/JBConstants.json +++ b/out/JBConstants.sol/JBConstants.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"MAX_DISCOUNT_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_DISCOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_REDEMPTION_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_RESERVED_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SPLITS_TOTAL_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x60c4610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c806319a9f94114606a5780634bb970421460865780635d14fef8146086578063870bc1fd14606a578063bc063e1a14606a578063d3c4fca914606a575b600080fd5b6074633b9aca0081565b60405190815260200160405180910390f35b60746127108156fea2646970667358221220ae545877b43ec2f171af33035de947bd4a2e2a6807f4f7441e3c162d877c775264736f6c63430008170033","sourceMap":"118:369:120:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;118:369:120;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040526004361060655760003560e01c806319a9f94114606a5780634bb970421460865780635d14fef8146086578063870bc1fd14606a578063bc063e1a14606a578063d3c4fca914606a575b600080fd5b6074633b9aca0081565b60405190815260200160405180910390f35b60746127108156fea2646970667358221220ae545877b43ec2f171af33035de947bd4a2e2a6807f4f7441e3c162d877c775264736f6c63430008170033","sourceMap":"118:369:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;428:56;;471:13;428:56;;;;;168:25:197;;;156:2;141:18;428:56:120;;;;;;;196:52;;242:6;196:52;","linkReferences":{}},"methodIdentifiers":{"MAX_DISCOUNT_RATE()":"870bc1fd","MAX_FEE()":"bc063e1a","MAX_FEE_DISCOUNT()":"19a9f941","MAX_REDEMPTION_RATE()":"4bb97042","MAX_RESERVED_RATE()":"5d14fef8","SPLITS_TOTAL_PERCENT()":"d3c4fca9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MAX_DISCOUNT_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE_DISCOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REDEMPTION_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_RESERVED_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPLITS_TOTAL_PERCENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Global constants used across Juicebox contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":\"JBConstants\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_DISCOUNT_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_REDEMPTION_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_RESERVED_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SPLITS_TOTAL_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":"JBConstants"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","id":86761,"exportedSymbols":{"JBConstants":[86760]},"nodeType":"SourceUnit","src":"32:456:120","nodes":[{"id":86740,"nodeType":"PragmaDirective","src":"32:23:120","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86760,"nodeType":"ContractDefinition","src":"118:369:120","nodes":[{"id":86744,"nodeType":"VariableDeclaration","src":"142:50:120","nodes":[],"constant":true,"functionSelector":"5d14fef8","mutability":"constant","name":"MAX_RESERVED_RATE","nameLocation":"166:17:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86742,"name":"uint256","nodeType":"ElementaryTypeName","src":"142:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31305f303030","id":86743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"186:6:120","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"},"visibility":"public"},{"id":86747,"nodeType":"VariableDeclaration","src":"196:52:120","nodes":[],"constant":true,"functionSelector":"4bb97042","mutability":"constant","name":"MAX_REDEMPTION_RATE","nameLocation":"220:19:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86745,"name":"uint256","nodeType":"ElementaryTypeName","src":"196:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31305f303030","id":86746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"242:6:120","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"value":"10_000"},"visibility":"public"},{"id":86750,"nodeType":"VariableDeclaration","src":"252:57:120","nodes":[],"constant":true,"functionSelector":"870bc1fd","mutability":"constant","name":"MAX_DISCOUNT_RATE","nameLocation":"276:17:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86748,"name":"uint256","nodeType":"ElementaryTypeName","src":"252:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f3030305f303030","id":86749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"296:13:120","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"visibility":"public"},{"id":86753,"nodeType":"VariableDeclaration","src":"313:60:120","nodes":[],"constant":true,"functionSelector":"d3c4fca9","mutability":"constant","name":"SPLITS_TOTAL_PERCENT","nameLocation":"337:20:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86751,"name":"uint256","nodeType":"ElementaryTypeName","src":"313:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f3030305f303030","id":86752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"360:13:120","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"visibility":"public"},{"id":86756,"nodeType":"VariableDeclaration","src":"377:47:120","nodes":[],"constant":true,"functionSelector":"bc063e1a","mutability":"constant","name":"MAX_FEE","nameLocation":"401:7:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86754,"name":"uint256","nodeType":"ElementaryTypeName","src":"377:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f3030305f303030","id":86755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"411:13:120","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"visibility":"public"},{"id":86759,"nodeType":"VariableDeclaration","src":"428:56:120","nodes":[],"constant":true,"functionSelector":"19a9f941","mutability":"constant","name":"MAX_FEE_DISCOUNT","nameLocation":"452:16:120","scope":86760,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86757,"name":"uint256","nodeType":"ElementaryTypeName","src":"428:7:120","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f3030305f303030","id":86758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"471:13:120","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"JBConstants","contractDependencies":[],"contractKind":"library","documentation":{"id":86741,"nodeType":"StructuredDocumentation","src":"57:61:120","text":"@notice Global constants used across Juicebox contracts."},"fullyImplemented":true,"linearizedBaseContracts":[86760],"name":"JBConstants","nameLocation":"126:11:120","scope":86761,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":120} \ No newline at end of file +{"abi":[{"type":"function","name":"MAX_DISCOUNT_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_FEE_DISCOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_REDEMPTION_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_RESERVED_RATE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SPLITS_TOTAL_PERCENT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x60c4610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c806319a9f94114606a5780634bb970421460865780635d14fef8146086578063870bc1fd14606a578063bc063e1a14606a578063d3c4fca914606a575b600080fd5b6074633b9aca0081565b60405190815260200160405180910390f35b60746127108156fea2646970667358221220ae545877b43ec2f171af33035de947bd4a2e2a6807f4f7441e3c162d877c775264736f6c63430008170033","sourceMap":"118:369:120:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;118:369:120;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040526004361060655760003560e01c806319a9f94114606a5780634bb970421460865780635d14fef8146086578063870bc1fd14606a578063bc063e1a14606a578063d3c4fca914606a575b600080fd5b6074633b9aca0081565b60405190815260200160405180910390f35b60746127108156fea2646970667358221220ae545877b43ec2f171af33035de947bd4a2e2a6807f4f7441e3c162d877c775264736f6c63430008170033","sourceMap":"118:369:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;428:56;;471:13;428:56;;;;;168:25:197;;;156:2;141:18;428:56:120;;;;;;;196:52;;242:6;196:52;","linkReferences":{}},"methodIdentifiers":{"MAX_DISCOUNT_RATE()":"870bc1fd","MAX_FEE()":"bc063e1a","MAX_FEE_DISCOUNT()":"19a9f941","MAX_REDEMPTION_RATE()":"4bb97042","MAX_RESERVED_RATE()":"5d14fef8","SPLITS_TOTAL_PERCENT()":"d3c4fca9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MAX_DISCOUNT_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FEE_DISCOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REDEMPTION_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_RESERVED_RATE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SPLITS_TOTAL_PERCENT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Global constants used across Juicebox contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":\"JBConstants\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_DISCOUNT_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FEE_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_REDEMPTION_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_RESERVED_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SPLITS_TOTAL_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":"JBConstants"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"}},"version":1},"id":120} \ No newline at end of file diff --git a/out/JBControllerUtility.sol/JBControllerUtility.json b/out/JBControllerUtility.sol/JBControllerUtility.json index b661ae9f..d5697d06 100644 --- a/out/JBControllerUtility.sol/JBControllerUtility.json +++ b/out/JBControllerUtility.sol/JBControllerUtility.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"}},\"notice\":\"Provides tools for contracts with functionality that can only be accessed by a project's controller.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":\"JBControllerUtility\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project."}}},"version":1},"userdoc":{"kind":"user","methods":{"directory()":{"notice":"The directory of terminals and controllers for projects."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":"JBControllerUtility"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol","id":80762,"exportedSymbols":{"IJBControllerUtility":[84898],"IJBDirectory":[85041],"JBControllerUtility":[80761]},"nodeType":"SourceUnit","src":"32:1885:80","nodes":[{"id":80713,"nodeType":"PragmaDirective","src":"32:24:80","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":80715,"nodeType":"ImportDirective","src":"58:78:80","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol","file":"./../interfaces/IJBControllerUtility.sol","nameLocation":"-1:-1:-1","scope":80762,"sourceUnit":84899,"symbolAliases":[{"foreign":{"id":80714,"name":"IJBControllerUtility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84898,"src":"66:20:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80717,"nodeType":"ImportDirective","src":"137:62:80","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./../interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":80762,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":80716,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"145:12:80","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80761,"nodeType":"ContractDefinition","src":"314:1602:80","nodes":[{"id":80722,"nodeType":"ErrorDefinition","src":"609:32:80","nodes":[],"errorSelector":"ab7f7414","name":"CONTROLLER_UNAUTHORIZED","nameLocation":"615:23:80","parameters":{"id":80721,"nodeType":"ParameterList","parameters":[],"src":"638:2:80"}},{"id":80743,"nodeType":"ModifierDefinition","src":"999:157:80","nodes":[],"body":{"id":80742,"nodeType":"Block","src":"1043:113:80","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":80731,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80725,"src":"1084:10:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80729,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80748,"src":"1061:9:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":80730,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1071:12:80","memberName":"controllerOf","nodeType":"MemberAccess","referencedDeclaration":84971,"src":"1061:22:80","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":80732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1061:34:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1053:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80727,"name":"address","nodeType":"ElementaryTypeName","src":"1053:7:80","typeDescriptions":{}}},"id":80733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1053:43:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":80734,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1100:3:80","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1104:6:80","memberName":"sender","nodeType":"MemberAccess","src":"1100:10:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1053:57:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80740,"nodeType":"IfStatement","src":"1049:95:80","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80737,"name":"CONTROLLER_UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80722,"src":"1119:23:80","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1119:25:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80739,"nodeType":"RevertStatement","src":"1112:32:80"}},{"id":80741,"nodeType":"PlaceholderStatement","src":"1150:1:80"}]},"documentation":{"id":80723,"nodeType":"StructuredDocumentation","src":"874:122:80","text":"@notice Only allows the controller of the specified project to proceed.\n @param _projectId The ID of the project."},"name":"onlyController","nameLocation":"1008:14:80","parameters":{"id":80726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80725,"mutability":"mutable","name":"_projectId","nameLocation":"1031:10:80","nodeType":"VariableDeclaration","scope":80743,"src":"1023:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80724,"name":"uint256","nodeType":"ElementaryTypeName","src":"1023:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1022:20:80"},"virtual":false,"visibility":"internal"},{"id":80748,"nodeType":"VariableDeclaration","src":"1460:48:80","nodes":[],"baseFunctions":[84897],"constant":false,"documentation":{"id":80744,"nodeType":"StructuredDocumentation","src":"1389:68:80","text":"@notice The directory of terminals and controllers for projects."},"functionSelector":"c41c2f24","mutability":"immutable","name":"directory","nameLocation":"1499:9:80","overrides":{"id":80747,"nodeType":"OverrideSpecifier","overrides":[],"src":"1490:8:80"},"scope":80761,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":80746,"nodeType":"UserDefinedTypeName","pathNode":{"id":80745,"name":"IJBDirectory","nameLocations":["1460:12:80"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"1460:12:80"},"referencedDeclaration":85041,"src":"1460:12:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"public"},{"id":80760,"nodeType":"FunctionDefinition","src":"1844:70:80","nodes":[],"body":{"id":80759,"nodeType":"Block","src":"1881:33:80","nodes":[],"statements":[{"expression":{"id":80757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80755,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80748,"src":"1887:9:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80756,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80752,"src":"1899:10:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"src":"1887:22:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":80758,"nodeType":"ExpressionStatement","src":"1887:22:80"}]},"documentation":{"id":80749,"nodeType":"StructuredDocumentation","src":"1742:99:80","text":"@param _directory A contract storing directories of terminals and controllers for each project."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":80753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80752,"mutability":"mutable","name":"_directory","nameLocation":"1869:10:80","nodeType":"VariableDeclaration","scope":80760,"src":"1856:23:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":80751,"nodeType":"UserDefinedTypeName","pathNode":{"id":80750,"name":"IJBDirectory","nameLocations":["1856:12:80"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"1856:12:80"},"referencedDeclaration":85041,"src":"1856:12:80","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"1855:25:80"},"returnParameters":{"id":80754,"nodeType":"ParameterList","parameters":[],"src":"1881:0:80"},"scope":80761,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":80719,"name":"IJBControllerUtility","nameLocations":["355:20:80"],"nodeType":"IdentifierPath","referencedDeclaration":84898,"src":"355:20:80"},"id":80720,"nodeType":"InheritanceSpecifier","src":"355:20:80"}],"canonicalName":"JBControllerUtility","contractDependencies":[],"contractKind":"contract","documentation":{"id":80718,"nodeType":"StructuredDocumentation","src":"201:113:80","text":"@notice Provides tools for contracts with functionality that can only be accessed by a project's controller."},"fullyImplemented":true,"linearizedBaseContracts":[80761,84898],"name":"JBControllerUtility","nameLocation":"332:19:80","scope":80762,"usedErrors":[80722],"usedEvents":[]}],"license":"MIT"},"id":80} \ No newline at end of file +{"abi":[{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"directory()":"c41c2f24"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"}},\"notice\":\"Provides tools for contracts with functionality that can only be accessed by a project's controller.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":\"JBControllerUtility\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project."}}},"version":1},"userdoc":{"kind":"user","methods":{"directory()":{"notice":"The directory of terminals and controllers for projects."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":"JBControllerUtility"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":80} \ No newline at end of file diff --git a/out/JBCurrencies.sol/JBCurrencies.json b/out/JBCurrencies.sol/JBCurrencies.json index 826255ff..68964fa6 100644 --- a/out/JBCurrencies.sol/JBCurrencies.json +++ b/out/JBCurrencies.sol/JBCurrencies.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"USD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6098610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631bf6c21b1460425780638322fff214605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122078e861b1f926e6881ffd3ce497f166db5428e5a1243c1f3fcc3744c148ebcf2e64736f6c63430008170033","sourceMap":"57:94:121:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:94:121;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631bf6c21b1460425780638322fff214605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122078e861b1f926e6881ffd3ce497f166db5428e5a1243c1f3fcc3744c148ebcf2e64736f6c63430008170033","sourceMap":"57:94:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117:31;;147:1;117:31;;;;;168:25:197;;;156:2;141:18;117:31:121;;;;;;;82;;112:1;82:31;","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2","USD()":"1bf6c21b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":\"JBCurrencies\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"USD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":"JBCurrencies"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol","id":86770,"exportedSymbols":{"JBCurrencies":[86769]},"nodeType":"SourceUnit","src":"32:120:121","nodes":[{"id":86762,"nodeType":"PragmaDirective","src":"32:23:121","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":86769,"nodeType":"ContractDefinition","src":"57:94:121","nodes":[{"id":86765,"nodeType":"VariableDeclaration","src":"82:31:121","nodes":[],"constant":true,"functionSelector":"8322fff2","mutability":"constant","name":"ETH","nameLocation":"106:3:121","scope":86769,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86763,"name":"uint256","nodeType":"ElementaryTypeName","src":"82:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":86764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"112:1:121","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"id":86768,"nodeType":"VariableDeclaration","src":"117:31:121","nodes":[],"constant":true,"functionSelector":"1bf6c21b","mutability":"constant","name":"USD","nameLocation":"141:3:121","scope":86769,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86766,"name":"uint256","nodeType":"ElementaryTypeName","src":"117:7:121","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":86767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"147:1:121","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"JBCurrencies","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[86769],"name":"JBCurrencies","nameLocation":"65:12:121","scope":86770,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":121} \ No newline at end of file +{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"USD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6098610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631bf6c21b1460425780638322fff214605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122078e861b1f926e6881ffd3ce497f166db5428e5a1243c1f3fcc3744c148ebcf2e64736f6c63430008170033","sourceMap":"57:94:121:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:94:121;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c80631bf6c21b1460425780638322fff214605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122078e861b1f926e6881ffd3ce497f166db5428e5a1243c1f3fcc3744c148ebcf2e64736f6c63430008170033","sourceMap":"57:94:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;117:31;;147:1;117:31;;;;;168:25:197;;;156:2;141:18;117:31:121;;;;;;;82;;112:1;82:31;","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2","USD()":"1bf6c21b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":\"JBCurrencies\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"USD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":"JBCurrencies"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"}},"version":1},"id":121} \ No newline at end of file diff --git a/out/JBDirectory.sol/JBDirectory.json b/out/JBDirectory.sol/JBDirectory.json index 1a6340a9..cfdb20e8 100644 --- a/out/JBDirectory.sol/JBDirectory.json +++ b/out/JBDirectory.sol/JBDirectory.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"controllerOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToSetFirstController","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"primaryTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPaymentTerminal"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setControllerOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_controller","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsAllowedToSetFirstController","inputs":[{"name":"_address","type":"address","internalType":"address"},{"name":"_flag","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimaryTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"address"},{"name":"_terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTerminalsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"terminalsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetController","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"controller","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetIsAllowedToSetFirstController","inputs":[{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"flag","type":"bool","indexed":true,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetPrimaryTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTerminals","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminals","type":"address[]","indexed":false,"internalType":"contract IJBPaymentTerminal[]"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DUPLICATE_TERMINALS","inputs":[]},{"type":"error","name":"INVALID_PROJECT_ID_IN_DIRECTORY","inputs":[]},{"type":"error","name":"SET_CONTROLLER_NOT_ALLOWED","inputs":[]},{"type":"error","name":"SET_TERMINALS_NOT_ALLOWED","inputs":[]},{"type":"error","name":"TOKEN_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c63430008170033","sourceMap":"927:13814:68:-:0;;;7540:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;936:32:157;719:10:181;936:18:157;:32::i;:::-;-1:-1:-1;;;;;7720:20:68;;::::1;;::::0;7746:38;::::1;;::::0;7791:26:::1;7810:6:::0;7791:18:::1;:26::i;:::-;7540:282:::0;;;;927:13814;;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:149:197:-;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:803::-;342:6;350;358;366;419:3;407:9;398:7;394:23;390:33;387:53;;;436:1;433;426:12;387:53;468:9;462:16;487:49;530:5;487:49;:::i;:::-;605:2;590:18;;584:25;555:5;;-1:-1:-1;618:51:197;584:25;618:51;:::i;:::-;740:2;725:18;;719:25;688:7;;-1:-1:-1;753:51:197;719:25;753:51;:::i;:::-;875:2;860:18;;854:25;823:7;;-1:-1:-1;888:51:197;854:25;888:51;:::i;:::-;168:803;;;;-1:-1:-1;168:803:197;;-1:-1:-1;;168:803:197:o;:::-;927:13814:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c63430008170033","sourceMap":"927:13814:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2745:64;;;;;;;;-1:-1:-1;;;;;208:32:197;;;190:51;;178:2;163:18;2745:64:68;;;;;;;;3241:56;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3241:56:68;;;11930:721;;;;;;:::i;:::-;;:::i;:::-;;6356:633;;;;;;:::i;:::-;;:::i;:::-;;;1783:14:197;;1776:22;1758:41;;1746:2;1731:18;6356:633:68;1618:187:197;8604:1202:68;;;;;;:::i;:::-;;:::i;1824:101:157:-;;;:::i;10051:1232:68:-;;;;;;:::i;:::-;;:::i;4593:1202::-;;;;;;:::i;:::-;;:::i;2625:46::-;;;;;1201:85:157;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;1201:85;;13298:283:68;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;3539:70:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4044:162;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2074:198:157:-;;;;;;:::i;:::-;;:::i;11930:721:68:-;12090:28;;-1:-1:-1;;;12090:28:68;;;;;5144:25:197;;;12090:8:68;-1:-1:-1;;;;;12090:16:68;;;;5117:18:197;;12090:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12120:10;781:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;12262:42:68::1;::::0;-1:-1:-1;;;12262:42:68;;-1:-1:-1;;;;;5628:32:197;;;12262:42:68::1;::::0;::::1;5610:51:197::0;5677:18;;;5670:34;;;12262:22:68;::::1;::::0;::::1;::::0;5583:18:197;;12262:42:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12257:76;;12313:20;;-1:-1:-1::0;;;12313:20:68::1;;;;;;;;;;;12257:76;12406:43;12427:10;12439:9;12406:20;:43::i;:::-;12523:30;::::0;;;:18:::1;:30;::::0;;;;;;;-1:-1:-1;;;;;12523:38:68;;::::1;::::0;;;;;;;;;;:50;;-1:-1:-1;;;;;;12523:50:68::1;::::0;;::::1;::::0;;::::1;::::0;;12585:61;;12635:10:::1;190:51:197::0;;12523:38:68;;:30;;12585:61:::1;::::0;163:18:197;12585:61:68::1;;;;;;;11930:721:::0;;;;;;:::o;6356:633::-;6474:4;6585:24;;;:12;:24;;;;;:31;6474:4;6689:245;6711:18;6706:2;:23;6689:245;;;6832:24;;;;:12;:24;;;;;:28;;-1:-1:-1;;;;;6832:41:68;;;:24;6857:2;;6832:28;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6832:28:68;:41;6828:58;;6882:4;6875:11;;;;;;6828:58;6915:4;;6689:245;;;;6979:5;6972:12;;;6356:633;;;;;:::o;8604:1202::-;8741:28;;-1:-1:-1;;;8741:28:68;;;;;5144:25:197;;;8741:8:68;-1:-1:-1;;;;;8741:16:68;;;;5117:18:197;;8741:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8853:24;;;;:12;:24;;;;;;;;682:2:125;;-1:-1:-1;;;;;8853:24:68;8831:10;:47;;:144;;-1:-1:-1;8921:10:68;8891:41;;;;:29;:41;;;;;;;;:83;;;;-1:-1:-1;8972:1:68;8936:24;;;:12;:24;;;;;;-1:-1:-1;;;;;8936:24:68;:38;8891:83;1807:82:81;1842:8;1852:7;1861:16;1879:9;1807:34;:82::i;:::-;9045:10:68::1;9026:8;-1:-1:-1::0;;;;;9026:14:68::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:29;9022:75;;;9064:33;;-1:-1:-1::0;;;9064:33:68::1;;;;;;;;;;;9022:75;9205:39;::::0;-1:-1:-1;;;9205:39:68;;::::1;::::0;::::1;5144:25:197::0;;;9167:35:68::1;::::0;9205:17:::1;-1:-1:-1::0;;;;;9205:27:68::1;::::0;::::1;::::0;5117:18:197;;9205:39:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9496:24;::::0;;;:12:::1;:24;::::0;;;;;9167:77;;-1:-1:-1;;;;;;9496:24:68::1;9474:10;:47;::::0;::::1;::::0;:95:::1;;-1:-1:-1::0;9567:1:68::1;9531:24:::0;;;:12:::1;:24;::::0;;;;;-1:-1:-1;;;;;9531:24:68::1;:38:::0;::::1;9474:95;:147;;;;;9580:22;:13;:20;:22::i;:::-;:41;;;9579:42;9474:147;9463:200;;;9635:28;;-1:-1:-1::0;;;9635:28:68::1;;;;;;;;;;;9463:200;9701:24;::::0;;;:12:::1;:24;::::0;;;;;;;;:38;;-1:-1:-1;;;;;;9701:38:68::1;-1:-1:-1::0;;;;;9701:38:68;::::1;::::0;;::::1;::::0;;;9751:50;;9790:10:::1;190:51:197::0;;9701:24:68;;9751:50:::1;::::0;163:18:197;9751:50:68::1;;;;;;;8985:821;8604:1202:::0;;;;;;:::o;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;10051:1232:68:-;10208:28;;-1:-1:-1;;;10208:28:68;;;;;5144:25:197;;;10208:8:68;-1:-1:-1;;;;;10208:16:68;;;;5117:18:197;;10208:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10318:24;;;;:12;:24;;;;;;;;728:2:125;;-1:-1:-1;;;;;10318:24:68;10296:10;:47;1807:82:81;1842:8;10318:24:68;728:2:125;10296:47:68;1807:34:81;:82::i;:::-;10459:39:68::1;::::0;-1:-1:-1;;;10459:39:68;;::::1;::::0;::::1;5144:25:197::0;;;10421:35:68::1;::::0;10459:17:::1;-1:-1:-1::0;;;;;10459:27:68::1;::::0;::::1;::::0;5117:18:197;;10459:39:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10622:24;::::0;;;:12:::1;:24;::::0;;;;;10421:77;;-1:-1:-1;;;;;;10622:24:68::1;10600:10;:47;::::0;::::1;::::0;:92:::1;;;10652:22;:13;:20;:22::i;:::-;:40:::0;10651:41:::1;10600:92;10589:144;;;10706:27;;-1:-1:-1::0;;;10706:27:68::1;;;;;;;;;;;10589:144;10789:24;::::0;;;:12:::1;:24;::::0;;;;:37:::1;::::0;10816:10;;10789:37:::1;:::i;:::-;-1:-1:-1::0;10901:1:68::1;10881:21:::0;::::1;10877:343;;;10917:10;10912:302;10929:22:::0;;::::1;10912:302;;;10970:10;10983:6;:2:::0;10988:1:::1;10983:6;:::i;:::-;10970:19;;10965:194;10991:22:::0;;::::1;10965:194;;;11051:10;;11062:2;11051:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11033:32:68::1;:10;;11044:2;11033:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11033:32:68::1;::::0;11029:66:::1;;11074:21;;-1:-1:-1::0;;;11074:21:68::1;;;;;;;;;;;11029:66;11132:4;;10965:194;;;-1:-1:-1::0;11191:4:68::1;;10912:302;;;;10877:343;11243:10;11230:48;11255:10;;11267;11230:48;;;;;;;;:::i;:::-;;;;;;;;10352:931;10051:1232:::0;;;;;;;:::o;4593:1202::-;4704:18;4857:30;;;:18;:30;;;;;;;;-1:-1:-1;;;;;4857:38:68;;;;;;;;;;;5029:50;;;;;:102;;;5089:42;5102:10;5114:16;5089:12;:42::i;:::-;5018:143;;;5145:16;-1:-1:-1;5138:23:68;;5018:143;5236:26;5265:24;;;:12;:24;;;;;:31;;5371:358;5393:18;5388:2;:23;5371:358;;;5484:28;5515:24;;;:12;:24;;;;;:28;;5540:2;;5515:28;;;;;;:::i;:::-;;;;;;;;;;;5621:42;;-1:-1:-1;;;5621:42:68;;-1:-1:-1;;;;;5628:32:197;;;5621:42:68;;;5610:51:197;5677:18;;;5670:34;;;5515:28:68;;;;-1:-1:-1;5515:28:68;;5621:22;;5583:18:197;;5621:42:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5617:64;;;5672:9;-1:-1:-1;5665:16:68;;-1:-1:-1;;;5665:16:68;5617:64;-1:-1:-1;5710:4:68;;5371:358;;;-1:-1:-1;5787:1:68;;4593:1202;-1:-1:-1;;;;;4593:1202:68:o;13298:283::-;1094:13:157;:11;:13::i;:::-;-1:-1:-1;;;;;13456:39:68;::::1;;::::0;;;:29:::1;:39;::::0;;;;;;;;:47;;-1:-1:-1;;13456:47:68::1;::::0;::::1;;::::0;;::::1;::::0;;;13515:61;;13565:10:::1;190:51:197::0;;13456:47:68;;:39;13515:61:::1;::::0;163:18:197;13515:61:68::1;;;;;;;13298:283:::0;;:::o;4044:162::-;4177:24;;;;:12;:24;;;;;;;;;4170:31;;;;;;;;;;;;;;;;;4133:27;;4170:31;;;4177:24;4170:31;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4170:31:68;;;;;;;;;;;;;;;;;;;;;;;4044:162;;;:::o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;9185:2:197;2154:73:157::1;::::0;::::1;9167:21:197::0;9224:2;9204:18;;;9197:30;9263:34;9243:18;;;9236:62;-1:-1:-1;;;9314:18:197;;;9307:36;9360:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;-1:-1:-1;;;;;3390:13:81;:27;;;;:76;;3418:10;;3430:8;;3440:7;;3449:16;;3390:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;-1:-1:-1;;;;;3477:13:81;:27;;;;:70;;3505:10;;3517:8;;3527:1;;3530:16;;3477:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;14018:721:68:-;14175:35;14188:10;14200:9;14175:12;:35::i;:::-;14171:48;;;14018:721;;:::o;14171:48::-;14326:39;;-1:-1:-1;;;14326:39:68;;;;;5144:25:197;;;14288:35:68;;14326:17;-1:-1:-1;;;;;14326:27:68;;;;5117:18:197;;14326:39:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14489:24;;;;:12;:24;;;;;;14288:77;;-1:-1:-1;;;;;;14489:24:68;14467:10;:47;;;;:92;;;14519:22;:13;:20;:22::i;:::-;:40;14518:41;14467:92;14456:144;;;14573:27;;-1:-1:-1;;;14573:27:68;;;;;;;;;;;14456:144;14636:24;;;;:12;:24;;;;;;;;:40;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14636:40:68;-1:-1:-1;;;;;14636:40:68;;;;;;;;14688:46;;14723:10;190:51:197;;14636:24:68;;14688:46;;163:18:197;14688:46:68;;;;;;;14106:633;14018:721;;:::o;4018:415:81:-;4191:9;4190:10;:42;;;;-1:-1:-1;4210:10:81;-1:-1:-1;;;;;4210:22:81;;;;4190:42;:129;;;;-1:-1:-1;4243:76:81;;-1:-1:-1;;;4243:76:81;;-1:-1:-1;;;;;4243:13:81;:27;;;;:76;;4271:10;;4283:8;;4293:7;;4302:16;;4243:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4242:77;4190:129;:210;;;;-1:-1:-1;4330:70:81;;-1:-1:-1;;;4330:70:81;;-1:-1:-1;;;;;4330:13:81;:27;;;;:70;;4358:10;;4370:8;;4380:1;;4383:16;;4330:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4329:71;4190:210;4179:249;;;4414:14;;-1:-1:-1;;;4414:14:81;;;;;;;;;;;4179:249;4018:415;;;;:::o;482:232:123:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;622:87:123;706:1;680:13;:22;;;:27;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1558:171:124;;;;;;;373:1;365:9;;;364:16;;1558:171;;476:10;;;475:16;;474:23;;1558:171;;;;;;;597:1;588:10;;;;587:16;;586:23;1558:171;;;;;1415:319;1359:130:157;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;10504:2:197;1414:68:157;;;10486:21:197;;;10523:18;;;10516:30;10582:34;10562:18;;;10555:62;10634:18;;1414:68:157;10302:356:197;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;252:180:197;311:6;364:2;352:9;343:7;339:23;335:32;332:52;;;380:1;377;370:12;332:52;-1:-1:-1;403:23:197;;252:180;-1:-1:-1;252:180:197:o;645:131::-;-1:-1:-1;;;;;720:31:197;;710:42;;700:70;;766:1;763;756:12;781:484;886:6;894;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1007:9;994:23;984:33;;1067:2;1056:9;1052:18;1039:32;1080:31;1105:5;1080:31;:::i;:::-;1130:5;-1:-1:-1;1187:2:197;1172:18;;1159:32;1200:33;1159:32;1200:33;:::i;:::-;1252:7;1242:17;;;781:484;;;;;:::o;1270:343::-;1366:6;1374;1427:2;1415:9;1406:7;1402:23;1398:32;1395:52;;;1443:1;1440;1433:12;1395:52;1479:9;1466:23;1456:33;;1539:2;1528:9;1524:18;1511:32;1552:31;1577:5;1552:31;:::i;:::-;1602:5;1592:15;;;1270:343;;;;;:::o;2130:711::-;2253:6;2261;2269;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;2374:9;2361:23;2351:33;;2435:2;2424:9;2420:18;2407:32;2458:18;2499:2;2491:6;2488:14;2485:34;;;2515:1;2512;2505:12;2485:34;2553:6;2542:9;2538:22;2528:32;;2598:7;2591:4;2587:2;2583:13;2579:27;2569:55;;2620:1;2617;2610:12;2569:55;2660:2;2647:16;2686:2;2678:6;2675:14;2672:34;;;2702:1;2699;2692:12;2672:34;2755:7;2750:2;2740:6;2737:1;2733:14;2729:2;2725:23;2721:32;2718:45;2715:65;;;2776:1;2773;2766:12;2715:65;2807:2;2803;2799:11;2789:21;;2829:6;2819:16;;;;;2130:711;;;;;:::o;3311:118::-;3397:5;3390:13;3383:21;3376:5;3373:32;3363:60;;3419:1;3416;3409:12;3434:382;3499:6;3507;3560:2;3548:9;3539:7;3535:23;3531:32;3528:52;;;3576:1;3573;3566:12;3528:52;3615:9;3602:23;3634:31;3659:5;3634:31;:::i;:::-;3684:5;-1:-1:-1;3741:2:197;3726:18;;3713:32;3754:30;3713:32;3754:30;:::i;4055:247::-;4114:6;4167:2;4155:9;4146:7;4142:23;4138:32;4135:52;;;4183:1;4180;4173:12;4135:52;4222:9;4209:23;4241:31;4266:5;4241:31;:::i;:::-;4291:5;4055:247;-1:-1:-1;;;4055:247:197:o;4307:686::-;4506:2;4558:21;;;4628:13;;4531:18;;;4650:22;;;4477:4;;4506:2;4729:15;;;;4703:2;4688:18;;;4477:4;4772:195;4786:6;4783:1;4780:13;4772:195;;;4851:13;;-1:-1:-1;;;;;4847:39:197;4835:52;;4942:15;;;;4907:12;;;;4883:1;4801:9;4772:195;;;-1:-1:-1;4984:3:197;;4307:686;-1:-1:-1;;;;;;4307:686:197:o;5180:251::-;5250:6;5303:2;5291:9;5282:7;5278:23;5274:32;5271:52;;;5319:1;5316;5309:12;5271:52;5351:9;5345:16;5370:31;5395:5;5370:31;:::i;5715:245::-;5782:6;5835:2;5823:9;5814:7;5810:23;5806:32;5803:52;;;5851:1;5848;5841:12;5803:52;5883:9;5877:16;5902:28;5924:5;5902:28;:::i;5965:127::-;6026:10;6021:3;6017:20;6014:1;6007:31;6057:4;6054:1;6047:15;6081:4;6078:1;6071:15;6097:184;6167:6;6220:2;6208:9;6199:7;6195:23;6191:32;6188:52;;;6236:1;6233;6226:12;6188:52;-1:-1:-1;6259:16:197;;6097:184;-1:-1:-1;6097:184:197:o;6286:344::-;6353:2;6347:9;6395:3;6383:16;;6429:18;6414:34;;6450:22;;;6411:62;6408:185;;;6515:10;6510:3;6506:20;6503:1;6496:31;6550:4;6547:1;6540:15;6578:4;6575:1;6568:15;6408:185;6609:2;6602:22;6286:344;:::o;6635:161::-;6737:13;;6759:31;6737:13;6759:31;:::i;:::-;6635:161;;;:::o;6801:827::-;6904:6;6957:3;6945:9;6936:7;6932:23;6928:33;6925:53;;;6974:1;6971;6964:12;6925:53;7000:17;;:::i;:::-;7046:9;7040:16;7033:5;7026:31;7110:2;7099:9;7095:18;7089:25;7084:2;7077:5;7073:14;7066:49;7168:2;7157:9;7153:18;7147:25;7142:2;7135:5;7131:14;7124:49;7226:2;7215:9;7211:18;7205:25;7200:2;7193:5;7189:14;7182:49;7285:3;7274:9;7270:19;7264:26;7258:3;7251:5;7247:15;7240:51;7345:3;7334:9;7330:19;7324:26;7318:3;7311:5;7307:15;7300:51;7405:3;7394:9;7390:19;7384:26;7378:3;7371:5;7367:15;7360:51;7444:73;7512:3;7501:9;7497:19;7444:73;:::i;:::-;7438:3;7427:15;;7420:98;7537:3;7578:18;;;7572:25;7556:14;;;7549:49;;;;-1:-1:-1;7431:5:197;6801:827;-1:-1:-1;6801:827:197:o;7633:222::-;7698:9;;;7719:10;;;7716:133;;;7771:10;7766:3;7762:20;7759:1;7752:31;7806:4;7803:1;7796:15;7834:4;7831:1;7824:15;8140:838;8396:2;8408:21;;;8381:18;;8464:22;;;8348:4;8543:6;8517:2;8502:18;;8348:4;8577:304;8591:6;8588:1;8585:13;8577:304;;;8666:6;8653:20;8686:31;8711:5;8686:31;:::i;:::-;-1:-1:-1;;;;;8742:31:197;8730:44;;8797:4;8856:15;;;;8821:12;;;;8770:1;8606:9;8577:304;;;-1:-1:-1;;;;;;8939:32:197;;;;8932:4;8917:20;;;;8910:62;;;;-1:-1:-1;8898:3:197;;8140:838;-1:-1:-1;;;8140:838:197:o;9390:447::-;-1:-1:-1;;;;;9677:15:197;;;9659:34;;9729:15;;;;9724:2;9709:18;;9702:43;9776:2;9761:18;;9754:34;9819:2;9804:18;;9797:34;;;;9608:3;9593:19;;9390:447::o","linkReferences":{},"immutableReferences":{"73998":[{"start":485,"length":32},{"start":702,"length":32},{"start":1250,"length":32},{"start":1469,"length":32},{"start":2032,"length":32}],"74003":[{"start":255,"length":32},{"start":1653,"length":32},{"start":2215,"length":32},{"start":3731,"length":32}],"80814":[{"start":560,"length":32},{"start":3369,"length":32},{"start":3525,"length":32},{"start":4095,"length":32},{"start":4251,"length":32}]}},"methodIdentifiers":{"controllerOf(uint256)":"5dd8f6aa","fundingCycleStore()":"557e7155","isAllowedToSetFirstController(address)":"c5664e21","isTerminalOf(uint256,address)":"6e49181f","operatorStore()":"ad007d63","owner()":"8da5cb5b","primaryTerminalOf(uint256,address)":"86202650","projects()":"8b79543c","renounceOwnership()":"715018a6","setControllerOf(uint256,address)":"714e7f32","setIsAllowedToSetFirstController(address,bool)":"a1ed3175","setPrimaryTerminalOf(uint256,address,address)":"63d0850a","setTerminalsOf(uint256,address[])":"821b9fd8","terminalsOf(uint256)":"d1754153","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DUPLICATE_TERMINALS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PROJECT_ID_IN_DIRECTORY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SET_CONTROLLER_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SET_TERMINALS_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKEN_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetIsAllowedToSetFirstController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetPrimaryTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTerminals\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"controllerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isAllowedToSetFirstController\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"_terminal\",\"type\":\"address\"}],\"name\":\"isTerminalOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"primaryTerminalOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"setControllerOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_flag\",\"type\":\"bool\"}],\"name\":\"setIsAllowedToSetFirstController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"_terminal\",\"type\":\"address\"}],\"name\":\"setPrimaryTerminalOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"_terminals\",\"type\":\"address[]\"}],\"name\":\"setTerminalsOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"terminalsOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_owner\":\"The address that will own the contract.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"isTerminalOf(uint256,address)\":{\"params\":{\"_projectId\":\"The ID of the project to check within.\",\"_terminal\":\"The address of the terminal to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether or not the specified terminal is a terminal of the specified project.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"primaryTerminalOf(uint256,address)\":{\"details\":\"The zero address is returned if a terminal isn't found for the specified token.\",\"params\":{\"_projectId\":\"The ID of the project to get a terminal for.\",\"_token\":\"The token the terminal accepts.\"},\"returns\":{\"_0\":\"The primary terminal for the project for the specified token.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setControllerOf(uint256,address)\":{\"details\":\"A controller can be set if:- the message sender is the project owner or an operator having the correct authorization.- the message sender is the project's current controller.- or, an allowedlisted address is setting a controller for a project that doesn't already have a controller.\",\"params\":{\"_controller\":\"The new controller to set.\",\"_projectId\":\"The ID of the project to set a new controller for.\"}},\"setIsAllowedToSetFirstController(address,bool)\":{\"details\":\"The owner can add addresses which are allowed to change projects' first controllers. These addresses are known and vetted controllers as well as contracts designed to launch new projects. A project can set its own controller without it being on the allow list.If you would like an address/contract allowlisted, please reach out to the contract owner.\",\"params\":{\"_address\":\"The address to allow or revoke allowance from.\",\"_flag\":\"Whether allowance is being added or revoked.\"}},\"setPrimaryTerminalOf(uint256,address,address)\":{\"details\":\"This is useful in case a project has several terminals connected for a particular token.The terminal will be set as the primary terminal where ecosystem contracts should route tokens.If setting a newly added terminal and the funding cycle doesn't allow new terminals, the caller must be the current controller.\",\"params\":{\"_projectId\":\"The ID of the project for which a primary token is being set.\",\"_terminal\":\"The terminal to make primary.\",\"_token\":\"The token to set the primary terminal of.\"}},\"setTerminalsOf(uint256,address[])\":{\"details\":\"Only a project owner, an operator, or its controller can set its terminals.\",\"params\":{\"_projectId\":\"The ID of the project having terminals set.\",\"_terminals\":\"The terminal to set.\"}},\"terminalsOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get terminals of.\"},\"returns\":{\"_0\":\"An array of terminal addresses.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"_primaryTerminalOf\":{\"custom:member\":\"_projectId The ID of the project to get the primary terminal of._token The token to get the project's primary terminal of.\"},\"_terminalsOf\":{\"custom:member\":\"_projectId The ID of the project to get terminals of.\"},\"controllerOf\":{\"custom:member\":\"_projectId The ID of the project to get the controller of.\"},\"isAllowedToSetFirstController\":{\"custom:param\":\"_address The address that is either allowed or not.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"controllerOf(uint256)\":{\"notice\":\"For each project ID, the controller that manages how terminals interact with tokens and funding cycles.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations.\"},\"isAllowedToSetFirstController(address)\":{\"notice\":\"Addresses that can set a project's first controller on their behalf. These addresses/contracts have been vetted and verified by this contract's owner.\"},\"isTerminalOf(uint256,address)\":{\"notice\":\"Whether or not a specified terminal is a terminal of the specified project.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"primaryTerminalOf(uint256,address)\":{\"notice\":\"The primary terminal that is managing funds for a project for a specified token.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers.\"},\"setControllerOf(uint256,address)\":{\"notice\":\"Update the controller that manages how terminals interact with the ecosystem.\"},\"setIsAllowedToSetFirstController(address,bool)\":{\"notice\":\"Set a contract to the list of trusted addresses that can set a first controller for any project.\\t\"},\"setPrimaryTerminalOf(uint256,address,address)\":{\"notice\":\"Project's can set which terminal should be their primary for a particular token. \"},\"setTerminalsOf(uint256,address[])\":{\"notice\":\"Set a project's terminals.\"},\"terminalsOf(uint256)\":{\"notice\":\"For each project ID, the terminals that are currently managing its funds.\"}},\"notice\":\"Keeps a reference of which terminal contracts each project is currently accepting funds through, and which controller contract is managing each project's tokens and funding cycles.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":\"JBDirectory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":{\"keccak256\":\"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25\",\"dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"DUPLICATE_TERMINALS"},{"inputs":[],"type":"error","name":"INVALID_PROJECT_ID_IN_DIRECTORY"},{"inputs":[],"type":"error","name":"SET_CONTROLLER_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"SET_TERMINALS_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"TOKEN_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTerminal","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"controller","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetController","anonymous":false},{"inputs":[{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"bool","name":"flag","type":"bool","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetIsAllowedToSetFirstController","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetPrimaryTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTerminals","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"controllerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedToSetFirstController","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"_terminal","type":"address"}],"stateMutability":"view","type":"function","name":"isTerminalOf","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"primaryTerminalOf","outputs":[{"internalType":"contract IJBPaymentTerminal","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setControllerOf"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_flag","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsAllowedToSetFirstController"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"contract IJBPaymentTerminal","name":"_terminal","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPrimaryTerminalOf"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal[]","name":"_terminals","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setTerminalsOf"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"terminalsOf","outputs":[{"internalType":"contract IJBPaymentTerminal[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_fundingCycleStore":"A contract storing all funding cycle configurations.","_operatorStore":"A contract storing operator assignments.","_owner":"The address that will own the contract.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"isTerminalOf(uint256,address)":{"params":{"_projectId":"The ID of the project to check within.","_terminal":"The address of the terminal to check for."},"returns":{"_0":"A flag indicating whether or not the specified terminal is a terminal of the specified project."}},"owner()":{"details":"Returns the address of the current owner."},"primaryTerminalOf(uint256,address)":{"details":"The zero address is returned if a terminal isn't found for the specified token.","params":{"_projectId":"The ID of the project to get a terminal for.","_token":"The token the terminal accepts."},"returns":{"_0":"The primary terminal for the project for the specified token."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setControllerOf(uint256,address)":{"details":"A controller can be set if:- the message sender is the project owner or an operator having the correct authorization.- the message sender is the project's current controller.- or, an allowedlisted address is setting a controller for a project that doesn't already have a controller.","params":{"_controller":"The new controller to set.","_projectId":"The ID of the project to set a new controller for."}},"setIsAllowedToSetFirstController(address,bool)":{"details":"The owner can add addresses which are allowed to change projects' first controllers. These addresses are known and vetted controllers as well as contracts designed to launch new projects. A project can set its own controller without it being on the allow list.If you would like an address/contract allowlisted, please reach out to the contract owner.","params":{"_address":"The address to allow or revoke allowance from.","_flag":"Whether allowance is being added or revoked."}},"setPrimaryTerminalOf(uint256,address,address)":{"details":"This is useful in case a project has several terminals connected for a particular token.The terminal will be set as the primary terminal where ecosystem contracts should route tokens.If setting a newly added terminal and the funding cycle doesn't allow new terminals, the caller must be the current controller.","params":{"_projectId":"The ID of the project for which a primary token is being set.","_terminal":"The terminal to make primary.","_token":"The token to set the primary terminal of."}},"setTerminalsOf(uint256,address[])":{"details":"Only a project owner, an operator, or its controller can set its terminals.","params":{"_projectId":"The ID of the project having terminals set.","_terminals":"The terminal to set."}},"terminalsOf(uint256)":{"params":{"_projectId":"The ID of the project to get terminals of."},"returns":{"_0":"An array of terminal addresses."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"controllerOf(uint256)":{"notice":"For each project ID, the controller that manages how terminals interact with tokens and funding cycles."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations."},"isAllowedToSetFirstController(address)":{"notice":"Addresses that can set a project's first controller on their behalf. These addresses/contracts have been vetted and verified by this contract's owner."},"isTerminalOf(uint256,address)":{"notice":"Whether or not a specified terminal is a terminal of the specified project."},"operatorStore()":{"notice":"A contract storing operator assignments."},"primaryTerminalOf(uint256,address)":{"notice":"The primary terminal that is managing funds for a project for a specified token."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers."},"setControllerOf(uint256,address)":{"notice":"Update the controller that manages how terminals interact with the ecosystem."},"setIsAllowedToSetFirstController(address,bool)":{"notice":"Set a contract to the list of trusted addresses that can set a first controller for any project.\t"},"setPrimaryTerminalOf(uint256,address,address)":{"notice":"Project's can set which terminal should be their primary for a particular token. "},"setTerminalsOf(uint256,address[])":{"notice":"Set a project's terminals."},"terminalsOf(uint256)":{"notice":"For each project ID, the terminals that are currently managing its funds."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":"JBDirectory"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":{"keccak256":"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa","urls":["bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25","dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol","id":74542,"exportedSymbols":{"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBOperatorStore":[85400],"IJBPaymentTerminal":[85505],"IJBProjects":[86082],"JBDirectory":[74541],"JBFundingCycle":[87801],"JBFundingCycleMetadataResolver":[87442],"JBOperatable":[80910],"JBOperations":[87614],"Ownable":[89689]},"nodeType":"SourceUnit","src":"32:14710:68","nodes":[{"id":73937,"nodeType":"PragmaDirective","src":"32:24:68","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":73939,"nodeType":"ImportDirective","src":"58:67:68","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":89690,"symbolAliases":[{"foreign":{"id":73938,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89689,"src":"66:7:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73941,"nodeType":"ImportDirective","src":"126:57:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"./abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":73940,"name":"JBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80910,"src":"134:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73943,"nodeType":"ImportDirective","src":"184:59:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":73942,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"192:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73945,"nodeType":"ImportDirective","src":"244:75:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./interfaces/IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":73944,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"252:20:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73947,"nodeType":"ImportDirective","src":"320:67:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":73946,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"328:16:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73949,"nodeType":"ImportDirective","src":"388:71:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"./interfaces/IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":73948,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"396:18:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73951,"nodeType":"ImportDirective","src":"460:57:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":73950,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"468:11:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73953,"nodeType":"ImportDirective","src":"518:94:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","file":"./libraries/JBFundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":87443,"symbolAliases":[{"foreign":{"id":73952,"name":"JBFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87442,"src":"526:30:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73955,"nodeType":"ImportDirective","src":"613:58:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"./libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":87615,"symbolAliases":[{"foreign":{"id":73954,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"621:12:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":73957,"nodeType":"ImportDirective","src":"672:60:68","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":74542,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":73956,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"680:14:68","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":74541,"nodeType":"ContractDefinition","src":"927:13814:68","nodes":[{"id":73968,"nodeType":"UsingForDirective","src":"1078:56:68","nodes":[],"global":false,"libraryName":{"id":73965,"name":"JBFundingCycleMetadataResolver","nameLocations":["1084:30:68"],"nodeType":"IdentifierPath","referencedDeclaration":87442,"src":"1084:30:68"},"typeName":{"id":73967,"nodeType":"UserDefinedTypeName","pathNode":{"id":73966,"name":"JBFundingCycle","nameLocations":["1119:14:68"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1119:14:68"},"referencedDeclaration":87801,"src":"1119:14:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}}},{"id":73970,"nodeType":"ErrorDefinition","src":"1366:28:68","nodes":[],"errorSelector":"7c706156","name":"DUPLICATE_TERMINALS","nameLocation":"1372:19:68","parameters":{"id":73969,"nodeType":"ParameterList","parameters":[],"src":"1391:2:68"}},{"id":73972,"nodeType":"ErrorDefinition","src":"1397:40:68","nodes":[],"errorSelector":"945074a6","name":"INVALID_PROJECT_ID_IN_DIRECTORY","nameLocation":"1403:31:68","parameters":{"id":73971,"nodeType":"ParameterList","parameters":[],"src":"1434:2:68"}},{"id":73974,"nodeType":"ErrorDefinition","src":"1440:35:68","nodes":[],"errorSelector":"a33db4cb","name":"SET_CONTROLLER_NOT_ALLOWED","nameLocation":"1446:26:68","parameters":{"id":73973,"nodeType":"ParameterList","parameters":[],"src":"1472:2:68"}},{"id":73976,"nodeType":"ErrorDefinition","src":"1478:34:68","nodes":[],"errorSelector":"ebfde6be","name":"SET_TERMINALS_NOT_ALLOWED","nameLocation":"1484:25:68","parameters":{"id":73975,"nodeType":"ParameterList","parameters":[],"src":"1509:2:68"}},{"id":73978,"nodeType":"ErrorDefinition","src":"1515:27:68","nodes":[],"errorSelector":"1f5522f6","name":"TOKEN_NOT_ACCEPTED","nameLocation":"1521:18:68","parameters":{"id":73977,"nodeType":"ParameterList","parameters":[],"src":"1539:2:68"}},{"id":73985,"nodeType":"VariableDeclaration","src":"1938:61:68","nodes":[],"constant":false,"documentation":{"id":73979,"nodeType":"StructuredDocumentation","src":"1775:160:68","text":"@notice For each project ID, the terminals that are currently managing its funds.\n @custom:member _projectId The ID of the project to get terminals of."},"mutability":"mutable","name":"_terminalsOf","nameLocation":"1987:12:68","scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[])"},"typeName":{"id":73984,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73980,"name":"uint256","nodeType":"ElementaryTypeName","src":"1946:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1938:40:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":73982,"nodeType":"UserDefinedTypeName","pathNode":{"id":73981,"name":"IJBPaymentTerminal","nameLocations":["1957:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"1957:18:68"},"referencedDeclaration":85505,"src":"1957:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":73983,"nodeType":"ArrayTypeName","src":"1957:20:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}}},"visibility":"private"},{"id":73993,"nodeType":"VariableDeclaration","src":"2228:85:68","nodes":[],"constant":false,"documentation":{"id":73986,"nodeType":"StructuredDocumentation","src":"2004:221:68","text":"@notice The project's primary terminal for a token.\n @custom:member _projectId The ID of the project to get the primary terminal of.\n @custom:member _token The token to get the project's primary terminal of."},"mutability":"mutable","name":"_primaryTerminalOf","nameLocation":"2295:18:68","scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$_$","typeString":"mapping(uint256 => mapping(address => contract IJBPaymentTerminal))"},"typeName":{"id":73992,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73987,"name":"uint256","nodeType":"ElementaryTypeName","src":"2236:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2228:58:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$_$","typeString":"mapping(uint256 => mapping(address => contract IJBPaymentTerminal))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":73991,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":73988,"name":"address","nodeType":"ElementaryTypeName","src":"2255:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2247:38:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"mapping(address => contract IJBPaymentTerminal)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":73990,"nodeType":"UserDefinedTypeName","pathNode":{"id":73989,"name":"IJBPaymentTerminal","nameLocations":["2266:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"2266:18:68"},"referencedDeclaration":85505,"src":"2266:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}}},"visibility":"private"},{"id":73998,"nodeType":"VariableDeclaration","src":"2625:46:68","nodes":[],"baseFunctions":[84958],"constant":false,"documentation":{"id":73994,"nodeType":"StructuredDocumentation","src":"2547:75:68","text":"@notice Mints ERC-721's that represent project ownership and transfers."},"functionSelector":"8b79543c","mutability":"immutable","name":"projects","nameLocation":"2663:8:68","overrides":{"id":73997,"nodeType":"OverrideSpecifier","overrides":[],"src":"2654:8:68"},"scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":73996,"nodeType":"UserDefinedTypeName","pathNode":{"id":73995,"name":"IJBProjects","nameLocations":["2625:11:68"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"2625:11:68"},"referencedDeclaration":86082,"src":"2625:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"public"},{"id":74003,"nodeType":"VariableDeclaration","src":"2745:64:68","nodes":[],"baseFunctions":[84964],"constant":false,"documentation":{"id":73999,"nodeType":"StructuredDocumentation","src":"2676:66:68","text":"@notice The contract storing all funding cycle configurations."},"functionSelector":"557e7155","mutability":"immutable","name":"fundingCycleStore","nameLocation":"2792:17:68","overrides":{"id":74002,"nodeType":"OverrideSpecifier","overrides":[],"src":"2783:8:68"},"scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":74001,"nodeType":"UserDefinedTypeName","pathNode":{"id":74000,"name":"IJBFundingCycleStore","nameLocations":["2745:20:68"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"2745:20:68"},"referencedDeclaration":85310,"src":"2745:20:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"public"},{"id":74009,"nodeType":"VariableDeclaration","src":"3241:56:68","nodes":[],"baseFunctions":[84971],"constant":false,"documentation":{"id":74004,"nodeType":"StructuredDocumentation","src":"3043:195:68","text":"@notice For each project ID, the controller that manages how terminals interact with tokens and funding cycles.\n @custom:member _projectId The ID of the project to get the controller of."},"functionSelector":"5dd8f6aa","mutability":"mutable","name":"controllerOf","nameLocation":"3285:12:68","overrides":{"id":74008,"nodeType":"OverrideSpecifier","overrides":[],"src":"3276:8:68"},"scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":74007,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74005,"name":"uint256","nodeType":"ElementaryTypeName","src":"3249:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3241:27:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74006,"name":"address","nodeType":"ElementaryTypeName","src":"3260:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":74015,"nodeType":"VariableDeclaration","src":"3539:70:68","nodes":[],"baseFunctions":[84978],"constant":false,"documentation":{"id":74010,"nodeType":"StructuredDocumentation","src":"3302:234:68","text":"@notice Addresses that can set a project's first controller on their behalf. These addresses/contracts have been vetted and verified by this contract's owner.\n @custom:param _address The address that is either allowed or not."},"functionSelector":"c5664e21","mutability":"mutable","name":"isAllowedToSetFirstController","nameLocation":"3580:29:68","overrides":{"id":74014,"nodeType":"OverrideSpecifier","overrides":[],"src":"3571:8:68"},"scope":74541,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":74013,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":74011,"name":"address","nodeType":"ElementaryTypeName","src":"3547:7:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3539:24:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":74012,"name":"bool","nodeType":"ElementaryTypeName","src":"3558:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":74031,"nodeType":"FunctionDefinition","src":"4044:162:68","nodes":[],"body":{"id":74030,"nodeType":"Block","src":"4164:42:68","nodes":[],"statements":[{"expression":{"baseExpression":{"id":74026,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"4177:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74028,"indexExpression":{"id":74027,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74018,"src":"4190:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4177:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"functionReturnParameters":74025,"id":74029,"nodeType":"Return","src":"4170:31:68"}]},"baseFunctions":[84987],"documentation":{"id":74016,"nodeType":"StructuredDocumentation","src":"3843:198:68","text":"@notice For each project ID, the terminals that are currently managing its funds.\n @param _projectId The ID of the project to get terminals of.\n @return An array of terminal addresses."},"functionSelector":"d1754153","implemented":true,"kind":"function","modifiers":[],"name":"terminalsOf","nameLocation":"4053:11:68","overrides":{"id":74020,"nodeType":"OverrideSpecifier","overrides":[],"src":"4111:8:68"},"parameters":{"id":74019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74018,"mutability":"mutable","name":"_projectId","nameLocation":"4073:10:68","nodeType":"VariableDeclaration","scope":74031,"src":"4065:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74017,"name":"uint256","nodeType":"ElementaryTypeName","src":"4065:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4064:20:68"},"returnParameters":{"id":74025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74024,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74031,"src":"4133:27:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":74022,"nodeType":"UserDefinedTypeName","pathNode":{"id":74021,"name":"IJBPaymentTerminal","nameLocations":["4133:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"4133:18:68"},"referencedDeclaration":85505,"src":"4133:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":74023,"nodeType":"ArrayTypeName","src":"4133:20:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"}],"src":"4132:29:68"},"scope":74541,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74112,"nodeType":"FunctionDefinition","src":"4593:1202:68","nodes":[],"body":{"id":74111,"nodeType":"Block","src":"4726:1069:68","nodes":[],"statements":[{"assignments":[74045],"declarations":[{"constant":false,"id":74045,"mutability":"mutable","name":"_primaryTerminal","nameLocation":"4838:16:68","nodeType":"VariableDeclaration","scope":74111,"src":"4819:35:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74044,"nodeType":"UserDefinedTypeName","pathNode":{"id":74043,"name":"IJBPaymentTerminal","nameLocations":["4819:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"4819:18:68"},"referencedDeclaration":85505,"src":"4819:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"id":74051,"initialValue":{"baseExpression":{"baseExpression":{"id":74046,"name":"_primaryTerminalOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73993,"src":"4857:18:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$_$","typeString":"mapping(uint256 => mapping(address => contract IJBPaymentTerminal))"}},"id":74048,"indexExpression":{"id":74047,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"4876:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4857:30:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"mapping(address => contract IJBPaymentTerminal)"}},"id":74050,"indexExpression":{"id":74049,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74036,"src":"4888:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4857:38:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"VariableDeclarationStatement","src":"4819:76:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"id":74059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74052,"name":"_primaryTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74045,"src":"5029:16:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":74056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5076:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74055,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5068:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74054,"name":"address","nodeType":"ElementaryTypeName","src":"5068:7:68","typeDescriptions":{}}},"id":74057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5068:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74053,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"5049:18:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}},"id":74058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5049:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"src":"5029:50:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":74061,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"5102:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74062,"name":"_primaryTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74045,"src":"5114:16:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"id":74060,"name":"isTerminalOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74156,"src":"5089:12:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$returns$_t_bool_$","typeString":"function (uint256,contract IJBPaymentTerminal) view returns (bool)"}},"id":74063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5089:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5029:102:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74067,"nodeType":"IfStatement","src":"5018:143:68","trueBody":{"expression":{"id":74065,"name":"_primaryTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74045,"src":"5145:16:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"functionReturnParameters":74042,"id":74066,"nodeType":"Return","src":"5138:23:68"}},{"assignments":[74069],"declarations":[{"constant":false,"id":74069,"mutability":"mutable","name":"_numberOfTerminals","nameLocation":"5244:18:68","nodeType":"VariableDeclaration","scope":74111,"src":"5236:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74068,"name":"uint256","nodeType":"ElementaryTypeName","src":"5236:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74074,"initialValue":{"expression":{"baseExpression":{"id":74070,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"5265:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74072,"indexExpression":{"id":74071,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"5278:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5265:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5290:6:68","memberName":"length","nodeType":"MemberAccess","src":"5265:31:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5236:60:68"},{"body":{"id":74102,"nodeType":"Block","src":"5415:314:68","statements":[{"assignments":[74083],"declarations":[{"constant":false,"id":74083,"mutability":"mutable","name":"_terminal","nameLocation":"5503:9:68","nodeType":"VariableDeclaration","scope":74102,"src":"5484:28:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74082,"nodeType":"UserDefinedTypeName","pathNode":{"id":74081,"name":"IJBPaymentTerminal","nameLocations":["5484:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"5484:18:68"},"referencedDeclaration":85505,"src":"5484:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"id":74089,"initialValue":{"baseExpression":{"baseExpression":{"id":74084,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"5515:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74086,"indexExpression":{"id":74085,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"5528:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5515:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74088,"indexExpression":{"id":74087,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74076,"src":"5540:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5515:28:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"VariableDeclarationStatement","src":"5484:59:68"},{"condition":{"arguments":[{"id":74092,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74036,"src":"5644:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74093,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74034,"src":"5652:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74090,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74083,"src":"5621:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":74091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5631:12:68","memberName":"acceptsToken","nodeType":"MemberAccess","referencedDeclaration":85449,"src":"5621:22:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":74094,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5621:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74097,"nodeType":"IfStatement","src":"5617:64:68","trueBody":{"expression":{"id":74095,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74083,"src":"5672:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"functionReturnParameters":74042,"id":74096,"nodeType":"Return","src":"5665:16:68"}},{"id":74101,"nodeType":"UncheckedBlock","src":"5690:33:68","statements":[{"expression":{"id":74099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5710:4:68","subExpression":{"id":74098,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74076,"src":"5712:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74100,"nodeType":"ExpressionStatement","src":"5710:4:68"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74078,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74076,"src":"5388:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74079,"name":"_numberOfTerminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74069,"src":"5393:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5388:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74103,"initializationExpression":{"assignments":[74076],"declarations":[{"constant":false,"id":74076,"mutability":"mutable","name":"_i","nameLocation":"5384:2:68","nodeType":"VariableDeclaration","scope":74103,"src":"5376:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74075,"name":"uint256","nodeType":"ElementaryTypeName","src":"5376:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74077,"nodeType":"VariableDeclarationStatement","src":"5376:10:68"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5371:358:68"},{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":74107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5787:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5779:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74105,"name":"address","nodeType":"ElementaryTypeName","src":"5779:7:68","typeDescriptions":{}}},"id":74108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5779:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74104,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"5760:18:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}},"id":74109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5760:30:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"functionReturnParameters":74042,"id":74110,"nodeType":"Return","src":"5753:37:68"}]},"baseFunctions":[85007],"documentation":{"id":74032,"nodeType":"StructuredDocumentation","src":"4210:380:68","text":"@notice The primary terminal that is managing funds for a project for a specified token.\n @dev The zero address is returned if a terminal isn't found for the specified token.\n @param _projectId The ID of the project to get a terminal for.\n @param _token The token the terminal accepts.\n @return The primary terminal for the project for the specified token."},"functionSelector":"86202650","implemented":true,"kind":"function","modifiers":[],"name":"primaryTerminalOf","nameLocation":"4602:17:68","overrides":{"id":74038,"nodeType":"OverrideSpecifier","overrides":[],"src":"4682:8:68"},"parameters":{"id":74037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74034,"mutability":"mutable","name":"_projectId","nameLocation":"4628:10:68","nodeType":"VariableDeclaration","scope":74112,"src":"4620:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74033,"name":"uint256","nodeType":"ElementaryTypeName","src":"4620:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74036,"mutability":"mutable","name":"_token","nameLocation":"4648:6:68","nodeType":"VariableDeclaration","scope":74112,"src":"4640:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74035,"name":"address","nodeType":"ElementaryTypeName","src":"4640:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4619:36:68"},"returnParameters":{"id":74042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74112,"src":"4704:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74040,"nodeType":"UserDefinedTypeName","pathNode":{"id":74039,"name":"IJBPaymentTerminal","nameLocations":["4704:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"4704:18:68"},"referencedDeclaration":85505,"src":"4704:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"4703:20:68"},"scope":74541,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":74156,"nodeType":"FunctionDefinition","src":"6356:633:68","nodes":[],"body":{"id":74155,"nodeType":"Block","src":"6482:507:68","nodes":[],"statements":[{"assignments":[74125],"declarations":[{"constant":false,"id":74125,"mutability":"mutable","name":"_numberOfTerminals","nameLocation":"6564:18:68","nodeType":"VariableDeclaration","scope":74155,"src":"6556:26:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74124,"name":"uint256","nodeType":"ElementaryTypeName","src":"6556:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74130,"initialValue":{"expression":{"baseExpression":{"id":74126,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"6585:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74128,"indexExpression":{"id":74127,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74115,"src":"6598:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6585:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6610:6:68","memberName":"length","nodeType":"MemberAccess","src":"6585:31:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6556:60:68"},{"body":{"id":74151,"nodeType":"Block","src":"6733:201:68","statements":[{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"id":74143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":74137,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"6832:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74139,"indexExpression":{"id":74138,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74115,"src":"6845:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6832:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74141,"indexExpression":{"id":74140,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74132,"src":"6857:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6832:28:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":74142,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74118,"src":"6864:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"src":"6832:41:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74146,"nodeType":"IfStatement","src":"6828:58:68","trueBody":{"expression":{"hexValue":"74727565","id":74144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6882:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":74123,"id":74145,"nodeType":"Return","src":"6875:11:68"}},{"id":74150,"nodeType":"UncheckedBlock","src":"6895:33:68","statements":[{"expression":{"id":74148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6915:4:68","subExpression":{"id":74147,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74132,"src":"6917:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74149,"nodeType":"ExpressionStatement","src":"6915:4:68"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74134,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74132,"src":"6706:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74135,"name":"_numberOfTerminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74125,"src":"6711:18:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6706:23:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74152,"initializationExpression":{"assignments":[74132],"declarations":[{"constant":false,"id":74132,"mutability":"mutable","name":"_i","nameLocation":"6702:2:68","nodeType":"VariableDeclaration","scope":74152,"src":"6694:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74131,"name":"uint256","nodeType":"ElementaryTypeName","src":"6694:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74133,"nodeType":"VariableDeclarationStatement","src":"6694:10:68"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"6689:245:68"},{"expression":{"hexValue":"66616c7365","id":74153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6979:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":74123,"id":74154,"nodeType":"Return","src":"6972:12:68"}]},"baseFunctions":[84997],"documentation":{"id":74113,"nodeType":"StructuredDocumentation","src":"6028:325:68","text":"@notice Whether or not a specified terminal is a terminal of the specified project.\n @param _projectId The ID of the project to check within.\n @param _terminal The address of the terminal to check for.\n @return A flag indicating whether or not the specified terminal is a terminal of the specified project."},"functionSelector":"6e49181f","implemented":true,"kind":"function","modifiers":[],"name":"isTerminalOf","nameLocation":"6365:12:68","overrides":{"id":74120,"nodeType":"OverrideSpecifier","overrides":[],"src":"6452:8:68"},"parameters":{"id":74119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74115,"mutability":"mutable","name":"_projectId","nameLocation":"6386:10:68","nodeType":"VariableDeclaration","scope":74156,"src":"6378:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74114,"name":"uint256","nodeType":"ElementaryTypeName","src":"6378:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74118,"mutability":"mutable","name":"_terminal","nameLocation":"6417:9:68","nodeType":"VariableDeclaration","scope":74156,"src":"6398:28:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74117,"nodeType":"UserDefinedTypeName","pathNode":{"id":74116,"name":"IJBPaymentTerminal","nameLocations":["6398:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"6398:18:68"},"referencedDeclaration":85505,"src":"6398:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"6377:50:68"},"returnParameters":{"id":74123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74122,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":74156,"src":"6474:4:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74121,"name":"bool","nodeType":"ElementaryTypeName","src":"6474:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6473:6:68"},"scope":74541,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":74187,"nodeType":"FunctionDefinition","src":"7540:282:68","nodes":[],"body":{"id":74186,"nodeType":"Block","src":"7714:108:68","nodes":[],"statements":[{"expression":{"id":74176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74174,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73998,"src":"7720:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74175,"name":"_projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74163,"src":"7731:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"src":"7720:20:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":74177,"nodeType":"ExpressionStatement","src":"7720:20:68"},{"expression":{"id":74180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":74178,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74003,"src":"7746:17:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74179,"name":"_fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74166,"src":"7766:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"src":"7746:38:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":74181,"nodeType":"ExpressionStatement","src":"7746:38:68"},{"expression":{"arguments":[{"id":74183,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74168,"src":"7810:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74182,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89688,"src":"7791:18:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":74184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7791:26:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74185,"nodeType":"ExpressionStatement","src":"7791:26:68"}]},"documentation":{"id":74157,"nodeType":"StructuredDocumentation","src":"7222:315:68","text":"@param _operatorStore A contract storing operator assignments.\n @param _projects A contract which mints ERC-721's that represent project ownership and transfers.\n @param _fundingCycleStore A contract storing all funding cycle configurations.\n @param _owner The address that will own the contract."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":74171,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74160,"src":"7698:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":74172,"kind":"baseConstructorSpecifier","modifierName":{"id":74170,"name":"JBOperatable","nameLocations":["7685:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"7685:12:68"},"nodeType":"ModifierInvocation","src":"7685:28:68"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":74169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74160,"mutability":"mutable","name":"_operatorStore","nameLocation":"7574:14:68","nodeType":"VariableDeclaration","scope":74187,"src":"7557:31:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":74159,"nodeType":"UserDefinedTypeName","pathNode":{"id":74158,"name":"IJBOperatorStore","nameLocations":["7557:16:68"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"7557:16:68"},"referencedDeclaration":85400,"src":"7557:16:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"constant":false,"id":74163,"mutability":"mutable","name":"_projects","nameLocation":"7606:9:68","nodeType":"VariableDeclaration","scope":74187,"src":"7594:21:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":74162,"nodeType":"UserDefinedTypeName","pathNode":{"id":74161,"name":"IJBProjects","nameLocations":["7594:11:68"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"7594:11:68"},"referencedDeclaration":86082,"src":"7594:11:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"},{"constant":false,"id":74166,"mutability":"mutable","name":"_fundingCycleStore","nameLocation":"7642:18:68","nodeType":"VariableDeclaration","scope":74187,"src":"7621:39:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":74165,"nodeType":"UserDefinedTypeName","pathNode":{"id":74164,"name":"IJBFundingCycleStore","nameLocations":["7621:20:68"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"7621:20:68"},"referencedDeclaration":85310,"src":"7621:20:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"},{"constant":false,"id":74168,"mutability":"mutable","name":"_owner","nameLocation":"7674:6:68","nodeType":"VariableDeclaration","scope":74187,"src":"7666:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74167,"name":"address","nodeType":"ElementaryTypeName","src":"7666:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7551:133:68"},"returnParameters":{"id":74173,"nodeType":"ParameterList","parameters":[],"src":"7714:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":74289,"nodeType":"FunctionDefinition","src":"8604:1202:68","nodes":[],"body":{"id":74288,"nodeType":"Block","src":"8985:821:68","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74234,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74230,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73998,"src":"9026:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":74231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9035:5:68","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":86042,"src":"9026:14:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":74232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9026:16:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":74233,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9045:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9026:29:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74238,"nodeType":"IfStatement","src":"9022:75:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74235,"name":"INVALID_PROJECT_ID_IN_DIRECTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73972,"src":"9064:31:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9064:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74237,"nodeType":"RevertStatement","src":"9057:40:68"}},{"assignments":[74241],"declarations":[{"constant":false,"id":74241,"mutability":"mutable","name":"_fundingCycle","nameLocation":"9189:13:68","nodeType":"VariableDeclaration","scope":74288,"src":"9167:35:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":74240,"nodeType":"UserDefinedTypeName","pathNode":{"id":74239,"name":"JBFundingCycle","nameLocations":["9167:14:68"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"9167:14:68"},"referencedDeclaration":87801,"src":"9167:14:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":74246,"initialValue":{"arguments":[{"id":74244,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9233:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74242,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74003,"src":"9205:17:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":74243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9223:9:68","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"9205:27:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":74245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9205:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"9167:77:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74247,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9474:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9478:6:68","memberName":"sender","nodeType":"MemberAccess","src":"9474:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"baseExpression":{"id":74251,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"9496:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74253,"indexExpression":{"id":74252,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9509:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9496:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9488:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74249,"name":"address","nodeType":"ElementaryTypeName","src":"9488:7:68","typeDescriptions":{}}},"id":74254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9488:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9474:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74256,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"9531:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74258,"indexExpression":{"id":74257,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9544:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9531:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":74261,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9567:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74260,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9559:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74259,"name":"address","nodeType":"ElementaryTypeName","src":"9559:7:68","typeDescriptions":{}}},"id":74262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9559:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9531:38:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9474:95:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":74269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9579:42:68","subExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74265,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74241,"src":"9580:13:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":74266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9594:6:68","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":86845,"src":"9580:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$attached_to$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":74267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9580:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":74268,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9603:18:68","memberName":"allowSetController","nodeType":"MemberAccess","referencedDeclaration":87866,"src":"9580:41:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9474:147:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74274,"nodeType":"IfStatement","src":"9463:200:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74271,"name":"SET_CONTROLLER_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73974,"src":"9635:26:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9635:28:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74273,"nodeType":"RevertStatement","src":"9628:35:68"}},{"expression":{"id":74279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74275,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"9701:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74277,"indexExpression":{"id":74276,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9714:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9701:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74278,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"9728:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"9701:38:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":74280,"nodeType":"ExpressionStatement","src":"9701:38:68"},{"eventCall":{"arguments":[{"id":74282,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"9765:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74283,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74192,"src":"9777:11:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":74284,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9790:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9794:6:68","memberName":"sender","nodeType":"MemberAccess","src":"9790:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74281,"name":"SetController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84914,"src":"9751:13:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address)"}},"id":74286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9751:50:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74287,"nodeType":"EmitStatement","src":"9746:55:68"}]},"baseFunctions":[85014],"documentation":{"id":74188,"nodeType":"StructuredDocumentation","src":"8055:546:68","text":"@notice Update the controller that manages how terminals interact with the ecosystem.\n @dev A controller can be set if:\n @dev - the message sender is the project owner or an operator having the correct authorization.\n @dev - the message sender is the project's current controller.\n @dev - or, an allowedlisted address is setting a controller for a project that doesn't already have a controller.\n @param _projectId The ID of the project to set a new controller for.\n @param _controller The new controller to set."},"functionSelector":"714e7f32","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":74198,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"8758:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74196,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73998,"src":"8741:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":74197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8750:7:68","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"8741:16:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":74199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8741:28:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74200,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"8777:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74201,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"8795:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":74202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8808:14:68","memberName":"SET_CONTROLLER","nodeType":"MemberAccess","referencedDeclaration":87601,"src":"8795:27:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74203,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8831:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8835:6:68","memberName":"sender","nodeType":"MemberAccess","src":"8831:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"baseExpression":{"id":74207,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"8853:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74209,"indexExpression":{"id":74208,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"8866:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8853:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8845:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74205,"name":"address","nodeType":"ElementaryTypeName","src":"8845:7:68","typeDescriptions":{}}},"id":74210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8845:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8831:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74212,"name":"isAllowedToSetFirstController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74015,"src":"8891:29:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":74215,"indexExpression":{"expression":{"id":74213,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8921:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8925:6:68","memberName":"sender","nodeType":"MemberAccess","src":"8921:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8891:41:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74216,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"8936:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74218,"indexExpression":{"id":74217,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74190,"src":"8949:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8936:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":74221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8972:1:68","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":74220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8964:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74219,"name":"address","nodeType":"ElementaryTypeName","src":"8964:7:68","typeDescriptions":{}}},"id":74222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8964:10:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"8936:38:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8891:83:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":74225,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8890:85:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8831:144:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":74227,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8830:146:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":74228,"kind":"modifierInvocation","modifierName":{"id":74195,"name":"requirePermissionAllowingOverride","nameLocations":["8700:33:68"],"nodeType":"IdentifierPath","referencedDeclaration":80809,"src":"8700:33:68"},"nodeType":"ModifierInvocation","src":"8700:282:68"}],"name":"setControllerOf","nameLocation":"8613:15:68","overrides":{"id":74194,"nodeType":"OverrideSpecifier","overrides":[],"src":"8687:8:68"},"parameters":{"id":74193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74190,"mutability":"mutable","name":"_projectId","nameLocation":"8637:10:68","nodeType":"VariableDeclaration","scope":74289,"src":"8629:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74189,"name":"uint256","nodeType":"ElementaryTypeName","src":"8629:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74192,"mutability":"mutable","name":"_controller","nameLocation":"8657:11:68","nodeType":"VariableDeclaration","scope":74289,"src":"8649:19:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74191,"name":"address","nodeType":"ElementaryTypeName","src":"8649:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8628:41:68"},"returnParameters":{"id":74229,"nodeType":"ParameterList","parameters":[],"src":"8985:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74405,"nodeType":"FunctionDefinition","src":"10051:1232:68","nodes":[],"body":{"id":74404,"nodeType":"Block","src":"10352:931:68","nodes":[],"statements":[{"assignments":[74320],"declarations":[{"constant":false,"id":74320,"mutability":"mutable","name":"_fundingCycle","nameLocation":"10443:13:68","nodeType":"VariableDeclaration","scope":74404,"src":"10421:35:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":74319,"nodeType":"UserDefinedTypeName","pathNode":{"id":74318,"name":"JBFundingCycle","nameLocations":["10421:14:68"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"10421:14:68"},"referencedDeclaration":87801,"src":"10421:14:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":74325,"initialValue":{"arguments":[{"id":74323,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10487:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74321,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74003,"src":"10459:17:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":74322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10477:9:68","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"10459:27:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":74324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10459:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"10421:77:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74326,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10600:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10604:6:68","memberName":"sender","nodeType":"MemberAccess","src":"10600:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"baseExpression":{"id":74330,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"10622:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74332,"indexExpression":{"id":74331,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10635:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10622:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74329,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10614:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74328,"name":"address","nodeType":"ElementaryTypeName","src":"10614:7:68","typeDescriptions":{}}},"id":74333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10614:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10600:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":74339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"10651:41:68","subExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74335,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74320,"src":"10652:13:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":74336,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10666:6:68","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":86845,"src":"10652:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$attached_to$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":74337,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10652:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":74338,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10675:17:68","memberName":"allowSetTerminals","nodeType":"MemberAccess","referencedDeclaration":87864,"src":"10652:40:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10600:92:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74344,"nodeType":"IfStatement","src":"10589:144:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74341,"name":"SET_TERMINALS_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73976,"src":"10706:25:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10706:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74343,"nodeType":"RevertStatement","src":"10699:34:68"}},{"expression":{"id":74349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74345,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"10789:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74347,"indexExpression":{"id":74346,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10802:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10789:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74348,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"10816:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"src":"10789:37:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74350,"nodeType":"ExpressionStatement","src":"10789:37:68"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74351,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"10881:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"id":74352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10892:6:68","memberName":"length","nodeType":"MemberAccess","src":"10881:17:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":74353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10901:1:68","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10881:21:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74396,"nodeType":"IfStatement","src":"10877:343:68","trueBody":{"id":74395,"nodeType":"Block","src":"10904:316:68","statements":[{"body":{"id":74393,"nodeType":"Block","src":"10955:259:68","statements":[{"body":{"id":74387,"nodeType":"Block","src":"11017:142:68","statements":[{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"id":74378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":74372,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"11033:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"id":74374,"indexExpression":{"id":74373,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"11044:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11033:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":74375,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"11051:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"id":74377,"indexExpression":{"id":74376,"name":"_j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74363,"src":"11062:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11051:14:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"src":"11033:32:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74382,"nodeType":"IfStatement","src":"11029:66:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74379,"name":"DUPLICATE_TERMINALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73970,"src":"11074:19:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11074:21:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74381,"nodeType":"RevertStatement","src":"11067:28:68"}},{"id":74386,"nodeType":"UncheckedBlock","src":"11108:41:68","statements":[{"expression":{"id":74384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11132:4:68","subExpression":{"id":74383,"name":"_j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74363,"src":"11134:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74385,"nodeType":"ExpressionStatement","src":"11132:4:68"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74368,"name":"_j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74363,"src":"10991:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74369,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"10996:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"id":74370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11007:6:68","memberName":"length","nodeType":"MemberAccess","src":"10996:17:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10991:22:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74388,"initializationExpression":{"assignments":[74363],"declarations":[{"constant":false,"id":74363,"mutability":"mutable","name":"_j","nameLocation":"10978:2:68","nodeType":"VariableDeclaration","scope":74388,"src":"10970:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74362,"name":"uint256","nodeType":"ElementaryTypeName","src":"10970:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74367,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74364,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"10983:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":74365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10988:1:68","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10983:6:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10970:19:68"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"10965:194:68"},{"id":74392,"nodeType":"UncheckedBlock","src":"11169:37:68","statements":[{"expression":{"id":74390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11191:4:68","subExpression":{"id":74389,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"11193:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":74391,"nodeType":"ExpressionStatement","src":"11191:4:68"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":74361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":74358,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74356,"src":"10929:2:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":74359,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"10934:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},"id":74360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10945:6:68","memberName":"length","nodeType":"MemberAccess","src":"10934:17:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10929:22:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74394,"initializationExpression":{"assignments":[74356],"declarations":[{"constant":false,"id":74356,"mutability":"mutable","name":"_i","nameLocation":"10925:2:68","nodeType":"VariableDeclaration","scope":74394,"src":"10917:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74355,"name":"uint256","nodeType":"ElementaryTypeName","src":"10917:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":74357,"nodeType":"VariableDeclarationStatement","src":"10917:10:68"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"10912:302:68"}]}},{"eventCall":{"arguments":[{"id":74398,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"11243:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74399,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74296,"src":"11255:10:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"}},{"expression":{"id":74400,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"11267:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11271:6:68","memberName":"sender","nodeType":"MemberAccess","src":"11267:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[] calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74397,"name":"SetTerminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84933,"src":"11230:12:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,contract IJBPaymentTerminal[] memory,address)"}},"id":74402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11230:48:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74403,"nodeType":"EmitStatement","src":"11225:53:68"}]},"baseFunctions":[85023],"documentation":{"id":74290,"nodeType":"StructuredDocumentation","src":"9810:238:68","text":"@notice Set a project's terminals.\n @dev Only a project owner, an operator, or its controller can set its terminals.\n @param _projectId The ID of the project having terminals set.\n @param _terminals The terminal to set."},"functionSelector":"821b9fd8","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":74302,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10225:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74300,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73998,"src":"10208:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":74301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10217:7:68","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"10208:16:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":74303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10208:28:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74304,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10244:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74305,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"10262:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":74306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10275:13:68","memberName":"SET_TERMINALS","nodeType":"MemberAccess","referencedDeclaration":87604,"src":"10262:26:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74307,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10296:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10300:6:68","memberName":"sender","nodeType":"MemberAccess","src":"10296:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"baseExpression":{"id":74311,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"10318:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74313,"indexExpression":{"id":74312,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74292,"src":"10331:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10318:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74310,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10310:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74309,"name":"address","nodeType":"ElementaryTypeName","src":"10310:7:68","typeDescriptions":{}}},"id":74314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10310:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10296:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":74316,"kind":"modifierInvocation","modifierName":{"id":74299,"name":"requirePermissionAllowingOverride","nameLocations":["10167:33:68"],"nodeType":"IdentifierPath","referencedDeclaration":80809,"src":"10167:33:68"},"nodeType":"ModifierInvocation","src":"10167:182:68"}],"name":"setTerminalsOf","nameLocation":"10060:14:68","overrides":{"id":74298,"nodeType":"OverrideSpecifier","overrides":[],"src":"10154:8:68"},"parameters":{"id":74297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74292,"mutability":"mutable","name":"_projectId","nameLocation":"10083:10:68","nodeType":"VariableDeclaration","scope":74405,"src":"10075:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74291,"name":"uint256","nodeType":"ElementaryTypeName","src":"10075:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74296,"mutability":"mutable","name":"_terminals","nameLocation":"10125:10:68","nodeType":"VariableDeclaration","scope":74405,"src":"10095:40:68","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_calldata_ptr","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":74294,"nodeType":"UserDefinedTypeName","pathNode":{"id":74293,"name":"IJBPaymentTerminal","nameLocations":["10095:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"10095:18:68"},"referencedDeclaration":85505,"src":"10095:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":74295,"nodeType":"ArrayTypeName","src":"10095:20:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"}],"src":"10074:62:68"},"returnParameters":{"id":74317,"nodeType":"ParameterList","parameters":[],"src":"10352:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74458,"nodeType":"FunctionDefinition","src":"11930:721:68","nodes":[],"body":{"id":74457,"nodeType":"Block","src":"12169:482:68","nodes":[],"statements":[{"condition":{"id":74431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12261:43:68","subExpression":{"arguments":[{"id":74428,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74410,"src":"12285:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74429,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12293:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74426,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74413,"src":"12262:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":74427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12272:12:68","memberName":"acceptsToken","nodeType":"MemberAccess","referencedDeclaration":85449,"src":"12262:22:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) view external returns (bool)"}},"id":74430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12262:42:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74435,"nodeType":"IfStatement","src":"12257:76:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74432,"name":"TOKEN_NOT_ACCEPTED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73978,"src":"12313:18:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12313:20:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74434,"nodeType":"RevertStatement","src":"12306:27:68"}},{"expression":{"arguments":[{"id":74437,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12427:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74438,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74413,"src":"12439:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"id":74436,"name":"_addTerminalIfNeeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74540,"src":"12406:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$returns$__$","typeString":"function (uint256,contract IJBPaymentTerminal)"}},"id":74439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12406:43:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74440,"nodeType":"ExpressionStatement","src":"12406:43:68"},{"expression":{"id":74447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":74441,"name":"_primaryTerminalOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73993,"src":"12523:18:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$_$","typeString":"mapping(uint256 => mapping(address => contract IJBPaymentTerminal))"}},"id":74444,"indexExpression":{"id":74442,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12542:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12523:30:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"mapping(address => contract IJBPaymentTerminal)"}},"id":74445,"indexExpression":{"id":74443,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74410,"src":"12554:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12523:38:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74446,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74413,"src":"12564:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"src":"12523:50:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":74448,"nodeType":"ExpressionStatement","src":"12523:50:68"},{"eventCall":{"arguments":[{"id":74450,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12604:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74451,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74410,"src":"12616:6:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74452,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74413,"src":"12624:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},{"expression":{"id":74453,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"12635:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12639:6:68","memberName":"sender","nodeType":"MemberAccess","src":"12635:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74449,"name":"SetPrimaryTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84944,"src":"12585:18:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_contract$_IJBPaymentTerminal_$85505_$_t_address_$returns$__$","typeString":"function (uint256,address,contract IJBPaymentTerminal,address)"}},"id":74455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12585:61:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74456,"nodeType":"EmitStatement","src":"12580:66:68"}]},"baseFunctions":[85033],"documentation":{"id":74406,"nodeType":"StructuredDocumentation","src":"11287:640:68","text":"@notice Project's can set which terminal should be their primary for a particular token. \n @dev This is useful in case a project has several terminals connected for a particular token.\n @dev The terminal will be set as the primary terminal where ecosystem contracts should route tokens.\n @dev If setting a newly added terminal and the funding cycle doesn't allow new terminals, the caller must be the current controller.\n @param _projectId The ID of the project for which a primary token is being set.\n @param _token The token to set the primary terminal of.\n @param _terminal The terminal to make primary."},"functionSelector":"63d0850a","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":74419,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12107:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74417,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73998,"src":"12090:8:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":74418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12099:7:68","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"12090:16:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":74420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12090:28:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74421,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74408,"src":"12120:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":74422,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"12132:12:68","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":74423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12145:20:68","memberName":"SET_PRIMARY_TERMINAL","nodeType":"MemberAccess","referencedDeclaration":87607,"src":"12132:33:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":74424,"kind":"modifierInvocation","modifierName":{"id":74416,"name":"requirePermission","nameLocations":["12072:17:68"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"12072:17:68"},"nodeType":"ModifierInvocation","src":"12072:94:68"}],"name":"setPrimaryTerminalOf","nameLocation":"11939:20:68","overrides":{"id":74415,"nodeType":"OverrideSpecifier","overrides":[],"src":"12059:8:68"},"parameters":{"id":74414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74408,"mutability":"mutable","name":"_projectId","nameLocation":"11973:10:68","nodeType":"VariableDeclaration","scope":74458,"src":"11965:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74407,"name":"uint256","nodeType":"ElementaryTypeName","src":"11965:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74410,"mutability":"mutable","name":"_token","nameLocation":"11997:6:68","nodeType":"VariableDeclaration","scope":74458,"src":"11989:14:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74409,"name":"address","nodeType":"ElementaryTypeName","src":"11989:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74413,"mutability":"mutable","name":"_terminal","nameLocation":"12028:9:68","nodeType":"VariableDeclaration","scope":74458,"src":"12009:28:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74412,"nodeType":"UserDefinedTypeName","pathNode":{"id":74411,"name":"IJBPaymentTerminal","nameLocations":["12009:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"12009:18:68"},"referencedDeclaration":85505,"src":"12009:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"11959:82:68"},"returnParameters":{"id":74425,"nodeType":"ParameterList","parameters":[],"src":"12169:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74483,"nodeType":"FunctionDefinition","src":"13298:283:68","nodes":[],"body":{"id":74482,"nodeType":"Block","src":"13412:169:68","nodes":[],"statements":[{"expression":{"id":74473,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":74469,"name":"isAllowedToSetFirstController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74015,"src":"13456:29:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":74471,"indexExpression":{"id":74470,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74461,"src":"13486:8:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13456:39:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":74472,"name":"_flag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74463,"src":"13498:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13456:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74474,"nodeType":"ExpressionStatement","src":"13456:47:68"},{"eventCall":{"arguments":[{"id":74476,"name":"_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74461,"src":"13548:8:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":74477,"name":"_flag","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74463,"src":"13558:5:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":74478,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13565:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13569:6:68","memberName":"sender","nodeType":"MemberAccess","src":"13565:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74475,"name":"SetIsAllowedToSetFirstController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84952,"src":"13515:32:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,bool,address)"}},"id":74480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13515:61:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74481,"nodeType":"EmitStatement","src":"13510:66:68"}]},"baseFunctions":[85040],"documentation":{"id":74459,"nodeType":"StructuredDocumentation","src":"12655:640:68","text":"@notice Set a contract to the list of trusted addresses that can set a first controller for any project.\t\n @dev The owner can add addresses which are allowed to change projects' first controllers. \n @dev These addresses are known and vetted controllers as well as contracts designed to launch new projects. \n @dev A project can set its own controller without it being on the allow list.\n @dev If you would like an address/contract allowlisted, please reach out to the contract owner.\n @param _address The address to allow or revoke allowance from.\n @param _flag Whether allowance is being added or revoked."},"functionSelector":"a1ed3175","implemented":true,"kind":"function","modifiers":[{"id":74467,"kind":"modifierInvocation","modifierName":{"id":74466,"name":"onlyOwner","nameLocations":["13400:9:68"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"13400:9:68"},"nodeType":"ModifierInvocation","src":"13400:9:68"}],"name":"setIsAllowedToSetFirstController","nameLocation":"13307:32:68","overrides":{"id":74465,"nodeType":"OverrideSpecifier","overrides":[],"src":"13387:8:68"},"parameters":{"id":74464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74461,"mutability":"mutable","name":"_address","nameLocation":"13348:8:68","nodeType":"VariableDeclaration","scope":74483,"src":"13340:16:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":74460,"name":"address","nodeType":"ElementaryTypeName","src":"13340:7:68","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":74463,"mutability":"mutable","name":"_flag","nameLocation":"13363:5:68","nodeType":"VariableDeclaration","scope":74483,"src":"13358:10:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":74462,"name":"bool","nodeType":"ElementaryTypeName","src":"13358:4:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13339:30:68"},"returnParameters":{"id":74468,"nodeType":"ParameterList","parameters":[],"src":"13412:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":74540,"nodeType":"FunctionDefinition","src":"14018:721:68","nodes":[],"body":{"id":74539,"nodeType":"Block","src":"14106:633:68","nodes":[],"statements":[{"condition":{"arguments":[{"id":74493,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74486,"src":"14188:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74494,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74489,"src":"14200:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"id":74492,"name":"isTerminalOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74156,"src":"14175:12:68","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$returns$_t_bool_$","typeString":"function (uint256,contract IJBPaymentTerminal) view returns (bool)"}},"id":74495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14175:35:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74497,"nodeType":"IfStatement","src":"14171:48:68","trueBody":{"functionReturnParameters":74491,"id":74496,"nodeType":"Return","src":"14212:7:68"}},{"assignments":[74500],"declarations":[{"constant":false,"id":74500,"mutability":"mutable","name":"_fundingCycle","nameLocation":"14310:13:68","nodeType":"VariableDeclaration","scope":74539,"src":"14288:35:68","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":74499,"nodeType":"UserDefinedTypeName","pathNode":{"id":74498,"name":"JBFundingCycle","nameLocations":["14288:14:68"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"14288:14:68"},"referencedDeclaration":87801,"src":"14288:14:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":74505,"initialValue":{"arguments":[{"id":74503,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74486,"src":"14354:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":74501,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74003,"src":"14326:17:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":74502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14344:9:68","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"14326:27:68","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":74504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14326:39:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"14288:77:68"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":74520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":74514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":74506,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14467:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14471:6:68","memberName":"sender","nodeType":"MemberAccess","src":"14467:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"baseExpression":{"id":74510,"name":"controllerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74009,"src":"14489:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":74512,"indexExpression":{"id":74511,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74486,"src":"14502:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14489:24:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":74509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14481:7:68","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":74508,"name":"address","nodeType":"ElementaryTypeName","src":"14481:7:68","typeDescriptions":{}}},"id":74513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14481:33:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14467:47:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":74519,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14518:41:68","subExpression":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":74515,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74500,"src":"14519:13:68","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":74516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14533:6:68","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":86845,"src":"14519:20:68","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$attached_to$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":74517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14519:22:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":74518,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14542:17:68","memberName":"allowSetTerminals","nodeType":"MemberAccess","referencedDeclaration":87864,"src":"14519:40:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14467:92:68","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":74524,"nodeType":"IfStatement","src":"14456:144:68","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":74521,"name":"SET_TERMINALS_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73976,"src":"14573:25:68","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":74522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14573:27:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74523,"nodeType":"RevertStatement","src":"14566:34:68"}},{"expression":{"arguments":[{"id":74529,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74489,"src":"14666:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}],"expression":{"baseExpression":{"id":74525,"name":"_terminalsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":73985,"src":"14636:12:68","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_$","typeString":"mapping(uint256 => contract IJBPaymentTerminal[] storage ref)"}},"id":74527,"indexExpression":{"id":74526,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74486,"src":"14649:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14636:24:68","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":74528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14661:4:68","memberName":"push","nodeType":"MemberAccess","src":"14636:29:68","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr_$_t_contract$_IJBPaymentTerminal_$85505_$returns$__$attached_to$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr_$","typeString":"function (contract IJBPaymentTerminal[] storage pointer,contract IJBPaymentTerminal)"}},"id":74530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14636:40:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74531,"nodeType":"ExpressionStatement","src":"14636:40:68"},{"eventCall":{"arguments":[{"id":74533,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74486,"src":"14700:10:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":74534,"name":"_terminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74489,"src":"14712:9:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},{"expression":{"id":74535,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14723:3:68","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":74536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14727:6:68","memberName":"sender","nodeType":"MemberAccess","src":"14723:10:68","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},{"typeIdentifier":"t_address","typeString":"address"}],"id":74532,"name":"AddTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84923,"src":"14688:11:68","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IJBPaymentTerminal_$85505_$_t_address_$returns$__$","typeString":"function (uint256,contract IJBPaymentTerminal,address)"}},"id":74537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14688:46:68","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":74538,"nodeType":"EmitStatement","src":"14683:51:68"}]},"documentation":{"id":74484,"nodeType":"StructuredDocumentation","src":"13814:201:68","text":"@notice Add a terminal to a project's list of terminals if it hasn't been already.\n @param _projectId The ID of the project having a terminal added.\n @param _terminal The terminal to add."},"implemented":true,"kind":"function","modifiers":[],"name":"_addTerminalIfNeeded","nameLocation":"14027:20:68","parameters":{"id":74490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":74486,"mutability":"mutable","name":"_projectId","nameLocation":"14056:10:68","nodeType":"VariableDeclaration","scope":74540,"src":"14048:18:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":74485,"name":"uint256","nodeType":"ElementaryTypeName","src":"14048:7:68","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":74489,"mutability":"mutable","name":"_terminal","nameLocation":"14087:9:68","nodeType":"VariableDeclaration","scope":74540,"src":"14068:28:68","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"},"typeName":{"id":74488,"nodeType":"UserDefinedTypeName","pathNode":{"id":74487,"name":"IJBPaymentTerminal","nameLocations":["14068:18:68"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"14068:18:68"},"referencedDeclaration":85505,"src":"14068:18:68","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"visibility":"internal"}],"src":"14047:50:68"},"returnParameters":{"id":74491,"nodeType":"ParameterList","parameters":[],"src":"14106:0:68"},"scope":74541,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":73959,"name":"JBOperatable","nameLocations":["951:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"951:12:68"},"id":73960,"nodeType":"InheritanceSpecifier","src":"951:12:68"},{"baseName":{"id":73961,"name":"Ownable","nameLocations":["965:7:68"],"nodeType":"IdentifierPath","referencedDeclaration":89689,"src":"965:7:68"},"id":73962,"nodeType":"InheritanceSpecifier","src":"965:7:68"},{"baseName":{"id":73963,"name":"IJBDirectory","nameLocations":["974:12:68"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"974:12:68"},"id":73964,"nodeType":"InheritanceSpecifier","src":"974:12:68"}],"canonicalName":"JBDirectory","contractDependencies":[],"contractKind":"contract","documentation":{"id":73958,"nodeType":"StructuredDocumentation","src":"734:193:68","text":"@notice Keeps a reference of which terminal contracts each project is currently accepting funds through, and which controller contract is managing each project's tokens and funding cycles."},"fullyImplemented":true,"linearizedBaseContracts":[74541,85041,89689,95576,80910,85331],"name":"JBDirectory","nameLocation":"936:11:68","scope":74542,"usedErrors":[73970,73972,73974,73976,73978,80772],"usedEvents":[84914,84923,84933,84944,84952,89590]}],"license":"MIT"},"id":68} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"controllerOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"isAllowedToSetFirstController","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"primaryTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPaymentTerminal"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setControllerOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_controller","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsAllowedToSetFirstController","inputs":[{"name":"_address","type":"address","internalType":"address"},{"name":"_flag","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPrimaryTerminalOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"address"},{"name":"_terminal","type":"address","internalType":"contract IJBPaymentTerminal"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTerminalsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"terminalsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address[]","internalType":"contract IJBPaymentTerminal[]"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetController","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"controller","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetIsAllowedToSetFirstController","inputs":[{"name":"addr","type":"address","indexed":true,"internalType":"address"},{"name":"flag","type":"bool","indexed":true,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetPrimaryTerminal","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"terminal","type":"address","indexed":true,"internalType":"contract IJBPaymentTerminal"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTerminals","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"terminals","type":"address[]","indexed":false,"internalType":"contract IJBPaymentTerminal[]"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"DUPLICATE_TERMINALS","inputs":[]},{"type":"error","name":"INVALID_PROJECT_ID_IN_DIRECTORY","inputs":[]},{"type":"error","name":"SET_CONTROLLER_NOT_ALLOWED","inputs":[]},{"type":"error","name":"SET_TERMINALS_NOT_ALLOWED","inputs":[]},{"type":"error","name":"TOKEN_NOT_ACCEPTED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c63430008170033","sourceMap":"927:13814:68:-:0;;;7540:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;936:32:157;719:10:181;936:18:157;:32::i;:::-;-1:-1:-1;;;;;7720:20:68;;::::1;;::::0;7746:38;::::1;;::::0;7791:26:::1;7810:6:::0;7791:18:::1;:26::i;:::-;7540:282:::0;;;;927:13814;;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:149:197:-;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:803::-;342:6;350;358;366;419:3;407:9;398:7;394:23;390:33;387:53;;;436:1;433;426:12;387:53;468:9;462:16;487:49;530:5;487:49;:::i;:::-;605:2;590:18;;584:25;555:5;;-1:-1:-1;618:51:197;584:25;618:51;:::i;:::-;740:2;725:18;;719:25;688:7;;-1:-1:-1;753:51:197;719:25;753:51;:::i;:::-;875:2;860:18;;854:25;823:7;;-1:-1:-1;888:51:197;854:25;888:51;:::i;:::-;168:803;;;;-1:-1:-1;168:803:197;;-1:-1:-1;;168:803:197:o;:::-;927:13814:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c63430008170033","sourceMap":"927:13814:68:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2745:64;;;;;;;;-1:-1:-1;;;;;208:32:197;;;190:51;;178:2;163:18;2745:64:68;;;;;;;;3241:56;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3241:56:68;;;11930:721;;;;;;:::i;:::-;;:::i;:::-;;6356:633;;;;;;:::i;:::-;;:::i;:::-;;;1783:14:197;;1776:22;1758:41;;1746:2;1731:18;6356:633:68;1618:187:197;8604:1202:68;;;;;;:::i;:::-;;:::i;1824:101:157:-;;;:::i;10051:1232:68:-;;;;;;:::i;:::-;;:::i;4593:1202::-;;;;;;:::i;:::-;;:::i;2625:46::-;;;;;1201:85:157;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;1201:85;;13298:283:68;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;3539:70:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4044:162;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2074:198:157:-;;;;;;:::i;:::-;;:::i;11930:721:68:-;12090:28;;-1:-1:-1;;;12090:28:68;;;;;5144:25:197;;;12090:8:68;-1:-1:-1;;;;;12090:16:68;;;;5117:18:197;;12090:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12120:10;781:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;12262:42:68::1;::::0;-1:-1:-1;;;12262:42:68;;-1:-1:-1;;;;;5628:32:197;;;12262:42:68::1;::::0;::::1;5610:51:197::0;5677:18;;;5670:34;;;12262:22:68;::::1;::::0;::::1;::::0;5583:18:197;;12262:42:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12257:76;;12313:20;;-1:-1:-1::0;;;12313:20:68::1;;;;;;;;;;;12257:76;12406:43;12427:10;12439:9;12406:20;:43::i;:::-;12523:30;::::0;;;:18:::1;:30;::::0;;;;;;;-1:-1:-1;;;;;12523:38:68;;::::1;::::0;;;;;;;;;;:50;;-1:-1:-1;;;;;;12523:50:68::1;::::0;;::::1;::::0;;::::1;::::0;;12585:61;;12635:10:::1;190:51:197::0;;12523:38:68;;:30;;12585:61:::1;::::0;163:18:197;12585:61:68::1;;;;;;;11930:721:::0;;;;;;:::o;6356:633::-;6474:4;6585:24;;;:12;:24;;;;;:31;6474:4;6689:245;6711:18;6706:2;:23;6689:245;;;6832:24;;;;:12;:24;;;;;:28;;-1:-1:-1;;;;;6832:41:68;;;:24;6857:2;;6832:28;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;6832:28:68;:41;6828:58;;6882:4;6875:11;;;;;;6828:58;6915:4;;6689:245;;;;6979:5;6972:12;;;6356:633;;;;;:::o;8604:1202::-;8741:28;;-1:-1:-1;;;8741:28:68;;;;;5144:25:197;;;8741:8:68;-1:-1:-1;;;;;8741:16:68;;;;5117:18:197;;8741:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8853:24;;;;:12;:24;;;;;;;;682:2:125;;-1:-1:-1;;;;;8853:24:68;8831:10;:47;;:144;;-1:-1:-1;8921:10:68;8891:41;;;;:29;:41;;;;;;;;:83;;;;-1:-1:-1;8972:1:68;8936:24;;;:12;:24;;;;;;-1:-1:-1;;;;;8936:24:68;:38;8891:83;1807:82:81;1842:8;1852:7;1861:16;1879:9;1807:34;:82::i;:::-;9045:10:68::1;9026:8;-1:-1:-1::0;;;;;9026:14:68::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:29;9022:75;;;9064:33;;-1:-1:-1::0;;;9064:33:68::1;;;;;;;;;;;9022:75;9205:39;::::0;-1:-1:-1;;;9205:39:68;;::::1;::::0;::::1;5144:25:197::0;;;9167:35:68::1;::::0;9205:17:::1;-1:-1:-1::0;;;;;9205:27:68::1;::::0;::::1;::::0;5117:18:197;;9205:39:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9496:24;::::0;;;:12:::1;:24;::::0;;;;;9167:77;;-1:-1:-1;;;;;;9496:24:68::1;9474:10;:47;::::0;::::1;::::0;:95:::1;;-1:-1:-1::0;9567:1:68::1;9531:24:::0;;;:12:::1;:24;::::0;;;;;-1:-1:-1;;;;;9531:24:68::1;:38:::0;::::1;9474:95;:147;;;;;9580:22;:13;:20;:22::i;:::-;:41;;;9579:42;9474:147;9463:200;;;9635:28;;-1:-1:-1::0;;;9635:28:68::1;;;;;;;;;;;9463:200;9701:24;::::0;;;:12:::1;:24;::::0;;;;;;;;:38;;-1:-1:-1;;;;;;9701:38:68::1;-1:-1:-1::0;;;;;9701:38:68;::::1;::::0;;::::1;::::0;;;9751:50;;9790:10:::1;190:51:197::0;;9701:24:68;;9751:50:::1;::::0;163:18:197;9751:50:68::1;;;;;;;8985:821;8604:1202:::0;;;;;;:::o;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;10051:1232:68:-;10208:28;;-1:-1:-1;;;10208:28:68;;;;;5144:25:197;;;10208:8:68;-1:-1:-1;;;;;10208:16:68;;;;5117:18:197;;10208:28:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10318:24;;;;:12;:24;;;;;;;;728:2:125;;-1:-1:-1;;;;;10318:24:68;10296:10;:47;1807:82:81;1842:8;10318:24:68;728:2:125;10296:47:68;1807:34:81;:82::i;:::-;10459:39:68::1;::::0;-1:-1:-1;;;10459:39:68;;::::1;::::0;::::1;5144:25:197::0;;;10421:35:68::1;::::0;10459:17:::1;-1:-1:-1::0;;;;;10459:27:68::1;::::0;::::1;::::0;5117:18:197;;10459:39:68::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10622:24;::::0;;;:12:::1;:24;::::0;;;;;10421:77;;-1:-1:-1;;;;;;10622:24:68::1;10600:10;:47;::::0;::::1;::::0;:92:::1;;;10652:22;:13;:20;:22::i;:::-;:40:::0;10651:41:::1;10600:92;10589:144;;;10706:27;;-1:-1:-1::0;;;10706:27:68::1;;;;;;;;;;;10589:144;10789:24;::::0;;;:12:::1;:24;::::0;;;;:37:::1;::::0;10816:10;;10789:37:::1;:::i;:::-;-1:-1:-1::0;10901:1:68::1;10881:21:::0;::::1;10877:343;;;10917:10;10912:302;10929:22:::0;;::::1;10912:302;;;10970:10;10983:6;:2:::0;10988:1:::1;10983:6;:::i;:::-;10970:19;;10965:194;10991:22:::0;;::::1;10965:194;;;11051:10;;11062:2;11051:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11033:32:68::1;:10;;11044:2;11033:14;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11033:32:68::1;::::0;11029:66:::1;;11074:21;;-1:-1:-1::0;;;11074:21:68::1;;;;;;;;;;;11029:66;11132:4;;10965:194;;;-1:-1:-1::0;11191:4:68::1;;10912:302;;;;10877:343;11243:10;11230:48;11255:10;;11267;11230:48;;;;;;;;:::i;:::-;;;;;;;;10352:931;10051:1232:::0;;;;;;;:::o;4593:1202::-;4704:18;4857:30;;;:18;:30;;;;;;;;-1:-1:-1;;;;;4857:38:68;;;;;;;;;;;5029:50;;;;;:102;;;5089:42;5102:10;5114:16;5089:12;:42::i;:::-;5018:143;;;5145:16;-1:-1:-1;5138:23:68;;5018:143;5236:26;5265:24;;;:12;:24;;;;;:31;;5371:358;5393:18;5388:2;:23;5371:358;;;5484:28;5515:24;;;:12;:24;;;;;:28;;5540:2;;5515:28;;;;;;:::i;:::-;;;;;;;;;;;5621:42;;-1:-1:-1;;;5621:42:68;;-1:-1:-1;;;;;5628:32:197;;;5621:42:68;;;5610:51:197;5677:18;;;5670:34;;;5515:28:68;;;;-1:-1:-1;5515:28:68;;5621:22;;5583:18:197;;5621:42:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5617:64;;;5672:9;-1:-1:-1;5665:16:68;;-1:-1:-1;;;5665:16:68;5617:64;-1:-1:-1;5710:4:68;;5371:358;;;-1:-1:-1;5787:1:68;;4593:1202;-1:-1:-1;;;;;4593:1202:68:o;13298:283::-;1094:13:157;:11;:13::i;:::-;-1:-1:-1;;;;;13456:39:68;::::1;;::::0;;;:29:::1;:39;::::0;;;;;;;;:47;;-1:-1:-1;;13456:47:68::1;::::0;::::1;;::::0;;::::1;::::0;;;13515:61;;13565:10:::1;190:51:197::0;;13456:47:68;;:39;13515:61:::1;::::0;163:18:197;13515:61:68::1;;;;;;;13298:283:::0;;:::o;4044:162::-;4177:24;;;;:12;:24;;;;;;;;;4170:31;;;;;;;;;;;;;;;;;4133:27;;4170:31;;;4177:24;4170:31;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4170:31:68;;;;;;;;;;;;;;;;;;;;;;;4044:162;;;:::o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;9185:2:197;2154:73:157::1;::::0;::::1;9167:21:197::0;9224:2;9204:18;;;9197:30;9263:34;9243:18;;;9236:62;-1:-1:-1;;;9314:18:197;;;9307:36;9360:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;-1:-1:-1;;;;;3390:13:81;:27;;;;:76;;3418:10;;3430:8;;3440:7;;3449:16;;3390:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;-1:-1:-1;;;;;3477:13:81;:27;;;;:70;;3505:10;;3517:8;;3527:1;;3530:16;;3477:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;14018:721:68:-;14175:35;14188:10;14200:9;14175:12;:35::i;:::-;14171:48;;;14018:721;;:::o;14171:48::-;14326:39;;-1:-1:-1;;;14326:39:68;;;;;5144:25:197;;;14288:35:68;;14326:17;-1:-1:-1;;;;;14326:27:68;;;;5117:18:197;;14326:39:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14489:24;;;;:12;:24;;;;;;14288:77;;-1:-1:-1;;;;;;14489:24:68;14467:10;:47;;;;:92;;;14519:22;:13;:20;:22::i;:::-;:40;14518:41;14467:92;14456:144;;;14573:27;;-1:-1:-1;;;14573:27:68;;;;;;;;;;;14456:144;14636:24;;;;:12;:24;;;;;;;;:40;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14636:40:68;-1:-1:-1;;;;;14636:40:68;;;;;;;;14688:46;;14723:10;190:51:197;;14636:24:68;;14688:46;;163:18:197;14688:46:68;;;;;;;14106:633;14018:721;;:::o;4018:415:81:-;4191:9;4190:10;:42;;;;-1:-1:-1;4210:10:81;-1:-1:-1;;;;;4210:22:81;;;;4190:42;:129;;;;-1:-1:-1;4243:76:81;;-1:-1:-1;;;4243:76:81;;-1:-1:-1;;;;;4243:13:81;:27;;;;:76;;4271:10;;4283:8;;4293:7;;4302:16;;4243:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4242:77;4190:129;:210;;;;-1:-1:-1;4330:70:81;;-1:-1:-1;;;4330:70:81;;-1:-1:-1;;;;;4330:13:81;:27;;;;:70;;4358:10;;4370:8;;4380:1;;4383:16;;4330:70;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4329:71;4190:210;4179:249;;;4414:14;;-1:-1:-1;;;4414:14:81;;;;;;;;;;;4179:249;4018:415;;;;:::o;482:232:123:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;622:87:123;706:1;680:13;:22;;;:27;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1558:171:124;;;;;;;373:1;365:9;;;364:16;;1558:171;;476:10;;;475:16;;474:23;;1558:171;;;;;;;597:1;588:10;;;;587:16;;586:23;1558:171;;;;;1415:319;1359:130:157;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;10504:2:197;1414:68:157;;;10486:21:197;;;10523:18;;;10516:30;10582:34;10562:18;;;10555:62;10634:18;;1414:68:157;10302:356:197;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;252:180:197;311:6;364:2;352:9;343:7;339:23;335:32;332:52;;;380:1;377;370:12;332:52;-1:-1:-1;403:23:197;;252:180;-1:-1:-1;252:180:197:o;645:131::-;-1:-1:-1;;;;;720:31:197;;710:42;;700:70;;766:1;763;756:12;781:484;886:6;894;902;955:2;943:9;934:7;930:23;926:32;923:52;;;971:1;968;961:12;923:52;1007:9;994:23;984:33;;1067:2;1056:9;1052:18;1039:32;1080:31;1105:5;1080:31;:::i;:::-;1130:5;-1:-1:-1;1187:2:197;1172:18;;1159:32;1200:33;1159:32;1200:33;:::i;:::-;1252:7;1242:17;;;781:484;;;;;:::o;1270:343::-;1366:6;1374;1427:2;1415:9;1406:7;1402:23;1398:32;1395:52;;;1443:1;1440;1433:12;1395:52;1479:9;1466:23;1456:33;;1539:2;1528:9;1524:18;1511:32;1552:31;1577:5;1552:31;:::i;:::-;1602:5;1592:15;;;1270:343;;;;;:::o;2130:711::-;2253:6;2261;2269;2322:2;2310:9;2301:7;2297:23;2293:32;2290:52;;;2338:1;2335;2328:12;2290:52;2374:9;2361:23;2351:33;;2435:2;2424:9;2420:18;2407:32;2458:18;2499:2;2491:6;2488:14;2485:34;;;2515:1;2512;2505:12;2485:34;2553:6;2542:9;2538:22;2528:32;;2598:7;2591:4;2587:2;2583:13;2579:27;2569:55;;2620:1;2617;2610:12;2569:55;2660:2;2647:16;2686:2;2678:6;2675:14;2672:34;;;2702:1;2699;2692:12;2672:34;2755:7;2750:2;2740:6;2737:1;2733:14;2729:2;2725:23;2721:32;2718:45;2715:65;;;2776:1;2773;2766:12;2715:65;2807:2;2803;2799:11;2789:21;;2829:6;2819:16;;;;;2130:711;;;;;:::o;3311:118::-;3397:5;3390:13;3383:21;3376:5;3373:32;3363:60;;3419:1;3416;3409:12;3434:382;3499:6;3507;3560:2;3548:9;3539:7;3535:23;3531:32;3528:52;;;3576:1;3573;3566:12;3528:52;3615:9;3602:23;3634:31;3659:5;3634:31;:::i;:::-;3684:5;-1:-1:-1;3741:2:197;3726:18;;3713:32;3754:30;3713:32;3754:30;:::i;4055:247::-;4114:6;4167:2;4155:9;4146:7;4142:23;4138:32;4135:52;;;4183:1;4180;4173:12;4135:52;4222:9;4209:23;4241:31;4266:5;4241:31;:::i;:::-;4291:5;4055:247;-1:-1:-1;;;4055:247:197:o;4307:686::-;4506:2;4558:21;;;4628:13;;4531:18;;;4650:22;;;4477:4;;4506:2;4729:15;;;;4703:2;4688:18;;;4477:4;4772:195;4786:6;4783:1;4780:13;4772:195;;;4851:13;;-1:-1:-1;;;;;4847:39:197;4835:52;;4942:15;;;;4907:12;;;;4883:1;4801:9;4772:195;;;-1:-1:-1;4984:3:197;;4307:686;-1:-1:-1;;;;;;4307:686:197:o;5180:251::-;5250:6;5303:2;5291:9;5282:7;5278:23;5274:32;5271:52;;;5319:1;5316;5309:12;5271:52;5351:9;5345:16;5370:31;5395:5;5370:31;:::i;5715:245::-;5782:6;5835:2;5823:9;5814:7;5810:23;5806:32;5803:52;;;5851:1;5848;5841:12;5803:52;5883:9;5877:16;5902:28;5924:5;5902:28;:::i;5965:127::-;6026:10;6021:3;6017:20;6014:1;6007:31;6057:4;6054:1;6047:15;6081:4;6078:1;6071:15;6097:184;6167:6;6220:2;6208:9;6199:7;6195:23;6191:32;6188:52;;;6236:1;6233;6226:12;6188:52;-1:-1:-1;6259:16:197;;6097:184;-1:-1:-1;6097:184:197:o;6286:344::-;6353:2;6347:9;6395:3;6383:16;;6429:18;6414:34;;6450:22;;;6411:62;6408:185;;;6515:10;6510:3;6506:20;6503:1;6496:31;6550:4;6547:1;6540:15;6578:4;6575:1;6568:15;6408:185;6609:2;6602:22;6286:344;:::o;6635:161::-;6737:13;;6759:31;6737:13;6759:31;:::i;:::-;6635:161;;;:::o;6801:827::-;6904:6;6957:3;6945:9;6936:7;6932:23;6928:33;6925:53;;;6974:1;6971;6964:12;6925:53;7000:17;;:::i;:::-;7046:9;7040:16;7033:5;7026:31;7110:2;7099:9;7095:18;7089:25;7084:2;7077:5;7073:14;7066:49;7168:2;7157:9;7153:18;7147:25;7142:2;7135:5;7131:14;7124:49;7226:2;7215:9;7211:18;7205:25;7200:2;7193:5;7189:14;7182:49;7285:3;7274:9;7270:19;7264:26;7258:3;7251:5;7247:15;7240:51;7345:3;7334:9;7330:19;7324:26;7318:3;7311:5;7307:15;7300:51;7405:3;7394:9;7390:19;7384:26;7378:3;7371:5;7367:15;7360:51;7444:73;7512:3;7501:9;7497:19;7444:73;:::i;:::-;7438:3;7427:15;;7420:98;7537:3;7578:18;;;7572:25;7556:14;;;7549:49;;;;-1:-1:-1;7431:5:197;6801:827;-1:-1:-1;6801:827:197:o;7633:222::-;7698:9;;;7719:10;;;7716:133;;;7771:10;7766:3;7762:20;7759:1;7752:31;7806:4;7803:1;7796:15;7834:4;7831:1;7824:15;8140:838;8396:2;8408:21;;;8381:18;;8464:22;;;8348:4;8543:6;8517:2;8502:18;;8348:4;8577:304;8591:6;8588:1;8585:13;8577:304;;;8666:6;8653:20;8686:31;8711:5;8686:31;:::i;:::-;-1:-1:-1;;;;;8742:31:197;8730:44;;8797:4;8856:15;;;;8821:12;;;;8770:1;8606:9;8577:304;;;-1:-1:-1;;;;;;8939:32:197;;;;8932:4;8917:20;;;;8910:62;;;;-1:-1:-1;8898:3:197;;8140:838;-1:-1:-1;;;8140:838:197:o;9390:447::-;-1:-1:-1;;;;;9677:15:197;;;9659:34;;9729:15;;;;9724:2;9709:18;;9702:43;9776:2;9761:18;;9754:34;9819:2;9804:18;;9797:34;;;;9608:3;9593:19;;9390:447::o","linkReferences":{},"immutableReferences":{"74014":[{"start":485,"length":32},{"start":702,"length":32},{"start":1250,"length":32},{"start":1469,"length":32},{"start":2032,"length":32}],"74019":[{"start":255,"length":32},{"start":1653,"length":32},{"start":2215,"length":32},{"start":3731,"length":32}],"80830":[{"start":560,"length":32},{"start":3369,"length":32},{"start":3525,"length":32},{"start":4095,"length":32},{"start":4251,"length":32}]}},"methodIdentifiers":{"controllerOf(uint256)":"5dd8f6aa","fundingCycleStore()":"557e7155","isAllowedToSetFirstController(address)":"c5664e21","isTerminalOf(uint256,address)":"6e49181f","operatorStore()":"ad007d63","owner()":"8da5cb5b","primaryTerminalOf(uint256,address)":"86202650","projects()":"8b79543c","renounceOwnership()":"715018a6","setControllerOf(uint256,address)":"714e7f32","setIsAllowedToSetFirstController(address,bool)":"a1ed3175","setPrimaryTerminalOf(uint256,address,address)":"63d0850a","setTerminalsOf(uint256,address[])":"821b9fd8","terminalsOf(uint256)":"d1754153","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"DUPLICATE_TERMINALS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PROJECT_ID_IN_DIRECTORY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SET_CONTROLLER_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SET_TERMINALS_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKEN_NOT_ACCEPTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"controller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"flag\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetIsAllowedToSetFirstController\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetPrimaryTerminal\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTerminals\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"controllerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isAllowedToSetFirstController\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"_terminal\",\"type\":\"address\"}],\"name\":\"isTerminalOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"primaryTerminalOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"setControllerOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_flag\",\"type\":\"bool\"}],\"name\":\"setIsAllowedToSetFirstController\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"_terminal\",\"type\":\"address\"}],\"name\":\"setPrimaryTerminalOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"_terminals\",\"type\":\"address[]\"}],\"name\":\"setTerminalsOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"terminalsOf\",\"outputs\":[{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_owner\":\"The address that will own the contract.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"isTerminalOf(uint256,address)\":{\"params\":{\"_projectId\":\"The ID of the project to check within.\",\"_terminal\":\"The address of the terminal to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether or not the specified terminal is a terminal of the specified project.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"primaryTerminalOf(uint256,address)\":{\"details\":\"The zero address is returned if a terminal isn't found for the specified token.\",\"params\":{\"_projectId\":\"The ID of the project to get a terminal for.\",\"_token\":\"The token the terminal accepts.\"},\"returns\":{\"_0\":\"The primary terminal for the project for the specified token.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setControllerOf(uint256,address)\":{\"details\":\"A controller can be set if:- the message sender is the project owner or an operator having the correct authorization.- the message sender is the project's current controller.- or, an allowedlisted address is setting a controller for a project that doesn't already have a controller.\",\"params\":{\"_controller\":\"The new controller to set.\",\"_projectId\":\"The ID of the project to set a new controller for.\"}},\"setIsAllowedToSetFirstController(address,bool)\":{\"details\":\"The owner can add addresses which are allowed to change projects' first controllers. These addresses are known and vetted controllers as well as contracts designed to launch new projects. A project can set its own controller without it being on the allow list.If you would like an address/contract allowlisted, please reach out to the contract owner.\",\"params\":{\"_address\":\"The address to allow or revoke allowance from.\",\"_flag\":\"Whether allowance is being added or revoked.\"}},\"setPrimaryTerminalOf(uint256,address,address)\":{\"details\":\"This is useful in case a project has several terminals connected for a particular token.The terminal will be set as the primary terminal where ecosystem contracts should route tokens.If setting a newly added terminal and the funding cycle doesn't allow new terminals, the caller must be the current controller.\",\"params\":{\"_projectId\":\"The ID of the project for which a primary token is being set.\",\"_terminal\":\"The terminal to make primary.\",\"_token\":\"The token to set the primary terminal of.\"}},\"setTerminalsOf(uint256,address[])\":{\"details\":\"Only a project owner, an operator, or its controller can set its terminals.\",\"params\":{\"_projectId\":\"The ID of the project having terminals set.\",\"_terminals\":\"The terminal to set.\"}},\"terminalsOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get terminals of.\"},\"returns\":{\"_0\":\"An array of terminal addresses.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"_primaryTerminalOf\":{\"custom:member\":\"_projectId The ID of the project to get the primary terminal of._token The token to get the project's primary terminal of.\"},\"_terminalsOf\":{\"custom:member\":\"_projectId The ID of the project to get terminals of.\"},\"controllerOf\":{\"custom:member\":\"_projectId The ID of the project to get the controller of.\"},\"isAllowedToSetFirstController\":{\"custom:param\":\"_address The address that is either allowed or not.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"controllerOf(uint256)\":{\"notice\":\"For each project ID, the controller that manages how terminals interact with tokens and funding cycles.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations.\"},\"isAllowedToSetFirstController(address)\":{\"notice\":\"Addresses that can set a project's first controller on their behalf. These addresses/contracts have been vetted and verified by this contract's owner.\"},\"isTerminalOf(uint256,address)\":{\"notice\":\"Whether or not a specified terminal is a terminal of the specified project.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"primaryTerminalOf(uint256,address)\":{\"notice\":\"The primary terminal that is managing funds for a project for a specified token.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers.\"},\"setControllerOf(uint256,address)\":{\"notice\":\"Update the controller that manages how terminals interact with the ecosystem.\"},\"setIsAllowedToSetFirstController(address,bool)\":{\"notice\":\"Set a contract to the list of trusted addresses that can set a first controller for any project.\\t\"},\"setPrimaryTerminalOf(uint256,address,address)\":{\"notice\":\"Project's can set which terminal should be their primary for a particular token. \"},\"setTerminalsOf(uint256,address[])\":{\"notice\":\"Set a project's terminals.\"},\"terminalsOf(uint256)\":{\"notice\":\"For each project ID, the terminals that are currently managing its funds.\"}},\"notice\":\"Keeps a reference of which terminal contracts each project is currently accepting funds through, and which controller contract is managing each project's tokens and funding cycles.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":\"JBDirectory\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":{\"keccak256\":\"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25\",\"dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"DUPLICATE_TERMINALS"},{"inputs":[],"type":"error","name":"INVALID_PROJECT_ID_IN_DIRECTORY"},{"inputs":[],"type":"error","name":"SET_CONTROLLER_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"SET_TERMINALS_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"TOKEN_NOT_ACCEPTED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTerminal","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"controller","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetController","anonymous":false},{"inputs":[{"internalType":"address","name":"addr","type":"address","indexed":true},{"internalType":"bool","name":"flag","type":"bool","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetIsAllowedToSetFirstController","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetPrimaryTerminal","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTerminals","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"controllerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedToSetFirstController","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal","name":"_terminal","type":"address"}],"stateMutability":"view","type":"function","name":"isTerminalOf","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"primaryTerminalOf","outputs":[{"internalType":"contract IJBPaymentTerminal","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setControllerOf"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_flag","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsAllowedToSetFirstController"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"contract IJBPaymentTerminal","name":"_terminal","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setPrimaryTerminalOf"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBPaymentTerminal[]","name":"_terminals","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"setTerminalsOf"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"terminalsOf","outputs":[{"internalType":"contract IJBPaymentTerminal[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_fundingCycleStore":"A contract storing all funding cycle configurations.","_operatorStore":"A contract storing operator assignments.","_owner":"The address that will own the contract.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"isTerminalOf(uint256,address)":{"params":{"_projectId":"The ID of the project to check within.","_terminal":"The address of the terminal to check for."},"returns":{"_0":"A flag indicating whether or not the specified terminal is a terminal of the specified project."}},"owner()":{"details":"Returns the address of the current owner."},"primaryTerminalOf(uint256,address)":{"details":"The zero address is returned if a terminal isn't found for the specified token.","params":{"_projectId":"The ID of the project to get a terminal for.","_token":"The token the terminal accepts."},"returns":{"_0":"The primary terminal for the project for the specified token."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setControllerOf(uint256,address)":{"details":"A controller can be set if:- the message sender is the project owner or an operator having the correct authorization.- the message sender is the project's current controller.- or, an allowedlisted address is setting a controller for a project that doesn't already have a controller.","params":{"_controller":"The new controller to set.","_projectId":"The ID of the project to set a new controller for."}},"setIsAllowedToSetFirstController(address,bool)":{"details":"The owner can add addresses which are allowed to change projects' first controllers. These addresses are known and vetted controllers as well as contracts designed to launch new projects. A project can set its own controller without it being on the allow list.If you would like an address/contract allowlisted, please reach out to the contract owner.","params":{"_address":"The address to allow or revoke allowance from.","_flag":"Whether allowance is being added or revoked."}},"setPrimaryTerminalOf(uint256,address,address)":{"details":"This is useful in case a project has several terminals connected for a particular token.The terminal will be set as the primary terminal where ecosystem contracts should route tokens.If setting a newly added terminal and the funding cycle doesn't allow new terminals, the caller must be the current controller.","params":{"_projectId":"The ID of the project for which a primary token is being set.","_terminal":"The terminal to make primary.","_token":"The token to set the primary terminal of."}},"setTerminalsOf(uint256,address[])":{"details":"Only a project owner, an operator, or its controller can set its terminals.","params":{"_projectId":"The ID of the project having terminals set.","_terminals":"The terminal to set."}},"terminalsOf(uint256)":{"params":{"_projectId":"The ID of the project to get terminals of."},"returns":{"_0":"An array of terminal addresses."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"controllerOf(uint256)":{"notice":"For each project ID, the controller that manages how terminals interact with tokens and funding cycles."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations."},"isAllowedToSetFirstController(address)":{"notice":"Addresses that can set a project's first controller on their behalf. These addresses/contracts have been vetted and verified by this contract's owner."},"isTerminalOf(uint256,address)":{"notice":"Whether or not a specified terminal is a terminal of the specified project."},"operatorStore()":{"notice":"A contract storing operator assignments."},"primaryTerminalOf(uint256,address)":{"notice":"The primary terminal that is managing funds for a project for a specified token."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers."},"setControllerOf(uint256,address)":{"notice":"Update the controller that manages how terminals interact with the ecosystem."},"setIsAllowedToSetFirstController(address,bool)":{"notice":"Set a contract to the list of trusted addresses that can set a first controller for any project.\t"},"setPrimaryTerminalOf(uint256,address,address)":{"notice":"Project's can set which terminal should be their primary for a particular token. "},"setTerminalsOf(uint256,address[])":{"notice":"Set a project's terminals."},"terminalsOf(uint256)":{"notice":"For each project ID, the terminals that are currently managing its funds."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":"JBDirectory"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":{"keccak256":"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa","urls":["bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25","dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":68} \ No newline at end of file diff --git a/out/JBFixedPointNumber.sol/JBFixedPointNumber.json b/out/JBFixedPointNumber.sol/JBFixedPointNumber.json index 7138a788..b0d5eb43 100644 --- a/out/JBFixedPointNumber.sol/JBFixedPointNumber.json +++ b/out/JBFixedPointNumber.sol/JBFixedPointNumber.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ca5bee31f811b41230c2180a3213385ccba10e1c02a1bbe308145d69f4e35a964736f6c63430008170033","sourceMap":"58:494:122:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:494:122;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ca5bee31f811b41230c2180a3213385ccba10e1c02a1bbe308145d69f4e35a964736f6c63430008170033","sourceMap":"58:494:122:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":\"JBFixedPointNumber\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":{\"keccak256\":\"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b\",\"dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":"JBFixedPointNumber"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":{"keccak256":"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c","urls":["bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b","dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol","id":86813,"exportedSymbols":{"JBFixedPointNumber":[86812]},"nodeType":"SourceUnit","src":"32:521:122","nodes":[{"id":86771,"nodeType":"PragmaDirective","src":"32:24:122","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":86812,"nodeType":"ContractDefinition","src":"58:494:122","nodes":[{"id":86811,"nodeType":"FunctionDefinition","src":"89:461:122","nodes":[],"body":{"id":86810,"nodeType":"Block","src":"221:329:122","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86782,"name":"_targetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86777,"src":"349:15:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":86783,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86775,"src":"368:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"349:28:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86787,"name":"_targetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86777,"src":"407:15:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":86788,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86775,"src":"425:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"407:27:122","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86799,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86773,"src":"503:6:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":86800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"512:2:122","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86801,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86775,"src":"517:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":86802,"name":"_targetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86777,"src":"529:15:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"517:27:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86804,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"516:29:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"512:33:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"503:42:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86781,"id":86807,"nodeType":"Return","src":"496:49:122"},"id":86808,"nodeType":"IfStatement","src":"403:142:122","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86790,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86773,"src":"443:6:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":86791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"452:2:122","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":86792,"name":"_targetDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86777,"src":"457:15:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":86793,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86775,"src":"475:9:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"457:27:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86795,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"456:29:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"452:33:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"443:42:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86781,"id":86798,"nodeType":"Return","src":"436:49:122"}},"id":86809,"nodeType":"IfStatement","src":"345:200:122","trueBody":{"expression":{"id":86785,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86773,"src":"386:6:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86781,"id":86786,"nodeType":"Return","src":"379:13:122"}}]},"implemented":true,"kind":"function","modifiers":[],"name":"adjustDecimals","nameLocation":"98:14:122","parameters":{"id":86778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86773,"mutability":"mutable","name":"_value","nameLocation":"126:6:122","nodeType":"VariableDeclaration","scope":86811,"src":"118:14:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86772,"name":"uint256","nodeType":"ElementaryTypeName","src":"118:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86775,"mutability":"mutable","name":"_decimals","nameLocation":"146:9:122","nodeType":"VariableDeclaration","scope":86811,"src":"138:17:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86774,"name":"uint256","nodeType":"ElementaryTypeName","src":"138:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":86777,"mutability":"mutable","name":"_targetDecimals","nameLocation":"169:15:122","nodeType":"VariableDeclaration","scope":86811,"src":"161:23:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86776,"name":"uint256","nodeType":"ElementaryTypeName","src":"161:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"112:76:122"},"returnParameters":{"id":86781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86780,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86811,"src":"212:7:122","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86779,"name":"uint256","nodeType":"ElementaryTypeName","src":"212:7:122","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"211:9:122"},"scope":86812,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"JBFixedPointNumber","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[86812],"name":"JBFixedPointNumber","nameLocation":"66:18:122","scope":86813,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":122} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ca5bee31f811b41230c2180a3213385ccba10e1c02a1bbe308145d69f4e35a964736f6c63430008170033","sourceMap":"58:494:122:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;58:494:122;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203ca5bee31f811b41230c2180a3213385ccba10e1c02a1bbe308145d69f4e35a964736f6c63430008170033","sourceMap":"58:494:122:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":\"JBFixedPointNumber\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":{\"keccak256\":\"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b\",\"dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":"JBFixedPointNumber"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":{"keccak256":"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c","urls":["bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b","dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX"],"license":"MIT"}},"version":1},"id":122} \ No newline at end of file diff --git a/out/JBFundingCycleMetadataResolver.sol/JBFundingCycleMetadataResolver.json b/out/JBFundingCycleMetadataResolver.sol/JBFundingCycleMetadataResolver.json index 14101970..a1da2b41 100644 --- a/out/JBFundingCycleMetadataResolver.sol/JBFundingCycleMetadataResolver.json +++ b/out/JBFundingCycleMetadataResolver.sol/JBFundingCycleMetadataResolver.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014e08637cc0f4ee6aa635b18d173b74b99db17eb80610af8086db1508e3656f164736f6c63430008170033","sourceMap":"439:6975:123:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;439:6975:123;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014e08637cc0f4ee6aa635b18d173b74b99db17eb80610af8086db1508e3656f164736f6c63430008170033","sourceMap":"439:6975:123:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":\"JBFundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":"JBFundingCycleMetadataResolver"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","id":87443,"exportedSymbols":{"JBConstants":[86760],"JBFundingCycle":[87801],"JBFundingCycleMetadata":[87859],"JBFundingCycleMetadataResolver":[87442],"JBGlobalFundingCycleMetadata":[87869],"JBGlobalFundingCycleMetadataResolver":[87557]},"nodeType":"SourceUnit","src":"32:7383:123","nodes":[{"id":86814,"nodeType":"PragmaDirective","src":"32:24:123","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":86816,"nodeType":"ImportDirective","src":"58:63:123","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./../structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":87443,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":86815,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"66:14:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86818,"nodeType":"ImportDirective","src":"122:79:123","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","file":"./../structs/JBFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":87443,"sourceUnit":87860,"symbolAliases":[{"foreign":{"id":86817,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"130:22:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86820,"nodeType":"ImportDirective","src":"202:91:123","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol","file":"./../structs/JBGlobalFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":87443,"sourceUnit":87870,"symbolAliases":[{"foreign":{"id":86819,"name":"JBGlobalFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87869,"src":"210:28:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86822,"nodeType":"ImportDirective","src":"294:46:123","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","file":"./JBConstants.sol","nameLocation":"-1:-1:-1","scope":87443,"sourceUnit":86761,"symbolAliases":[{"foreign":{"id":86821,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"302:11:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":86824,"nodeType":"ImportDirective","src":"341:96:123","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol","file":"./JBGlobalFundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":87443,"sourceUnit":87558,"symbolAliases":[{"foreign":{"id":86823,"name":"JBGlobalFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87557,"src":"349:36:123","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87442,"nodeType":"ContractDefinition","src":"439:6975:123","nodes":[{"id":86845,"nodeType":"FunctionDefinition","src":"482:232:123","nodes":[],"body":{"id":86844,"nodeType":"Block","src":"609:105:123","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86837,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86827,"src":"680:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"694:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"680:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":86839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"706:1:123","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"680:27:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":86836,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"674:5:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":86835,"name":"uint8","nodeType":"ElementaryTypeName","src":"674:5:123","typeDescriptions":{}}},"id":86841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"674:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":86833,"name":"JBGlobalFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87557,"src":"622:36:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBGlobalFundingCycleMetadataResolver_$87557_$","typeString":"type(library JBGlobalFundingCycleMetadataResolver)"}},"id":86834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"659:14:123","memberName":"expandMetadata","nodeType":"MemberAccess","referencedDeclaration":87556,"src":"622:51:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$","typeString":"function (uint8) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":86842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"622:87:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"functionReturnParameters":86832,"id":86843,"nodeType":"Return","src":"615:94:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"global","nameLocation":"491:6:123","parameters":{"id":86828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86827,"mutability":"mutable","name":"_fundingCycle","nameLocation":"520:13:123","nodeType":"VariableDeclaration","scope":86845,"src":"498:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86826,"nodeType":"UserDefinedTypeName","pathNode":{"id":86825,"name":"JBFundingCycle","nameLocations":["498:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"498:14:123"},"referencedDeclaration":87801,"src":"498:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"497:37:123"},"returnParameters":{"id":86832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86831,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86845,"src":"570:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata"},"typeName":{"id":86830,"nodeType":"UserDefinedTypeName","pathNode":{"id":86829,"name":"JBGlobalFundingCycleMetadata","nameLocations":["570:28:123"],"nodeType":"IdentifierPath","referencedDeclaration":87869,"src":"570:28:123"},"referencedDeclaration":87869,"src":"570:28:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_storage_ptr","typeString":"struct JBGlobalFundingCycleMetadata"}},"visibility":"internal"}],"src":"569:37:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86865,"nodeType":"FunctionDefinition","src":"718:154:123","nodes":[],"body":{"id":86864,"nodeType":"Block","src":"809:63:123","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86857,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86848,"src":"837:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"851:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"837:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3234","id":86859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"863:2:123","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"837:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":86856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"830:6:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":86855,"name":"uint16","nodeType":"ElementaryTypeName","src":"830:6:123","typeDescriptions":{}}},"id":86861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"830:36:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"}],"id":86854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"822:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":86853,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:123","typeDescriptions":{}}},"id":86862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"822:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86852,"id":86863,"nodeType":"Return","src":"815:52:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"reservedRate","nameLocation":"727:12:123","parameters":{"id":86849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86848,"mutability":"mutable","name":"_fundingCycle","nameLocation":"762:13:123","nodeType":"VariableDeclaration","scope":86865,"src":"740:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86847,"nodeType":"UserDefinedTypeName","pathNode":{"id":86846,"name":"JBFundingCycle","nameLocations":["740:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"740:14:123"},"referencedDeclaration":87801,"src":"740:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"739:37:123"},"returnParameters":{"id":86852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86851,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86865,"src":"800:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86850,"name":"uint256","nodeType":"ElementaryTypeName","src":"800:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"799:9:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86888,"nodeType":"FunctionDefinition","src":"876:319:123","nodes":[],"body":{"id":86887,"nodeType":"Block","src":"969:226:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86873,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"1111:11:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":86874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1123:19:123","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"1111:31:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86879,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86868,"src":"1160:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86880,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1174:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"1160:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3430","id":86881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1186:2:123","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"1160:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":86878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1153:6:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":86877,"name":"uint16","nodeType":"ElementaryTypeName","src":"1153:6:123","typeDescriptions":{}}},"id":86883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1153:36:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"}],"id":86876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1145:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":86875,"name":"uint256","nodeType":"ElementaryTypeName","src":"1145:7:123","typeDescriptions":{}}},"id":86884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1145:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1111:79:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86872,"id":86886,"nodeType":"Return","src":"1104:86:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redemptionRate","nameLocation":"885:14:123","parameters":{"id":86869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86868,"mutability":"mutable","name":"_fundingCycle","nameLocation":"922:13:123","nodeType":"VariableDeclaration","scope":86888,"src":"900:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86867,"nodeType":"UserDefinedTypeName","pathNode":{"id":86866,"name":"JBFundingCycle","nameLocations":["900:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"900:14:123"},"referencedDeclaration":87801,"src":"900:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"899:37:123"},"returnParameters":{"id":86872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86888,"src":"960:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86870,"name":"uint256","nodeType":"ElementaryTypeName","src":"960:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"959:9:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86911,"nodeType":"FunctionDefinition","src":"1199:339:123","nodes":[],"body":{"id":86910,"nodeType":"Block","src":"1312:226:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86896,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"1454:11:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":86897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1466:19:123","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"1454:31:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86902,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86891,"src":"1503:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86903,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1517:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"1503:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3536","id":86904,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1529:2:123","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"src":"1503:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":86901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1496:6:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":86900,"name":"uint16","nodeType":"ElementaryTypeName","src":"1496:6:123","typeDescriptions":{}}},"id":86906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1496:36:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"}],"id":86899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1488:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":86898,"name":"uint256","nodeType":"ElementaryTypeName","src":"1488:7:123","typeDescriptions":{}}},"id":86907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1488:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1454:79:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":86895,"id":86909,"nodeType":"Return","src":"1447:86:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"ballotRedemptionRate","nameLocation":"1208:20:123","parameters":{"id":86892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86891,"mutability":"mutable","name":"_fundingCycle","nameLocation":"1251:13:123","nodeType":"VariableDeclaration","scope":86911,"src":"1229:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86890,"nodeType":"UserDefinedTypeName","pathNode":{"id":86889,"name":"JBFundingCycle","nameLocations":["1229:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1229:14:123"},"referencedDeclaration":87801,"src":"1229:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1228:37:123"},"returnParameters":{"id":86895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86911,"src":"1301:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":86893,"name":"uint256","nodeType":"ElementaryTypeName","src":"1301:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1300:9:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86931,"nodeType":"FunctionDefinition","src":"1542:144:123","nodes":[],"body":{"id":86930,"nodeType":"Block","src":"1627:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86919,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86914,"src":"1642:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86920,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1656:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"1642:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3732","id":86921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1668:2:123","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},"src":"1642:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86923,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1641:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":86924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1674:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1641:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86926,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1640:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":86927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1680:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1640:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":86918,"id":86929,"nodeType":"Return","src":"1633:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"payPaused","nameLocation":"1551:9:123","parameters":{"id":86915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86914,"mutability":"mutable","name":"_fundingCycle","nameLocation":"1583:13:123","nodeType":"VariableDeclaration","scope":86931,"src":"1561:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86913,"nodeType":"UserDefinedTypeName","pathNode":{"id":86912,"name":"JBFundingCycle","nameLocations":["1561:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1561:14:123"},"referencedDeclaration":87801,"src":"1561:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1560:37:123"},"returnParameters":{"id":86918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86917,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86931,"src":"1621:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86916,"name":"bool","nodeType":"ElementaryTypeName","src":"1621:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1620:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86951,"nodeType":"FunctionDefinition","src":"1690:154:123","nodes":[],"body":{"id":86950,"nodeType":"Block","src":"1785:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86948,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86942,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86939,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86934,"src":"1800:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1814:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"1800:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3733","id":86941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1826:2:123","typeDescriptions":{"typeIdentifier":"t_rational_73_by_1","typeString":"int_const 73"},"value":"73"},"src":"1800:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86943,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1799:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":86944,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1832:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1799:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86946,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1798:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":86947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1838:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1798:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":86938,"id":86949,"nodeType":"Return","src":"1791:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"distributionsPaused","nameLocation":"1699:19:123","parameters":{"id":86935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86934,"mutability":"mutable","name":"_fundingCycle","nameLocation":"1741:13:123","nodeType":"VariableDeclaration","scope":86951,"src":"1719:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86933,"nodeType":"UserDefinedTypeName","pathNode":{"id":86932,"name":"JBFundingCycle","nameLocations":["1719:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1719:14:123"},"referencedDeclaration":87801,"src":"1719:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1718:37:123"},"returnParameters":{"id":86938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86937,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86951,"src":"1779:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86936,"name":"bool","nodeType":"ElementaryTypeName","src":"1779:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1778:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86971,"nodeType":"FunctionDefinition","src":"1848:147:123","nodes":[],"body":{"id":86970,"nodeType":"Block","src":"1936:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86962,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86959,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86954,"src":"1951:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1965:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"1951:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3734","id":86961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1977:2:123","typeDescriptions":{"typeIdentifier":"t_rational_74_by_1","typeString":"int_const 74"},"value":"74"},"src":"1951:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86963,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1950:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":86964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1983:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1950:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86966,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1949:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":86967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1989:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1949:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":86958,"id":86969,"nodeType":"Return","src":"1942:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"redeemPaused","nameLocation":"1857:12:123","parameters":{"id":86955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86954,"mutability":"mutable","name":"_fundingCycle","nameLocation":"1892:13:123","nodeType":"VariableDeclaration","scope":86971,"src":"1870:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86953,"nodeType":"UserDefinedTypeName","pathNode":{"id":86952,"name":"JBFundingCycle","nameLocations":["1870:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1870:14:123"},"referencedDeclaration":87801,"src":"1870:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"1869:37:123"},"returnParameters":{"id":86958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86971,"src":"1930:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86956,"name":"bool","nodeType":"ElementaryTypeName","src":"1930:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1929:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":86991,"nodeType":"FunctionDefinition","src":"1999:145:123","nodes":[],"body":{"id":86990,"nodeType":"Block","src":"2085:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":86982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86979,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86974,"src":"2100:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":86980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2114:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2100:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3735","id":86981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2126:2:123","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"src":"2100:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86983,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2099:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":86984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2132:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2099:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":86986,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2098:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":86987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2138:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2098:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":86978,"id":86989,"nodeType":"Return","src":"2091:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"burnPaused","nameLocation":"2008:10:123","parameters":{"id":86975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86974,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2041:13:123","nodeType":"VariableDeclaration","scope":86991,"src":"2019:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86973,"nodeType":"UserDefinedTypeName","pathNode":{"id":86972,"name":"JBFundingCycle","nameLocations":["2019:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2019:14:123"},"referencedDeclaration":87801,"src":"2019:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2018:37:123"},"returnParameters":{"id":86978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":86991,"src":"2079:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86976,"name":"bool","nodeType":"ElementaryTypeName","src":"2079:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2078:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87011,"nodeType":"FunctionDefinition","src":"2148:149:123","nodes":[],"body":{"id":87010,"nodeType":"Block","src":"2238:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":86999,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86994,"src":"2253:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2267:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2253:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3736","id":87001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2279:2:123","typeDescriptions":{"typeIdentifier":"t_rational_76_by_1","typeString":"int_const 76"},"value":"76"},"src":"2253:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87003,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2252:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2285:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2252:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87006,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2251:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2291:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2251:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":86998,"id":87009,"nodeType":"Return","src":"2244:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"mintingAllowed","nameLocation":"2157:14:123","parameters":{"id":86995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86994,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2194:13:123","nodeType":"VariableDeclaration","scope":87011,"src":"2172:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":86993,"nodeType":"UserDefinedTypeName","pathNode":{"id":86992,"name":"JBFundingCycle","nameLocations":["2172:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2172:14:123"},"referencedDeclaration":87801,"src":"2172:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2171:37:123"},"returnParameters":{"id":86998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":86997,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87011,"src":"2232:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":86996,"name":"bool","nodeType":"ElementaryTypeName","src":"2232:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2231:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87031,"nodeType":"FunctionDefinition","src":"2301:173:123","nodes":[],"body":{"id":87030,"nodeType":"Block","src":"2415:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87019,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87014,"src":"2430:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2444:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2430:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3737","id":87021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2456:2:123","typeDescriptions":{"typeIdentifier":"t_rational_77_by_1","typeString":"int_const 77"},"value":"77"},"src":"2430:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87023,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2429:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2462:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2429:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87026,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2428:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2468:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2428:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87018,"id":87029,"nodeType":"Return","src":"2421:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"terminalMigrationAllowed","nameLocation":"2310:24:123","parameters":{"id":87015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87014,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2357:13:123","nodeType":"VariableDeclaration","scope":87031,"src":"2335:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87013,"nodeType":"UserDefinedTypeName","pathNode":{"id":87012,"name":"JBFundingCycle","nameLocations":["2335:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2335:14:123"},"referencedDeclaration":87801,"src":"2335:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2334:37:123"},"returnParameters":{"id":87018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87017,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87031,"src":"2407:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87016,"name":"bool","nodeType":"ElementaryTypeName","src":"2407:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2406:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87051,"nodeType":"FunctionDefinition","src":"2478:175:123","nodes":[],"body":{"id":87050,"nodeType":"Block","src":"2594:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87039,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87034,"src":"2609:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87040,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2623:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2609:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3738","id":87041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2635:2:123","typeDescriptions":{"typeIdentifier":"t_rational_78_by_1","typeString":"int_const 78"},"value":"78"},"src":"2609:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87043,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2608:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87044,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2641:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2608:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87046,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2607:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2647:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2607:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87038,"id":87049,"nodeType":"Return","src":"2600:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"controllerMigrationAllowed","nameLocation":"2487:26:123","parameters":{"id":87035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87034,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2536:13:123","nodeType":"VariableDeclaration","scope":87051,"src":"2514:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87033,"nodeType":"UserDefinedTypeName","pathNode":{"id":87032,"name":"JBFundingCycle","nameLocations":["2514:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2514:14:123"},"referencedDeclaration":87801,"src":"2514:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2513:37:123"},"returnParameters":{"id":87038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87051,"src":"2586:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87036,"name":"bool","nodeType":"ElementaryTypeName","src":"2586:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2585:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87071,"nodeType":"FunctionDefinition","src":"2657:149:123","nodes":[],"body":{"id":87070,"nodeType":"Block","src":"2747:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87059,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87054,"src":"2762:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87060,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2776:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2762:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3739","id":87061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2788:2:123","typeDescriptions":{"typeIdentifier":"t_rational_79_by_1","typeString":"int_const 79"},"value":"79"},"src":"2762:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87063,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2761:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2794:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2761:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87066,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2760:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2800:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2760:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87058,"id":87069,"nodeType":"Return","src":"2753:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"shouldHoldFees","nameLocation":"2666:14:123","parameters":{"id":87055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87054,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2703:13:123","nodeType":"VariableDeclaration","scope":87071,"src":"2681:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87053,"nodeType":"UserDefinedTypeName","pathNode":{"id":87052,"name":"JBFundingCycle","nameLocations":["2681:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2681:14:123"},"referencedDeclaration":87801,"src":"2681:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2680:37:123"},"returnParameters":{"id":87058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87057,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87071,"src":"2741:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87056,"name":"bool","nodeType":"ElementaryTypeName","src":"2741:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2740:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87091,"nodeType":"FunctionDefinition","src":"2810:175:123","nodes":[],"body":{"id":87090,"nodeType":"Block","src":"2926:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87079,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87074,"src":"2941:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87080,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2955:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"2941:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3830","id":87081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2967:2:123","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"src":"2941:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87083,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2940:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2973:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2940:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87086,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2939:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2979:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2939:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87078,"id":87089,"nodeType":"Return","src":"2932:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"preferClaimedTokenOverride","nameLocation":"2819:26:123","parameters":{"id":87075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87074,"mutability":"mutable","name":"_fundingCycle","nameLocation":"2868:13:123","nodeType":"VariableDeclaration","scope":87091,"src":"2846:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87073,"nodeType":"UserDefinedTypeName","pathNode":{"id":87072,"name":"JBFundingCycle","nameLocations":["2846:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"2846:14:123"},"referencedDeclaration":87801,"src":"2846:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"2845:37:123"},"returnParameters":{"id":87078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87077,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87091,"src":"2918:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87076,"name":"bool","nodeType":"ElementaryTypeName","src":"2918:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2917:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87111,"nodeType":"FunctionDefinition","src":"2989:179:123","nodes":[],"body":{"id":87110,"nodeType":"Block","src":"3109:59:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87099,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87094,"src":"3124:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3138:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"3124:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3831","id":87101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3150:2:123","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"81"},"src":"3124:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87103,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3123:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3156:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3123:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87106,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3122:36:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3162:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3122:41:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87098,"id":87109,"nodeType":"Return","src":"3115:48:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"useTotalOverflowForRedemptions","nameLocation":"2998:30:123","parameters":{"id":87095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87094,"mutability":"mutable","name":"_fundingCycle","nameLocation":"3051:13:123","nodeType":"VariableDeclaration","scope":87111,"src":"3029:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87093,"nodeType":"UserDefinedTypeName","pathNode":{"id":87092,"name":"JBFundingCycle","nameLocations":["3029:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3029:14:123"},"referencedDeclaration":87801,"src":"3029:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3028:37:123"},"returnParameters":{"id":87098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87111,"src":"3101:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87096,"name":"bool","nodeType":"ElementaryTypeName","src":"3101:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3100:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87130,"nodeType":"FunctionDefinition","src":"3172:152:123","nodes":[],"body":{"id":87129,"nodeType":"Block","src":"3267:57:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87119,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87114,"src":"3281:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3295:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"3281:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3832","id":87121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3307:2:123","typeDescriptions":{"typeIdentifier":"t_rational_82_by_1","typeString":"int_const 82"},"value":"82"},"src":"3281:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87123,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3280:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3313:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3280:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3318:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3280:39:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87118,"id":87128,"nodeType":"Return","src":"3273:46:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"useDataSourceForPay","nameLocation":"3181:19:123","parameters":{"id":87115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87114,"mutability":"mutable","name":"_fundingCycle","nameLocation":"3223:13:123","nodeType":"VariableDeclaration","scope":87130,"src":"3201:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87113,"nodeType":"UserDefinedTypeName","pathNode":{"id":87112,"name":"JBFundingCycle","nameLocations":["3201:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3201:14:123"},"referencedDeclaration":87801,"src":"3201:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3200:37:123"},"returnParameters":{"id":87118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87130,"src":"3261:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87116,"name":"bool","nodeType":"ElementaryTypeName","src":"3261:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3260:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87149,"nodeType":"FunctionDefinition","src":"3328:169:123","nodes":[],"body":{"id":87148,"nodeType":"Block","src":"3440:57:123","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87138,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87133,"src":"3454:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87139,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3468:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"3454:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3833","id":87140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3480:2:123","typeDescriptions":{"typeIdentifier":"t_rational_83_by_1","typeString":"int_const 83"},"value":"83"},"src":"3454:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87142,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3453:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3486:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3453:34:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3491:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3453:39:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87137,"id":87147,"nodeType":"Return","src":"3446:46:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"useDataSourceForRedeem","nameLocation":"3337:22:123","parameters":{"id":87134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87133,"mutability":"mutable","name":"_fundingCycle","nameLocation":"3382:13:123","nodeType":"VariableDeclaration","scope":87149,"src":"3360:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87132,"nodeType":"UserDefinedTypeName","pathNode":{"id":87131,"name":"JBFundingCycle","nameLocations":["3360:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3360:14:123"},"referencedDeclaration":87801,"src":"3360:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3359:37:123"},"returnParameters":{"id":87137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87136,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87149,"src":"3432:4:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87135,"name":"bool","nodeType":"ElementaryTypeName","src":"3432:4:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3431:6:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87169,"nodeType":"FunctionDefinition","src":"3501:153:123","nodes":[],"body":{"id":87168,"nodeType":"Block","src":"3590:64:123","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87161,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87152,"src":"3619:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3633:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"3619:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3834","id":87163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3645:2:123","typeDescriptions":{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},"value":"84"},"src":"3619:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3611:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":87159,"name":"uint160","nodeType":"ElementaryTypeName","src":"3611:7:123","typeDescriptions":{}}},"id":87165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3611:37:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":87158,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3603:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87157,"name":"address","nodeType":"ElementaryTypeName","src":"3603:7:123","typeDescriptions":{}}},"id":87166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3603:46:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":87156,"id":87167,"nodeType":"Return","src":"3596:53:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"dataSource","nameLocation":"3510:10:123","parameters":{"id":87153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87152,"mutability":"mutable","name":"_fundingCycle","nameLocation":"3543:13:123","nodeType":"VariableDeclaration","scope":87169,"src":"3521:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87151,"nodeType":"UserDefinedTypeName","pathNode":{"id":87150,"name":"JBFundingCycle","nameLocations":["3521:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3521:14:123"},"referencedDeclaration":87801,"src":"3521:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3520:37:123"},"returnParameters":{"id":87156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87169,"src":"3581:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87154,"name":"address","nodeType":"ElementaryTypeName","src":"3581:7:123","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3580:9:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87189,"nodeType":"FunctionDefinition","src":"3658:150:123","nodes":[],"body":{"id":87188,"nodeType":"Block","src":"3745:63:123","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87181,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87172,"src":"3772:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":87182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3786:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"3772:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323434","id":87183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3798:3:123","typeDescriptions":{"typeIdentifier":"t_rational_244_by_1","typeString":"int_const 244"},"value":"244"},"src":"3772:29:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87180,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3766:5:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":87179,"name":"uint8","nodeType":"ElementaryTypeName","src":"3766:5:123","typeDescriptions":{}}},"id":87185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3766:36:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":87178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3758:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":87177,"name":"uint256","nodeType":"ElementaryTypeName","src":"3758:7:123","typeDescriptions":{}}},"id":87186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3758:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":87176,"id":87187,"nodeType":"Return","src":"3751:52:123"}]},"implemented":true,"kind":"function","modifiers":[],"name":"metadata","nameLocation":"3667:8:123","parameters":{"id":87173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87172,"mutability":"mutable","name":"_fundingCycle","nameLocation":"3698:13:123","nodeType":"VariableDeclaration","scope":87189,"src":"3676:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87171,"nodeType":"UserDefinedTypeName","pathNode":{"id":87170,"name":"JBFundingCycle","nameLocations":["3676:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3676:14:123"},"referencedDeclaration":87801,"src":"3676:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3675:37:123"},"returnParameters":{"id":87176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87175,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87189,"src":"3736:7:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87174,"name":"uint256","nodeType":"ElementaryTypeName","src":"3736:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3735:9:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87373,"nodeType":"FunctionDefinition","src":"4021:2289:123","nodes":[],"body":{"id":87372,"nodeType":"Block","src":"4149:2161:123","nodes":[],"statements":[{"expression":{"id":87200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87198,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"4198:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":87199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4207:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4198:10:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87201,"nodeType":"ExpressionStatement","src":"4198:10:123"},{"expression":{"id":87210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87202,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"4260:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87209,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":87205,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"4344:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87206,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4354:6:123","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":87824,"src":"4344:16:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}],"expression":{"id":87203,"name":"JBGlobalFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87557,"src":"4276:36:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBGlobalFundingCycleMetadataResolver_$87557_$","typeString":"type(library JBGlobalFundingCycleMetadataResolver)"}},"id":87204,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4313:30:123","memberName":"packFundingCycleGlobalMetadata","nodeType":"MemberAccess","referencedDeclaration":87534,"src":"4276:67:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBGlobalFundingCycleMetadata memory) pure returns (uint256)"}},"id":87207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4276:85:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":87208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4371:1:123","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"4276:96:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4260:112:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87211,"nodeType":"ExpressionStatement","src":"4260:112:123"},{"expression":{"id":87217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87212,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"4424:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87213,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"4434:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87214,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4444:12:123","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":87826,"src":"4434:22:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3234","id":87215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4460:2:123","typeDescriptions":{"typeIdentifier":"t_rational_24_by_1","typeString":"int_const 24"},"value":"24"},"src":"4434:28:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4424:38:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87218,"nodeType":"ExpressionStatement","src":"4424:38:123"},{"expression":{"id":87228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87219,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"4639:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87220,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"4650:11:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":87221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4662:19:123","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"4650:31:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":87222,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"4684:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87223,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4694:14:123","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":87828,"src":"4684:24:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4650:58:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87225,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4649:60:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3430","id":87226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4713:2:123","typeDescriptions":{"typeIdentifier":"t_rational_40_by_1","typeString":"int_const 40"},"value":"40"},"src":"4649:66:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4639:76:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87229,"nodeType":"ExpressionStatement","src":"4639:76:123"},{"expression":{"id":87239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87230,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"4911:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87231,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"4922:11:123","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":87232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4934:19:123","memberName":"MAX_REDEMPTION_RATE","nodeType":"MemberAccess","referencedDeclaration":86747,"src":"4922:31:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":87233,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"4956:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4966:20:123","memberName":"ballotRedemptionRate","nodeType":"MemberAccess","referencedDeclaration":87830,"src":"4956:30:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4922:64:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":87236,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4921:66:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3536","id":87237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4991:2:123","typeDescriptions":{"typeIdentifier":"t_rational_56_by_1","typeString":"int_const 56"},"value":"56"},"src":"4921:72:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4911:82:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87240,"nodeType":"ExpressionStatement","src":"4911:82:123"},{"condition":{"expression":{"id":87241,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5031:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87242,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5041:8:123","memberName":"pausePay","nodeType":"MemberAccess","referencedDeclaration":87832,"src":"5031:18:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87249,"nodeType":"IfStatement","src":"5027:41:123","trueBody":{"expression":{"id":87247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87243,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5051:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_4722366482869645213696_by_1","typeString":"int_const 4722366482869645213696"},"id":87246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5061:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3732","id":87245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5066:2:123","typeDescriptions":{"typeIdentifier":"t_rational_72_by_1","typeString":"int_const 72"},"value":"72"},"src":"5061:7:123","typeDescriptions":{"typeIdentifier":"t_rational_4722366482869645213696_by_1","typeString":"int_const 4722366482869645213696"}},"src":"5051:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87248,"nodeType":"ExpressionStatement","src":"5051:17:123"}},{"condition":{"expression":{"id":87250,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5106:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5116:18:123","memberName":"pauseDistributions","nodeType":"MemberAccess","referencedDeclaration":87834,"src":"5106:28:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87258,"nodeType":"IfStatement","src":"5102:51:123","trueBody":{"expression":{"id":87256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87252,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5136:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_9444732965739290427392_by_1","typeString":"int_const 9444732965739290427392"},"id":87255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5146:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3733","id":87254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5151:2:123","typeDescriptions":{"typeIdentifier":"t_rational_73_by_1","typeString":"int_const 73"},"value":"73"},"src":"5146:7:123","typeDescriptions":{"typeIdentifier":"t_rational_9444732965739290427392_by_1","typeString":"int_const 9444732965739290427392"}},"src":"5136:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87257,"nodeType":"ExpressionStatement","src":"5136:17:123"}},{"condition":{"expression":{"id":87259,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5194:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5204:11:123","memberName":"pauseRedeem","nodeType":"MemberAccess","referencedDeclaration":87836,"src":"5194:21:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87267,"nodeType":"IfStatement","src":"5190:44:123","trueBody":{"expression":{"id":87265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87261,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5217:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_18889465931478580854784_by_1","typeString":"int_const 18889465931478580854784"},"id":87264,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5227:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3734","id":87263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5232:2:123","typeDescriptions":{"typeIdentifier":"t_rational_74_by_1","typeString":"int_const 74"},"value":"74"},"src":"5227:7:123","typeDescriptions":{"typeIdentifier":"t_rational_18889465931478580854784_by_1","typeString":"int_const 18889465931478580854784"}},"src":"5217:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87266,"nodeType":"ExpressionStatement","src":"5217:17:123"}},{"condition":{"expression":{"id":87268,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5273:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87269,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5283:9:123","memberName":"pauseBurn","nodeType":"MemberAccess","referencedDeclaration":87838,"src":"5273:19:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87276,"nodeType":"IfStatement","src":"5269:42:123","trueBody":{"expression":{"id":87274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87270,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5294:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_37778931862957161709568_by_1","typeString":"int_const 37778931862957161709568"},"id":87273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5304:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3735","id":87272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5309:2:123","typeDescriptions":{"typeIdentifier":"t_rational_75_by_1","typeString":"int_const 75"},"value":"75"},"src":"5304:7:123","typeDescriptions":{"typeIdentifier":"t_rational_37778931862957161709568_by_1","typeString":"int_const 37778931862957161709568"}},"src":"5294:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87275,"nodeType":"ExpressionStatement","src":"5294:17:123"}},{"condition":{"expression":{"id":87277,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5353:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5363:12:123","memberName":"allowMinting","nodeType":"MemberAccess","referencedDeclaration":87840,"src":"5353:22:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87285,"nodeType":"IfStatement","src":"5349:45:123","trueBody":{"expression":{"id":87283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87279,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5377:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_75557863725914323419136_by_1","typeString":"int_const 75557863725914323419136"},"id":87282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5387:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3736","id":87281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5392:2:123","typeDescriptions":{"typeIdentifier":"t_rational_76_by_1","typeString":"int_const 76"},"value":"76"},"src":"5387:7:123","typeDescriptions":{"typeIdentifier":"t_rational_75557863725914323419136_by_1","typeString":"int_const 75557863725914323419136"}},"src":"5377:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87284,"nodeType":"ExpressionStatement","src":"5377:17:123"}},{"condition":{"expression":{"id":87286,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5447:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87287,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5457:22:123","memberName":"allowTerminalMigration","nodeType":"MemberAccess","referencedDeclaration":87842,"src":"5447:32:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87294,"nodeType":"IfStatement","src":"5443:55:123","trueBody":{"expression":{"id":87292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87288,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5481:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_151115727451828646838272_by_1","typeString":"int_const 151115727451828646838272"},"id":87291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87289,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5491:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3737","id":87290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5496:2:123","typeDescriptions":{"typeIdentifier":"t_rational_77_by_1","typeString":"int_const 77"},"value":"77"},"src":"5491:7:123","typeDescriptions":{"typeIdentifier":"t_rational_151115727451828646838272_by_1","typeString":"int_const 151115727451828646838272"}},"src":"5481:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87293,"nodeType":"ExpressionStatement","src":"5481:17:123"}},{"condition":{"expression":{"id":87295,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5553:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87296,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5563:24:123","memberName":"allowControllerMigration","nodeType":"MemberAccess","referencedDeclaration":87844,"src":"5553:34:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87303,"nodeType":"IfStatement","src":"5549:57:123","trueBody":{"expression":{"id":87301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87297,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5589:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_302231454903657293676544_by_1","typeString":"int_const 302231454903657293676544"},"id":87300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5599:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3738","id":87299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5604:2:123","typeDescriptions":{"typeIdentifier":"t_rational_78_by_1","typeString":"int_const 78"},"value":"78"},"src":"5599:7:123","typeDescriptions":{"typeIdentifier":"t_rational_302231454903657293676544_by_1","typeString":"int_const 302231454903657293676544"}},"src":"5589:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87302,"nodeType":"ExpressionStatement","src":"5589:17:123"}},{"condition":{"expression":{"id":87304,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5644:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5654:8:123","memberName":"holdFees","nodeType":"MemberAccess","referencedDeclaration":87846,"src":"5644:18:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87312,"nodeType":"IfStatement","src":"5640:41:123","trueBody":{"expression":{"id":87310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87306,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5664:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_604462909807314587353088_by_1","typeString":"int_const 604462909807314587353088"},"id":87309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5674:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3739","id":87308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5679:2:123","typeDescriptions":{"typeIdentifier":"t_rational_79_by_1","typeString":"int_const 79"},"value":"79"},"src":"5674:7:123","typeDescriptions":{"typeIdentifier":"t_rational_604462909807314587353088_by_1","typeString":"int_const 604462909807314587353088"}},"src":"5664:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87311,"nodeType":"ExpressionStatement","src":"5664:17:123"}},{"condition":{"expression":{"id":87313,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5739:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87314,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5749:26:123","memberName":"preferClaimedTokenOverride","nodeType":"MemberAccess","referencedDeclaration":87848,"src":"5739:36:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87321,"nodeType":"IfStatement","src":"5735:59:123","trueBody":{"expression":{"id":87319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87315,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5777:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_1208925819614629174706176_by_1","typeString":"int_const 1208925819614629174706176"},"id":87318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5787:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3830","id":87317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5792:2:123","typeDescriptions":{"typeIdentifier":"t_rational_80_by_1","typeString":"int_const 80"},"value":"80"},"src":"5787:7:123","typeDescriptions":{"typeIdentifier":"t_rational_1208925819614629174706176_by_1","typeString":"int_const 1208925819614629174706176"}},"src":"5777:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87320,"nodeType":"ExpressionStatement","src":"5777:17:123"}},{"condition":{"expression":{"id":87322,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5853:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87323,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5863:30:123","memberName":"useTotalOverflowForRedemptions","nodeType":"MemberAccess","referencedDeclaration":87850,"src":"5853:40:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87330,"nodeType":"IfStatement","src":"5849:63:123","trueBody":{"expression":{"id":87328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87324,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5895:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_2417851639229258349412352_by_1","typeString":"int_const 2417851639229258349412352"},"id":87327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5905:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3831","id":87326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5910:2:123","typeDescriptions":{"typeIdentifier":"t_rational_81_by_1","typeString":"int_const 81"},"value":"81"},"src":"5905:7:123","typeDescriptions":{"typeIdentifier":"t_rational_2417851639229258349412352_by_1","typeString":"int_const 2417851639229258349412352"}},"src":"5895:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87329,"nodeType":"ExpressionStatement","src":"5895:17:123"}},{"condition":{"expression":{"id":87331,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"5960:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87332,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5970:19:123","memberName":"useDataSourceForPay","nodeType":"MemberAccess","referencedDeclaration":87852,"src":"5960:29:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87339,"nodeType":"IfStatement","src":"5956:52:123","trueBody":{"expression":{"id":87337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87333,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"5991:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_4835703278458516698824704_by_1","typeString":"int_const 4835703278458516698824704"},"id":87336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87334,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6001:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3832","id":87335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6006:2:123","typeDescriptions":{"typeIdentifier":"t_rational_82_by_1","typeString":"int_const 82"},"value":"82"},"src":"6001:7:123","typeDescriptions":{"typeIdentifier":"t_rational_4835703278458516698824704_by_1","typeString":"int_const 4835703278458516698824704"}},"src":"5991:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87338,"nodeType":"ExpressionStatement","src":"5991:17:123"}},{"condition":{"expression":{"id":87340,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"6059:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87341,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6069:22:123","memberName":"useDataSourceForRedeem","nodeType":"MemberAccess","referencedDeclaration":87854,"src":"6059:32:123","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87348,"nodeType":"IfStatement","src":"6055:55:123","trueBody":{"expression":{"id":87346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87342,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"6093:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_9671406556917033397649408_by_1","typeString":"int_const 9671406556917033397649408"},"id":87345,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6103:1:123","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3833","id":87344,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6108:2:123","typeDescriptions":{"typeIdentifier":"t_rational_83_by_1","typeString":"int_const 83"},"value":"83"},"src":"6103:7:123","typeDescriptions":{"typeIdentifier":"t_rational_9671406556917033397649408_by_1","typeString":"int_const 9671406556917033397649408"}},"src":"6093:17:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87347,"nodeType":"ExpressionStatement","src":"6093:17:123"}},{"expression":{"id":87363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87349,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"6159:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":87356,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"6193:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87357,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6203:10:123","memberName":"dataSource","nodeType":"MemberAccess","referencedDeclaration":87856,"src":"6193:20:123","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":87355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6185:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87354,"name":"address","nodeType":"ElementaryTypeName","src":"6185:7:123","typeDescriptions":{}}},"id":87358,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6185:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":87353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6177:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":87352,"name":"uint160","nodeType":"ElementaryTypeName","src":"6177:7:123","typeDescriptions":{}}},"id":87359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6177:38:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":87351,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6169:7:123","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":87350,"name":"uint256","nodeType":"ElementaryTypeName","src":"6169:7:123","typeDescriptions":{}}},"id":87360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6169:47:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3834","id":87361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6220:2:123","typeDescriptions":{"typeIdentifier":"t_rational_84_by_1","typeString":"int_const 84"},"value":"84"},"src":"6169:53:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6159:63:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87364,"nodeType":"ExpressionStatement","src":"6159:63:123"},{"expression":{"id":87370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87365,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87196,"src":"6270:6:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":87369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":87366,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87193,"src":"6280:9:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"id":87367,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6290:8:123","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87858,"src":"6280:18:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"323434","id":87368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6302:3:123","typeDescriptions":{"typeIdentifier":"t_rational_244_by_1","typeString":"int_const 244"},"value":"244"},"src":"6280:25:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6270:35:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87371,"nodeType":"ExpressionStatement","src":"6270:35:123"}]},"documentation":{"id":87190,"nodeType":"StructuredDocumentation","src":"3812:206:123","text":"@notice Pack the funding cycle metadata.\n @param _metadata The metadata to validate and pack.\n @return packed The packed uint256 of all metadata params. The first 8 bits specify the version. "},"implemented":true,"kind":"function","modifiers":[],"name":"packFundingCycleMetadata","nameLocation":"4030:24:123","parameters":{"id":87194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87193,"mutability":"mutable","name":"_metadata","nameLocation":"4085:9:123","nodeType":"VariableDeclaration","scope":87373,"src":"4055:39:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":87192,"nodeType":"UserDefinedTypeName","pathNode":{"id":87191,"name":"JBFundingCycleMetadata","nameLocations":["4055:22:123"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"4055:22:123"},"referencedDeclaration":87859,"src":"4055:22:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"}],"src":"4054:41:123"},"returnParameters":{"id":87197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87196,"mutability":"mutable","name":"packed","nameLocation":"4139:6:123","nodeType":"VariableDeclaration","scope":87373,"src":"4131:14:123","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87195,"name":"uint256","nodeType":"ElementaryTypeName","src":"4131:7:123","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4130:16:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87441,"nodeType":"FunctionDefinition","src":"6484:928:123","nodes":[],"body":{"id":87440,"nodeType":"Block","src":"6613:799:123","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":87385,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6671:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87384,"name":"global","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86845,"src":"6664:6:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$","typeString":"function (struct JBFundingCycle memory) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":87386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6664:21:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},{"arguments":[{"id":87388,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6708:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87387,"name":"reservedRate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86865,"src":"6695:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":87389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6695:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":87391,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6747:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87390,"name":"redemptionRate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86888,"src":"6732:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":87392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6732:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":87394,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6792:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87393,"name":"ballotRedemptionRate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86911,"src":"6771:20:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":87395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6771:35:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":87397,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6826:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87396,"name":"payPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86931,"src":"6816:9:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6816:24:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87400,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6870:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87399,"name":"distributionsPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86951,"src":"6850:19:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6850:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87403,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6907:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87402,"name":"redeemPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86971,"src":"6894:12:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87404,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6894:27:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87406,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6942:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87405,"name":"burnPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86991,"src":"6931:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6931:25:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87409,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"6981:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87408,"name":"mintingAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87011,"src":"6966:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6966:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87412,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7030:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87411,"name":"terminalMigrationAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87031,"src":"7005:24:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7005:39:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87415,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7081:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87414,"name":"controllerMigrationAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87051,"src":"7054:26:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7054:41:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87418,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7120:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87417,"name":"shouldHoldFees","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87071,"src":"7105:14:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7105:29:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87421,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7171:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87420,"name":"preferClaimedTokenOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87091,"src":"7144:26:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7144:41:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87424,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7226:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87423,"name":"useTotalOverflowForRedemptions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87111,"src":"7195:30:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7195:45:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87427,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7270:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87426,"name":"useDataSourceForPay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87130,"src":"7250:19:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7250:34:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87430,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7317:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87429,"name":"useDataSourceForRedeem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87149,"src":"7294:22:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBFundingCycle memory) pure returns (bool)"}},"id":87431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7294:37:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87433,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7352:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87432,"name":"dataSource","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87169,"src":"7341:10:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_address_$","typeString":"function (struct JBFundingCycle memory) pure returns (address)"}},"id":87434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7341:25:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":87436,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87377,"src":"7385:13:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":87435,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87189,"src":"7376:8:123","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":87437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7376:23:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":87383,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"6632:22:123","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycleMetadata_$87859_storage_ptr_$","typeString":"type(struct JBFundingCycleMetadata storage pointer)"}},"id":87438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6632:775:123","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},"functionReturnParameters":87382,"id":87439,"nodeType":"Return","src":"6619:788:123"}]},"documentation":{"id":87374,"nodeType":"StructuredDocumentation","src":"6314:167:123","text":"@notice Expand the funding cycle metadata.\n @param _fundingCycle The funding cycle having its metadata expanded.\n @return metadata The metadata object. "},"implemented":true,"kind":"function","modifiers":[],"name":"expandMetadata","nameLocation":"6493:14:123","parameters":{"id":87378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87377,"mutability":"mutable","name":"_fundingCycle","nameLocation":"6530:13:123","nodeType":"VariableDeclaration","scope":87441,"src":"6508:35:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":87376,"nodeType":"UserDefinedTypeName","pathNode":{"id":87375,"name":"JBFundingCycle","nameLocations":["6508:14:123"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"6508:14:123"},"referencedDeclaration":87801,"src":"6508:14:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"6507:37:123"},"returnParameters":{"id":87382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87381,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87441,"src":"6580:29:123","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata"},"typeName":{"id":87380,"nodeType":"UserDefinedTypeName","pathNode":{"id":87379,"name":"JBFundingCycleMetadata","nameLocations":["6580:22:123"],"nodeType":"IdentifierPath","referencedDeclaration":87859,"src":"6580:22:123"},"referencedDeclaration":87859,"src":"6580:22:123","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_storage_ptr","typeString":"struct JBFundingCycleMetadata"}},"visibility":"internal"}],"src":"6579:31:123"},"scope":87442,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"JBFundingCycleMetadataResolver","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[87442],"name":"JBFundingCycleMetadataResolver","nameLocation":"447:30:123","scope":87443,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":123} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014e08637cc0f4ee6aa635b18d173b74b99db17eb80610af8086db1508e3656f164736f6c63430008170033","sourceMap":"439:6975:123:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;439:6975:123;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122014e08637cc0f4ee6aa635b18d173b74b99db17eb80610af8086db1508e3656f164736f6c63430008170033","sourceMap":"439:6975:123:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":\"JBFundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":"JBFundingCycleMetadataResolver"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":123} \ No newline at end of file diff --git a/out/JBFundingCycleStore.sol/JBFundingCycleStore.json b/out/JBFundingCycleStore.sol/JBFundingCycleStore.json index 0cdfad90..31bf6bfd 100644 --- a/out/JBFundingCycleStore.sol/JBFundingCycleStore.json +++ b/out/JBFundingCycleStore.sol/JBFundingCycleStore.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"nonpayable"},{"type":"function","name":"configureFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"_metadata","type":"uint256","internalType":"uint256"},{"name":"_mustStartAtOrAfter","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"currentBallotStateOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"currentOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"get","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfigurationOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"ballotState","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"queuedOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"event","name":"Configure","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Init","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"basedOn","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]},{"type":"error","name":"INVALID_BALLOT","inputs":[]},{"type":"error","name":"INVALID_DISCOUNT_RATE","inputs":[]},{"type":"error","name":"INVALID_DURATION","inputs":[]},{"type":"error","name":"INVALID_TIMEFRAME","inputs":[]},{"type":"error","name":"INVALID_WEIGHT","inputs":[]},{"type":"error","name":"NO_SAME_BLOCK_RECONFIGURATION","inputs":[]},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c63430008170033","sourceMap":"717:32695:72:-:0;;;10965:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1887:22:80;;;717:32695:72;;14:312:197;106:6;159:2;147:9;138:7;134:23;130:32;127:52;;;175:1;172;165:12;127:52;201:16;;-1:-1:-1;;;;;246:31:197;;236:42;;226:70;;292:1;289;282:12;226:70;315:5;14:312;-1:-1:-1;;;14:312:197:o;:::-;717:32695:72;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c63430008170033","sourceMap":"717:32695:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2919:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;345:25:197;;;333:2;318:18;2919:65:72;;;;;;;;7486:2346;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5023:2100::-;;;;;;:::i;:::-;;:::i;3513:196::-;;;;;;:::i;:::-;;:::i;11853:2926::-;;;;;;:::i;:::-;;:::i;1460:48:80:-;;;;;;;;-1:-1:-1;;;;;2187:32:197;;;2169:51;;2157:2;2142:18;1460:48:80;2001:225:197;10019:564:72;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4057:616::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;7486:2346::-;7565:34;;:::i;:::-;7688:33;;;;:21;:33;;;;;;:38;;7684:70;;7735:19;7749:1;7752;7735:13;:19::i;:::-;7728:26;7486:2346;-1:-1:-1;;7486:2346:72:o;7684:70::-;7836:34;7873:23;7885:10;7873:11;:23::i;:::-;7836:60;;7958:35;;:::i;:::-;8050:30;;8046:1256;;8173:53;8187:10;8199:26;8173:13;:53::i;:::-;8157:69;;8332:38;8344:10;8356:13;8332:11;:38::i;:::-;8328:64;;;8379:13;7486:2346;-1:-1:-1;;;7486:2346:72:o;8328:64::-;8624:13;:21;;;8595:50;;8046:1256;;;8811:33;;;;:21;:33;;;;;;;-1:-1:-1;8919:53:72;8833:10;8811:33;8919:13;:53::i;:::-;8903:69;;9156:38;9168:10;9180:13;9156:11;:38::i;:::-;9155:39;:80;;;;9216:13;:19;;;9198:15;:37;9155:80;9151:144;;;9274:13;:21;;;9245:50;;9151:144;9407:26;9437:1;9407:31;9403:63;;9447:19;9461:1;9464;9447:13;:19::i;:::-;9440:26;7486:2346;-1:-1:-1;;;;7486:2346:72:o;9403:63::-;9540:53;9554:10;9566:26;9540:13;:53::i;:::-;9524:69;;9668:13;:22;;;9694:1;9668:27;9664:53;;9704:13;7486:2346;-1:-1:-1;;;7486:2346:72:o;9664:53::-;9782:45;9807:13;9822:4;9782:24;:45::i;5023:2100::-;5101:34;;:::i;:::-;5224:33;;;;:21;:33;;;;;;:38;;5220:70;;5271:19;5285:1;5288;5271:13;:19::i;5220:70::-;5371:41;5415:22;5426:10;5415;:22::i;:::-;5371:66;-1:-1:-1;5513:37:72;;5509:829;;5575:60;5589:10;5601:33;5575:13;:60::i;:::-;5560:75;;5648:37;5660:10;5672:12;5648:11;:37::i;:::-;5644:62;;;5687:19;5023:2100;;;:::o;5644:62::-;5806:47;5820:10;5832:12;:20;;;5806:13;:47::i;:::-;5791:62;;5509:829;;;5991:33;;;;:21;:33;;;;;;5965:60;;5979:10;;5965:13;:60::i;:::-;5950:75;;6244:15;6223:12;:18;;;:36;6219:112;;;6284:47;6298:10;6310:12;:20;;;6284:13;:47::i;:::-;6269:62;;6219:112;6409:12;:21;;;6434:1;6409:26;6405:58;;6444:19;6458:1;6461;6444:13;:19::i;:::-;6437:26;5023:2100;-1:-1:-1;;;5023:2100:72:o;6405:58::-;6588:37;6600:10;6612:12;6588:11;:37::i;:::-;6584:95;;;6634:45;6659:12;6673:5;6634:24;:45::i;6584:95::-;6804:47;6818:10;6830:12;:20;;;6804:13;:47::i;:::-;6789:62;;6954:12;:21;;;6979:1;6954:26;6950:58;;6989:19;7003:1;7006;6989:13;:19::i;6950:58::-;7073:45;7098:12;7112:5;7073:24;:45::i;3513:196::-;3614:34;;:::i;:::-;3663:41;3677:10;3689:14;3663:13;:41::i;11853:2926::-;12052:21;;:::i;:::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;345:25:197;;;12031:10:72;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;318:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;12140:16:72::1;12123:14:::0;::::1;:33;12119:64;;;12165:18;;-1:-1:-1::0;;;12165:18:72::1;;;;;;;;;;;12119:64;296:13:120;12251:5:72;:18;;;:50;12247:86;;;12310:23;;-1:-1:-1::0;;;12310:23:72::1;;;;;;;;;;;12247:86;12397:16;12382:12;::::0;::::1;;:31;12378:60;;;12422:16;;-1:-1:-1::0;;;12422:16:72::1;;;;;;;;;;;12378:60;12548:15;12526:19;:37;12522:80;;;12587:15;12565:37;;12522:80;12779:16;12740:36;12762:14:::0;::::1;12740:19:::0;:36:::1;:::i;:::-;:55;12736:87;;;12804:19;;-1:-1:-1::0;;;12804:19:72::1;;;;;;;;;;;12736:87;12955:1;12909:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;12909:49:72::1;;12905:588;;12968:15;12994:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;12968:39;;13058:7;-1:-1:-1::0;;;;;13058:19:72::1;;13081:1;13058:24:::0;13054:53:::1;;13091:16;;-1:-1:-1::0;;;13091:16:72::1;;;;;;;;;;;13054:53;13183:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;:71;::::0;-1:-1:-1;;;13183:71:72;;-1:-1:-1;;;13183:71:72::1;::::0;::::1;4299:52:197::0;-1:-1:-1;;;;;13183:30:72;;;::::1;::::0;::::1;::::0;4272:18:197;;13183:71:72::1;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13183:71:72::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;13183:71:72::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;13179:308;;13441:16;;-1:-1:-1::0;;;13441:16:72::1;;;;;;;;;;;13179:308;13311:9;13306:39;;13329:16;;-1:-1:-1::0;;;13329:16:72::1;;;;;;;;;;;13306:39;13255:162;12960:533;12905:588;13567:15;13658:95;13691:10:::0;13567:15;13719:12:::1;::::0;::::1;;13733:19:::0;13658:32:::1;:95::i;:::-;14016:1;13970:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;13970:49:72::1;;;:77;;;-1:-1:-1::0;14029:14:72;::::1;:18:::0;;13970:77:::1;:109;;;;14078:1;14057:5;:18;;;:22;13970:109;13959:490;;;14131:14;14164:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;14238:14;14382:35:::0;;;::::1;::::0;;;14323:18:::1;14382:35:::0;;;:51;;;;;;;;;;-1:-1:-1;;;;;14131:47:72;;;::::1;14238:14:::0;::::1;14256:3;14238:21;14228:31;14323:18:::0;;::::1;;14345:3;14323:25;14313:35;14382:60:::0;;-1:-1:-1;13959:490:72::1;14494:13:::0;;14490:70:::1;;14509:23;::::0;;;:11:::1;:23;::::0;;;;;;;:39;;;;;;;;:51;;;14490:70:::1;14598:10;14582:14;14572:88;14610:5;14617:9;14628:19;14649:10;14572:88;;;;;;;;;:::i;:::-;;;;;;;;14733:41;14747:10;14759:14;14733:13;:41::i;:::-;14726:48:::0;11853:2926;-1:-1:-1;;;;;;;11853:2926:72:o;10019:564::-;10101:13;10225:33;;;:21;:33;;;;;;10101:13;10366:53;10247:10;10225:33;10366:13;:53::i;:::-;10328:91;;10439:139;10463:10;10483:13;:27;;;10520:13;:19;;;10549:13;:21;;;10439:14;:139::i;4057:616::-;4145:34;;:::i;:::-;4181:25;4317:33;;;:21;:33;;;;;;4435:53;4339:10;4317:33;4435:13;:53::i;:::-;4420:68;;4542:126;4564:10;4582:12;:26;;;4616:12;:18;;;4642:12;:20;;;4542:14;:126::i;:::-;4528:140;;4208:465;4057:616;;;:::o;32030:1380::-;32131:34;;:::i;:::-;32247:44;;32272:19;32247:44;32298:26;;;;:43;;;32348:34;32385:40;;;:28;:40;;;;;;:56;;;;;;;;;32503:43;;;32481:19;;;;:65;;;;32656:2;32626:32;;;32611:49;;;;32588:20;;;:72;32767:3;32737:33;;;32722:50;-1:-1:-1;32701:18:72;;:71;32881:3;32851:33;;;;32814:72;;32925:35;;;;;;;;;:51;;;;;;;;;-1:-1:-1;;;;;33017:84:72;;:19;;;:84;33184:28;;;;33169:45;;;;33145:21;;;:69;33330:3;33305:28;;;33290:45;33262:25;;;:73;33366:23;;;:11;:23;;;;;:39;;;;;;;;;;33342:21;;;:63;32298:26;32030:1380::o;22508:1251::-;22571:21;22678:33;;;:21;:33;;;;;;;22793:40;22700:10;22678:33;22793:13;:40::i;:::-;22755:78;;22982:1;22957:13;:22;;;:26;:93;;;;;23028:13;:22;;;23006:13;:19;;;:44;;;;:::i;:::-;22987:15;:63;;22957:93;22946:119;;;-1:-1:-1;23064:1:72;;22508:1251;-1:-1:-1;;22508:1251:72:o;22946:119::-;23162:13;:19;;;23143:15;:38;23139:78;;23190:27;;;;22508:1251;-1:-1:-1;;22508:1251:72:o;23139:78::-;23282:39;23324:48;23338:10;23350:13;:21;;;23324:13;:48::i;:::-;23282:90;;23538:1;23509:17;:26;;;:30;:111;;;;;23594:17;:26;;;23568:17;:23;;;:52;;;;:::i;:::-;23549:15;:71;;23509:111;23498:137;;;-1:-1:-1;23634:1:72;;22508:1251;-1:-1:-1;;;22508:1251:72:o;23498:137::-;-1:-1:-1;23733:21:72;;;;22508:1251;-1:-1:-1;;22508:1251:72:o;30073:307::-;30185:4;30353:22;30210:139;30234:10;30254:13;:27;;;30291:13;:19;;;30320:13;:21;;;30210:14;:139::i;:::-;:165;;;;;;;;:::i;:::-;;;30073:307;-1:-1:-1;;;30073:307:72:o;24378:1084::-;24508:21;;:::i;:::-;24741:27;24772:14;24771:15;:100;;24841:26;;;;24823:44;;:15;:44;:::i;:::-;:48;;24870:1;24823:48;:::i;:::-;24771:100;;;24795:19;:15;24813:1;24795:19;:::i;:::-;24741:130;;24923:14;24940:56;24957:17;24976:19;24940:16;:56::i;:::-;24923:73;;25044:15;25062:44;25080:17;25099:6;25062:17;:44::i;:::-;25044:62;;25126:331;;;;;;;;25150:7;25126:331;;;;25167:17;:31;;;25126:331;;;;25208:17;:25;;;25126:331;;;;25243:6;25126:331;;;;25259:17;:26;;;25126:331;;;;25295:44;25313:17;25332:6;25295:17;:44::i;:::-;25126:331;;;;25349:17;:30;;;25126:331;;;;25389:17;:24;;;-1:-1:-1;;;;;25126:331:72;;;;;25423:17;:26;;;25126:331;;;25113:344;;;;;24378:1084;;;;:::o;21094:1014::-;21156:21;21263:33;;;:21;:33;;;;;;;21407:40;21285:10;21263:33;21407:13;:40::i;:::-;21369:78;;21568:13;:19;;;21549:15;:38;21545:52;;-1:-1:-1;21596:1:72;;21094:1014;-1:-1:-1;;21094:1014:72:o;21545:52::-;21665:20;;21689:1;21665:25;21661:51;;21692:20;21094:1014;;;:::o;21661:51::-;21783:39;21825:48;21839:10;21851:13;:21;;;21825:13;:48::i;:::-;21783:90;;22011:1;21982:17;:26;;;:30;:106;;;;;22062:17;:26;;;22040:13;:19;;;:48;;;;:::i;:::-;22022:15;:66;21982:106;21971:132;;;-1:-1:-1;22102:1:72;;21094:1014;-1:-1:-1;;;21094:1014:72:o;21971:132::-;21179:929;;21094:1014;;;:::o;15459:2073::-;15704:33;;;;:21;:33;;;;;;:38;;15700:201;;15814:87;15823:10;15835:19;15849:1;15852;15835:13;:19::i;:::-;15856:14;15872:19;15893:7;15814:8;:87::i;:::-;15799:102;;15700:201;15961:29;15993:23;16005:10;15993:11;:23::i;:::-;15961:55;;16154:21;16179:1;16154:26;16150:150;;-1:-1:-1;16267:33:72;;;;:21;:33;;;;;;16150:150;16352:39;16394:48;16408:10;16420:21;16394:13;:48::i;:::-;16352:90;;16454:42;16466:10;16478:17;16454:11;:42::i;:::-;16453:43;:88;;;;16518:17;:23;;;16500:15;:41;16453:88;16449:339;;;16736:52;16750:10;16762:17;:25;;;16736:13;:52::i;:::-;16716:72;;16449:339;16904:14;16869:17;:31;;;:49;16865:93;;16927:31;;-1:-1:-1;;;16927:31:72;;;;;;;;;;;16865:93;17155:24;;;;17123:29;;-1:-1:-1;;;;;17155:61:72;;:132;;17252:17;:24;;;-1:-1:-1;;;;;17252:33:72;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17235:52;;:14;:52;:::i;:::-;17155:132;;;17225:1;17155:132;17123:164;;17294:233;17310:10;17328:17;17353:14;17441:19;17417:21;:43;:89;;17487:19;17417:89;;;17463:21;17417:89;17514:7;17294:8;:233::i;:::-;15619:1913;;;15459:2073;;;;;:::o;30919:778::-;31087:13;31176:32;31212:1;31176:37;31172:72;;-1:-1:-1;31222:22:72;31215:29;;31172:72;31288:41;31332:77;31353:10;31371:32;31332:13;:77::i;:::-;31475:26;;;;31288:121;;-1:-1:-1;;;;;;31475:63:72;31471:104;;31553:22;31546:29;;;;;31471:104;31622:26;;;;:70;;-1:-1:-1;;;31622:70:72;;;;;5990:25:197;;;6031:18;;;6024:34;;;6074:18;;;6067:34;;;-1:-1:-1;;;;;31622:34:72;;;;;;5963:18:197;;31622:70:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31615:77;30919:778;-1:-1:-1;;;;;;30919:778:72:o;25781:1194::-;25911:13;26024:17;:26;;;26054:1;26024:31;26020:63;;-1:-1:-1;26064:19:72;26057:26;;26020:63;26183:27;26239:17;:26;;;26213:17;:23;;;:52;;;;:::i;:::-;26183:82;;26370:19;26347;:42;26343:74;;26398:19;-1:-1:-1;26391:26:72;;26343:74;26660:26;;;;26566:39;;26609:41;26631:19;26609;:41;:::i;:::-;26608:78;;;;:::i;:::-;26566:120;-1:-1:-1;26759:53:72;26566:120;26759:19;:53;:::i;:::-;26751:61;;26892:78;26921:5;26899:19;:27;26892:78;;;26944:26;;;;26936:34;;:5;:34;:::i;:::-;26928:42;;26892:78;;;25926:1049;;25781:1194;;;;:::o;29176:601::-;29294:7;29394:17;:26;;;29424:1;29394:31;29390:72;;29434:24;;:28;;29461:1;29434:28;:::i;:::-;29427:35;;;;29390:72;29559:22;29593:17;:23;;;29584:6;:32;;;;:::i;:::-;29559:57;;29745:17;:26;;;29728:14;:43;;;;:::i;:::-;29700:24;;:72;;;;:::i;27298:1591::-;27416:14;27534:17;:26;;;27564:1;27534:31;27530:233;;27588:175;27614:17;:24;;;27682:17;:30;;;296:13:120;27650:62:72;;;;:::i;:::-;296:13:120;27588:14:72;:175::i;27530:233::-;-1:-1:-1;27850:24:72;;;;27941:30;;;;27937:54;27978:13;27937:54;28088:22;28122:17;:23;;;28113:6;:32;;;;:::i;:::-;28088:57;;28236:25;28322:17;:26;;;28305:14;:43;;;;;:::i;:::-;;28285:63;;28405:10;28400:485;28422:17;28417:2;:22;28400:485;;;28587:149;28611:6;28659:17;:30;;;296:13:120;28627:62:72;;;;:::i;28587:149::-;28578:158;-1:-1:-1;28815:22:72;;28832:5;28815:22;28866:4;;28400:485;;;;27432:1457;;27298:1591;;;;:::o;18052:1572::-;18297:24;;;:29;18293:1132;;18559:31;;;;;18368:15;20583:40;;;18386:1;20583:40;;;;;;;:56;;;;;;;;;20421:2;20409:14;;;;20399:24;;20480:3;20470:13;;;20460:23;-1:-1:-1;;;20521:24:72;20583:65;;18328:306;18293:1132;;;18707:14;18724:56;18741:17;18760:19;18724:16;:56::i;:::-;18707:73;;18988:1;18978:7;:11;:105;;19039:44;19057:17;19076:6;19039:17;:44::i;:::-;18978:105;;;19001:7;19012:1;19001:12;:26;;19020:7;19001:26;;;19016:1;19001:26;18968:115;;19128:15;19146:44;19164:17;19183:6;19146:17;:44::i;:::-;19363:31;;;;;20337:14;20583:40;;;:28;:40;;;;;;:56;;;;;;;;;;20421:2;20409:14;;;;20399:24;;20480:3;20470:13;;;20460:23;20542:3;20531:14;;;20521:24;20583:65;;19128:62;-1:-1:-1;18640:785:72;;18293:1132;19492:33;;;;:21;:33;;;;;;;;:50;;;19587:31;;;;19554:65;;19587:31;;19514:10;;19528:14;;19554:65;;;18052:1572;;;;;:::o;15079:3983:196:-;15191:14;;;-1:-1:-1;;15680:1:196;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;-1:-1:-1;;;16135:43:196;;;;;6944:25:197;;;6985:18;;;6978:34;;;6917:18;;16135:43:196;;;;;;;16088:101;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17937;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:15;;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;15079:3983;-1:-1:-1;;;;15079:3983:196:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:197:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:197;;14:180;-1:-1:-1;14:180:197:o;381:594::-;461:12;;449:25;;523:4;512:16;;;506:23;490:14;;;483:47;579:4;568:16;;;562:23;546:14;;;539:47;635:4;624:16;;;618:23;602:14;;;595:47;691:4;680:16;;;674:23;658:14;;;651:47;747:4;736:16;;;730:23;714:14;;;707:47;803:4;792:16;;;786:23;770:14;;;763:47;863:4;852:16;;;846:23;-1:-1:-1;;;;;842:49:197;826:14;;;819:73;911:6;953:14;;;947:21;933:12;;926:43;381:594::o;980:270::-;1180:3;1165:19;;1193:51;1169:9;1226:6;1193:51;:::i;1255:248::-;1323:6;1331;1384:2;1372:9;1363:7;1359:23;1355:32;1352:52;;;1400:1;1397;1390:12;1352:52;-1:-1:-1;;1423:23:197;;;1493:2;1478:18;;;1465:32;;-1:-1:-1;1255:248:197:o;1508:488::-;1633:6;1641;1649;1657;1701:9;1692:7;1688:23;1731:3;1727:2;1723:12;1720:32;;;1748:1;1745;1738:12;1720:32;1771:23;;;-1:-1:-1;1828:3:197;-1:-1:-1;;1810:16:197;;1806:26;1803:46;;;1845:1;1842;1835:12;1803:46;-1:-1:-1;1508:488:197;;1883:2;1868:18;;;-1:-1:-1;1933:3:197;1918:19;;1905:33;;1985:3;1970:19;1957:33;;-1:-1:-1;1508:488:197;-1:-1:-1;;1508:488:197:o;2231:127::-;2292:10;2287:3;2283:20;2280:1;2273:31;2323:4;2320:1;2313:15;2347:4;2344:1;2337:15;2363:241;2448:1;2441:5;2438:12;2428:143;;2493:10;2488:3;2484:20;2481:1;2474:31;2528:4;2525:1;2518:15;2556:4;2553:1;2546:15;2428:143;2580:18;;2363:241::o;2609:217::-;2760:2;2745:18;;2772:48;2749:9;2802:6;2772:48;:::i;2831:382::-;3076:3;3061:19;;3089:51;3065:9;3122:6;3089:51;:::i;:::-;3149:58;3202:3;3191:9;3187:19;3179:6;3149:58;:::i;3218:131::-;-1:-1:-1;;;;;3293:31:197;;3283:42;;3273:70;;3339:1;3336;3329:12;3273:70;3218:131;:::o;3354:251::-;3424:6;3477:2;3465:9;3456:7;3452:23;3448:32;3445:52;;;3493:1;3490;3483:12;3445:52;3525:9;3519:16;3544:31;3569:5;3544:31;:::i;3610:127::-;3671:10;3666:3;3662:20;3659:1;3652:31;3702:4;3699:1;3692:15;3726:4;3723:1;3716:15;3742:125;3807:9;;;3828:10;;;3825:36;;;3841:18;;:::i;3872:278::-;3962:6;4015:2;4003:9;3994:7;3990:23;3986:32;3983:52;;;4031:1;4028;4021:12;3983:52;4070:9;4057:23;4089:31;4114:5;4089:31;:::i;4362:277::-;4429:6;4482:2;4470:9;4461:7;4457:23;4453:32;4450:52;;;4498:1;4495;4488:12;4450:52;4530:9;4524:16;4583:5;4576:13;4569:21;4562:5;4559:32;4549:60;;4605:1;4602;4595:12;4644:817;4969:20;;4951:39;;5053:4;5041:17;;;5028:31;5006:20;;;4999:61;5123:4;5111:17;;;5098:31;5076:20;;;5069:61;4938:3;4923:19;;5177:4;5165:17;;5152:31;5192;5152;5192;:::i;:::-;-1:-1:-1;;;;;5299:14:197;;;5292:4;5277:20;;5270:44;5345:3;5330:19;;5323:35;;;;5250:3;5374:19;;5367:35;;;;5439:15;;5433:3;5418:19;;;5411:44;;;;4644:817;;-1:-1:-1;4644:817:197:o;5466:128::-;5533:9;;;5554:11;;;5551:37;;;5568:18;;:::i;5599:184::-;5669:6;5722:2;5710:9;5701:7;5697:23;5693:32;5690:52;;;5738:1;5735;5728:12;5690:52;-1:-1:-1;5761:16:197;;5599:184;-1:-1:-1;5599:184:197:o;6112:279::-;6201:6;6254:2;6242:9;6233:7;6229:23;6225:32;6222:52;;;6270:1;6267;6260:12;6222:52;6302:9;6296:16;6341:1;6334:5;6331:12;6321:40;;6357:1;6354;6347:12;6396:127;6457:10;6452:3;6448:20;6445:1;6438:31;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:112;6560:1;6586;6576:35;;6591:18;;:::i;:::-;-1:-1:-1;6625:9:197;;6528:112::o;6645:120::-;6685:1;6711;6701:35;;6716:18;;:::i;:::-;-1:-1:-1;6750:9:197;;6645:120::o","linkReferences":{},"immutableReferences":{"80748":[{"start":286,"length":32},{"start":1000,"length":32}]}},"methodIdentifiers":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":"a249d425","currentBallotStateOf(uint256)":"c55f571c","currentOf(uint256)":"43a266c2","directory()":"c41c2f24","get(uint256,uint256)":"669e48aa","latestConfigurationOf(uint256)":"2cee6deb","latestConfiguredOf(uint256)":"ebc8ca1f","queuedOf(uint256)":"5c550078"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_BALLOT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_DISCOUNT_RATE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_DURATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TIMEFRAME\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_WEIGHT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NO_SAME_BLOCK_RECONFIGURATION\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Configure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"}],\"name\":\"Init\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"_data\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_metadata\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mustStartAtOrAfter\",\"type\":\"uint256\"}],\"name\":\"configureFor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"currentBallotStateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"currentOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_configuration\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"latestConfigurationOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"ballotState\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"queuedOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)\":{\"details\":\"Only a project's current controller can configure its funding cycles.\",\"params\":{\"_data\":\"The funding cycle configuration data.\",\"_metadata\":\"Arbitrary extra data to associate with this funding cycle configuration that's not used within.\",\"_mustStartAtOrAfter\":\"The time before which the initialized funding cycle cannot start.\",\"_projectId\":\"The ID of the project being configured.\"},\"returns\":{\"_0\":\"The funding cycle that the configuration will take effect during.\"}},\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\"}},\"currentBallotStateOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to check the ballot state of.\"},\"returns\":{\"_0\":\"The project's current ballot's state.\"}},\"currentOf(uint256)\":{\"details\":\"If a current funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\",\"params\":{\"_projectId\":\"The ID of the project to get the current funding cycle of.\"},\"returns\":{\"fundingCycle\":\"The project's current funding cycle.\"}},\"get(uint256,uint256)\":{\"params\":{\"_configuration\":\"The configuration of the funding cycle to get.\",\"_projectId\":\"The ID of the project to which the funding cycle belongs.\"},\"returns\":{\"fundingCycle\":\"The funding cycle.\"}},\"latestConfiguredOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get the latest configured funding cycle of.\"},\"returns\":{\"ballotState\":\"The state of the ballot for the reconfiguration.\",\"fundingCycle\":\"The project's queued funding cycle.\"}},\"queuedOf(uint256)\":{\"details\":\"If a queued funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\",\"params\":{\"_projectId\":\"The ID of the project to get the queued funding cycle of.\"},\"returns\":{\"fundingCycle\":\"The project's queued funding cycle.\"}}},\"stateVariables\":{\"_metadataOf\":{\"custom:param\":\"_projectId The ID of the project to get metadata of._configuration The funding cycle configuration to get metadata of.\"},\"_packedIntrinsicPropertiesOf\":{\"custom:param\":\"_projectId The ID of the project to get instrinsic properties of._configuration The funding cycle configuration to get properties of.\"},\"_packedUserPropertiesOf\":{\"custom:param\":\"_projectId The ID of the project to get properties of._configuration The funding cycle configuration to get properties of.\"},\"latestConfigurationOf\":{\"custom:param\":\"_projectId The ID of the project to get the latest funding cycle configuration of.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)\":{\"notice\":\"Configures the next eligible funding cycle for the specified project.\"},\"currentBallotStateOf(uint256)\":{\"notice\":\"The current ballot state of the project.\"},\"currentOf(uint256)\":{\"notice\":\"The funding cycle that is currently active for the specified project.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"get(uint256,uint256)\":{\"notice\":\"Get the funding cycle with the given configuration for the specified project.\"},\"latestConfigurationOf(uint256)\":{\"notice\":\"The latest funding cycle configuration for each project.\"},\"latestConfiguredOf(uint256)\":{\"notice\":\"The latest funding cycle to be configured for the specified project, and its current ballot state.\"},\"queuedOf(uint256)\":{\"notice\":\"The funding cycle that's next up for the specified project.\"}},\"notice\":\"Manages funding cycle configurations and scheduling.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":\"JBFundingCycleStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":{\"keccak256\":\"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff\",\"dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"type":"error","name":"INVALID_BALLOT"},{"inputs":[],"type":"error","name":"INVALID_DISCOUNT_RATE"},{"inputs":[],"type":"error","name":"INVALID_DURATION"},{"inputs":[],"type":"error","name":"INVALID_TIMEFRAME"},{"inputs":[],"type":"error","name":"INVALID_WEIGHT"},{"inputs":[],"type":"error","name":"NO_SAME_BLOCK_RECONFIGURATION"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}],"indexed":false},{"internalType":"uint256","name":"metadata","type":"uint256","indexed":false},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Configure","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"basedOn","type":"uint256","indexed":true}],"type":"event","name":"Init","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"_data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"uint256","name":"_metadata","type":"uint256"},{"internalType":"uint256","name":"_mustStartAtOrAfter","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"configureFor","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentBallotStateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"get","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfigurationOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"ballotState","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]}],"devdoc":{"kind":"dev","methods":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":{"details":"Only a project's current controller can configure its funding cycles.","params":{"_data":"The funding cycle configuration data.","_metadata":"Arbitrary extra data to associate with this funding cycle configuration that's not used within.","_mustStartAtOrAfter":"The time before which the initialized funding cycle cannot start.","_projectId":"The ID of the project being configured."},"returns":{"_0":"The funding cycle that the configuration will take effect during."}},"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project."}},"currentBallotStateOf(uint256)":{"params":{"_projectId":"The ID of the project to check the ballot state of."},"returns":{"_0":"The project's current ballot's state."}},"currentOf(uint256)":{"details":"If a current funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.","params":{"_projectId":"The ID of the project to get the current funding cycle of."},"returns":{"fundingCycle":"The project's current funding cycle."}},"get(uint256,uint256)":{"params":{"_configuration":"The configuration of the funding cycle to get.","_projectId":"The ID of the project to which the funding cycle belongs."},"returns":{"fundingCycle":"The funding cycle."}},"latestConfiguredOf(uint256)":{"params":{"_projectId":"The ID of the project to get the latest configured funding cycle of."},"returns":{"ballotState":"The state of the ballot for the reconfiguration.","fundingCycle":"The project's queued funding cycle."}},"queuedOf(uint256)":{"details":"If a queued funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.","params":{"_projectId":"The ID of the project to get the queued funding cycle of."},"returns":{"fundingCycle":"The project's queued funding cycle."}}},"version":1},"userdoc":{"kind":"user","methods":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":{"notice":"Configures the next eligible funding cycle for the specified project."},"currentBallotStateOf(uint256)":{"notice":"The current ballot state of the project."},"currentOf(uint256)":{"notice":"The funding cycle that is currently active for the specified project."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"get(uint256,uint256)":{"notice":"Get the funding cycle with the given configuration for the specified project."},"latestConfigurationOf(uint256)":{"notice":"The latest funding cycle configuration for each project."},"latestConfiguredOf(uint256)":{"notice":"The latest funding cycle to be configured for the specified project, and its current ballot state."},"queuedOf(uint256)":{"notice":"The funding cycle that's next up for the specified project."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":"JBFundingCycleStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":{"keccak256":"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566","urls":["bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff","dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol","id":76640,"exportedSymbols":{"IJBDirectory":[85041],"IJBFundingCycleBallot":[85165],"IJBFundingCycleStore":[85310],"JBBallotState":[84037],"JBConstants":[86760],"JBControllerUtility":[80761],"JBFundingCycle":[87801],"JBFundingCycleData":[87816],"JBFundingCycleStore":[76639],"PRBMath":[103143]},"nodeType":"SourceUnit","src":"32:33381:72","nodes":[{"id":75139,"nodeType":"PragmaDirective","src":"32:24:72","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":75141,"nodeType":"ImportDirective","src":"58:62:72","nodes":[],"absolutePath":"node_modules/@paulrberg/contracts/math/PRBMath.sol","file":"@paulrberg/contracts/math/PRBMath.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":99521,"symbolAliases":[{"foreign":{"id":75140,"name":"PRBMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103143,"src":"66:7:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75143,"nodeType":"ImportDirective","src":"121:71:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol","file":"./abstract/JBControllerUtility.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":80762,"symbolAliases":[{"foreign":{"id":75142,"name":"JBControllerUtility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80761,"src":"129:19:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75145,"nodeType":"ImportDirective","src":"193:56:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol","file":"./enums/JBBallotState.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":84038,"symbolAliases":[{"foreign":{"id":75144,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"201:13:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75147,"nodeType":"ImportDirective","src":"250:56:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","file":"./libraries/JBConstants.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":86761,"symbolAliases":[{"foreign":{"id":75146,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"258:11:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75149,"nodeType":"ImportDirective","src":"307:59:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":75148,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"315:12:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75151,"nodeType":"ImportDirective","src":"367:77:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol","file":"./interfaces/IJBFundingCycleBallot.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":85166,"symbolAliases":[{"foreign":{"id":75150,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"375:21:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75153,"nodeType":"ImportDirective","src":"445:75:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./interfaces/IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":75152,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"453:20:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75155,"nodeType":"ImportDirective","src":"521:60:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":75154,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"529:14:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":75157,"nodeType":"ImportDirective","src":"582:68:72","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol","file":"./structs/JBFundingCycleData.sol","nameLocation":"-1:-1:-1","scope":76640,"sourceUnit":87817,"symbolAliases":[{"foreign":{"id":75156,"name":"JBFundingCycleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87816,"src":"590:18:72","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76639,"nodeType":"ContractDefinition","src":"717:32695:72","nodes":[{"id":75164,"nodeType":"ErrorDefinition","src":"1023:23:72","nodes":[],"errorSelector":"54013981","name":"INVALID_BALLOT","nameLocation":"1029:14:72","parameters":{"id":75163,"nodeType":"ParameterList","parameters":[],"src":"1043:2:72"}},{"id":75166,"nodeType":"ErrorDefinition","src":"1049:30:72","nodes":[],"errorSelector":"24595135","name":"INVALID_DISCOUNT_RATE","nameLocation":"1055:21:72","parameters":{"id":75165,"nodeType":"ParameterList","parameters":[],"src":"1076:2:72"}},{"id":75168,"nodeType":"ErrorDefinition","src":"1082:25:72","nodes":[],"errorSelector":"3147256c","name":"INVALID_DURATION","nameLocation":"1088:16:72","parameters":{"id":75167,"nodeType":"ParameterList","parameters":[],"src":"1104:2:72"}},{"id":75170,"nodeType":"ErrorDefinition","src":"1110:26:72","nodes":[],"errorSelector":"ac611530","name":"INVALID_TIMEFRAME","nameLocation":"1116:17:72","parameters":{"id":75169,"nodeType":"ParameterList","parameters":[],"src":"1133:2:72"}},{"id":75172,"nodeType":"ErrorDefinition","src":"1139:23:72","nodes":[],"errorSelector":"698f22ad","name":"INVALID_WEIGHT","nameLocation":"1145:14:72","parameters":{"id":75171,"nodeType":"ParameterList","parameters":[],"src":"1159:2:72"}},{"id":75174,"nodeType":"ErrorDefinition","src":"1165:38:72","nodes":[],"errorSelector":"42bb50ae","name":"NO_SAME_BLOCK_RECONFIGURATION","nameLocation":"1171:29:72","parameters":{"id":75173,"nodeType":"ParameterList","parameters":[],"src":"1200:2:72"}},{"id":75181,"nodeType":"VariableDeclaration","src":"1702:79:72","nodes":[],"constant":false,"documentation":{"id":75175,"nodeType":"StructuredDocumentation","src":"1436:263:72","text":"@notice Stores the user defined properties of each funding cycle, packed into one storage slot.\n @custom:param _projectId The ID of the project to get properties of.\n @custom:param _configuration The funding cycle configuration to get properties of."},"mutability":"mutable","name":"_packedUserPropertiesOf","nameLocation":"1758:23:72","scope":76639,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"typeName":{"id":75180,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75176,"name":"uint256","nodeType":"ElementaryTypeName","src":"1710:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1702:47:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75179,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75177,"name":"uint256","nodeType":"ElementaryTypeName","src":"1729:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1721:27:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75178,"name":"uint256","nodeType":"ElementaryTypeName","src":"1740:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":75188,"nodeType":"VariableDeclaration","src":"2093:84:72","nodes":[],"constant":false,"documentation":{"id":75182,"nodeType":"StructuredDocumentation","src":"1786:304:72","text":"@notice Stores the properties added by the mechanism to manage and schedule each funding cycle, packed into one storage slot.\n @custom:param _projectId The ID of the project to get instrinsic properties of.\n @custom:param _configuration The funding cycle configuration to get properties of."},"mutability":"mutable","name":"_packedIntrinsicPropertiesOf","nameLocation":"2149:28:72","scope":76639,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"typeName":{"id":75187,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75183,"name":"uint256","nodeType":"ElementaryTypeName","src":"2101:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2093:47:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75186,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75184,"name":"uint256","nodeType":"ElementaryTypeName","src":"2120:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2112:27:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75185,"name":"uint256","nodeType":"ElementaryTypeName","src":"2131:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":75195,"nodeType":"VariableDeclaration","src":"2444:67:72","nodes":[],"constant":false,"documentation":{"id":75189,"nodeType":"StructuredDocumentation","src":"2182:259:72","text":"@notice Stores the metadata for each funding cycle configuration, packed into one storage slot.\n @custom:param _projectId The ID of the project to get metadata of.\n @custom:param _configuration The funding cycle configuration to get metadata of."},"mutability":"mutable","name":"_metadataOf","nameLocation":"2500:11:72","scope":76639,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"typeName":{"id":75194,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75190,"name":"uint256","nodeType":"ElementaryTypeName","src":"2452:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2444:47:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75193,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75191,"name":"uint256","nodeType":"ElementaryTypeName","src":"2471:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2463:27:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75192,"name":"uint256","nodeType":"ElementaryTypeName","src":"2482:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":75201,"nodeType":"VariableDeclaration","src":"2919:65:72","nodes":[],"baseFunctions":[85249],"constant":false,"documentation":{"id":75196,"nodeType":"StructuredDocumentation","src":"2745:171:72","text":"@notice The latest funding cycle configuration for each project.\n @custom:param _projectId The ID of the project to get the latest funding cycle configuration of."},"functionSelector":"2cee6deb","mutability":"mutable","name":"latestConfigurationOf","nameLocation":"2963:21:72","overrides":{"id":75200,"nodeType":"OverrideSpecifier","overrides":[],"src":"2954:8:72"},"scope":76639,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":75199,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75197,"name":"uint256","nodeType":"ElementaryTypeName","src":"2927:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2919:27:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":75198,"name":"uint256","nodeType":"ElementaryTypeName","src":"2938:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":75219,"nodeType":"FunctionDefinition","src":"3513:196:72","nodes":[],"body":{"id":75218,"nodeType":"Block","src":"3650:59:72","nodes":[],"statements":[{"expression":{"arguments":[{"id":75214,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75204,"src":"3677:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75215,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75206,"src":"3689:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75213,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"3663:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3663:41:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75212,"id":75217,"nodeType":"Return","src":"3656:48:72"}]},"baseFunctions":[85259],"documentation":{"id":75202,"nodeType":"StructuredDocumentation","src":"3218:292:72","text":"@notice Get the funding cycle with the given configuration for the specified project.\n @param _projectId The ID of the project to which the funding cycle belongs.\n @param _configuration The configuration of the funding cycle to get.\n @return fundingCycle The funding cycle."},"functionSelector":"669e48aa","implemented":true,"kind":"function","modifiers":[],"name":"get","nameLocation":"3522:3:72","overrides":{"id":75208,"nodeType":"OverrideSpecifier","overrides":[],"src":"3596:8:72"},"parameters":{"id":75207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75204,"mutability":"mutable","name":"_projectId","nameLocation":"3539:10:72","nodeType":"VariableDeclaration","scope":75219,"src":"3531:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75203,"name":"uint256","nodeType":"ElementaryTypeName","src":"3531:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75206,"mutability":"mutable","name":"_configuration","nameLocation":"3563:14:72","nodeType":"VariableDeclaration","scope":75219,"src":"3555:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75205,"name":"uint256","nodeType":"ElementaryTypeName","src":"3555:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3525:56:72"},"returnParameters":{"id":75212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75211,"mutability":"mutable","name":"fundingCycle","nameLocation":"3636:12:72","nodeType":"VariableDeclaration","scope":75219,"src":"3614:34:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75210,"nodeType":"UserDefinedTypeName","pathNode":{"id":75209,"name":"JBFundingCycle","nameLocations":["3614:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"3614:14:72"},"referencedDeclaration":87801,"src":"3614:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"3613:36:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":75258,"nodeType":"FunctionDefinition","src":"4057:616:72","nodes":[],"body":{"id":75257,"nodeType":"Block","src":"4208:465:72","nodes":[],"statements":[{"assignments":[75233],"declarations":[{"constant":false,"id":75233,"mutability":"mutable","name":"_fundingCycleConfiguration","nameLocation":"4288:26:72","nodeType":"VariableDeclaration","scope":75257,"src":"4280:34:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75232,"name":"uint256","nodeType":"ElementaryTypeName","src":"4280:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75237,"initialValue":{"baseExpression":{"id":75234,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"4317:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75236,"indexExpression":{"id":75235,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75222,"src":"4339:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4317:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4280:70:72"},{"expression":{"id":75243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75238,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"4420:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75240,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75222,"src":"4449:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75241,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75233,"src":"4461:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75239,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"4435:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4435:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"4420:68:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75244,"nodeType":"ExpressionStatement","src":"4420:68:72"},{"expression":{"id":75255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75245,"name":"ballotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75230,"src":"4528:11:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75247,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75222,"src":"4564:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75248,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"4582:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4595:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"4582:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75250,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"4616:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4629:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"4616:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75252,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75227,"src":"4642:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75253,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4655:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"4642:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75246,"name":"_ballotStateOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76492,"src":"4542:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_JBBallotState_$84037_$","typeString":"function (uint256,uint256,uint256,uint256) view returns (enum JBBallotState)"}},"id":75254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4542:126:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"src":"4528:140:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"id":75256,"nodeType":"ExpressionStatement","src":"4528:140:72"}]},"baseFunctions":[85270],"documentation":{"id":75220,"nodeType":"StructuredDocumentation","src":"3713:341:72","text":"@notice The latest funding cycle to be configured for the specified project, and its current ballot state.\n @param _projectId The ID of the project to get the latest configured funding cycle of.\n @return fundingCycle The project's queued funding cycle.\n @return ballotState The state of the ballot for the reconfiguration."},"functionSelector":"ebc8ca1f","implemented":true,"kind":"function","modifiers":[],"name":"latestConfiguredOf","nameLocation":"4066:18:72","overrides":{"id":75224,"nodeType":"OverrideSpecifier","overrides":[],"src":"4127:8:72"},"parameters":{"id":75223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75222,"mutability":"mutable","name":"_projectId","nameLocation":"4098:10:72","nodeType":"VariableDeclaration","scope":75258,"src":"4090:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75221,"name":"uint256","nodeType":"ElementaryTypeName","src":"4090:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4084:28:72"},"returnParameters":{"id":75231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75227,"mutability":"mutable","name":"fundingCycle","nameLocation":"4167:12:72","nodeType":"VariableDeclaration","scope":75258,"src":"4145:34:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75226,"nodeType":"UserDefinedTypeName","pathNode":{"id":75225,"name":"JBFundingCycle","nameLocations":["4145:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"4145:14:72"},"referencedDeclaration":87801,"src":"4145:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":75230,"mutability":"mutable","name":"ballotState","nameLocation":"4195:11:72","nodeType":"VariableDeclaration","scope":75258,"src":"4181:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":75229,"nodeType":"UserDefinedTypeName","pathNode":{"id":75228,"name":"JBBallotState","nameLocations":["4181:13:72"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"4181:13:72"},"referencedDeclaration":84037,"src":"4181:13:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"4144:63:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":75380,"nodeType":"FunctionDefinition","src":"5023:2100:72","nodes":[],"body":{"id":75379,"nodeType":"Block","src":"5137:1986:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":75268,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"5224:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75270,"indexExpression":{"id":75269,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5246:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5224:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5261:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5224:38:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75278,"nodeType":"IfStatement","src":"5220:70:72","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":75274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5285:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5288:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75273,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"5271:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5271:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75277,"nodeType":"Return","src":"5264:26:72"}},{"assignments":[75280],"declarations":[{"constant":false,"id":75280,"mutability":"mutable","name":"_standbyFundingCycleConfiguration","nameLocation":"5379:33:72","nodeType":"VariableDeclaration","scope":75379,"src":"5371:41:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75279,"name":"uint256","nodeType":"ElementaryTypeName","src":"5371:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75284,"initialValue":{"arguments":[{"id":75282,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5426:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75281,"name":"_standbyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76083,"src":"5415:10:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":75283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5415:22:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5371:66:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75285,"name":"_standbyFundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75280,"src":"5513:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75286,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5549:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5513:37:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75334,"nodeType":"Block","src":"5866:472:72","statements":[{"expression":{"id":75318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75311,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5950:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75313,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5979:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":75314,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"5991:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75316,"indexExpression":{"id":75315,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"6013:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5991:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75312,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"5965:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75317,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5965:60:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"5950:75:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75319,"nodeType":"ExpressionStatement","src":"5950:75:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75320,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6223:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6236:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"6223:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75322,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6244:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6250:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"6244:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6223:36:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75333,"nodeType":"IfStatement","src":"6219:112:72","trueBody":{"expression":{"id":75331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75325,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6269:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75327,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"6298:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75328,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6310:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75329,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6323:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"6310:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75326,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"6284:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6284:47:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"6269:62:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75332,"nodeType":"ExpressionStatement","src":"6269:62:72"}}]},"id":75335,"nodeType":"IfStatement","src":"5509:829:72","trueBody":{"id":75310,"nodeType":"Block","src":"5552:308:72","statements":[{"expression":{"id":75293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75288,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5560:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75290,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5589:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75291,"name":"_standbyFundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75280,"src":"5601:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75289,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"5575:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75292,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5575:60:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"5560:75:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75294,"nodeType":"ExpressionStatement","src":"5560:75:72"},{"condition":{"arguments":[{"id":75296,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5660:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75297,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5672:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":75295,"name":"_isApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"5648:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (uint256,struct JBFundingCycle memory) view returns (bool)"}},"id":75298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5648:37:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75301,"nodeType":"IfStatement","src":"5644:62:72","trueBody":{"expression":{"id":75299,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5694:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75300,"nodeType":"Return","src":"5687:19:72"}},{"expression":{"id":75308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75302,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5791:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75304,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"5820:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75305,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"5832:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75306,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5845:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"5832:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75303,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"5806:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5806:47:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"5791:62:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75309,"nodeType":"ExpressionStatement","src":"5791:62:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75336,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6409:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75337,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6422:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"6409:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6434:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6409:26:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75345,"nodeType":"IfStatement","src":"6405:58:72","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":75341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6458:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6461:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75340,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"6444:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6444:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75344,"nodeType":"Return","src":"6437:26:72"}},{"condition":{"arguments":[{"id":75347,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"6600:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75348,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6612:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":75346,"name":"_isApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"6588:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (uint256,struct JBFundingCycle memory) view returns (bool)"}},"id":75349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6588:37:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75355,"nodeType":"IfStatement","src":"6584:95:72","trueBody":{"expression":{"arguments":[{"id":75351,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6659:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"hexValue":"66616c7365","id":75352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6673:5:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75350,"name":"_mockFundingCycleBasedOn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76226,"src":"6634:24:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_bool_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory,bool) view returns (struct JBFundingCycle memory)"}},"id":75353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6634:45:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75354,"nodeType":"Return","src":"6627:52:72"}},{"expression":{"id":75362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75356,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6789:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75358,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75261,"src":"6818:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75359,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6830:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6843:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"6830:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75357,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"6804:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6804:47:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"6789:62:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75363,"nodeType":"ExpressionStatement","src":"6789:62:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75364,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"6954:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75365,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6967:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"6954:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6979:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6954:26:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75373,"nodeType":"IfStatement","src":"6950:58:72","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":75369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7003:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7006:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75368,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"6989:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6989:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75372,"nodeType":"Return","src":"6982:26:72"}},{"expression":{"arguments":[{"id":75375,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75266,"src":"7098:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"hexValue":"66616c7365","id":75376,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7112:5:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75374,"name":"_mockFundingCycleBasedOn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76226,"src":"7073:24:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_bool_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory,bool) view returns (struct JBFundingCycle memory)"}},"id":75377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7073:45:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75267,"id":75378,"nodeType":"Return","src":"7066:52:72"}]},"baseFunctions":[85278],"documentation":{"id":75259,"nodeType":"StructuredDocumentation","src":"4677:343:72","text":"@notice The funding cycle that's next up for the specified project.\n @dev If a queued funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\n @param _projectId The ID of the project to get the queued funding cycle of.\n @return fundingCycle The project's queued funding cycle."},"functionSelector":"5c550078","implemented":true,"kind":"function","modifiers":[],"name":"queuedOf","nameLocation":"5032:8:72","overrides":{"id":75263,"nodeType":"OverrideSpecifier","overrides":[],"src":"5083:8:72"},"parameters":{"id":75262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75261,"mutability":"mutable","name":"_projectId","nameLocation":"5054:10:72","nodeType":"VariableDeclaration","scope":75380,"src":"5046:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75260,"name":"uint256","nodeType":"ElementaryTypeName","src":"5046:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5040:28:72"},"returnParameters":{"id":75267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75266,"mutability":"mutable","name":"fundingCycle","nameLocation":"5123:12:72","nodeType":"VariableDeclaration","scope":75380,"src":"5101:34:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75265,"nodeType":"UserDefinedTypeName","pathNode":{"id":75264,"name":"JBFundingCycle","nameLocations":["5101:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"5101:14:72"},"referencedDeclaration":87801,"src":"5101:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"5100:36:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":75495,"nodeType":"FunctionDefinition","src":"7486:2346:72","nodes":[],"body":{"id":75494,"nodeType":"Block","src":"7601:2231:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":75390,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"7688:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75392,"indexExpression":{"id":75391,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"7710:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7688:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7725:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7688:38:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75400,"nodeType":"IfStatement","src":"7684:70:72","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":75396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7749:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7752:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75395,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"7735:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7735:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75389,"id":75399,"nodeType":"Return","src":"7728:26:72"}},{"assignments":[75402],"declarations":[{"constant":false,"id":75402,"mutability":"mutable","name":"_fundingCycleConfiguration","nameLocation":"7844:26:72","nodeType":"VariableDeclaration","scope":75494,"src":"7836:34:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75401,"name":"uint256","nodeType":"ElementaryTypeName","src":"7836:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75406,"initialValue":{"arguments":[{"id":75404,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"7885:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75403,"name":"_eligibleOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76161,"src":"7873:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":75405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7873:23:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7836:60:72"},{"assignments":[75409],"declarations":[{"constant":false,"id":75409,"mutability":"mutable","name":"_fundingCycle","nameLocation":"7980:13:72","nodeType":"VariableDeclaration","scope":75494,"src":"7958:35:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75408,"nodeType":"UserDefinedTypeName","pathNode":{"id":75407,"name":"JBFundingCycle","nameLocations":["7958:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"7958:14:72"},"referencedDeclaration":87801,"src":"7958:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":75410,"nodeType":"VariableDeclarationStatement","src":"7958:35:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75411,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"8050:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8079:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8050:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75464,"nodeType":"Block","src":"8658:644:72","statements":[{"expression":{"id":75438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75434,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"8782:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":75435,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"8811:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75437,"indexExpression":{"id":75436,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"8833:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8811:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8782:62:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75439,"nodeType":"ExpressionStatement","src":"8782:62:72"},{"expression":{"id":75445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75440,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"8903:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75442,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"8933:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75443,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"8945:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75441,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"8919:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8919:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"8903:69:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75446,"nodeType":"ExpressionStatement","src":"8903:69:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9155:39:72","subExpression":{"arguments":[{"id":75448,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"9168:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75449,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9180:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":75447,"name":"_isApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"9156:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (uint256,struct JBFundingCycle memory) view returns (bool)"}},"id":75450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9156:38:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75452,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9198:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9204:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"9198:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75454,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9216:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9230:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"9216:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9198:37:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9155:80:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75463,"nodeType":"IfStatement","src":"9151:144:72","trueBody":{"expression":{"id":75461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75458,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"9245:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75459,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9274:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75460,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9288:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"9274:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9245:50:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75462,"nodeType":"ExpressionStatement","src":"9245:50:72"}}]},"id":75465,"nodeType":"IfStatement","src":"8046:1256:72","trueBody":{"id":75433,"nodeType":"Block","src":"8082:570:72","statements":[{"expression":{"id":75419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75414,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"8157:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75416,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"8187:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75417,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"8199:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75415,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"8173:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8173:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"8157:69:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75420,"nodeType":"ExpressionStatement","src":"8157:69:72"},{"condition":{"arguments":[{"id":75422,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"8344:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75423,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"8356:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":75421,"name":"_isApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"8332:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (uint256,struct JBFundingCycle memory) view returns (bool)"}},"id":75424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8332:38:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75427,"nodeType":"IfStatement","src":"8328:64:72","trueBody":{"expression":{"id":75425,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"8379:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75389,"id":75426,"nodeType":"Return","src":"8372:20:72"}},{"expression":{"id":75431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75428,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"8595:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75429,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"8624:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8638:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"8624:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8595:50:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75432,"nodeType":"ExpressionStatement","src":"8595:50:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75466,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"9407:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9437:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9407:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75474,"nodeType":"IfStatement","src":"9403:63:72","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":75470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9461:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9464:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75469,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"9447:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9447:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75389,"id":75473,"nodeType":"Return","src":"9440:26:72"}},{"expression":{"id":75480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75475,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9524:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75477,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75383,"src":"9554:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75478,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75402,"src":"9566:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75476,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"9540:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9540:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"9524:69:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75481,"nodeType":"ExpressionStatement","src":"9524:69:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75482,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9668:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75483,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9682:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"9668:22:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9694:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9668:27:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75488,"nodeType":"IfStatement","src":"9664:53:72","trueBody":{"expression":{"id":75486,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9704:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75389,"id":75487,"nodeType":"Return","src":"9697:20:72"}},{"expression":{"arguments":[{"id":75490,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75409,"src":"9807:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"hexValue":"74727565","id":75491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9822:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":75489,"name":"_mockFundingCycleBasedOn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76226,"src":"9782:24:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_bool_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory,bool) view returns (struct JBFundingCycle memory)"}},"id":75492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9782:45:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75389,"id":75493,"nodeType":"Return","src":"9775:52:72"}]},"baseFunctions":[85286],"documentation":{"id":75381,"nodeType":"StructuredDocumentation","src":"7127:356:72","text":"@notice The funding cycle that is currently active for the specified project.\n @dev If a current funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\n @param _projectId The ID of the project to get the current funding cycle of.\n @return fundingCycle The project's current funding cycle."},"functionSelector":"43a266c2","implemented":true,"kind":"function","modifiers":[],"name":"currentOf","nameLocation":"7495:9:72","overrides":{"id":75385,"nodeType":"OverrideSpecifier","overrides":[],"src":"7547:8:72"},"parameters":{"id":75384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75383,"mutability":"mutable","name":"_projectId","nameLocation":"7518:10:72","nodeType":"VariableDeclaration","scope":75495,"src":"7510:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75382,"name":"uint256","nodeType":"ElementaryTypeName","src":"7510:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7504:28:72"},"returnParameters":{"id":75389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75388,"mutability":"mutable","name":"fundingCycle","nameLocation":"7587:12:72","nodeType":"VariableDeclaration","scope":75495,"src":"7565:34:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75387,"nodeType":"UserDefinedTypeName","pathNode":{"id":75386,"name":"JBFundingCycle","nameLocations":["7565:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"7565:14:72"},"referencedDeclaration":87801,"src":"7565:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"7564:36:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":75530,"nodeType":"FunctionDefinition","src":"10019:564:72","nodes":[],"body":{"id":75529,"nodeType":"Block","src":"10116:467:72","nodes":[],"statements":[{"assignments":[75506],"declarations":[{"constant":false,"id":75506,"mutability":"mutable","name":"_fundingCycleConfiguration","nameLocation":"10196:26:72","nodeType":"VariableDeclaration","scope":75529,"src":"10188:34:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75505,"name":"uint256","nodeType":"ElementaryTypeName","src":"10188:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75510,"initialValue":{"baseExpression":{"id":75507,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"10225:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75509,"indexExpression":{"id":75508,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75498,"src":"10247:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10225:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10188:70:72"},{"assignments":[75513],"declarations":[{"constant":false,"id":75513,"mutability":"mutable","name":"_fundingCycle","nameLocation":"10350:13:72","nodeType":"VariableDeclaration","scope":75529,"src":"10328:35:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75512,"nodeType":"UserDefinedTypeName","pathNode":{"id":75511,"name":"JBFundingCycle","nameLocations":["10328:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"10328:14:72"},"referencedDeclaration":87801,"src":"10328:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":75518,"initialValue":{"arguments":[{"id":75515,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75498,"src":"10380:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75516,"name":"_fundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75506,"src":"10392:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75514,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"10366:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10366:53:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"10328:91:72"},{"expression":{"arguments":[{"id":75520,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75498,"src":"10463:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75521,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75513,"src":"10483:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75522,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10497:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"10483:27:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75523,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75513,"src":"10520:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75524,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10534:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"10520:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75525,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75513,"src":"10549:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75526,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10563:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"10549:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75519,"name":"_ballotStateOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76492,"src":"10439:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_JBBallotState_$84037_$","typeString":"function (uint256,uint256,uint256,uint256) view returns (enum JBBallotState)"}},"id":75527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10439:139:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"functionReturnParameters":75504,"id":75528,"nodeType":"Return","src":"10426:152:72"}]},"baseFunctions":[85294],"documentation":{"id":75496,"nodeType":"StructuredDocumentation","src":"9836:180:72","text":"@notice The current ballot state of the project.\n @param _projectId The ID of the project to check the ballot state of.\n @return The project's current ballot's state."},"functionSelector":"c55f571c","implemented":true,"kind":"function","modifiers":[],"name":"currentBallotStateOf","nameLocation":"10028:20:72","overrides":{"id":75500,"nodeType":"OverrideSpecifier","overrides":[],"src":"10083:8:72"},"parameters":{"id":75499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75498,"mutability":"mutable","name":"_projectId","nameLocation":"10057:10:72","nodeType":"VariableDeclaration","scope":75530,"src":"10049:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75497,"name":"uint256","nodeType":"ElementaryTypeName","src":"10049:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10048:20:72"},"returnParameters":{"id":75504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75503,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75530,"src":"10101:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":75502,"nodeType":"UserDefinedTypeName","pathNode":{"id":75501,"name":"JBBallotState","nameLocations":["10101:13:72"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"10101:13:72"},"referencedDeclaration":84037,"src":"10101:13:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"10100:15:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":75541,"nodeType":"FunctionDefinition","src":"10965:71:72","nodes":[],"body":{"id":75540,"nodeType":"Block","src":"11034:2:72","nodes":[],"statements":[]},"documentation":{"id":75531,"nodeType":"StructuredDocumentation","src":"10816:99:72","text":"@param _directory A contract storing directories of terminals and controllers for each project."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":75537,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75534,"src":"11022:10:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}}],"id":75538,"kind":"baseConstructorSpecifier","modifierName":{"id":75536,"name":"JBControllerUtility","nameLocations":["11002:19:72"],"nodeType":"IdentifierPath","referencedDeclaration":80761,"src":"11002:19:72"},"nodeType":"ModifierInvocation","src":"11002:31:72"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":75535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75534,"mutability":"mutable","name":"_directory","nameLocation":"10990:10:72","nodeType":"VariableDeclaration","scope":75541,"src":"10977:23:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":75533,"nodeType":"UserDefinedTypeName","pathNode":{"id":75532,"name":"IJBDirectory","nameLocations":["10977:12:72"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"10977:12:72"},"referencedDeclaration":85041,"src":"10977:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"10976:25:72"},"returnParameters":{"id":75539,"nodeType":"ParameterList","parameters":[],"src":"11034:0:72"},"scope":76639,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":75766,"nodeType":"FunctionDefinition","src":"11853:2926:72","nodes":[],"body":{"id":75765,"nodeType":"Block","src":"12075:2704:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75561,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12123:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12129:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87808,"src":"12123:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":75565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12145:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":75564,"name":"uint32","nodeType":"ElementaryTypeName","src":"12145:6:72","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":75563,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12140:4:72","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12140:12:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":75567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12153:3:72","memberName":"max","nodeType":"MemberAccess","src":"12140:16:72","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"12123:33:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75572,"nodeType":"IfStatement","src":"12119:64:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75569,"name":"INVALID_DURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75168,"src":"12165:16:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75570,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12165:18:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75571,"nodeType":"RevertStatement","src":"12158:25:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75573,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12251:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12257:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87812,"src":"12251:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":75575,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"12272:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":75576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12284:17:72","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"12272:29:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12251:50:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75581,"nodeType":"IfStatement","src":"12247:86:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75578,"name":"INVALID_DISCOUNT_RATE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75166,"src":"12310:21:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12310:23:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75580,"nodeType":"RevertStatement","src":"12303:30:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75582,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12382:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12388:6:72","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87810,"src":"12382:12:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":75586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12402:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":75585,"name":"uint88","nodeType":"ElementaryTypeName","src":"12402:6:72","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":75584,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12397:4:72","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12397:12:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":75588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12410:3:72","memberName":"max","nodeType":"MemberAccess","src":"12397:16:72","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"12382:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75593,"nodeType":"IfStatement","src":"12378:60:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75590,"name":"INVALID_WEIGHT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75172,"src":"12422:14:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12422:16:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75592,"nodeType":"RevertStatement","src":"12415:23:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75594,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75551,"src":"12526:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75595,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12548:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12554:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"12548:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12526:37:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75603,"nodeType":"IfStatement","src":"12522:80:72","trueBody":{"expression":{"id":75601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75598,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75551,"src":"12565:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":75599,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"12587:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12593:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"12587:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12565:37:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75602,"nodeType":"ExpressionStatement","src":"12565:37:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75613,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75604,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75551,"src":"12740:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":75605,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12762:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12768:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87808,"src":"12762:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12740:36:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":75610,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12784:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":75609,"name":"uint56","nodeType":"ElementaryTypeName","src":"12784:6:72","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":75608,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12779:4:72","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75611,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12779:12:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":75612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12792:3:72","memberName":"max","nodeType":"MemberAccess","src":"12779:16:72","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"12740:55:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75617,"nodeType":"IfStatement","src":"12736:87:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75614,"name":"INVALID_TIMEFRAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75170,"src":"12804:17:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12804:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75616,"nodeType":"RevertStatement","src":"12797:26:72"}},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"},"id":75626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75618,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12909:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12915:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87815,"src":"12909:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":75623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12955:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12947:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75621,"name":"address","nodeType":"ElementaryTypeName","src":"12947:7:72","typeDescriptions":{}}},"id":75624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12947:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75620,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"12925:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":75625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12925:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"src":"12909:49:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75670,"nodeType":"IfStatement","src":"12905:588:72","trueBody":{"id":75669,"nodeType":"Block","src":"12960:533:72","statements":[{"assignments":[75628],"declarations":[{"constant":false,"id":75628,"mutability":"mutable","name":"_ballot","nameLocation":"12976:7:72","nodeType":"VariableDeclaration","scope":75669,"src":"12968:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":75627,"name":"address","nodeType":"ElementaryTypeName","src":"12968:7:72","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":75634,"initialValue":{"arguments":[{"expression":{"id":75631,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"12994:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13000:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87815,"src":"12994:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}],"id":75630,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12986:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75629,"name":"address","nodeType":"ElementaryTypeName","src":"12986:7:72","typeDescriptions":{}}},"id":75633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12986:21:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"12968:39:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":75635,"name":"_ballot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75628,"src":"13058:7:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":75636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13066:4:72","memberName":"code","nodeType":"MemberAccess","src":"13058:12:72","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":75637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13071:6:72","memberName":"length","nodeType":"MemberAccess","src":"13058:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13081:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13058:24:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75643,"nodeType":"IfStatement","src":"13054:53:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75640,"name":"INVALID_BALLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"13091:14:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13091:16:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75642,"nodeType":"RevertStatement","src":"13084:23:72"}},{"clauses":[{"block":{"id":75661,"nodeType":"Block","src":"13296:121:72","statements":[{"condition":{"id":75656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13310:10:72","subExpression":{"id":75655,"name":"_supports","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75653,"src":"13311:9:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75660,"nodeType":"IfStatement","src":"13306:39:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75657,"name":"INVALID_BALLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"13329:14:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13329:16:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75659,"nodeType":"RevertStatement","src":"13322:23:72"}}]},"errorName":"","id":75662,"nodeType":"TryCatchClause","parameters":{"id":75654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75653,"mutability":"mutable","name":"_supports","nameLocation":"13278:9:72","nodeType":"VariableDeclaration","scope":75662,"src":"13273:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":75652,"name":"bool","nodeType":"ElementaryTypeName","src":"13273:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13263:32:72"},"src":"13255:162:72"},{"block":{"id":75666,"nodeType":"Block","src":"13424:63:72","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75663,"name":"INVALID_BALLOT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75164,"src":"13441:14:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13441:16:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75665,"nodeType":"RevertStatement","src":"13434:23:72"}]},"errorName":"","id":75667,"nodeType":"TryCatchClause","src":"13418:69:72"}],"externalCall":{"arguments":[{"expression":{"arguments":[{"id":75648,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"13219:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}],"id":75647,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13214:4:72","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":75649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13214:27:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBFundingCycleBallot_$85165","typeString":"type(contract IJBFundingCycleBallot)"}},"id":75650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13242:11:72","memberName":"interfaceId","nodeType":"MemberAccess","src":"13214:39:72","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"expression":{"id":75644,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"13183:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13189:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87815,"src":"13183:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"id":75646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13196:17:72","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":97004,"src":"13183:30:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view external returns (bool)"}},"id":75651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13183:71:72","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75668,"nodeType":"TryStatement","src":"13179:308:72"}]}},{"assignments":[75672],"declarations":[{"constant":false,"id":75672,"mutability":"mutable","name":"_configuration","nameLocation":"13550:14:72","nodeType":"VariableDeclaration","scope":75765,"src":"13542:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75671,"name":"uint256","nodeType":"ElementaryTypeName","src":"13542:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75675,"initialValue":{"expression":{"id":75673,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"13567:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75674,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13573:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"13567:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13542:40:72"},{"expression":{"arguments":[{"id":75677,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"13691:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75678,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"13703:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75679,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"13719:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13725:6:72","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87810,"src":"13719:12:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75681,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75551,"src":"13733:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75676,"name":"_configureIntrinsicPropertiesFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75881,"src":"13658:32:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256)"}},"id":75682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13658:95:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75683,"nodeType":"ExpressionStatement","src":"13658:95:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"},"id":75692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75684,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"13970:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13976:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87815,"src":"13970:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":75689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14016:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75688,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14008:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75687,"name":"address","nodeType":"ElementaryTypeName","src":"14008:7:72","typeDescriptions":{}}},"id":75690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14008:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75686,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"13986:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":75691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13986:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"src":"13970:49:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75693,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14029:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14035:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87808,"src":"14029:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14046:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14029:18:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13970:77:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75698,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14057:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14063:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87812,"src":"14057:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14078:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14057:22:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13970:109:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75737,"nodeType":"IfStatement","src":"13959:490:72","trueBody":{"id":75736,"nodeType":"Block","src":"14086:363:72","statements":[{"assignments":[75704],"declarations":[{"constant":false,"id":75704,"mutability":"mutable","name":"packed","nameLocation":"14139:6:72","nodeType":"VariableDeclaration","scope":75736,"src":"14131:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75703,"name":"uint256","nodeType":"ElementaryTypeName","src":"14131:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75713,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":75709,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14164:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14170:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87815,"src":"14164:12:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}],"id":75708,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14156:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75707,"name":"address","nodeType":"ElementaryTypeName","src":"14156:7:72","typeDescriptions":{}}},"id":75711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14156:21:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14148:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":75705,"name":"uint160","nodeType":"ElementaryTypeName","src":"14148:7:72","typeDescriptions":{}}},"id":75712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14148:30:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"nodeType":"VariableDeclarationStatement","src":"14131:47:72"},{"expression":{"id":75719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75714,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75704,"src":"14228:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75715,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14238:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14244:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87808,"src":"14238:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313630","id":75717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14256:3:72","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"src":"14238:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14228:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75720,"nodeType":"ExpressionStatement","src":"14228:31:72"},{"expression":{"id":75726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75721,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75704,"src":"14313:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75722,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14323:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},"id":75723,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14329:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87812,"src":"14323:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313932","id":75724,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14345:3:72","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"src":"14323:25:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14313:35:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75727,"nodeType":"ExpressionStatement","src":"14313:35:72"},{"expression":{"id":75734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":75728,"name":"_packedUserPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75181,"src":"14382:23:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":75731,"indexExpression":{"id":75729,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"14406:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14382:35:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75732,"indexExpression":{"id":75730,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14418:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14382:51:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75733,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75704,"src":"14436:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14382:60:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75735,"nodeType":"ExpressionStatement","src":"14382:60:72"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75738,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75549,"src":"14494:9:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14506:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14494:13:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75749,"nodeType":"IfStatement","src":"14490:70:72","trueBody":{"expression":{"id":75747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":75741,"name":"_metadataOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75195,"src":"14509:11:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":75744,"indexExpression":{"id":75742,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"14521:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14509:23:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75745,"indexExpression":{"id":75743,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14533:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14509:39:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75746,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75549,"src":"14551:9:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14509:51:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75748,"nodeType":"ExpressionStatement","src":"14509:51:72"}},{"eventCall":{"arguments":[{"id":75751,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14582:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75752,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"14598:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75753,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75547,"src":"14610:5:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"}},{"id":75754,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75549,"src":"14617:9:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75755,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75551,"src":"14628:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75756,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14649:3:72","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":75757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14653:6:72","memberName":"sender","nodeType":"MemberAccess","src":"14649:10:72","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":75750,"name":"Configure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85234,"src":"14572:9:72","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_struct$_JBFundingCycleData_$87816_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,struct JBFundingCycleData memory,uint256,uint256,address)"}},"id":75758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14572:88:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75759,"nodeType":"EmitStatement","src":"14567:93:72"},{"expression":{"arguments":[{"id":75761,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"14747:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75762,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75672,"src":"14759:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75760,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"14733:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14733:41:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":75560,"id":75764,"nodeType":"Return","src":"14726:48:72"}]},"baseFunctions":[85309],"documentation":{"id":75542,"nodeType":"StructuredDocumentation","src":"11269:581:72","text":"@notice Configures the next eligible funding cycle for the specified project.\n @dev Only a project's current controller can configure its funding cycles.\n @param _projectId The ID of the project being configured.\n @param _data The funding cycle configuration data.\n @param _metadata Arbitrary extra data to associate with this funding cycle configuration that's not used within.\n @param _mustStartAtOrAfter The time before which the initialized funding cycle cannot start.\n @return The funding cycle that the configuration will take effect during."},"functionSelector":"a249d425","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":75555,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75544,"src":"12031:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75556,"kind":"modifierInvocation","modifierName":{"id":75554,"name":"onlyController","nameLocations":["12016:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":80743,"src":"12016:14:72"},"nodeType":"ModifierInvocation","src":"12016:26:72"}],"name":"configureFor","nameLocation":"11862:12:72","overrides":{"id":75553,"nodeType":"OverrideSpecifier","overrides":[],"src":"12007:8:72"},"parameters":{"id":75552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75544,"mutability":"mutable","name":"_projectId","nameLocation":"11888:10:72","nodeType":"VariableDeclaration","scope":75766,"src":"11880:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75543,"name":"uint256","nodeType":"ElementaryTypeName","src":"11880:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75547,"mutability":"mutable","name":"_data","nameLocation":"11932:5:72","nodeType":"VariableDeclaration","scope":75766,"src":"11904:33:72","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_calldata_ptr","typeString":"struct JBFundingCycleData"},"typeName":{"id":75546,"nodeType":"UserDefinedTypeName","pathNode":{"id":75545,"name":"JBFundingCycleData","nameLocations":["11904:18:72"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"11904:18:72"},"referencedDeclaration":87816,"src":"11904:18:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"constant":false,"id":75549,"mutability":"mutable","name":"_metadata","nameLocation":"11951:9:72","nodeType":"VariableDeclaration","scope":75766,"src":"11943:17:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75548,"name":"uint256","nodeType":"ElementaryTypeName","src":"11943:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75551,"mutability":"mutable","name":"_mustStartAtOrAfter","nameLocation":"11974:19:72","nodeType":"VariableDeclaration","scope":75766,"src":"11966:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75550,"name":"uint256","nodeType":"ElementaryTypeName","src":"11966:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11874:123:72"},"returnParameters":{"id":75560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75559,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":75766,"src":"12052:21:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75558,"nodeType":"UserDefinedTypeName","pathNode":{"id":75557,"name":"JBFundingCycle","nameLocations":["12052:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"12052:14:72"},"referencedDeclaration":87801,"src":"12052:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"12051:23:72"},"scope":76639,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":75881,"nodeType":"FunctionDefinition","src":"15459:2073:72","nodes":[],"body":{"id":75880,"nodeType":"Block","src":"15619:1913:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":75778,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"15704:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75780,"indexExpression":{"id":75779,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"15726:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15704:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15741:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15704:38:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75794,"nodeType":"IfStatement","src":"15700:201:72","trueBody":{"expression":{"arguments":[{"id":75784,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"15823:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"30","id":75786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15849:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":75787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15852:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75785,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"15835:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15835:19:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":75789,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75771,"src":"15856:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75790,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75775,"src":"15872:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75791,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75773,"src":"15893:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75783,"name":"_initFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75973,"src":"15814:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,struct JBFundingCycle memory,uint256,uint256,uint256)"}},"id":75792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15814:87:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":75777,"id":75793,"nodeType":"Return","src":"15799:102:72"}},{"assignments":[75796],"declarations":[{"constant":false,"id":75796,"mutability":"mutable","name":"_currentConfiguration","nameLocation":"15969:21:72","nodeType":"VariableDeclaration","scope":75880,"src":"15961:29:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75795,"name":"uint256","nodeType":"ElementaryTypeName","src":"15961:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75800,"initialValue":{"arguments":[{"id":75798,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"16005:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75797,"name":"_eligibleOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76161,"src":"15993:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":75799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15993:23:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15961:55:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75801,"name":"_currentConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75796,"src":"16154:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16179:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16154:26:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75810,"nodeType":"IfStatement","src":"16150:150:72","trueBody":{"expression":{"id":75808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75804,"name":"_currentConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75796,"src":"16243:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":75805,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"16267:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75807,"indexExpression":{"id":75806,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"16289:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16267:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16243:57:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75809,"nodeType":"ExpressionStatement","src":"16243:57:72"}},{"assignments":[75813],"declarations":[{"constant":false,"id":75813,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"16374:17:72","nodeType":"VariableDeclaration","scope":75880,"src":"16352:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75812,"nodeType":"UserDefinedTypeName","pathNode":{"id":75811,"name":"JBFundingCycle","nameLocations":["16352:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"16352:14:72"},"referencedDeclaration":87801,"src":"16352:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":75818,"initialValue":{"arguments":[{"id":75815,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"16408:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75816,"name":"_currentConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75796,"src":"16420:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75814,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"16394:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16394:48:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"16352:90:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":75829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"16453:43:72","subExpression":{"arguments":[{"id":75820,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"16466:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75821,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"16478:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"id":75819,"name":"_isApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76440,"src":"16454:11:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_bool_$","typeString":"function (uint256,struct JBFundingCycle memory) view returns (bool)"}},"id":75822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16454:42:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75824,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"16500:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":75825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16506:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"16500:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":75826,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"16518:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75827,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16536:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"16518:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16500:41:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"16453:88:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75838,"nodeType":"IfStatement","src":"16449:339:72","trueBody":{"expression":{"id":75836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75830,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"16716:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":75832,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"16750:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75833,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"16762:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75834,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16780:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"16762:25:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75831,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"16736:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":75835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16736:52:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"src":"16716:72:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75837,"nodeType":"ExpressionStatement","src":"16716:72:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75839,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"16869:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75840,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16887:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"16869:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":75841,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75771,"src":"16904:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16869:49:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":75846,"nodeType":"IfStatement","src":"16865:93:72","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":75843,"name":"NO_SAME_BLOCK_RECONFIGURATION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75174,"src":"16927:29:72","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":75844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16927:31:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75845,"nodeType":"RevertStatement","src":"16920:38:72"}},{"assignments":[75848],"declarations":[{"constant":false,"id":75848,"mutability":"mutable","name":"_timestampAfterBallot","nameLocation":"17131:21:72","nodeType":"VariableDeclaration","scope":75880,"src":"17123:29:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75847,"name":"uint256","nodeType":"ElementaryTypeName","src":"17123:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75866,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"},"id":75857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75849,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"17155:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75850,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17173:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"17155:24:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":75854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17213:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":75853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17205:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":75852,"name":"address","nodeType":"ElementaryTypeName","src":"17205:7:72","typeDescriptions":{}}},"id":75855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17205:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":75851,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"17183:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":75856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17183:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"src":"17155:61:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75859,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75771,"src":"17235:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"expression":{"id":75860,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"17252:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75861,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17270:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"17252:24:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"id":75862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17277:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":85152,"src":"17252:33:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":75863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17252:35:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17235:52:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17155:132:72","trueExpression":{"hexValue":"30","id":75858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17225:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17123:164:72"},{"expression":{"arguments":[{"id":75868,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75769,"src":"17310:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75869,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75813,"src":"17328:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":75870,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75771,"src":"17353:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75871,"name":"_timestampAfterBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75848,"src":"17417:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":75872,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75775,"src":"17441:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17417:43:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":75875,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75775,"src":"17487:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"17417:89:72","trueExpression":{"id":75874,"name":"_timestampAfterBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75848,"src":"17463:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75877,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75773,"src":"17514:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75867,"name":"_initFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75973,"src":"17294:8:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,struct JBFundingCycle memory,uint256,uint256,uint256)"}},"id":75878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17294:233:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75879,"nodeType":"ExpressionStatement","src":"17294:233:72"}]},"documentation":{"id":75767,"nodeType":"StructuredDocumentation","src":"15012:444:72","text":"@notice Updates the configurable funding cycle for this project if it exists, otherwise creates one.\n @param _projectId The ID of the project to find a configurable funding cycle for.\n @param _configuration The time at which the funding cycle was configured.\n @param _weight The weight to store in the configured funding cycle.\n @param _mustStartAtOrAfter The time before which the initialized funding cycle can't start."},"implemented":true,"kind":"function","modifiers":[],"name":"_configureIntrinsicPropertiesFor","nameLocation":"15468:32:72","parameters":{"id":75776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75769,"mutability":"mutable","name":"_projectId","nameLocation":"15514:10:72","nodeType":"VariableDeclaration","scope":75881,"src":"15506:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75768,"name":"uint256","nodeType":"ElementaryTypeName","src":"15506:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75771,"mutability":"mutable","name":"_configuration","nameLocation":"15538:14:72","nodeType":"VariableDeclaration","scope":75881,"src":"15530:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75770,"name":"uint256","nodeType":"ElementaryTypeName","src":"15530:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75773,"mutability":"mutable","name":"_weight","nameLocation":"15566:7:72","nodeType":"VariableDeclaration","scope":75881,"src":"15558:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75772,"name":"uint256","nodeType":"ElementaryTypeName","src":"15558:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75775,"mutability":"mutable","name":"_mustStartAtOrAfter","nameLocation":"15587:19:72","nodeType":"VariableDeclaration","scope":75881,"src":"15579:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75774,"name":"uint256","nodeType":"ElementaryTypeName","src":"15579:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15500:110:72"},"returnParameters":{"id":75777,"nodeType":"ParameterList","parameters":[],"src":"15619:0:72"},"scope":76639,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":75973,"nodeType":"FunctionDefinition","src":"18052:1572:72","nodes":[],"body":{"id":75972,"nodeType":"Block","src":"18233:1391:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":75896,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"18297:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75897,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18315:6:72","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":87783,"src":"18297:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":75898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18325:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18297:29:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":75957,"nodeType":"Block","src":"18640:785:72","statements":[{"assignments":[75916],"declarations":[{"constant":false,"id":75916,"mutability":"mutable","name":"_start","nameLocation":"18715:6:72","nodeType":"VariableDeclaration","scope":75957,"src":"18707:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75915,"name":"uint256","nodeType":"ElementaryTypeName","src":"18707:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75921,"initialValue":{"arguments":[{"id":75918,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"18741:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":75919,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75891,"src":"18760:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75917,"name":"_deriveStartFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76286,"src":"18724:16:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":75920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18724:56:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18707:73:72"},{"expression":{"id":75938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75922,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"18968:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75923,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"18978:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":75924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18988:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18978:11:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":75934,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"19057:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":75935,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75916,"src":"19076:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75933,"name":"_deriveWeightFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76377,"src":"19039:17:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":75936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19039:44:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"18978:105:72","trueExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75926,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"19001:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":75927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19012:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19001:12:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":75930,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"19020:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"19001:26:72","trueExpression":{"hexValue":"30","id":75929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19016:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":75932,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"19000:28:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18968:115:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75939,"nodeType":"ExpressionStatement","src":"18968:115:72"},{"assignments":[75941],"declarations":[{"constant":false,"id":75941,"mutability":"mutable","name":"_number","nameLocation":"19136:7:72","nodeType":"VariableDeclaration","scope":75957,"src":"19128:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75940,"name":"uint256","nodeType":"ElementaryTypeName","src":"19128:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75946,"initialValue":{"arguments":[{"id":75943,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"19164:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":75944,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75916,"src":"19183:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75942,"name":"_deriveNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"19146:17:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":75945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19146:44:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19128:62:72"},{"expression":{"arguments":[{"id":75948,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75889,"src":"19285:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75949,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"19309:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75950,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75941,"src":"19329:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75951,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"19346:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75952,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"19363:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19381:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"19363:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75954,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75916,"src":"19404:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75947,"name":"_packAndStoreIntrinsicPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76020,"src":"19241:34:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,uint256,uint256)"}},"id":75955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19241:177:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75956,"nodeType":"ExpressionStatement","src":"19241:177:72"}]},"id":75958,"nodeType":"IfStatement","src":"18293:1132:72","trueBody":{"id":75914,"nodeType":"Block","src":"18328:306:72","statements":[{"assignments":[75901],"declarations":[{"constant":false,"id":75901,"mutability":"mutable","name":"_number","nameLocation":"18376:7:72","nodeType":"VariableDeclaration","scope":75914,"src":"18368:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75900,"name":"uint256","nodeType":"ElementaryTypeName","src":"18368:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75903,"initialValue":{"hexValue":"31","id":75902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18386:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"18368:19:72"},{"expression":{"arguments":[{"id":75905,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75889,"src":"18481:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75906,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"18505:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75907,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75901,"src":"18525:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75908,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75893,"src":"18542:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75909,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"18559:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"18577:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"18559:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75911,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75891,"src":"18600:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75904,"name":"_packAndStoreIntrinsicPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76020,"src":"18437:34:72","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,uint256,uint256)"}},"id":75912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18437:190:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75913,"nodeType":"ExpressionStatement","src":"18437:190:72"}]}},{"expression":{"id":75963,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":75959,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"19492:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":75961,"indexExpression":{"id":75960,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"19514:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"19492:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":75962,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75889,"src":"19528:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19492:50:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75964,"nodeType":"ExpressionStatement","src":"19492:50:72"},{"eventCall":{"arguments":[{"id":75966,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75889,"src":"19559:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":75967,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75884,"src":"19575:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":75968,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75887,"src":"19587:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":75969,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19605:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"19587:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":75965,"name":"Init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85242,"src":"19554:4:72","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":75970,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19554:65:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":75971,"nodeType":"EmitStatement","src":"19549:70:72"}]},"documentation":{"id":75882,"nodeType":"StructuredDocumentation","src":"17536:513:72","text":"@notice Initializes a funding cycle with the specified properties.\n @param _projectId The ID of the project to which the funding cycle being initialized belongs.\n @param _baseFundingCycle The funding cycle to base the initialized one on.\n @param _configuration The configuration of the funding cycle being initialized.\n @param _mustStartAtOrAfter The time before which the initialized funding cycle cannot start.\n @param _weight The weight to give the newly initialized funding cycle."},"implemented":true,"kind":"function","modifiers":[],"name":"_initFor","nameLocation":"18061:8:72","parameters":{"id":75894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75884,"mutability":"mutable","name":"_projectId","nameLocation":"18083:10:72","nodeType":"VariableDeclaration","scope":75973,"src":"18075:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75883,"name":"uint256","nodeType":"ElementaryTypeName","src":"18075:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75887,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"18121:17:72","nodeType":"VariableDeclaration","scope":75973,"src":"18099:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":75886,"nodeType":"UserDefinedTypeName","pathNode":{"id":75885,"name":"JBFundingCycle","nameLocations":["18099:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"18099:14:72"},"referencedDeclaration":87801,"src":"18099:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":75889,"mutability":"mutable","name":"_configuration","nameLocation":"18152:14:72","nodeType":"VariableDeclaration","scope":75973,"src":"18144:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75888,"name":"uint256","nodeType":"ElementaryTypeName","src":"18144:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75891,"mutability":"mutable","name":"_mustStartAtOrAfter","nameLocation":"18180:19:72","nodeType":"VariableDeclaration","scope":75973,"src":"18172:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75890,"name":"uint256","nodeType":"ElementaryTypeName","src":"18172:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75893,"mutability":"mutable","name":"_weight","nameLocation":"18213:7:72","nodeType":"VariableDeclaration","scope":75973,"src":"18205:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75892,"name":"uint256","nodeType":"ElementaryTypeName","src":"18205:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18069:155:72"},"returnParameters":{"id":75895,"nodeType":"ParameterList","parameters":[],"src":"18233:0:72"},"scope":76639,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":76020,"nodeType":"FunctionDefinition","src":"20111:542:72","nodes":[],"body":{"id":76019,"nodeType":"Block","src":"20303:350:72","nodes":[],"statements":[{"assignments":[75990],"declarations":[{"constant":false,"id":75990,"mutability":"mutable","name":"packed","nameLocation":"20345:6:72","nodeType":"VariableDeclaration","scope":76019,"src":"20337:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75989,"name":"uint256","nodeType":"ElementaryTypeName","src":"20337:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":75992,"initialValue":{"id":75991,"name":"_weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75982,"src":"20354:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"20337:24:72"},{"expression":{"id":75997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75993,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75990,"src":"20399:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":75996,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":75994,"name":"_basedOn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75984,"src":"20409:8:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3838","id":75995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20421:2:72","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},"src":"20409:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20399:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":75998,"nodeType":"ExpressionStatement","src":"20399:24:72"},{"expression":{"id":76003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":75999,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75990,"src":"20460:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76000,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75986,"src":"20470:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"313434","id":76001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20480:3:72","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},"src":"20470:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20460:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76004,"nodeType":"ExpressionStatement","src":"20460:23:72"},{"expression":{"id":76009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76005,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75990,"src":"20521:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76006,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75980,"src":"20531:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"323030","id":76007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20542:3:72","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"src":"20531:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20521:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76010,"nodeType":"ExpressionStatement","src":"20521:24:72"},{"expression":{"id":76017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":76011,"name":"_packedIntrinsicPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75188,"src":"20583:28:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":76014,"indexExpression":{"id":76012,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75978,"src":"20612:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20583:40:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76015,"indexExpression":{"id":76013,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75976,"src":"20624:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"20583:56:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76016,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75990,"src":"20642:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20583:65:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76018,"nodeType":"ExpressionStatement","src":"20583:65:72"}]},"documentation":{"id":75974,"nodeType":"StructuredDocumentation","src":"19628:480:72","text":"@notice Efficiently stores a funding cycle's provided intrinsic properties.\n @param _configuration The configuration of the funding cycle to pack and store.\n @param _projectId The ID of the project to which the funding cycle belongs.\n @param _number The number of the funding cycle.\n @param _weight The weight of the funding cycle.\n @param _basedOn The configuration of the base funding cycle.\n @param _start The start time of this funding cycle."},"implemented":true,"kind":"function","modifiers":[],"name":"_packAndStoreIntrinsicPropertiesOf","nameLocation":"20120:34:72","parameters":{"id":75987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":75976,"mutability":"mutable","name":"_configuration","nameLocation":"20168:14:72","nodeType":"VariableDeclaration","scope":76020,"src":"20160:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75975,"name":"uint256","nodeType":"ElementaryTypeName","src":"20160:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75978,"mutability":"mutable","name":"_projectId","nameLocation":"20196:10:72","nodeType":"VariableDeclaration","scope":76020,"src":"20188:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75977,"name":"uint256","nodeType":"ElementaryTypeName","src":"20188:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75980,"mutability":"mutable","name":"_number","nameLocation":"20220:7:72","nodeType":"VariableDeclaration","scope":76020,"src":"20212:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75979,"name":"uint256","nodeType":"ElementaryTypeName","src":"20212:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75982,"mutability":"mutable","name":"_weight","nameLocation":"20241:7:72","nodeType":"VariableDeclaration","scope":76020,"src":"20233:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75981,"name":"uint256","nodeType":"ElementaryTypeName","src":"20233:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75984,"mutability":"mutable","name":"_basedOn","nameLocation":"20262:8:72","nodeType":"VariableDeclaration","scope":76020,"src":"20254:16:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75983,"name":"uint256","nodeType":"ElementaryTypeName","src":"20254:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":75986,"mutability":"mutable","name":"_start","nameLocation":"20284:6:72","nodeType":"VariableDeclaration","scope":76020,"src":"20276:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":75985,"name":"uint256","nodeType":"ElementaryTypeName","src":"20276:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20154:140:72"},"returnParameters":{"id":75988,"nodeType":"ParameterList","parameters":[],"src":"20303:0:72"},"scope":76639,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":76083,"nodeType":"FunctionDefinition","src":"21094:1014:72","nodes":[],"body":{"id":76082,"nodeType":"Block","src":"21179:929:72","nodes":[],"statements":[{"expression":{"id":76032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76028,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76026,"src":"21247:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":76029,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"21263:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76031,"indexExpression":{"id":76030,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76023,"src":"21285:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21263:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21247:49:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76033,"nodeType":"ExpressionStatement","src":"21247:49:72"},{"assignments":[76036],"declarations":[{"constant":false,"id":76036,"mutability":"mutable","name":"_fundingCycle","nameLocation":"21391:13:72","nodeType":"VariableDeclaration","scope":76082,"src":"21369:35:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76035,"nodeType":"UserDefinedTypeName","pathNode":{"id":76034,"name":"JBFundingCycle","nameLocations":["21369:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"21369:14:72"},"referencedDeclaration":87801,"src":"21369:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":76041,"initialValue":{"arguments":[{"id":76038,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76023,"src":"21421:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76039,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76026,"src":"21433:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76037,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"21407:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":76040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21407:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"21369:78:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76042,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"21549:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21555:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"21549:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":76044,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76036,"src":"21568:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21582:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"21568:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21549:38:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76049,"nodeType":"IfStatement","src":"21545:52:72","trueBody":{"expression":{"hexValue":"30","id":76047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21596:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76027,"id":76048,"nodeType":"Return","src":"21589:8:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76050,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76036,"src":"21665:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21679:6:72","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":87783,"src":"21665:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":76052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21689:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"21665:25:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76056,"nodeType":"IfStatement","src":"21661:51:72","trueBody":{"expression":{"id":76054,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76026,"src":"21699:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76027,"id":76055,"nodeType":"Return","src":"21692:20:72"}},{"assignments":[76059],"declarations":[{"constant":false,"id":76059,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"21805:17:72","nodeType":"VariableDeclaration","scope":76082,"src":"21783:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76058,"nodeType":"UserDefinedTypeName","pathNode":{"id":76057,"name":"JBFundingCycle","nameLocations":["21783:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"21783:14:72"},"referencedDeclaration":87801,"src":"21783:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":76065,"initialValue":{"arguments":[{"id":76061,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76023,"src":"21839:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76062,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76036,"src":"21851:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76063,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"21865:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"21851:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76060,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"21825:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":76064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21825:48:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"21783:90:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76066,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76059,"src":"21982:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76067,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22000:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"21982:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22011:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"21982:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76070,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"22022:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22028:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"22022:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76072,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76036,"src":"22040:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76073,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22054:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"22040:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76074,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76059,"src":"22062:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76075,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22080:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"22062:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22040:48:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22022:66:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"21982:106:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76081,"nodeType":"IfStatement","src":"21971:132:72","trueBody":{"expression":{"hexValue":"30","id":76079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22102:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76027,"id":76080,"nodeType":"Return","src":"22095:8:72"}}]},"documentation":{"id":76021,"nodeType":"StructuredDocumentation","src":"20657:434:72","text":"@notice The project's stored funding cycle that hasn't yet started and should be used next, if one exists.\n @dev A value of 0 is returned if no funding cycle was found.\n @dev Assumes the project has a latest configuration.\n @param _projectId The ID of a project to look through for a standby cycle.\n @return configuration The configuration of the standby funding cycle if one exists, or 0 if one doesn't exist."},"implemented":true,"kind":"function","modifiers":[],"name":"_standbyOf","nameLocation":"21103:10:72","parameters":{"id":76024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76023,"mutability":"mutable","name":"_projectId","nameLocation":"21122:10:72","nodeType":"VariableDeclaration","scope":76083,"src":"21114:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76022,"name":"uint256","nodeType":"ElementaryTypeName","src":"21114:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21113:20:72"},"returnParameters":{"id":76027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76026,"mutability":"mutable","name":"configuration","nameLocation":"21164:13:72","nodeType":"VariableDeclaration","scope":76083,"src":"21156:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76025,"name":"uint256","nodeType":"ElementaryTypeName","src":"21156:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21155:23:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":76161,"nodeType":"FunctionDefinition","src":"22508:1251:72","nodes":[],"body":{"id":76160,"nodeType":"Block","src":"22594:1165:72","nodes":[],"statements":[{"expression":{"id":76095,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76091,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76089,"src":"22662:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":76092,"name":"latestConfigurationOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75201,"src":"22678:21:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76094,"indexExpression":{"id":76093,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76086,"src":"22700:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22678:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22662:49:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76096,"nodeType":"ExpressionStatement","src":"22662:49:72"},{"assignments":[76099],"declarations":[{"constant":false,"id":76099,"mutability":"mutable","name":"_fundingCycle","nameLocation":"22777:13:72","nodeType":"VariableDeclaration","scope":76160,"src":"22755:35:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76098,"nodeType":"UserDefinedTypeName","pathNode":{"id":76097,"name":"JBFundingCycle","nameLocations":["22755:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"22755:14:72"},"referencedDeclaration":87801,"src":"22755:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":76104,"initialValue":{"arguments":[{"id":76101,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76086,"src":"22807:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76102,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76089,"src":"22819:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76100,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"22793:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":76103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22793:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"22755:78:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76105,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"22957:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"22971:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"22957:22:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22982:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22957:26:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76109,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"22987:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22993:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"22987:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76111,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23006:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23020:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"23006:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76113,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23028:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23042:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"23028:22:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23006:44:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22987:63:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22957:93:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76120,"nodeType":"IfStatement","src":"22946:119:72","trueBody":{"expression":{"hexValue":"30","id":76118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23064:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76090,"id":76119,"nodeType":"Return","src":"23057:8:72"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76121,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23143:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23149:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"23143:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":76123,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23162:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76124,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23176:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"23162:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23143:38:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76129,"nodeType":"IfStatement","src":"23139:78:72","trueBody":{"expression":{"expression":{"id":76126,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23190:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76127,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23204:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"23190:27:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76090,"id":76128,"nodeType":"Return","src":"23183:34:72"}},{"assignments":[76132],"declarations":[{"constant":false,"id":76132,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"23304:17:72","nodeType":"VariableDeclaration","scope":76160,"src":"23282:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76131,"nodeType":"UserDefinedTypeName","pathNode":{"id":76130,"name":"JBFundingCycle","nameLocations":["23282:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"23282:14:72"},"referencedDeclaration":87801,"src":"23282:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":76138,"initialValue":{"arguments":[{"id":76134,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76086,"src":"23338:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76135,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23350:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23364:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"23350:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76133,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"23324:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":76137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23324:48:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"23282:90:72"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":76151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76139,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76132,"src":"23509:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23527:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"23509:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":76141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23538:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23509:30:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76143,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"23549:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23555:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"23549:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76145,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76132,"src":"23568:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76146,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23586:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"23568:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76147,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76132,"src":"23594:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23612:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"23594:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23568:52:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23549:71:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23509:111:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76154,"nodeType":"IfStatement","src":"23498:137:72","trueBody":{"expression":{"hexValue":"30","id":76152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23634:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":76090,"id":76153,"nodeType":"Return","src":"23627:8:72"}},{"expression":{"id":76158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76155,"name":"configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76089,"src":"23717:13:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76156,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76099,"src":"23733:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76157,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23747:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"23733:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23717:37:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76159,"nodeType":"ExpressionStatement","src":"23717:37:72"}]},"documentation":{"id":76084,"nodeType":"StructuredDocumentation","src":"22112:393:72","text":"@notice The project's stored funding cycle that has started and hasn't yet expired.\n @dev A value of 0 is returned if no funding cycle was found.\n @dev Assumes the project has a latest configuration.\n @param _projectId The ID of the project to look through.\n @return configuration The configuration of an eligible funding cycle if one exists, or 0 if one doesn't exist."},"implemented":true,"kind":"function","modifiers":[],"name":"_eligibleOf","nameLocation":"22517:11:72","parameters":{"id":76087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76086,"mutability":"mutable","name":"_projectId","nameLocation":"22537:10:72","nodeType":"VariableDeclaration","scope":76161,"src":"22529:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76085,"name":"uint256","nodeType":"ElementaryTypeName","src":"22529:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22528:20:72"},"returnParameters":{"id":76090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76089,"mutability":"mutable","name":"configuration","nameLocation":"22579:13:72","nodeType":"VariableDeclaration","scope":76161,"src":"22571:21:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76088,"name":"uint256","nodeType":"ElementaryTypeName","src":"22571:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22570:23:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":76226,"nodeType":"FunctionDefinition","src":"24378:1084:72","nodes":[],"body":{"id":76225,"nodeType":"Block","src":"24531:931:72","nodes":[],"statements":[{"assignments":[76174],"declarations":[{"constant":false,"id":76174,"mutability":"mutable","name":"_mustStartAtOrAfter","nameLocation":"24749:19:72","nodeType":"VariableDeclaration","scope":76225,"src":"24741:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76173,"name":"uint256","nodeType":"ElementaryTypeName","src":"24741:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76189,"initialValue":{"condition":{"id":76176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24771:15:72","subExpression":{"id":76175,"name":"_allowMidCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76167,"src":"24772:14:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76181,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24823:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24829:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"24823:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76183,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"24841:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24859:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"24841:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24823:44:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24870:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24823:48:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"24771:100:72","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76177,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"24795:5:72","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":76178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24801:9:72","memberName":"timestamp","nodeType":"MemberAccess","src":"24795:15:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24813:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24795:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24741:130:72"},{"assignments":[76191],"declarations":[{"constant":false,"id":76191,"mutability":"mutable","name":"_start","nameLocation":"24931:6:72","nodeType":"VariableDeclaration","scope":76225,"src":"24923:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76190,"name":"uint256","nodeType":"ElementaryTypeName","src":"24923:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76196,"initialValue":{"arguments":[{"id":76193,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"24957:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":76194,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76174,"src":"24976:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76192,"name":"_deriveStartFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76286,"src":"24940:16:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":76195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24940:56:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24923:73:72"},{"assignments":[76198],"declarations":[{"constant":false,"id":76198,"mutability":"mutable","name":"_number","nameLocation":"25052:7:72","nodeType":"VariableDeclaration","scope":76225,"src":"25044:15:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76197,"name":"uint256","nodeType":"ElementaryTypeName","src":"25044:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76203,"initialValue":{"arguments":[{"id":76200,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25080:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":76201,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76191,"src":"25099:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76199,"name":"_deriveNumberFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76415,"src":"25062:17:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":76202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25062:44:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25044:62:72"},{"expression":{"arguments":[{"id":76205,"name":"_number","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76198,"src":"25150:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76206,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25167:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76207,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25185:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"25167:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76208,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25208:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76209,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25226:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"25208:25:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76210,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76191,"src":"25243:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76211,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25259:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25277:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"25259:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":76214,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25313:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},{"id":76215,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76191,"src":"25332:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76213,"name":"_deriveWeightFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76377,"src":"25295:17:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory,uint256) pure returns (uint256)"}},"id":76216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25295:44:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76217,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25349:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25367:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87795,"src":"25349:30:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76219,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25389:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25407:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"25389:24:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},{"expression":{"id":76221,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76165,"src":"25423:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76222,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25441:8:72","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"25423:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76204,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"25126:14:72","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycle_$87801_storage_ptr_$","typeString":"type(struct JBFundingCycle storage pointer)"}},"id":76223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25126:331:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":76172,"id":76224,"nodeType":"Return","src":"25113:344:72"}]},"documentation":{"id":76162,"nodeType":"StructuredDocumentation","src":"23763:612:72","text":"@notice A view of the funding cycle that would be created based on the provided one if the project doesn't make a reconfiguration.\n @dev Returns an empty funding cycle if there can't be a mock funding cycle based on the provided one.\n @dev Assumes a funding cycle with a duration of 0 will never be asked to be the base of a mock.\n @param _baseFundingCycle The funding cycle that the resulting funding cycle should follow.\n @param _allowMidCycle A flag indicating if the mocked funding cycle is allowed to already be mid cycle.\n @return A mock of what the next funding cycle will be."},"implemented":true,"kind":"function","modifiers":[],"name":"_mockFundingCycleBasedOn","nameLocation":"24387:24:72","parameters":{"id":76168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76165,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"24439:17:72","nodeType":"VariableDeclaration","scope":76226,"src":"24417:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76164,"nodeType":"UserDefinedTypeName","pathNode":{"id":76163,"name":"JBFundingCycle","nameLocations":["24417:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"24417:14:72"},"referencedDeclaration":87801,"src":"24417:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":76167,"mutability":"mutable","name":"_allowMidCycle","nameLocation":"24467:14:72","nodeType":"VariableDeclaration","scope":76226,"src":"24462:19:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76166,"name":"bool","nodeType":"ElementaryTypeName","src":"24462:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24411:74:72"},"returnParameters":{"id":76172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76226,"src":"24508:21:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76170,"nodeType":"UserDefinedTypeName","pathNode":{"id":76169,"name":"JBFundingCycle","nameLocations":["24508:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"24508:14:72"},"referencedDeclaration":87801,"src":"24508:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"24507:23:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":76286,"nodeType":"FunctionDefinition","src":"25781:1194:72","nodes":[],"body":{"id":76285,"nodeType":"Block","src":"25926:1049:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76237,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"26024:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76238,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26042:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"26024:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26054:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26024:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76243,"nodeType":"IfStatement","src":"26020:63:72","trueBody":{"expression":{"id":76241,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"26064:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76236,"id":76242,"nodeType":"Return","src":"26057:26:72"}},{"assignments":[76245],"declarations":[{"constant":false,"id":76245,"mutability":"mutable","name":"_nextImmediateStart","nameLocation":"26191:19:72","nodeType":"VariableDeclaration","scope":76285,"src":"26183:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76244,"name":"uint256","nodeType":"ElementaryTypeName","src":"26183:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76251,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76246,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"26213:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76247,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26231:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"26213:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76248,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"26239:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26257:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"26239:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26213:52:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26183:82:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76252,"name":"_nextImmediateStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"26347:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":76253,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"26370:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26347:42:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76257,"nodeType":"IfStatement","src":"26343:74:72","trueBody":{"expression":{"id":76255,"name":"_nextImmediateStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"26398:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76236,"id":76256,"nodeType":"Return","src":"26391:26:72"}},{"assignments":[76259],"declarations":[{"constant":false,"id":76259,"mutability":"mutable","name":"_timeFromImmediateStartMultiple","nameLocation":"26574:31:72","nodeType":"VariableDeclaration","scope":76285,"src":"26566:39:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76258,"name":"uint256","nodeType":"ElementaryTypeName","src":"26566:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76267,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76260,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"26609:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":76261,"name":"_nextImmediateStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76245,"src":"26631:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26609:41:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"26608:43:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"id":76264,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"26660:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26678:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"26660:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26608:78:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26566:120:72"},{"expression":{"id":76272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76268,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76235,"src":"26751:5:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76271,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76269,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"26759:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":76270,"name":"_timeFromImmediateStartMultiple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76259,"src":"26781:31:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26759:53:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26751:61:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76273,"nodeType":"ExpressionStatement","src":"26751:61:72"},{"body":{"expression":{"id":76282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76277,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76235,"src":"26928:5:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76278,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76235,"src":"26936:5:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"id":76279,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76230,"src":"26944:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26962:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"26944:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26936:34:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26928:42:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76283,"nodeType":"ExpressionStatement","src":"26928:42:72"},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76274,"name":"_mustStartAtOrAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76232,"src":"26899:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":76275,"name":"start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76235,"src":"26921:5:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26899:27:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76284,"nodeType":"WhileStatement","src":"26892:78:72"}]},"documentation":{"id":76227,"nodeType":"StructuredDocumentation","src":"25466:312:72","text":"@notice The date that is the nearest multiple of the specified funding cycle's duration from its end.\n @param _baseFundingCycle The funding cycle to base the calculation on.\n @param _mustStartAtOrAfter A date that the derived start must be on or come after.\n @return start The next start time."},"implemented":true,"kind":"function","modifiers":[],"name":"_deriveStartFrom","nameLocation":"25790:16:72","parameters":{"id":76233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76230,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"25834:17:72","nodeType":"VariableDeclaration","scope":76286,"src":"25812:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76229,"nodeType":"UserDefinedTypeName","pathNode":{"id":76228,"name":"JBFundingCycle","nameLocations":["25812:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"25812:14:72"},"referencedDeclaration":87801,"src":"25812:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":76232,"mutability":"mutable","name":"_mustStartAtOrAfter","nameLocation":"25865:19:72","nodeType":"VariableDeclaration","scope":76286,"src":"25857:27:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76231,"name":"uint256","nodeType":"ElementaryTypeName","src":"25857:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25806:82:72"},"returnParameters":{"id":76236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76235,"mutability":"mutable","name":"start","nameLocation":"25919:5:72","nodeType":"VariableDeclaration","scope":76286,"src":"25911:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76234,"name":"uint256","nodeType":"ElementaryTypeName","src":"25911:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25910:15:72"},"scope":76639,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":76377,"nodeType":"FunctionDefinition","src":"27298:1591:72","nodes":[],"body":{"id":76376,"nodeType":"Block","src":"27432:1457:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76297,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"27534:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76298,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27552:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"27534:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27564:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27534:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76314,"nodeType":"IfStatement","src":"27530:233:72","trueBody":{"expression":{"arguments":[{"expression":{"id":76303,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"27614:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27632:6:72","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87793,"src":"27614:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76305,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"27650:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":76306,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27662:17:72","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"27650:29:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76307,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"27682:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76308,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27700:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87795,"src":"27682:30:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27650:62:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76310,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"27724:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":76311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27736:17:72","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"27724:29:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76301,"name":"PRBMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103143,"src":"27588:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PRBMath_$103143_$","typeString":"type(library PRBMath)"}},"id":76302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27596:6:72","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":102732,"src":"27588:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":76312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27588:175:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76296,"id":76313,"nodeType":"Return","src":"27573:190:72"}},{"expression":{"id":76318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76315,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76295,"src":"27841:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":76316,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"27850:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76317,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27868:6:72","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87793,"src":"27850:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27841:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76319,"nodeType":"ExpressionStatement","src":"27841:33:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76320,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"27941:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76321,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27959:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87795,"src":"27941:30:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27975:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27941:35:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76326,"nodeType":"IfStatement","src":"27937:54:72","trueBody":{"expression":{"id":76324,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76295,"src":"27985:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76296,"id":76325,"nodeType":"Return","src":"27978:13:72"}},{"assignments":[76328],"declarations":[{"constant":false,"id":76328,"mutability":"mutable","name":"_startDistance","nameLocation":"28096:14:72","nodeType":"VariableDeclaration","scope":76376,"src":"28088:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76327,"name":"uint256","nodeType":"ElementaryTypeName","src":"28088:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76333,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76329,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76292,"src":"28113:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76330,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"28122:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76331,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28140:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"28122:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28113:32:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"28088:57:72"},{"assignments":[76335],"declarations":[{"constant":false,"id":76335,"mutability":"mutable","name":"_discountMultiple","nameLocation":"28244:17:72","nodeType":"VariableDeclaration","scope":76376,"src":"28236:25:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76334,"name":"uint256","nodeType":"ElementaryTypeName","src":"28236:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76336,"nodeType":"VariableDeclarationStatement","src":"28236:25:72"},{"id":76344,"nodeType":"UncheckedBlock","src":"28267:127:72","statements":[{"expression":{"id":76342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76337,"name":"_discountMultiple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76335,"src":"28285:17:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76338,"name":"_startDistance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76328,"src":"28305:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"id":76339,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"28322:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76340,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28340:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"28322:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28305:43:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28285:63:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76343,"nodeType":"ExpressionStatement","src":"28285:63:72"}]},{"body":{"id":76374,"nodeType":"Block","src":"28443:442:72","statements":[{"expression":{"id":76363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76351,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76295,"src":"28578:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":76354,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76295,"src":"28611:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76355,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"28627:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":76356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28639:17:72","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"28627:29:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76357,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76290,"src":"28659:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76358,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28677:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87795,"src":"28659:30:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28627:62:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76360,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"28699:11:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":76361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28711:17:72","memberName":"MAX_DISCOUNT_RATE","nodeType":"MemberAccess","referencedDeclaration":86750,"src":"28699:29:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76352,"name":"PRBMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103143,"src":"28587:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PRBMath_$103143_$","typeString":"type(library PRBMath)"}},"id":76353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28595:6:72","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":102732,"src":"28587:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":76362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28587:149:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28578:158:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76364,"nodeType":"ExpressionStatement","src":"28578:158:72"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76365,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76295,"src":"28819:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28829:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28819:11:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76369,"nodeType":"IfStatement","src":"28815:22:72","trueBody":{"id":76368,"nodeType":"Break","src":"28832:5:72"}},{"id":76373,"nodeType":"UncheckedBlock","src":"28846:33:72","statements":[{"expression":{"id":76371,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"28866:4:72","subExpression":{"id":76370,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76346,"src":"28868:2:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76372,"nodeType":"ExpressionStatement","src":"28866:4:72"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76348,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76346,"src":"28417:2:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":76349,"name":"_discountMultiple","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76335,"src":"28422:17:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28417:22:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76375,"initializationExpression":{"assignments":[76346],"declarations":[{"constant":false,"id":76346,"mutability":"mutable","name":"_i","nameLocation":"28413:2:72","nodeType":"VariableDeclaration","scope":76375,"src":"28405:10:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76345,"name":"uint256","nodeType":"ElementaryTypeName","src":"28405:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76347,"nodeType":"VariableDeclarationStatement","src":"28405:10:72"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"28400:485:72"}]},"documentation":{"id":76287,"nodeType":"StructuredDocumentation","src":"26979:316:72","text":"@notice The accumulated weight change since the specified funding cycle.\n @param _baseFundingCycle The funding cycle to base the calculation on.\n @param _start The start time of the funding cycle to derive a number for.\n @return weight The derived weight, as a fixed point number with 18 decimals."},"implemented":true,"kind":"function","modifiers":[],"name":"_deriveWeightFrom","nameLocation":"27307:17:72","parameters":{"id":76293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76290,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"27352:17:72","nodeType":"VariableDeclaration","scope":76377,"src":"27330:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76289,"nodeType":"UserDefinedTypeName","pathNode":{"id":76288,"name":"JBFundingCycle","nameLocations":["27330:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"27330:14:72"},"referencedDeclaration":87801,"src":"27330:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":76292,"mutability":"mutable","name":"_start","nameLocation":"27383:6:72","nodeType":"VariableDeclaration","scope":76377,"src":"27375:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76291,"name":"uint256","nodeType":"ElementaryTypeName","src":"27375:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27324:69:72"},"returnParameters":{"id":76296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76295,"mutability":"mutable","name":"weight","nameLocation":"27424:6:72","nodeType":"VariableDeclaration","scope":76377,"src":"27416:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76294,"name":"uint256","nodeType":"ElementaryTypeName","src":"27416:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27415:16:72"},"scope":76639,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":76415,"nodeType":"FunctionDefinition","src":"29176:601:72","nodes":[],"body":{"id":76414,"nodeType":"Block","src":"29303:474:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76388,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76381,"src":"29394:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76389,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29412:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"29394:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29424:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29394:31:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76397,"nodeType":"IfStatement","src":"29390:72:72","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76392,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76381,"src":"29434:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76393,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29452:6:72","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":87783,"src":"29434:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":76394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29461:1:72","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29434:28:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76387,"id":76396,"nodeType":"Return","src":"29427:35:72"}},{"assignments":[76399],"declarations":[{"constant":false,"id":76399,"mutability":"mutable","name":"_startDistance","nameLocation":"29567:14:72","nodeType":"VariableDeclaration","scope":76414,"src":"29559:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76398,"name":"uint256","nodeType":"ElementaryTypeName","src":"29559:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76404,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76400,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76383,"src":"29584:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":76401,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76381,"src":"29593:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76402,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29611:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"29593:23:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29584:32:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"29559:57:72"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76405,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76381,"src":"29700:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29718:6:72","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":87783,"src":"29700:24:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76407,"name":"_startDistance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76399,"src":"29728:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"id":76408,"name":"_baseFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76381,"src":"29745:17:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76409,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29763:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"29745:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29728:43:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76411,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"29727:45:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29700:72:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76387,"id":76413,"nodeType":"Return","src":"29693:79:72"}]},"documentation":{"id":76378,"nodeType":"StructuredDocumentation","src":"28893:280:72","text":"@notice The number of the next funding cycle given the specified funding cycle.\n @param _baseFundingCycle The funding cycle to base the calculation on.\n @param _start The start time of the funding cycle to derive a number for.\n @return The funding cycle number."},"implemented":true,"kind":"function","modifiers":[],"name":"_deriveNumberFrom","nameLocation":"29185:17:72","parameters":{"id":76384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76381,"mutability":"mutable","name":"_baseFundingCycle","nameLocation":"29230:17:72","nodeType":"VariableDeclaration","scope":76415,"src":"29208:39:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76380,"nodeType":"UserDefinedTypeName","pathNode":{"id":76379,"name":"JBFundingCycle","nameLocations":["29208:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"29208:14:72"},"referencedDeclaration":87801,"src":"29208:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"},{"constant":false,"id":76383,"mutability":"mutable","name":"_start","nameLocation":"29261:6:72","nodeType":"VariableDeclaration","scope":76415,"src":"29253:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76382,"name":"uint256","nodeType":"ElementaryTypeName","src":"29253:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29202:69:72"},"returnParameters":{"id":76387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76386,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76415,"src":"29294:7:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76385,"name":"uint256","nodeType":"ElementaryTypeName","src":"29294:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29293:9:72"},"scope":76639,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":76440,"nodeType":"FunctionDefinition","src":"30073:307:72","nodes":[],"body":{"id":76439,"nodeType":"Block","src":"30191:189:72","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"id":76437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":76427,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76418,"src":"30234:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76428,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76421,"src":"30254:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30268:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"30254:27:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76430,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76421,"src":"30291:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30305:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"30291:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76432,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76421,"src":"30320:13:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"30334:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"30320:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76426,"name":"_ballotStateOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76492,"src":"30210:14:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_JBBallotState_$84037_$","typeString":"function (uint256,uint256,uint256,uint256) view returns (enum JBBallotState)"}},"id":76434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30210:139:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":76435,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"30353:13:72","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_JBBallotState_$84037_$","typeString":"type(enum JBBallotState)"}},"id":76436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30367:8:72","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":84035,"src":"30353:22:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"src":"30210:165:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76425,"id":76438,"nodeType":"Return","src":"30197:178:72"}]},"documentation":{"id":76416,"nodeType":"StructuredDocumentation","src":"29781:289:72","text":"@notice Checks to see if the provided funding cycle is approved according to the correct ballot.\n @param _projectId The ID of the project to which the funding cycle belongs.\n @param _fundingCycle The funding cycle to get an approval flag for.\n @return The approval flag."},"implemented":true,"kind":"function","modifiers":[],"name":"_isApproved","nameLocation":"30082:11:72","parameters":{"id":76422,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76418,"mutability":"mutable","name":"_projectId","nameLocation":"30107:10:72","nodeType":"VariableDeclaration","scope":76440,"src":"30099:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76417,"name":"uint256","nodeType":"ElementaryTypeName","src":"30099:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76421,"mutability":"mutable","name":"_fundingCycle","nameLocation":"30145:13:72","nodeType":"VariableDeclaration","scope":76440,"src":"30123:35:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76420,"nodeType":"UserDefinedTypeName","pathNode":{"id":76419,"name":"JBFundingCycle","nameLocations":["30123:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"30123:14:72"},"referencedDeclaration":87801,"src":"30123:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"30093:69:72"},"returnParameters":{"id":76425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76424,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76440,"src":"30185:4:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76423,"name":"bool","nodeType":"ElementaryTypeName","src":"30185:4:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30184:6:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":76492,"nodeType":"FunctionDefinition","src":"30919:778:72","nodes":[],"body":{"id":76491,"nodeType":"Block","src":"31102:595:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76455,"name":"_ballotFundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76449,"src":"31176:32:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31212:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"31176:37:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76461,"nodeType":"IfStatement","src":"31172:72:72","trueBody":{"expression":{"expression":{"id":76458,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"31222:13:72","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_JBBallotState_$84037_$","typeString":"type(enum JBBallotState)"}},"id":76459,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31236:8:72","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":84035,"src":"31222:22:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"functionReturnParameters":76454,"id":76460,"nodeType":"Return","src":"31215:29:72"}},{"assignments":[76464],"declarations":[{"constant":false,"id":76464,"mutability":"mutable","name":"_ballotFundingCycle","nameLocation":"31310:19:72","nodeType":"VariableDeclaration","scope":76491,"src":"31288:41:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76463,"nodeType":"UserDefinedTypeName","pathNode":{"id":76462,"name":"JBFundingCycle","nameLocations":["31288:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"31288:14:72"},"referencedDeclaration":87801,"src":"31288:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":76469,"initialValue":{"arguments":[{"id":76466,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76443,"src":"31353:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76467,"name":"_ballotFundingCycleConfiguration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76449,"src":"31371:32:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76465,"name":"_getStructFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76638,"src":"31332:13:72","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256,uint256) view returns (struct JBFundingCycle memory)"}},"id":76468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31332:77:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"31288:121:72"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"},"id":76478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":76470,"name":"_ballotFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76464,"src":"31475:19:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76471,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31495:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"31475:26:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":76475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"31535:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31527:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76473,"name":"address","nodeType":"ElementaryTypeName","src":"31527:7:72","typeDescriptions":{}}},"id":76476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31527:10:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76472,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"31505:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":76477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31505:33:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"src":"31475:63:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76482,"nodeType":"IfStatement","src":"31471:104:72","trueBody":{"expression":{"expression":{"id":76479,"name":"JBBallotState","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84037,"src":"31553:13:72","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_JBBallotState_$84037_$","typeString":"type(enum JBBallotState)"}},"id":76480,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31567:8:72","memberName":"Approved","nodeType":"MemberAccess","referencedDeclaration":84035,"src":"31553:22:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"functionReturnParameters":76454,"id":76481,"nodeType":"Return","src":"31546:29:72"}},{"expression":{"arguments":[{"id":76486,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76443,"src":"31657:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76487,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76445,"src":"31669:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":76488,"name":"_start","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76447,"src":"31685:6:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"expression":{"id":76483,"name":"_ballotFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76464,"src":"31622:19:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"31642:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"31622:26:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"id":76485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31649:7:72","memberName":"stateOf","nodeType":"MemberAccess","referencedDeclaration":85164,"src":"31622:34:72","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_enum$_JBBallotState_$84037_$","typeString":"function (uint256,uint256,uint256) view external returns (enum JBBallotState)"}},"id":76489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31622:70:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"functionReturnParameters":76454,"id":76490,"nodeType":"Return","src":"31615:77:72"}]},"documentation":{"id":76441,"nodeType":"StructuredDocumentation","src":"30384:532:72","text":"@notice A project's latest funding cycle configuration approval status.\n @param _projectId The ID of the project to which the funding cycle belongs.\n @param _configuration The funding cycle configuration to get the ballot state of.\n @param _start The start time of the funding cycle configuration to get the ballot state of.\n @param _ballotFundingCycleConfiguration The configuration of the funding cycle which is configured with the ballot that should be used.\n @return The ballot state of the project."},"implemented":true,"kind":"function","modifiers":[],"name":"_ballotStateOf","nameLocation":"30928:14:72","parameters":{"id":76450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76443,"mutability":"mutable","name":"_projectId","nameLocation":"30956:10:72","nodeType":"VariableDeclaration","scope":76492,"src":"30948:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76442,"name":"uint256","nodeType":"ElementaryTypeName","src":"30948:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76445,"mutability":"mutable","name":"_configuration","nameLocation":"30980:14:72","nodeType":"VariableDeclaration","scope":76492,"src":"30972:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76444,"name":"uint256","nodeType":"ElementaryTypeName","src":"30972:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76447,"mutability":"mutable","name":"_start","nameLocation":"31008:6:72","nodeType":"VariableDeclaration","scope":76492,"src":"31000:14:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76446,"name":"uint256","nodeType":"ElementaryTypeName","src":"31000:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76449,"mutability":"mutable","name":"_ballotFundingCycleConfiguration","nameLocation":"31028:32:72","nodeType":"VariableDeclaration","scope":76492,"src":"31020:40:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76448,"name":"uint256","nodeType":"ElementaryTypeName","src":"31020:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30942:122:72"},"returnParameters":{"id":76454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76492,"src":"31087:13:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"},"typeName":{"id":76452,"nodeType":"UserDefinedTypeName","pathNode":{"id":76451,"name":"JBBallotState","nameLocations":["31087:13:72"],"nodeType":"IdentifierPath","referencedDeclaration":84037,"src":"31087:13:72"},"referencedDeclaration":84037,"src":"31087:13:72","typeDescriptions":{"typeIdentifier":"t_enum$_JBBallotState_$84037","typeString":"enum JBBallotState"}},"visibility":"internal"}],"src":"31086:15:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":76638,"nodeType":"FunctionDefinition","src":"32030:1380:72","nodes":[],"body":{"id":76637,"nodeType":"Block","src":"32167:1243:72","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76503,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76497,"src":"32251:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32269:1:72","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"32251:19:72","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76508,"nodeType":"IfStatement","src":"32247:44:72","trueBody":{"expression":{"id":76506,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32279:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"functionReturnParameters":76502,"id":76507,"nodeType":"Return","src":"32272:19:72"}},{"expression":{"id":76513,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76509,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32298:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32311:13:72","memberName":"configuration","nodeType":"MemberAccess","referencedDeclaration":87785,"src":"32298:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76512,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76497,"src":"32327:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32298:43:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76514,"nodeType":"ExpressionStatement","src":"32298:43:72"},{"assignments":[76516],"declarations":[{"constant":false,"id":76516,"mutability":"mutable","name":"_packedIntrinsicProperties","nameLocation":"32356:26:72","nodeType":"VariableDeclaration","scope":76637,"src":"32348:34:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76515,"name":"uint256","nodeType":"ElementaryTypeName","src":"32348:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76522,"initialValue":{"baseExpression":{"baseExpression":{"id":76517,"name":"_packedIntrinsicPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75188,"src":"32385:28:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":76519,"indexExpression":{"id":76518,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76495,"src":"32414:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32385:40:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76521,"indexExpression":{"id":76520,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76497,"src":"32426:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32385:56:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32348:93:72"},{"expression":{"id":76533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76523,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32481:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32494:6:72","memberName":"weight","nodeType":"MemberAccess","referencedDeclaration":87793,"src":"32481:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":76530,"name":"_packedIntrinsicProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"32518:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32511:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":76528,"name":"uint88","nodeType":"ElementaryTypeName","src":"32511:6:72","typeDescriptions":{}}},"id":76531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32511:34:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint88","typeString":"uint88"}],"id":76527,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32503:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76526,"name":"uint256","nodeType":"ElementaryTypeName","src":"32503:7:72","typeDescriptions":{}}},"id":76532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32503:43:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32481:65:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76534,"nodeType":"ExpressionStatement","src":"32481:65:72"},{"expression":{"id":76547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76535,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32588:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76537,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32601:7:72","memberName":"basedOn","nodeType":"MemberAccess","referencedDeclaration":87787,"src":"32588:20:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76542,"name":"_packedIntrinsicProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"32626:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3838","id":76543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32656:2:72","typeDescriptions":{"typeIdentifier":"t_rational_88_by_1","typeString":"int_const 88"},"value":"88"},"src":"32626:32:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32619:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":76540,"name":"uint56","nodeType":"ElementaryTypeName","src":"32619:6:72","typeDescriptions":{}}},"id":76545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32619:40:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint56","typeString":"uint56"}],"id":76539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32611:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76538,"name":"uint256","nodeType":"ElementaryTypeName","src":"32611:7:72","typeDescriptions":{}}},"id":76546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32611:49:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32588:72:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76548,"nodeType":"ExpressionStatement","src":"32588:72:72"},{"expression":{"id":76561,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76549,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32701:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76551,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32714:5:72","memberName":"start","nodeType":"MemberAccess","referencedDeclaration":87789,"src":"32701:18:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76556,"name":"_packedIntrinsicProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"32737:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313434","id":76557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32767:3:72","typeDescriptions":{"typeIdentifier":"t_rational_144_by_1","typeString":"int_const 144"},"value":"144"},"src":"32737:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32730:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":76554,"name":"uint56","nodeType":"ElementaryTypeName","src":"32730:6:72","typeDescriptions":{}}},"id":76559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32730:41:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint56","typeString":"uint56"}],"id":76553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32722:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76552,"name":"uint256","nodeType":"ElementaryTypeName","src":"32722:7:72","typeDescriptions":{}}},"id":76560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32722:50:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32701:71:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76562,"nodeType":"ExpressionStatement","src":"32701:71:72"},{"expression":{"id":76575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76563,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"32814:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76565,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32827:6:72","memberName":"number","nodeType":"MemberAccess","referencedDeclaration":87783,"src":"32814:19:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76570,"name":"_packedIntrinsicProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76516,"src":"32851:26:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"323030","id":76571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"32881:3:72","typeDescriptions":{"typeIdentifier":"t_rational_200_by_1","typeString":"int_const 200"},"value":"200"},"src":"32851:33:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32844:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":76568,"name":"uint56","nodeType":"ElementaryTypeName","src":"32844:6:72","typeDescriptions":{}}},"id":76573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32844:41:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint56","typeString":"uint56"}],"id":76567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32836:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76566,"name":"uint256","nodeType":"ElementaryTypeName","src":"32836:7:72","typeDescriptions":{}}},"id":76574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32836:50:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32814:72:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76576,"nodeType":"ExpressionStatement","src":"32814:72:72"},{"assignments":[76578],"declarations":[{"constant":false,"id":76578,"mutability":"mutable","name":"_packedUserProperties","nameLocation":"32901:21:72","nodeType":"VariableDeclaration","scope":76637,"src":"32893:29:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76577,"name":"uint256","nodeType":"ElementaryTypeName","src":"32893:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76584,"initialValue":{"baseExpression":{"baseExpression":{"id":76579,"name":"_packedUserPropertiesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75181,"src":"32925:23:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":76581,"indexExpression":{"id":76580,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76495,"src":"32949:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32925:35:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76583,"indexExpression":{"id":76582,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76497,"src":"32961:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32925:51:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32893:83:72"},{"expression":{"id":76597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76585,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"33017:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76587,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33030:6:72","memberName":"ballot","nodeType":"MemberAccess","referencedDeclaration":87798,"src":"33017:19:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":76593,"name":"_packedUserProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76578,"src":"33077:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33069:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":76591,"name":"uint160","nodeType":"ElementaryTypeName","src":"33069:7:72","typeDescriptions":{}}},"id":76594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33069:30:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":76590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33061:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76589,"name":"address","nodeType":"ElementaryTypeName","src":"33061:7:72","typeDescriptions":{}}},"id":76595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33061:39:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76588,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"33039:21:72","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":76596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33039:62:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"src":"33017:84:72","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}},"id":76598,"nodeType":"ExpressionStatement","src":"33017:84:72"},{"expression":{"id":76611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76599,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"33145:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33158:8:72","memberName":"duration","nodeType":"MemberAccess","referencedDeclaration":87791,"src":"33145:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76606,"name":"_packedUserProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76578,"src":"33184:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313630","id":76607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33209:3:72","typeDescriptions":{"typeIdentifier":"t_rational_160_by_1","typeString":"int_const 160"},"value":"160"},"src":"33184:28:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33177:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":76604,"name":"uint32","nodeType":"ElementaryTypeName","src":"33177:6:72","typeDescriptions":{}}},"id":76609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33177:36:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":76603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33169:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76602,"name":"uint256","nodeType":"ElementaryTypeName","src":"33169:7:72","typeDescriptions":{}}},"id":76610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33169:45:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33145:69:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76612,"nodeType":"ExpressionStatement","src":"33145:69:72"},{"expression":{"id":76625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76613,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"33262:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76615,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33275:12:72","memberName":"discountRate","nodeType":"MemberAccess","referencedDeclaration":87795,"src":"33262:25:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76620,"name":"_packedUserProperties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76578,"src":"33305:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313932","id":76621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33330:3:72","typeDescriptions":{"typeIdentifier":"t_rational_192_by_1","typeString":"int_const 192"},"value":"192"},"src":"33305:28:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33298:6:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":76618,"name":"uint32","nodeType":"ElementaryTypeName","src":"33298:6:72","typeDescriptions":{}}},"id":76623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33298:36:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":76617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33290:7:72","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":76616,"name":"uint256","nodeType":"ElementaryTypeName","src":"33290:7:72","typeDescriptions":{}}},"id":76624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33290:45:72","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33262:73:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76626,"nodeType":"ExpressionStatement","src":"33262:73:72"},{"expression":{"id":76635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":76627,"name":"fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76501,"src":"33342:12:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":76629,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"33355:8:72","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87800,"src":"33342:21:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":76630,"name":"_metadataOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":75195,"src":"33366:11:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":76632,"indexExpression":{"id":76631,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76495,"src":"33378:10:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33366:23:72","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76634,"indexExpression":{"id":76633,"name":"_configuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76497,"src":"33390:14:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33366:39:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33342:63:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76636,"nodeType":"ExpressionStatement","src":"33342:63:72"}]},"documentation":{"id":76493,"nodeType":"StructuredDocumentation","src":"31701:326:72","text":"@notice Unpack a funding cycle's packed stored values into an easy-to-work-with funding cycle struct.\n @param _projectId The ID of the project to which the funding cycle belongs.\n @param _configuration The funding cycle configuration to get the full struct for.\n @return fundingCycle A funding cycle struct."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStructFor","nameLocation":"32039:13:72","parameters":{"id":76498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76495,"mutability":"mutable","name":"_projectId","nameLocation":"32066:10:72","nodeType":"VariableDeclaration","scope":76638,"src":"32058:18:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76494,"name":"uint256","nodeType":"ElementaryTypeName","src":"32058:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76497,"mutability":"mutable","name":"_configuration","nameLocation":"32090:14:72","nodeType":"VariableDeclaration","scope":76638,"src":"32082:22:72","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76496,"name":"uint256","nodeType":"ElementaryTypeName","src":"32082:7:72","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32052:56:72"},"returnParameters":{"id":76502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76501,"mutability":"mutable","name":"fundingCycle","nameLocation":"32153:12:72","nodeType":"VariableDeclaration","scope":76638,"src":"32131:34:72","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":76500,"nodeType":"UserDefinedTypeName","pathNode":{"id":76499,"name":"JBFundingCycle","nameLocations":["32131:14:72"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"32131:14:72"},"referencedDeclaration":87801,"src":"32131:14:72","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"src":"32130:36:72"},"scope":76639,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":75159,"name":"JBControllerUtility","nameLocations":["749:19:72"],"nodeType":"IdentifierPath","referencedDeclaration":80761,"src":"749:19:72"},"id":75160,"nodeType":"InheritanceSpecifier","src":"749:19:72"},{"baseName":{"id":75161,"name":"IJBFundingCycleStore","nameLocations":["770:20:72"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"770:20:72"},"id":75162,"nodeType":"InheritanceSpecifier","src":"770:20:72"}],"canonicalName":"JBFundingCycleStore","contractDependencies":[],"contractKind":"contract","documentation":{"id":75158,"nodeType":"StructuredDocumentation","src":"652:65:72","text":"@notice Manages funding cycle configurations and scheduling."},"fullyImplemented":true,"linearizedBaseContracts":[76639,85310,80761,84898],"name":"JBFundingCycleStore","nameLocation":"726:19:72","scope":76640,"usedErrors":[75164,75166,75168,75170,75172,75174,80722,101262],"usedEvents":[85234,85242]}],"license":"MIT"},"id":72} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"nonpayable"},{"type":"function","name":"configureFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"_metadata","type":"uint256","internalType":"uint256"},{"name":"_mustStartAtOrAfter","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"currentBallotStateOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"currentOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"get","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_configuration","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"latestConfigurationOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestConfiguredOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"ballotState","type":"uint8","internalType":"enum JBBallotState"}],"stateMutability":"view"},{"type":"function","name":"queuedOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"fundingCycle","type":"tuple","internalType":"struct JBFundingCycle","components":[{"name":"number","type":"uint256","internalType":"uint256"},{"name":"configuration","type":"uint256","internalType":"uint256"},{"name":"basedOn","type":"uint256","internalType":"uint256"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"},{"name":"metadata","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"event","name":"Configure","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mustStartAtOrAfter","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Init","inputs":[{"name":"configuration","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"basedOn","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]},{"type":"error","name":"INVALID_BALLOT","inputs":[]},{"type":"error","name":"INVALID_DISCOUNT_RATE","inputs":[]},{"type":"error","name":"INVALID_DURATION","inputs":[]},{"type":"error","name":"INVALID_TIMEFRAME","inputs":[]},{"type":"error","name":"INVALID_WEIGHT","inputs":[]},{"type":"error","name":"NO_SAME_BLOCK_RECONFIGURATION","inputs":[]},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c63430008170033","sourceMap":"717:32695:72:-:0;;;10965:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1887:22:80;;;717:32695:72;;14:312:197;106:6;159:2;147:9;138:7;134:23;130:32;127:52;;;175:1;172;165:12;127:52;201:16;;-1:-1:-1;;;;;246:31:197;;236:42;;226:70;;292:1;289;282:12;226:70;315:5;14:312;-1:-1:-1;;;14:312:197:o;:::-;717:32695:72;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c63430008170033","sourceMap":"717:32695:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2919:65;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;345:25:197;;;333:2;318:18;2919:65:72;;;;;;;;7486:2346;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5023:2100::-;;;;;;:::i;:::-;;:::i;3513:196::-;;;;;;:::i;:::-;;:::i;11853:2926::-;;;;;;:::i;:::-;;:::i;1460:48:80:-;;;;;;;;-1:-1:-1;;;;;2187:32:197;;;2169:51;;2157:2;2142:18;1460:48:80;2001:225:197;10019:564:72;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4057:616::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;7486:2346::-;7565:34;;:::i;:::-;7688:33;;;;:21;:33;;;;;;:38;;7684:70;;7735:19;7749:1;7752;7735:13;:19::i;:::-;7728:26;7486:2346;-1:-1:-1;;7486:2346:72:o;7684:70::-;7836:34;7873:23;7885:10;7873:11;:23::i;:::-;7836:60;;7958:35;;:::i;:::-;8050:30;;8046:1256;;8173:53;8187:10;8199:26;8173:13;:53::i;:::-;8157:69;;8332:38;8344:10;8356:13;8332:11;:38::i;:::-;8328:64;;;8379:13;7486:2346;-1:-1:-1;;;7486:2346:72:o;8328:64::-;8624:13;:21;;;8595:50;;8046:1256;;;8811:33;;;;:21;:33;;;;;;;-1:-1:-1;8919:53:72;8833:10;8811:33;8919:13;:53::i;:::-;8903:69;;9156:38;9168:10;9180:13;9156:11;:38::i;:::-;9155:39;:80;;;;9216:13;:19;;;9198:15;:37;9155:80;9151:144;;;9274:13;:21;;;9245:50;;9151:144;9407:26;9437:1;9407:31;9403:63;;9447:19;9461:1;9464;9447:13;:19::i;:::-;9440:26;7486:2346;-1:-1:-1;;;;7486:2346:72:o;9403:63::-;9540:53;9554:10;9566:26;9540:13;:53::i;:::-;9524:69;;9668:13;:22;;;9694:1;9668:27;9664:53;;9704:13;7486:2346;-1:-1:-1;;;7486:2346:72:o;9664:53::-;9782:45;9807:13;9822:4;9782:24;:45::i;5023:2100::-;5101:34;;:::i;:::-;5224:33;;;;:21;:33;;;;;;:38;;5220:70;;5271:19;5285:1;5288;5271:13;:19::i;5220:70::-;5371:41;5415:22;5426:10;5415;:22::i;:::-;5371:66;-1:-1:-1;5513:37:72;;5509:829;;5575:60;5589:10;5601:33;5575:13;:60::i;:::-;5560:75;;5648:37;5660:10;5672:12;5648:11;:37::i;:::-;5644:62;;;5687:19;5023:2100;;;:::o;5644:62::-;5806:47;5820:10;5832:12;:20;;;5806:13;:47::i;:::-;5791:62;;5509:829;;;5991:33;;;;:21;:33;;;;;;5965:60;;5979:10;;5965:13;:60::i;:::-;5950:75;;6244:15;6223:12;:18;;;:36;6219:112;;;6284:47;6298:10;6310:12;:20;;;6284:13;:47::i;:::-;6269:62;;6219:112;6409:12;:21;;;6434:1;6409:26;6405:58;;6444:19;6458:1;6461;6444:13;:19::i;:::-;6437:26;5023:2100;-1:-1:-1;;;5023:2100:72:o;6405:58::-;6588:37;6600:10;6612:12;6588:11;:37::i;:::-;6584:95;;;6634:45;6659:12;6673:5;6634:24;:45::i;6584:95::-;6804:47;6818:10;6830:12;:20;;;6804:13;:47::i;:::-;6789:62;;6954:12;:21;;;6979:1;6954:26;6950:58;;6989:19;7003:1;7006;6989:13;:19::i;6950:58::-;7073:45;7098:12;7112:5;7073:24;:45::i;3513:196::-;3614:34;;:::i;:::-;3663:41;3677:10;3689:14;3663:13;:41::i;11853:2926::-;12052:21;;:::i;:::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;345:25:197;;;12031:10:72;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;318:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;12140:16:72::1;12123:14:::0;::::1;:33;12119:64;;;12165:18;;-1:-1:-1::0;;;12165:18:72::1;;;;;;;;;;;12119:64;296:13:120;12251:5:72;:18;;;:50;12247:86;;;12310:23;;-1:-1:-1::0;;;12310:23:72::1;;;;;;;;;;;12247:86;12397:16;12382:12;::::0;::::1;;:31;12378:60;;;12422:16;;-1:-1:-1::0;;;12422:16:72::1;;;;;;;;;;;12378:60;12548:15;12526:19;:37;12522:80;;;12587:15;12565:37;;12522:80;12779:16;12740:36;12762:14:::0;::::1;12740:19:::0;:36:::1;:::i;:::-;:55;12736:87;;;12804:19;;-1:-1:-1::0;;;12804:19:72::1;;;;;;;;;;;12736:87;12955:1;12909:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;12909:49:72::1;;12905:588;;12968:15;12994:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;12968:39;;13058:7;-1:-1:-1::0;;;;;13058:19:72::1;;13081:1;13058:24:::0;13054:53:::1;;13091:16;;-1:-1:-1::0;;;13091:16:72::1;;;;;;;;;;;13054:53;13183:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;:71;::::0;-1:-1:-1;;;13183:71:72;;-1:-1:-1;;;13183:71:72::1;::::0;::::1;4299:52:197::0;-1:-1:-1;;;;;13183:30:72;;;::::1;::::0;::::1;::::0;4272:18:197;;13183:71:72::1;;;;;;;;;;;;;;;;;;-1:-1:-1::0;13183:71:72::1;::::0;;::::1;;::::0;;::::1;-1:-1:-1::0;;13183:71:72::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;;;13179:308;;13441:16;;-1:-1:-1::0;;;13441:16:72::1;;;;;;;;;;;13179:308;13311:9;13306:39;;13329:16;;-1:-1:-1::0;;;13329:16:72::1;;;;;;;;;;;13306:39;13255:162;12960:533;12905:588;13567:15;13658:95;13691:10:::0;13567:15;13719:12:::1;::::0;::::1;;13733:19:::0;13658:32:::1;:95::i;:::-;14016:1;13970:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;13970:49:72::1;;;:77;;;-1:-1:-1::0;14029:14:72;::::1;:18:::0;;13970:77:::1;:109;;;;14078:1;14057:5;:18;;;:22;13970:109;13959:490;;;14131:14;14164:12;::::0;;;::::1;::::0;::::1;;:::i;:::-;14238:14;14382:35:::0;;;::::1;::::0;;;14323:18:::1;14382:35:::0;;;:51;;;;;;;;;;-1:-1:-1;;;;;14131:47:72;;;::::1;14238:14:::0;::::1;14256:3;14238:21;14228:31;14323:18:::0;;::::1;;14345:3;14323:25;14313:35;14382:60:::0;;-1:-1:-1;13959:490:72::1;14494:13:::0;;14490:70:::1;;14509:23;::::0;;;:11:::1;:23;::::0;;;;;;;:39;;;;;;;;:51;;;14490:70:::1;14598:10;14582:14;14572:88;14610:5;14617:9;14628:19;14649:10;14572:88;;;;;;;;;:::i;:::-;;;;;;;;14733:41;14747:10;14759:14;14733:13;:41::i;:::-;14726:48:::0;11853:2926;-1:-1:-1;;;;;;;11853:2926:72:o;10019:564::-;10101:13;10225:33;;;:21;:33;;;;;;10101:13;10366:53;10247:10;10225:33;10366:13;:53::i;:::-;10328:91;;10439:139;10463:10;10483:13;:27;;;10520:13;:19;;;10549:13;:21;;;10439:14;:139::i;4057:616::-;4145:34;;:::i;:::-;4181:25;4317:33;;;:21;:33;;;;;;4435:53;4339:10;4317:33;4435:13;:53::i;:::-;4420:68;;4542:126;4564:10;4582:12;:26;;;4616:12;:18;;;4642:12;:20;;;4542:14;:126::i;:::-;4528:140;;4208:465;4057:616;;;:::o;32030:1380::-;32131:34;;:::i;:::-;32247:44;;32272:19;32247:44;32298:26;;;;:43;;;32348:34;32385:40;;;:28;:40;;;;;;:56;;;;;;;;;32503:43;;;32481:19;;;;:65;;;;32656:2;32626:32;;;32611:49;;;;32588:20;;;:72;32767:3;32737:33;;;32722:50;-1:-1:-1;32701:18:72;;:71;32881:3;32851:33;;;;32814:72;;32925:35;;;;;;;;;:51;;;;;;;;;-1:-1:-1;;;;;33017:84:72;;:19;;;:84;33184:28;;;;33169:45;;;;33145:21;;;:69;33330:3;33305:28;;;33290:45;33262:25;;;:73;33366:23;;;:11;:23;;;;;:39;;;;;;;;;;33342:21;;;:63;32298:26;32030:1380::o;22508:1251::-;22571:21;22678:33;;;:21;:33;;;;;;;22793:40;22700:10;22678:33;22793:13;:40::i;:::-;22755:78;;22982:1;22957:13;:22;;;:26;:93;;;;;23028:13;:22;;;23006:13;:19;;;:44;;;;:::i;:::-;22987:15;:63;;22957:93;22946:119;;;-1:-1:-1;23064:1:72;;22508:1251;-1:-1:-1;;22508:1251:72:o;22946:119::-;23162:13;:19;;;23143:15;:38;23139:78;;23190:27;;;;22508:1251;-1:-1:-1;;22508:1251:72:o;23139:78::-;23282:39;23324:48;23338:10;23350:13;:21;;;23324:13;:48::i;:::-;23282:90;;23538:1;23509:17;:26;;;:30;:111;;;;;23594:17;:26;;;23568:17;:23;;;:52;;;;:::i;:::-;23549:15;:71;;23509:111;23498:137;;;-1:-1:-1;23634:1:72;;22508:1251;-1:-1:-1;;;22508:1251:72:o;23498:137::-;-1:-1:-1;23733:21:72;;;;22508:1251;-1:-1:-1;;22508:1251:72:o;30073:307::-;30185:4;30353:22;30210:139;30234:10;30254:13;:27;;;30291:13;:19;;;30320:13;:21;;;30210:14;:139::i;:::-;:165;;;;;;;;:::i;:::-;;;30073:307;-1:-1:-1;;;30073:307:72:o;24378:1084::-;24508:21;;:::i;:::-;24741:27;24772:14;24771:15;:100;;24841:26;;;;24823:44;;:15;:44;:::i;:::-;:48;;24870:1;24823:48;:::i;:::-;24771:100;;;24795:19;:15;24813:1;24795:19;:::i;:::-;24741:130;;24923:14;24940:56;24957:17;24976:19;24940:16;:56::i;:::-;24923:73;;25044:15;25062:44;25080:17;25099:6;25062:17;:44::i;:::-;25044:62;;25126:331;;;;;;;;25150:7;25126:331;;;;25167:17;:31;;;25126:331;;;;25208:17;:25;;;25126:331;;;;25243:6;25126:331;;;;25259:17;:26;;;25126:331;;;;25295:44;25313:17;25332:6;25295:17;:44::i;:::-;25126:331;;;;25349:17;:30;;;25126:331;;;;25389:17;:24;;;-1:-1:-1;;;;;25126:331:72;;;;;25423:17;:26;;;25126:331;;;25113:344;;;;;24378:1084;;;;:::o;21094:1014::-;21156:21;21263:33;;;:21;:33;;;;;;;21407:40;21285:10;21263:33;21407:13;:40::i;:::-;21369:78;;21568:13;:19;;;21549:15;:38;21545:52;;-1:-1:-1;21596:1:72;;21094:1014;-1:-1:-1;;21094:1014:72:o;21545:52::-;21665:20;;21689:1;21665:25;21661:51;;21692:20;21094:1014;;;:::o;21661:51::-;21783:39;21825:48;21839:10;21851:13;:21;;;21825:13;:48::i;:::-;21783:90;;22011:1;21982:17;:26;;;:30;:106;;;;;22062:17;:26;;;22040:13;:19;;;:48;;;;:::i;:::-;22022:15;:66;21982:106;21971:132;;;-1:-1:-1;22102:1:72;;21094:1014;-1:-1:-1;;;21094:1014:72:o;21971:132::-;21179:929;;21094:1014;;;:::o;15459:2073::-;15704:33;;;;:21;:33;;;;;;:38;;15700:201;;15814:87;15823:10;15835:19;15849:1;15852;15835:13;:19::i;:::-;15856:14;15872:19;15893:7;15814:8;:87::i;:::-;15799:102;;15700:201;15961:29;15993:23;16005:10;15993:11;:23::i;:::-;15961:55;;16154:21;16179:1;16154:26;16150:150;;-1:-1:-1;16267:33:72;;;;:21;:33;;;;;;16150:150;16352:39;16394:48;16408:10;16420:21;16394:13;:48::i;:::-;16352:90;;16454:42;16466:10;16478:17;16454:11;:42::i;:::-;16453:43;:88;;;;16518:17;:23;;;16500:15;:41;16453:88;16449:339;;;16736:52;16750:10;16762:17;:25;;;16736:13;:52::i;:::-;16716:72;;16449:339;16904:14;16869:17;:31;;;:49;16865:93;;16927:31;;-1:-1:-1;;;16927:31:72;;;;;;;;;;;16865:93;17155:24;;;;17123:29;;-1:-1:-1;;;;;17155:61:72;;:132;;17252:17;:24;;;-1:-1:-1;;;;;17252:33:72;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17235:52;;:14;:52;:::i;:::-;17155:132;;;17225:1;17155:132;17123:164;;17294:233;17310:10;17328:17;17353:14;17441:19;17417:21;:43;:89;;17487:19;17417:89;;;17463:21;17417:89;17514:7;17294:8;:233::i;:::-;15619:1913;;;15459:2073;;;;;:::o;30919:778::-;31087:13;31176:32;31212:1;31176:37;31172:72;;-1:-1:-1;31222:22:72;31215:29;;31172:72;31288:41;31332:77;31353:10;31371:32;31332:13;:77::i;:::-;31475:26;;;;31288:121;;-1:-1:-1;;;;;;31475:63:72;31471:104;;31553:22;31546:29;;;;;31471:104;31622:26;;;;:70;;-1:-1:-1;;;31622:70:72;;;;;5990:25:197;;;6031:18;;;6024:34;;;6074:18;;;6067:34;;;-1:-1:-1;;;;;31622:34:72;;;;;;5963:18:197;;31622:70:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;31615:77;30919:778;-1:-1:-1;;;;;;30919:778:72:o;25781:1194::-;25911:13;26024:17;:26;;;26054:1;26024:31;26020:63;;-1:-1:-1;26064:19:72;26057:26;;26020:63;26183:27;26239:17;:26;;;26213:17;:23;;;:52;;;;:::i;:::-;26183:82;;26370:19;26347;:42;26343:74;;26398:19;-1:-1:-1;26391:26:72;;26343:74;26660:26;;;;26566:39;;26609:41;26631:19;26609;:41;:::i;:::-;26608:78;;;;:::i;:::-;26566:120;-1:-1:-1;26759:53:72;26566:120;26759:19;:53;:::i;:::-;26751:61;;26892:78;26921:5;26899:19;:27;26892:78;;;26944:26;;;;26936:34;;:5;:34;:::i;:::-;26928:42;;26892:78;;;25926:1049;;25781:1194;;;;:::o;29176:601::-;29294:7;29394:17;:26;;;29424:1;29394:31;29390:72;;29434:24;;:28;;29461:1;29434:28;:::i;:::-;29427:35;;;;29390:72;29559:22;29593:17;:23;;;29584:6;:32;;;;:::i;:::-;29559:57;;29745:17;:26;;;29728:14;:43;;;;:::i;:::-;29700:24;;:72;;;;:::i;27298:1591::-;27416:14;27534:17;:26;;;27564:1;27534:31;27530:233;;27588:175;27614:17;:24;;;27682:17;:30;;;296:13:120;27650:62:72;;;;:::i;:::-;296:13:120;27588:14:72;:175::i;27530:233::-;-1:-1:-1;27850:24:72;;;;27941:30;;;;27937:54;27978:13;27937:54;28088:22;28122:17;:23;;;28113:6;:32;;;;:::i;:::-;28088:57;;28236:25;28322:17;:26;;;28305:14;:43;;;;;:::i;:::-;;28285:63;;28405:10;28400:485;28422:17;28417:2;:22;28400:485;;;28587:149;28611:6;28659:17;:30;;;296:13:120;28627:62:72;;;;:::i;28587:149::-;28578:158;-1:-1:-1;28815:22:72;;28832:5;28815:22;28866:4;;28400:485;;;;27432:1457;;27298:1591;;;;:::o;18052:1572::-;18297:24;;;:29;18293:1132;;18559:31;;;;;18368:15;20583:40;;;18386:1;20583:40;;;;;;;:56;;;;;;;;;20421:2;20409:14;;;;20399:24;;20480:3;20470:13;;;20460:23;-1:-1:-1;;;20521:24:72;20583:65;;18328:306;18293:1132;;;18707:14;18724:56;18741:17;18760:19;18724:16;:56::i;:::-;18707:73;;18988:1;18978:7;:11;:105;;19039:44;19057:17;19076:6;19039:17;:44::i;:::-;18978:105;;;19001:7;19012:1;19001:12;:26;;19020:7;19001:26;;;19016:1;19001:26;18968:115;;19128:15;19146:44;19164:17;19183:6;19146:17;:44::i;:::-;19363:31;;;;;20337:14;20583:40;;;:28;:40;;;;;;:56;;;;;;;;;;20421:2;20409:14;;;;20399:24;;20480:3;20470:13;;;20460:23;20542:3;20531:14;;;20521:24;20583:65;;19128:62;-1:-1:-1;18640:785:72;;18293:1132;19492:33;;;;:21;:33;;;;;;;;:50;;;19587:31;;;;19554:65;;19587:31;;19514:10;;19528:14;;19554:65;;;18052:1572;;;;;:::o;15079:3983:196:-;15191:14;;;-1:-1:-1;;15680:1:196;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;-1:-1:-1;;;16135:43:196;;;;;6944:25:197;;;6985:18;;;6978:34;;;6917:18;;16135:43:196;;;;;;;16088:101;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17937;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:15;;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;15079:3983;-1:-1:-1;;;;15079:3983:196:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:197:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:197;;14:180;-1:-1:-1;14:180:197:o;381:594::-;461:12;;449:25;;523:4;512:16;;;506:23;490:14;;;483:47;579:4;568:16;;;562:23;546:14;;;539:47;635:4;624:16;;;618:23;602:14;;;595:47;691:4;680:16;;;674:23;658:14;;;651:47;747:4;736:16;;;730:23;714:14;;;707:47;803:4;792:16;;;786:23;770:14;;;763:47;863:4;852:16;;;846:23;-1:-1:-1;;;;;842:49:197;826:14;;;819:73;911:6;953:14;;;947:21;933:12;;926:43;381:594::o;980:270::-;1180:3;1165:19;;1193:51;1169:9;1226:6;1193:51;:::i;1255:248::-;1323:6;1331;1384:2;1372:9;1363:7;1359:23;1355:32;1352:52;;;1400:1;1397;1390:12;1352:52;-1:-1:-1;;1423:23:197;;;1493:2;1478:18;;;1465:32;;-1:-1:-1;1255:248:197:o;1508:488::-;1633:6;1641;1649;1657;1701:9;1692:7;1688:23;1731:3;1727:2;1723:12;1720:32;;;1748:1;1745;1738:12;1720:32;1771:23;;;-1:-1:-1;1828:3:197;-1:-1:-1;;1810:16:197;;1806:26;1803:46;;;1845:1;1842;1835:12;1803:46;-1:-1:-1;1508:488:197;;1883:2;1868:18;;;-1:-1:-1;1933:3:197;1918:19;;1905:33;;1985:3;1970:19;1957:33;;-1:-1:-1;1508:488:197;-1:-1:-1;;1508:488:197:o;2231:127::-;2292:10;2287:3;2283:20;2280:1;2273:31;2323:4;2320:1;2313:15;2347:4;2344:1;2337:15;2363:241;2448:1;2441:5;2438:12;2428:143;;2493:10;2488:3;2484:20;2481:1;2474:31;2528:4;2525:1;2518:15;2556:4;2553:1;2546:15;2428:143;2580:18;;2363:241::o;2609:217::-;2760:2;2745:18;;2772:48;2749:9;2802:6;2772:48;:::i;2831:382::-;3076:3;3061:19;;3089:51;3065:9;3122:6;3089:51;:::i;:::-;3149:58;3202:3;3191:9;3187:19;3179:6;3149:58;:::i;3218:131::-;-1:-1:-1;;;;;3293:31:197;;3283:42;;3273:70;;3339:1;3336;3329:12;3273:70;3218:131;:::o;3354:251::-;3424:6;3477:2;3465:9;3456:7;3452:23;3448:32;3445:52;;;3493:1;3490;3483:12;3445:52;3525:9;3519:16;3544:31;3569:5;3544:31;:::i;3610:127::-;3671:10;3666:3;3662:20;3659:1;3652:31;3702:4;3699:1;3692:15;3726:4;3723:1;3716:15;3742:125;3807:9;;;3828:10;;;3825:36;;;3841:18;;:::i;3872:278::-;3962:6;4015:2;4003:9;3994:7;3990:23;3986:32;3983:52;;;4031:1;4028;4021:12;3983:52;4070:9;4057:23;4089:31;4114:5;4089:31;:::i;4362:277::-;4429:6;4482:2;4470:9;4461:7;4457:23;4453:32;4450:52;;;4498:1;4495;4488:12;4450:52;4530:9;4524:16;4583:5;4576:13;4569:21;4562:5;4559:32;4549:60;;4605:1;4602;4595:12;4644:817;4969:20;;4951:39;;5053:4;5041:17;;;5028:31;5006:20;;;4999:61;5123:4;5111:17;;;5098:31;5076:20;;;5069:61;4938:3;4923:19;;5177:4;5165:17;;5152:31;5192;5152;5192;:::i;:::-;-1:-1:-1;;;;;5299:14:197;;;5292:4;5277:20;;5270:44;5345:3;5330:19;;5323:35;;;;5250:3;5374:19;;5367:35;;;;5439:15;;5433:3;5418:19;;;5411:44;;;;4644:817;;-1:-1:-1;4644:817:197:o;5466:128::-;5533:9;;;5554:11;;;5551:37;;;5568:18;;:::i;5599:184::-;5669:6;5722:2;5710:9;5701:7;5697:23;5693:32;5690:52;;;5738:1;5735;5728:12;5690:52;-1:-1:-1;5761:16:197;;5599:184;-1:-1:-1;5599:184:197:o;6112:279::-;6201:6;6254:2;6242:9;6233:7;6229:23;6225:32;6222:52;;;6270:1;6267;6260:12;6222:52;6302:9;6296:16;6341:1;6334:5;6331:12;6321:40;;6357:1;6354;6347:12;6396:127;6457:10;6452:3;6448:20;6445:1;6438:31;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:112;6560:1;6586;6576:35;;6591:18;;:::i;:::-;-1:-1:-1;6625:9:197;;6528:112::o;6645:120::-;6685:1;6711;6701:35;;6716:18;;:::i;:::-;-1:-1:-1;6750:9:197;;6645:120::o","linkReferences":{},"immutableReferences":{"80764":[{"start":286,"length":32},{"start":1000,"length":32}]}},"methodIdentifiers":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":"a249d425","currentBallotStateOf(uint256)":"c55f571c","currentOf(uint256)":"43a266c2","directory()":"c41c2f24","get(uint256,uint256)":"669e48aa","latestConfigurationOf(uint256)":"2cee6deb","latestConfiguredOf(uint256)":"ebc8ca1f","queuedOf(uint256)":"5c550078"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_BALLOT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_DISCOUNT_RATE\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_DURATION\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TIMEFRAME\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_WEIGHT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NO_SAME_BLOCK_RECONFIGURATION\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Configure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"}],\"name\":\"Init\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"_data\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"_metadata\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mustStartAtOrAfter\",\"type\":\"uint256\"}],\"name\":\"configureFor\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"currentBallotStateOf\",\"outputs\":[{\"internalType\":\"enum JBBallotState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"currentOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_configuration\",\"type\":\"uint256\"}],\"name\":\"get\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"latestConfigurationOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"latestConfiguredOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"},{\"internalType\":\"enum JBBallotState\",\"name\":\"ballotState\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"queuedOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"number\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"basedOn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundingCycle\",\"name\":\"fundingCycle\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)\":{\"details\":\"Only a project's current controller can configure its funding cycles.\",\"params\":{\"_data\":\"The funding cycle configuration data.\",\"_metadata\":\"Arbitrary extra data to associate with this funding cycle configuration that's not used within.\",\"_mustStartAtOrAfter\":\"The time before which the initialized funding cycle cannot start.\",\"_projectId\":\"The ID of the project being configured.\"},\"returns\":{\"_0\":\"The funding cycle that the configuration will take effect during.\"}},\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\"}},\"currentBallotStateOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to check the ballot state of.\"},\"returns\":{\"_0\":\"The project's current ballot's state.\"}},\"currentOf(uint256)\":{\"details\":\"If a current funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\",\"params\":{\"_projectId\":\"The ID of the project to get the current funding cycle of.\"},\"returns\":{\"fundingCycle\":\"The project's current funding cycle.\"}},\"get(uint256,uint256)\":{\"params\":{\"_configuration\":\"The configuration of the funding cycle to get.\",\"_projectId\":\"The ID of the project to which the funding cycle belongs.\"},\"returns\":{\"fundingCycle\":\"The funding cycle.\"}},\"latestConfiguredOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get the latest configured funding cycle of.\"},\"returns\":{\"ballotState\":\"The state of the ballot for the reconfiguration.\",\"fundingCycle\":\"The project's queued funding cycle.\"}},\"queuedOf(uint256)\":{\"details\":\"If a queued funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.\",\"params\":{\"_projectId\":\"The ID of the project to get the queued funding cycle of.\"},\"returns\":{\"fundingCycle\":\"The project's queued funding cycle.\"}}},\"stateVariables\":{\"_metadataOf\":{\"custom:param\":\"_projectId The ID of the project to get metadata of._configuration The funding cycle configuration to get metadata of.\"},\"_packedIntrinsicPropertiesOf\":{\"custom:param\":\"_projectId The ID of the project to get instrinsic properties of._configuration The funding cycle configuration to get properties of.\"},\"_packedUserPropertiesOf\":{\"custom:param\":\"_projectId The ID of the project to get properties of._configuration The funding cycle configuration to get properties of.\"},\"latestConfigurationOf\":{\"custom:param\":\"_projectId The ID of the project to get the latest funding cycle configuration of.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)\":{\"notice\":\"Configures the next eligible funding cycle for the specified project.\"},\"currentBallotStateOf(uint256)\":{\"notice\":\"The current ballot state of the project.\"},\"currentOf(uint256)\":{\"notice\":\"The funding cycle that is currently active for the specified project.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"get(uint256,uint256)\":{\"notice\":\"Get the funding cycle with the given configuration for the specified project.\"},\"latestConfigurationOf(uint256)\":{\"notice\":\"The latest funding cycle configuration for each project.\"},\"latestConfiguredOf(uint256)\":{\"notice\":\"The latest funding cycle to be configured for the specified project, and its current ballot state.\"},\"queuedOf(uint256)\":{\"notice\":\"The funding cycle that's next up for the specified project.\"}},\"notice\":\"Manages funding cycle configurations and scheduling.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":\"JBFundingCycleStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":{\"keccak256\":\"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff\",\"dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"type":"error","name":"INVALID_BALLOT"},{"inputs":[],"type":"error","name":"INVALID_DISCOUNT_RATE"},{"inputs":[],"type":"error","name":"INVALID_DURATION"},{"inputs":[],"type":"error","name":"INVALID_TIMEFRAME"},{"inputs":[],"type":"error","name":"INVALID_WEIGHT"},{"inputs":[],"type":"error","name":"NO_SAME_BLOCK_RECONFIGURATION"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}],"indexed":false},{"internalType":"uint256","name":"metadata","type":"uint256","indexed":false},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Configure","anonymous":false},{"inputs":[{"internalType":"uint256","name":"configuration","type":"uint256","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"basedOn","type":"uint256","indexed":true}],"type":"event","name":"Init","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBFundingCycleData","name":"_data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"uint256","name":"_metadata","type":"uint256"},{"internalType":"uint256","name":"_mustStartAtOrAfter","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"configureFor","outputs":[{"internalType":"struct JBFundingCycle","name":"","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentBallotStateOf","outputs":[{"internalType":"enum JBBallotState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_configuration","type":"uint256"}],"stateMutability":"view","type":"function","name":"get","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfigurationOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"latestConfiguredOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"enum JBBallotState","name":"ballotState","type":"uint8"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"queuedOf","outputs":[{"internalType":"struct JBFundingCycle","name":"fundingCycle","type":"tuple","components":[{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"configuration","type":"uint256"},{"internalType":"uint256","name":"basedOn","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"},{"internalType":"uint256","name":"metadata","type":"uint256"}]}]}],"devdoc":{"kind":"dev","methods":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":{"details":"Only a project's current controller can configure its funding cycles.","params":{"_data":"The funding cycle configuration data.","_metadata":"Arbitrary extra data to associate with this funding cycle configuration that's not used within.","_mustStartAtOrAfter":"The time before which the initialized funding cycle cannot start.","_projectId":"The ID of the project being configured."},"returns":{"_0":"The funding cycle that the configuration will take effect during."}},"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project."}},"currentBallotStateOf(uint256)":{"params":{"_projectId":"The ID of the project to check the ballot state of."},"returns":{"_0":"The project's current ballot's state."}},"currentOf(uint256)":{"details":"If a current funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.","params":{"_projectId":"The ID of the project to get the current funding cycle of."},"returns":{"fundingCycle":"The project's current funding cycle."}},"get(uint256,uint256)":{"params":{"_configuration":"The configuration of the funding cycle to get.","_projectId":"The ID of the project to which the funding cycle belongs."},"returns":{"fundingCycle":"The funding cycle."}},"latestConfiguredOf(uint256)":{"params":{"_projectId":"The ID of the project to get the latest configured funding cycle of."},"returns":{"ballotState":"The state of the ballot for the reconfiguration.","fundingCycle":"The project's queued funding cycle."}},"queuedOf(uint256)":{"details":"If a queued funding cycle of the project is not found, returns an empty funding cycle with all properties set to 0.","params":{"_projectId":"The ID of the project to get the queued funding cycle of."},"returns":{"fundingCycle":"The project's queued funding cycle."}}},"version":1},"userdoc":{"kind":"user","methods":{"configureFor(uint256,(uint256,uint256,uint256,address),uint256,uint256)":{"notice":"Configures the next eligible funding cycle for the specified project."},"currentBallotStateOf(uint256)":{"notice":"The current ballot state of the project."},"currentOf(uint256)":{"notice":"The funding cycle that is currently active for the specified project."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"get(uint256,uint256)":{"notice":"Get the funding cycle with the given configuration for the specified project."},"latestConfigurationOf(uint256)":{"notice":"The latest funding cycle configuration for each project."},"latestConfiguredOf(uint256)":{"notice":"The latest funding cycle to be configured for the specified project, and its current ballot state."},"queuedOf(uint256)":{"notice":"The funding cycle that's next up for the specified project."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":"JBFundingCycleStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":{"keccak256":"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566","urls":["bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff","dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"id":72} \ No newline at end of file diff --git a/out/JBGlobalFundingCycleMetadataResolver.sol/JBGlobalFundingCycleMetadataResolver.json b/out/JBGlobalFundingCycleMetadataResolver.sol/JBGlobalFundingCycleMetadataResolver.json index 698e89a2..9fa08c1c 100644 --- a/out/JBGlobalFundingCycleMetadataResolver.sol/JBGlobalFundingCycleMetadataResolver.json +++ b/out/JBGlobalFundingCycleMetadataResolver.sol/JBGlobalFundingCycleMetadataResolver.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b1a3d3732f0606048178a81ef8a4fe87f366b8ba861bca78ae74b1e02757decf64736f6c63430008170033","sourceMap":"231:1505:124:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;231:1505:124;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b1a3d3732f0606048178a81ef8a4fe87f366b8ba861bca78ae74b1e02757decf64736f6c63430008170033","sourceMap":"231:1505:124:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":\"JBGlobalFundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":"JBGlobalFundingCycleMetadataResolver"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol","id":87558,"exportedSymbols":{"JBFundingCycleMetadata":[87859],"JBGlobalFundingCycleMetadata":[87869],"JBGlobalFundingCycleMetadataResolver":[87557]},"nodeType":"SourceUnit","src":"32:1705:124","nodes":[{"id":87444,"nodeType":"PragmaDirective","src":"32:24:124","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":87446,"nodeType":"ImportDirective","src":"58:79:124","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","file":"./../structs/JBFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":87558,"sourceUnit":87860,"symbolAliases":[{"foreign":{"id":87445,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"66:22:124","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87448,"nodeType":"ImportDirective","src":"138:91:124","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol","file":"./../structs/JBGlobalFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":87558,"sourceUnit":87870,"symbolAliases":[{"foreign":{"id":87447,"name":"JBGlobalFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87869,"src":"146:28:124","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":87557,"nodeType":"ContractDefinition","src":"231:1505:124","nodes":[{"id":87463,"nodeType":"FunctionDefinition","src":"280:105:124","nodes":[],"body":{"id":87462,"nodeType":"Block","src":"351:34:124","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":87455,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87450,"src":"365:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"373:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"365:9:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":87458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"364:11:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"379:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"364:16:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87454,"id":87461,"nodeType":"Return","src":"357:23:124"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setTerminalsAllowed","nameLocation":"289:19:124","parameters":{"id":87451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87450,"mutability":"mutable","name":"_data","nameLocation":"315:5:124","nodeType":"VariableDeclaration","scope":87463,"src":"309:11:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":87449,"name":"uint8","nodeType":"ElementaryTypeName","src":"309:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"308:13:124"},"returnParameters":{"id":87454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87463,"src":"345:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87452,"name":"bool","nodeType":"ElementaryTypeName","src":"345:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"344:6:124"},"scope":87557,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87481,"nodeType":"FunctionDefinition","src":"389:113:124","nodes":[],"body":{"id":87480,"nodeType":"Block","src":"461:41:124","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":87470,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87465,"src":"476:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":87471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"485:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"476:10:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":87473,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"475:12:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"490:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"475:16:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":87476,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"474:18:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"496:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"474:23:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87469,"id":87479,"nodeType":"Return","src":"467:30:124"}]},"implemented":true,"kind":"function","modifiers":[],"name":"setControllerAllowed","nameLocation":"398:20:124","parameters":{"id":87466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87465,"mutability":"mutable","name":"_data","nameLocation":"425:5:124","nodeType":"VariableDeclaration","scope":87481,"src":"419:11:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":87464,"name":"uint8","nodeType":"ElementaryTypeName","src":"419:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"418:13:124"},"returnParameters":{"id":87469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87481,"src":"455:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87467,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"454:6:124"},"scope":87557,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87499,"nodeType":"FunctionDefinition","src":"506:108:124","nodes":[],"body":{"id":87498,"nodeType":"Block","src":"573:41:124","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":87490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":87488,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87483,"src":"588:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":87489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"597:1:124","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"588:10:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":87491,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"587:12:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":87492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"602:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"587:16:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":87494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"586:18:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":87495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"608:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"586:23:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":87487,"id":87497,"nodeType":"Return","src":"579:30:124"}]},"implemented":true,"kind":"function","modifiers":[],"name":"transfersPaused","nameLocation":"515:15:124","parameters":{"id":87484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87483,"mutability":"mutable","name":"_data","nameLocation":"537:5:124","nodeType":"VariableDeclaration","scope":87499,"src":"531:11:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":87482,"name":"uint8","nodeType":"ElementaryTypeName","src":"531:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"530:13:124"},"returnParameters":{"id":87487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87486,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":87499,"src":"567:4:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":87485,"name":"bool","nodeType":"ElementaryTypeName","src":"567:4:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"566:6:124"},"scope":87557,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87534,"nodeType":"FunctionDefinition","src":"839:405:124","nodes":[],"body":{"id":87533,"nodeType":"Block","src":"973:271:124","nodes":[],"statements":[{"condition":{"expression":{"id":87508,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87503,"src":"1020:9:124","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":87509,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1030:17:124","memberName":"allowSetTerminals","nodeType":"MemberAccess","referencedDeclaration":87864,"src":"1020:27:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87514,"nodeType":"IfStatement","src":"1016:44:124","trueBody":{"expression":{"id":87512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87510,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87506,"src":"1049:6:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"hexValue":"31","id":87511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1059:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1049:11:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87513,"nodeType":"ExpressionStatement","src":"1049:11:124"}},{"condition":{"expression":{"id":87515,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87503,"src":"1108:9:124","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":87516,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1118:18:124","memberName":"allowSetController","nodeType":"MemberAccess","referencedDeclaration":87866,"src":"1108:28:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87523,"nodeType":"IfStatement","src":"1104:50:124","trueBody":{"expression":{"id":87521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87517,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87506,"src":"1138:6:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"id":87520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1148:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"31","id":87519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1153:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1148:6:124","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}},"src":"1138:16:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87522,"nodeType":"ExpressionStatement","src":"1138:16:124"}},{"condition":{"expression":{"id":87524,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87503,"src":"1197:9:124","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":87525,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1207:14:124","memberName":"pauseTransfers","nodeType":"MemberAccess","referencedDeclaration":87868,"src":"1197:24:124","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":87532,"nodeType":"IfStatement","src":"1193:46:124","trueBody":{"expression":{"id":87530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":87526,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87506,"src":"1223:6:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"id":87529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":87527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1233:1:124","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":87528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1238:1:124","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1233:6:124","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}},"src":"1223:16:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":87531,"nodeType":"ExpressionStatement","src":"1223:16:124"}}]},"documentation":{"id":87500,"nodeType":"StructuredDocumentation","src":"618:218:124","text":"@notice Pack the global funding cycle metadata.\n @param _metadata The metadata to validate and pack.\n @return packed The packed uint256 of all global metadata params. The first 8 bits specify the version."},"implemented":true,"kind":"function","modifiers":[],"name":"packFundingCycleGlobalMetadata","nameLocation":"848:30:124","parameters":{"id":87504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87503,"mutability":"mutable","name":"_metadata","nameLocation":"920:9:124","nodeType":"VariableDeclaration","scope":87534,"src":"884:45:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata"},"typeName":{"id":87502,"nodeType":"UserDefinedTypeName","pathNode":{"id":87501,"name":"JBGlobalFundingCycleMetadata","nameLocations":["884:28:124"],"nodeType":"IdentifierPath","referencedDeclaration":87869,"src":"884:28:124"},"referencedDeclaration":87869,"src":"884:28:124","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_storage_ptr","typeString":"struct JBGlobalFundingCycleMetadata"}},"visibility":"internal"}],"src":"878:55:124"},"returnParameters":{"id":87507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87506,"mutability":"mutable","name":"packed","nameLocation":"965:6:124","nodeType":"VariableDeclaration","scope":87534,"src":"957:14:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87505,"name":"uint256","nodeType":"ElementaryTypeName","src":"957:7:124","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"956:16:124"},"scope":87557,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":87556,"nodeType":"FunctionDefinition","src":"1415:319:124","nodes":[],"body":{"id":87555,"nodeType":"Block","src":"1539:195:124","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":87545,"name":"_packedMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87537,"src":"1616:15:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":87544,"name":"setTerminalsAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87463,"src":"1596:19:124","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$","typeString":"function (uint8) pure returns (bool)"}},"id":87546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1596:36:124","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87548,"name":"_packedMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87537,"src":"1663:15:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":87547,"name":"setControllerAllowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87481,"src":"1642:20:124","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$","typeString":"function (uint8) pure returns (bool)"}},"id":87549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1642:37:124","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":87551,"name":"_packedMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87537,"src":"1705:15:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":87550,"name":"transfersPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87499,"src":"1689:15:124","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$","typeString":"function (uint8) pure returns (bool)"}},"id":87552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1689:32:124","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":87543,"name":"JBGlobalFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87869,"src":"1558:28:124","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBGlobalFundingCycleMetadata_$87869_storage_ptr_$","typeString":"type(struct JBGlobalFundingCycleMetadata storage pointer)"}},"id":87553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1558:171:124","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"functionReturnParameters":87542,"id":87554,"nodeType":"Return","src":"1545:184:124"}]},"documentation":{"id":87535,"nodeType":"StructuredDocumentation","src":"1248:164:124","text":"@notice Expand the global funding cycle metadata.\n @param _packedMetadata The packed metadata to expand.\n @return metadata The global metadata object."},"implemented":true,"kind":"function","modifiers":[],"name":"expandMetadata","nameLocation":"1424:14:124","parameters":{"id":87538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87537,"mutability":"mutable","name":"_packedMetadata","nameLocation":"1450:15:124","nodeType":"VariableDeclaration","scope":87556,"src":"1444:21:124","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":87536,"name":"uint8","nodeType":"ElementaryTypeName","src":"1444:5:124","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1438:31:124"},"returnParameters":{"id":87542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87541,"mutability":"mutable","name":"metadata","nameLocation":"1529:8:124","nodeType":"VariableDeclaration","scope":87556,"src":"1493:44:124","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata"},"typeName":{"id":87540,"nodeType":"UserDefinedTypeName","pathNode":{"id":87539,"name":"JBGlobalFundingCycleMetadata","nameLocations":["1493:28:124"],"nodeType":"IdentifierPath","referencedDeclaration":87869,"src":"1493:28:124"},"referencedDeclaration":87869,"src":"1493:28:124","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_storage_ptr","typeString":"struct JBGlobalFundingCycleMetadata"}},"visibility":"internal"}],"src":"1492:46:124"},"scope":87557,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"JBGlobalFundingCycleMetadataResolver","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[87557],"name":"JBGlobalFundingCycleMetadataResolver","nameLocation":"239:36:124","scope":87558,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":124} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b1a3d3732f0606048178a81ef8a4fe87f366b8ba861bca78ae74b1e02757decf64736f6c63430008170033","sourceMap":"231:1505:124:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;231:1505:124;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b1a3d3732f0606048178a81ef8a4fe87f366b8ba861bca78ae74b1e02757decf64736f6c63430008170033","sourceMap":"231:1505:124:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":\"JBGlobalFundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":"JBGlobalFundingCycleMetadataResolver"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"}},"version":1},"id":124} \ No newline at end of file diff --git a/out/JBIpfsDecoder.sol/JBIpfsDecoder.json b/out/JBIpfsDecoder.sol/JBIpfsDecoder.json index 2996b92e..c7d37bf2 100644 --- a/out/JBIpfsDecoder.sol/JBIpfsDecoder.json +++ b/out/JBIpfsDecoder.sol/JBIpfsDecoder.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206b2ed63a250ec2558975cff9fdf359fc0d33ac8791c60c8b44d8c56017326e9d64736f6c63430008170033","sourceMap":"324:3246:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;324:3246:29;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206b2ed63a250ec2558975cff9fdf359fc0d33ac8791c60c8b44d8c56017326e9d64736f6c63430008170033","sourceMap":"324:3246:29:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This is fairly gas intensive, due to multiple nested loops, onchain IPFS hash decoding is therefore not advised (storing them as a string, in that use-case, *might* be more efficient).\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_ALPHABET\":{\"details\":\"Used in base58ToString\"}},\"title\":\"JBIpfsDecoder\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to decode an IPFS hash.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBIpfsDecoder.sol\":\"JBIpfsDecoder\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBIpfsDecoder.sol":"JBIpfsDecoder"},"libraries":{}},"sources":{"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/libraries/JBIpfsDecoder.sol","id":28953,"exportedSymbols":{"JBIpfsDecoder":[28952]},"nodeType":"SourceUnit","src":"32:3539:29","nodes":[{"id":28623,"nodeType":"PragmaDirective","src":"32:24:29","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":28952,"nodeType":"ContractDefinition","src":"324:3246:29","nodes":[{"id":28628,"nodeType":"VariableDeclaration","src":"690:96:29","nodes":[],"constant":true,"documentation":{"id":28625,"nodeType":"StructuredDocumentation","src":"587:98:29","text":" @notice Just a kind reminder to our readers.\n @dev Used in base58ToString"},"mutability":"constant","name":"_ALPHABET","nameLocation":"714:9:29","scope":28952,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28626,"name":"bytes","nodeType":"ElementaryTypeName","src":"690:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":{"hexValue":"31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797a","id":28627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"726:60:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_e72daf94b45f828c6e9fb35ca4f157bc4eef8ccec3cc5bc840ee513b6ee42a62","typeString":"literal_string \"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\""},"value":"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"},"visibility":"internal"},{"id":28664,"nodeType":"FunctionDefinition","src":"793:487:29","nodes":[],"body":{"id":28663,"nodeType":"Block","src":"891:389:29","nodes":[],"statements":[{"assignments":[28638],"declarations":[{"constant":false,"id":28638,"mutability":"mutable","name":"completeHexString","nameLocation":"998:17:29","nodeType":"VariableDeclaration","scope":28663,"src":"985:30:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28637,"name":"bytes","nodeType":"ElementaryTypeName","src":"985:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28647,"initialValue":{"arguments":[{"arguments":[{"hexValue":"307831323230","id":28643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1042:6:29","typeDescriptions":{"typeIdentifier":"t_rational_4640_by_1","typeString":"int_const 4640"},"value":"0x1220"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_4640_by_1","typeString":"int_const 4640"}],"id":28642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1035:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes2_$","typeString":"type(bytes2)"},"typeName":{"id":28641,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1035:6:29","typeDescriptions":{}}},"id":28644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1035:14:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},{"id":28645,"name":"_hexString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28632,"src":"1051:10:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes2","typeString":"bytes2"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":28639,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1018:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28640,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1022:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"1018:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":28646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1018:44:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"985:77:29"},{"assignments":[28649],"declarations":[{"constant":false,"id":28649,"mutability":"mutable","name":"ipfsHash","nameLocation":"1131:8:29","nodeType":"VariableDeclaration","scope":28663,"src":"1117:22:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28648,"name":"string","nodeType":"ElementaryTypeName","src":"1117:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":28653,"initialValue":{"arguments":[{"id":28651,"name":"completeHexString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28638,"src":"1152:17:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28650,"name":"_toBase58","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28808,"src":"1142:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_string_memory_ptr_$","typeString":"function (bytes memory) pure returns (string memory)"}},"id":28652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1142:28:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"1117:53:29"},{"expression":{"arguments":[{"arguments":[{"id":28658,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28630,"src":"1253:8:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":28659,"name":"ipfsHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28649,"src":"1263:8:29","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":28656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1236:3:29","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":28657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1240:12:29","memberName":"encodePacked","nodeType":"MemberAccess","src":"1236:16:29","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":28660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1236:36:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28655,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1229:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":28654,"name":"string","nodeType":"ElementaryTypeName","src":"1229:6:29","typeDescriptions":{}}},"id":28661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1229:44:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":28636,"id":28662,"nodeType":"Return","src":"1222:51:29"}]},"implemented":true,"kind":"function","modifiers":[],"name":"decode","nameLocation":"802:6:29","parameters":{"id":28633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28630,"mutability":"mutable","name":"_baseUri","nameLocation":"823:8:29","nodeType":"VariableDeclaration","scope":28664,"src":"809:22:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28629,"name":"string","nodeType":"ElementaryTypeName","src":"809:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":28632,"mutability":"mutable","name":"_hexString","nameLocation":"841:10:29","nodeType":"VariableDeclaration","scope":28664,"src":"833:18:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":28631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"833:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"808:44:29"},"returnParameters":{"id":28636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28664,"src":"876:13:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28634,"name":"string","nodeType":"ElementaryTypeName","src":"876:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"875:15:29"},"scope":28952,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28808,"nodeType":"FunctionDefinition","src":"1390:1065:29","nodes":[],"body":{"id":28807,"nodeType":"Block","src":"1468:987:29","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28672,"name":"_source","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28667,"src":"1482:7:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1490:6:29","memberName":"length","nodeType":"MemberAccess","src":"1482:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":28674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1500:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1482:19:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28681,"nodeType":"IfStatement","src":"1478:45:29","trueBody":{"expression":{"arguments":[{"hexValue":"30","id":28678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1521:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":28677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1510:10:29","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":28676,"name":"string","nodeType":"ElementaryTypeName","src":"1514:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":28679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1510:13:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":28671,"id":28680,"nodeType":"Return","src":"1503:20:29"}},{"assignments":[28686],"declarations":[{"constant":false,"id":28686,"mutability":"mutable","name":"digits","nameLocation":"1549:6:29","nodeType":"VariableDeclaration","scope":28807,"src":"1534:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28684,"name":"uint8","nodeType":"ElementaryTypeName","src":"1534:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28685,"nodeType":"ArrayTypeName","src":"1534:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":28692,"initialValue":{"arguments":[{"hexValue":"3436","id":28690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1570:2:29","typeDescriptions":{"typeIdentifier":"t_rational_46_by_1","typeString":"int_const 46"},"value":"46"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_46_by_1","typeString":"int_const 46"}],"id":28689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1558:11:29","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":28687,"name":"uint8","nodeType":"ElementaryTypeName","src":"1562:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28688,"nodeType":"ArrayTypeName","src":"1562:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":28691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1558:15:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"1534:39:29"},{"expression":{"id":28697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28693,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"1613:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28695,"indexExpression":{"hexValue":"30","id":28694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1620:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1613:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":28696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1625:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1613:13:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28698,"nodeType":"ExpressionStatement","src":"1613:13:29"},{"assignments":[28700],"declarations":[{"constant":false,"id":28700,"mutability":"mutable","name":"digitlength","nameLocation":"1643:11:29","nodeType":"VariableDeclaration","scope":28807,"src":"1637:17:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28699,"name":"uint8","nodeType":"ElementaryTypeName","src":"1637:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"id":28702,"initialValue":{"hexValue":"31","id":28701,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1657:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"VariableDeclarationStatement","src":"1637:21:29"},{"assignments":[28704],"declarations":[{"constant":false,"id":28704,"mutability":"mutable","name":"_sourceLength","nameLocation":"1676:13:29","nodeType":"VariableDeclaration","scope":28807,"src":"1668:21:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28703,"name":"uint256","nodeType":"ElementaryTypeName","src":"1668:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28707,"initialValue":{"expression":{"id":28705,"name":"_source","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28667,"src":"1692:7:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1700:6:29","memberName":"length","nodeType":"MemberAccess","src":"1692:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1668:38:29"},{"body":{"id":28793,"nodeType":"Block","src":"1753:618:29","statements":[{"assignments":[28715],"declarations":[{"constant":false,"id":28715,"mutability":"mutable","name":"carry","nameLocation":"1775:5:29","nodeType":"VariableDeclaration","scope":28793,"src":"1767:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28714,"name":"uint256","nodeType":"ElementaryTypeName","src":"1767:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28722,"initialValue":{"arguments":[{"baseExpression":{"id":28718,"name":"_source","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28667,"src":"1789:7:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28720,"indexExpression":{"id":28719,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"1797:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1789:10:29","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"id":28717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1783:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":28716,"name":"uint8","nodeType":"ElementaryTypeName","src":"1783:5:29","typeDescriptions":{}}},"id":28721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1783:17:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"1767:33:29"},{"body":{"id":28761,"nodeType":"Block","src":"1849:231:29","statements":[{"expression":{"id":28738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28729,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"1867:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":28732,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"1884:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28734,"indexExpression":{"id":28733,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28724,"src":"1891:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1884:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":28731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1876:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":28730,"name":"uint256","nodeType":"ElementaryTypeName","src":"1876:7:29","typeDescriptions":{}}},"id":28735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1876:18:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"38","id":28736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1898:1:29","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"1876:23:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1867:32:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28739,"nodeType":"ExpressionStatement","src":"1867:32:29"},{"expression":{"id":28749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28740,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"1928:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28742,"indexExpression":{"id":28741,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28724,"src":"1935:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1928:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28745,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"1946:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3538","id":28746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1954:2:29","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"1946:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28744,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1940:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":28743,"name":"uint8","nodeType":"ElementaryTypeName","src":"1940:5:29","typeDescriptions":{}}},"id":28748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:17:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1928:29:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28750,"nodeType":"ExpressionStatement","src":"1928:29:29"},{"expression":{"id":28755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28751,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"1975:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28752,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"1983:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3538","id":28753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1991:2:29","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"1983:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1975:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28756,"nodeType":"ExpressionStatement","src":"1975:18:29"},{"id":28760,"nodeType":"UncheckedBlock","src":"2012:54:29","statements":[{"expression":{"id":28758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2044:3:29","subExpression":{"id":28757,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28724,"src":"2046:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28759,"nodeType":"ExpressionStatement","src":"2044:3:29"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28726,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28724,"src":"1831:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28727,"name":"digitlength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28700,"src":"1835:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1831:15:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28762,"initializationExpression":{"assignments":[28724],"declarations":[{"constant":false,"id":28724,"mutability":"mutable","name":"j","nameLocation":"1828:1:29","nodeType":"VariableDeclaration","scope":28762,"src":"1820:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28723,"name":"uint256","nodeType":"ElementaryTypeName","src":"1820:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28725,"nodeType":"VariableDeclarationStatement","src":"1820:9:29"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"1815:265:29"},{"body":{"id":28787,"nodeType":"Block","src":"2112:189:29","statements":[{"expression":{"id":28775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28766,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"2130:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28768,"indexExpression":{"id":28767,"name":"digitlength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28700,"src":"2137:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2130:19:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28771,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"2158:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"hexValue":"3538","id":28772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2166:2:29","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"2158:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28770,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2152:5:29","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":28769,"name":"uint8","nodeType":"ElementaryTypeName","src":"2152:5:29","typeDescriptions":{}}},"id":28774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2152:17:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2130:39:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28776,"nodeType":"ExpressionStatement","src":"2130:39:29"},{"id":28780,"nodeType":"UncheckedBlock","src":"2187:64:29","statements":[{"expression":{"id":28778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2219:13:29","subExpression":{"id":28777,"name":"digitlength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28700,"src":"2221:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28779,"nodeType":"ExpressionStatement","src":"2219:13:29"}]},{"expression":{"id":28785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":28781,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"2268:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28782,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"2276:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"3538","id":28783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2284:2:29","typeDescriptions":{"typeIdentifier":"t_rational_58_by_1","typeString":"int_const 58"},"value":"58"},"src":"2276:10:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2268:18:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28786,"nodeType":"ExpressionStatement","src":"2268:18:29"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28763,"name":"carry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28715,"src":"2101:5:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":28764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2109:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2101:9:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28788,"nodeType":"WhileStatement","src":"2094:207:29"},{"id":28792,"nodeType":"UncheckedBlock","src":"2315:46:29","statements":[{"expression":{"id":28790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2343:3:29","subExpression":{"id":28789,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"2345:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28791,"nodeType":"ExpressionStatement","src":"2343:3:29"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28711,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28709,"src":"1733:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28712,"name":"_sourceLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28704,"src":"1737:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1733:17:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28794,"initializationExpression":{"assignments":[28709],"declarations":[{"constant":false,"id":28709,"mutability":"mutable","name":"i","nameLocation":"1730:1:29","nodeType":"VariableDeclaration","scope":28794,"src":"1722:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28708,"name":"uint256","nodeType":"ElementaryTypeName","src":"1722:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28710,"nodeType":"VariableDeclarationStatement","src":"1722:9:29"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"1717:654:29"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":28800,"name":"digits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28686,"src":"2425:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},{"id":28801,"name":"digitlength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28700,"src":"2433:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":28799,"name":"_truncate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28853,"src":"2415:9:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint8_$dyn_memory_ptr_$_t_uint8_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint8[] memory,uint8) pure returns (uint8[] memory)"}},"id":28802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2415:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}],"id":28798,"name":"_reverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28906,"src":"2406:8:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint8_$dyn_memory_ptr_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint8[] memory) pure returns (uint8[] memory)"}},"id":28803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2406:40:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}],"id":28797,"name":"_toAlphabet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28951,"src":"2394:11:29","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint8_$dyn_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint8[] memory) pure returns (bytes memory)"}},"id":28804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2394:53:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":28796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2387:6:29","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":28795,"name":"string","nodeType":"ElementaryTypeName","src":"2387:6:29","typeDescriptions":{}}},"id":28805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2387:61:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":28671,"id":28806,"nodeType":"Return","src":"2380:68:29"}]},"documentation":{"id":28665,"nodeType":"StructuredDocumentation","src":"1286:99:29","text":"@notice Convert a hex string to base58\n @notice Written by Martin Ludfall - Licence: MIT"},"implemented":true,"kind":"function","modifiers":[],"name":"_toBase58","nameLocation":"1399:9:29","parameters":{"id":28668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28667,"mutability":"mutable","name":"_source","nameLocation":"1422:7:29","nodeType":"VariableDeclaration","scope":28808,"src":"1409:20:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28666,"name":"bytes","nodeType":"ElementaryTypeName","src":"1409:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1408:22:29"},"returnParameters":{"id":28671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28670,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28808,"src":"1453:13:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":28669,"name":"string","nodeType":"ElementaryTypeName","src":"1453:6:29","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1452:15:29"},"scope":28952,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":28853,"nodeType":"FunctionDefinition","src":"2461:324:29","nodes":[],"body":{"id":28852,"nodeType":"Block","src":"2556:229:29","nodes":[],"statements":[{"assignments":[28823],"declarations":[{"constant":false,"id":28823,"mutability":"mutable","name":"output","nameLocation":"2581:6:29","nodeType":"VariableDeclaration","scope":28852,"src":"2566:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28821,"name":"uint8","nodeType":"ElementaryTypeName","src":"2566:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28822,"nodeType":"ArrayTypeName","src":"2566:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":28829,"initialValue":{"arguments":[{"id":28827,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28813,"src":"2602:7:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":28826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2590:11:29","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":28824,"name":"uint8","nodeType":"ElementaryTypeName","src":"2594:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28825,"nodeType":"ArrayTypeName","src":"2594:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":28828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2590:20:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2566:44:29"},{"body":{"id":28848,"nodeType":"Block","src":"2650:106:29","statements":[{"expression":{"id":28842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28836,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28823,"src":"2664:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28838,"indexExpression":{"id":28837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28831,"src":"2671:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2664:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28839,"name":"_array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28811,"src":"2676:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28841,"indexExpression":{"id":28840,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28831,"src":"2683:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2676:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2664:21:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28843,"nodeType":"ExpressionStatement","src":"2664:21:29"},{"id":28847,"nodeType":"UncheckedBlock","src":"2700:46:29","statements":[{"expression":{"id":28845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"2728:3:29","subExpression":{"id":28844,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28831,"src":"2730:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28846,"nodeType":"ExpressionStatement","src":"2728:3:29"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28833,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28831,"src":"2636:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28834,"name":"_length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28813,"src":"2640:7:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"2636:11:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28849,"initializationExpression":{"assignments":[28831],"declarations":[{"constant":false,"id":28831,"mutability":"mutable","name":"i","nameLocation":"2633:1:29","nodeType":"VariableDeclaration","scope":28849,"src":"2625:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28830,"name":"uint256","nodeType":"ElementaryTypeName","src":"2625:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28832,"nodeType":"VariableDeclarationStatement","src":"2625:9:29"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"2620:136:29"},{"expression":{"id":28850,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28823,"src":"2772:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"functionReturnParameters":28818,"id":28851,"nodeType":"Return","src":"2765:13:29"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_truncate","nameLocation":"2470:9:29","parameters":{"id":28814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28811,"mutability":"mutable","name":"_array","nameLocation":"2495:6:29","nodeType":"VariableDeclaration","scope":28853,"src":"2480:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28809,"name":"uint8","nodeType":"ElementaryTypeName","src":"2480:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28810,"nodeType":"ArrayTypeName","src":"2480:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"},{"constant":false,"id":28813,"mutability":"mutable","name":"_length","nameLocation":"2509:7:29","nodeType":"VariableDeclaration","scope":28853,"src":"2503:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":28812,"name":"uint8","nodeType":"ElementaryTypeName","src":"2503:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2479:38:29"},"returnParameters":{"id":28818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28817,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28853,"src":"2540:14:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28815,"name":"uint8","nodeType":"ElementaryTypeName","src":"2540:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28816,"nodeType":"ArrayTypeName","src":"2540:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"2539:16:29"},"scope":28952,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":28906,"nodeType":"FunctionDefinition","src":"2791:387:29","nodes":[],"body":{"id":28905,"nodeType":"Block","src":"2870:308:29","nodes":[],"statements":[{"assignments":[28863],"declarations":[{"constant":false,"id":28863,"mutability":"mutable","name":"_inputLength","nameLocation":"2888:12:29","nodeType":"VariableDeclaration","scope":28905,"src":"2880:20:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28862,"name":"uint256","nodeType":"ElementaryTypeName","src":"2880:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28866,"initialValue":{"expression":{"id":28864,"name":"_input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28856,"src":"2903:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2910:6:29","memberName":"length","nodeType":"MemberAccess","src":"2903:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2880:36:29"},{"assignments":[28871],"declarations":[{"constant":false,"id":28871,"mutability":"mutable","name":"output","nameLocation":"2941:6:29","nodeType":"VariableDeclaration","scope":28905,"src":"2926:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28869,"name":"uint8","nodeType":"ElementaryTypeName","src":"2926:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28870,"nodeType":"ArrayTypeName","src":"2926:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"id":28877,"initialValue":{"arguments":[{"id":28875,"name":"_inputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"2962:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"2950:11:29","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint8_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint8[] memory)"},"typeName":{"baseType":{"id":28872,"name":"uint8","nodeType":"ElementaryTypeName","src":"2954:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28873,"nodeType":"ArrayTypeName","src":"2954:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}}},"id":28876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2950:25:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2926:49:29"},{"body":{"id":28901,"nodeType":"Block","src":"3020:129:29","statements":[{"id":28900,"nodeType":"UncheckedBlock","src":"3034:105:29","statements":[{"expression":{"id":28895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28884,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28871,"src":"3062:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28886,"indexExpression":{"id":28885,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28879,"src":"3069:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3062:9:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28887,"name":"_input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28856,"src":"3074:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28894,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28891,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":28888,"name":"_input","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28856,"src":"3081:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3088:6:29","memberName":"length","nodeType":"MemberAccess","src":"3081:13:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":28890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3097:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3081:17:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":28892,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28879,"src":"3101:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3081:21:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3074:29:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"3062:41:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28896,"nodeType":"ExpressionStatement","src":"3062:41:29"},{"expression":{"id":28898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3121:3:29","subExpression":{"id":28897,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28879,"src":"3123:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28899,"nodeType":"ExpressionStatement","src":"3121:3:29"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28881,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28879,"src":"3001:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28882,"name":"_inputLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28863,"src":"3005:12:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3001:16:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28902,"initializationExpression":{"assignments":[28879],"declarations":[{"constant":false,"id":28879,"mutability":"mutable","name":"i","nameLocation":"2998:1:29","nodeType":"VariableDeclaration","scope":28902,"src":"2990:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28878,"name":"uint256","nodeType":"ElementaryTypeName","src":"2990:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28880,"nodeType":"VariableDeclarationStatement","src":"2990:9:29"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"2985:164:29"},{"expression":{"id":28903,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28871,"src":"3165:6:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"functionReturnParameters":28861,"id":28904,"nodeType":"Return","src":"3158:13:29"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_reverse","nameLocation":"2800:8:29","parameters":{"id":28857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28856,"mutability":"mutable","name":"_input","nameLocation":"2824:6:29","nodeType":"VariableDeclaration","scope":28906,"src":"2809:21:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28854,"name":"uint8","nodeType":"ElementaryTypeName","src":"2809:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28855,"nodeType":"ArrayTypeName","src":"2809:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"2808:23:29"},"returnParameters":{"id":28861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28860,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28906,"src":"2854:14:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28858,"name":"uint8","nodeType":"ElementaryTypeName","src":"2854:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28859,"nodeType":"ArrayTypeName","src":"2854:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"2853:16:29"},"scope":28952,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":28951,"nodeType":"FunctionDefinition","src":"3184:384:29","nodes":[],"body":{"id":28950,"nodeType":"Block","src":"3266:302:29","nodes":[],"statements":[{"assignments":[28915],"declarations":[{"constant":false,"id":28915,"mutability":"mutable","name":"_indicesLength","nameLocation":"3284:14:29","nodeType":"VariableDeclaration","scope":28950,"src":"3276:22:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28914,"name":"uint256","nodeType":"ElementaryTypeName","src":"3276:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28918,"initialValue":{"expression":{"id":28916,"name":"_indices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28909,"src":"3301:8:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3310:6:29","memberName":"length","nodeType":"MemberAccess","src":"3301:15:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3276:40:29"},{"assignments":[28920],"declarations":[{"constant":false,"id":28920,"mutability":"mutable","name":"output","nameLocation":"3339:6:29","nodeType":"VariableDeclaration","scope":28950,"src":"3326:19:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28919,"name":"bytes","nodeType":"ElementaryTypeName","src":"3326:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":28925,"initialValue":{"arguments":[{"id":28923,"name":"_indicesLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28915,"src":"3358:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":28922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3348:9:29","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":28921,"name":"bytes","nodeType":"ElementaryTypeName","src":"3352:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":28924,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3348:25:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3326:47:29"},{"body":{"id":28946,"nodeType":"Block","src":"3420:119:29","statements":[{"expression":{"id":28940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":28932,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28920,"src":"3434:6:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28934,"indexExpression":{"id":28933,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28927,"src":"3441:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3434:9:29","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":28935,"name":"_ALPHABET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28628,"src":"3446:9:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":28939,"indexExpression":{"baseExpression":{"id":28936,"name":"_indices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28909,"src":"3456:8:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[] memory"}},"id":28938,"indexExpression":{"id":28937,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28927,"src":"3465:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3456:11:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3446:22:29","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"3434:34:29","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":28941,"nodeType":"ExpressionStatement","src":"3434:34:29"},{"id":28945,"nodeType":"UncheckedBlock","src":"3483:46:29","statements":[{"expression":{"id":28943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3511:3:29","subExpression":{"id":28942,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28927,"src":"3513:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":28944,"nodeType":"ExpressionStatement","src":"3511:3:29"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28929,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28927,"src":"3399:1:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":28930,"name":"_indicesLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28915,"src":"3403:14:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3399:18:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":28947,"initializationExpression":{"assignments":[28927],"declarations":[{"constant":false,"id":28927,"mutability":"mutable","name":"i","nameLocation":"3396:1:29","nodeType":"VariableDeclaration","scope":28947,"src":"3388:9:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28926,"name":"uint256","nodeType":"ElementaryTypeName","src":"3388:7:29","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":28928,"nodeType":"VariableDeclarationStatement","src":"3388:9:29"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"3383:156:29"},{"expression":{"id":28948,"name":"output","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28920,"src":"3555:6:29","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"functionReturnParameters":28913,"id":28949,"nodeType":"Return","src":"3548:13:29"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_toAlphabet","nameLocation":"3193:11:29","parameters":{"id":28910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28909,"mutability":"mutable","name":"_indices","nameLocation":"3220:8:29","nodeType":"VariableDeclaration","scope":28951,"src":"3205:23:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_memory_ptr","typeString":"uint8[]"},"typeName":{"baseType":{"id":28907,"name":"uint8","nodeType":"ElementaryTypeName","src":"3205:5:29","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":28908,"nodeType":"ArrayTypeName","src":"3205:7:29","typeDescriptions":{"typeIdentifier":"t_array$_t_uint8_$dyn_storage_ptr","typeString":"uint8[]"}},"visibility":"internal"}],"src":"3204:25:29"},"returnParameters":{"id":28913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28912,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28951,"src":"3252:12:29","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":28911,"name":"bytes","nodeType":"ElementaryTypeName","src":"3252:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3251:14:29"},"scope":28952,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"JBIpfsDecoder","contractDependencies":[],"contractKind":"library","documentation":{"id":28624,"nodeType":"StructuredDocumentation","src":"58:266:29","text":"@title JBIpfsDecoder\n @notice Utilities to decode an IPFS hash.\n @dev This is fairly gas intensive, due to multiple nested loops, onchain IPFS hash decoding is therefore not advised (storing them as a string, in that use-case, *might* be more efficient)."},"fullyImplemented":true,"linearizedBaseContracts":[28952],"name":"JBIpfsDecoder","nameLocation":"332:13:29","scope":28953,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":29} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206b2ed63a250ec2558975cff9fdf359fc0d33ac8791c60c8b44d8c56017326e9d64736f6c63430008170033","sourceMap":"324:3246:29:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;324:3246:29;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212206b2ed63a250ec2558975cff9fdf359fc0d33ac8791c60c8b44d8c56017326e9d64736f6c63430008170033","sourceMap":"324:3246:29:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"This is fairly gas intensive, due to multiple nested loops, onchain IPFS hash decoding is therefore not advised (storing them as a string, in that use-case, *might* be more efficient).\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"_ALPHABET\":{\"details\":\"Used in base58ToString\"}},\"title\":\"JBIpfsDecoder\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utilities to decode an IPFS hash.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBIpfsDecoder.sol\":\"JBIpfsDecoder\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBIpfsDecoder.sol":"JBIpfsDecoder"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"}},"version":1},"id":29} \ No newline at end of file diff --git a/out/JBOperatable.sol/JBOperatable.json b/out/JBOperatable.sol/JBOperatable.json index a7b71657..b6731cb2 100644 --- a/out/JBOperatable.sol/JBOperatable.json +++ b/out/JBOperatable.sol/JBOperatable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"operatorStore()":"ad007d63"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_operatorStore\":\"A contract storing operator assignments.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"}},\"notice\":\"Modifiers to allow access to functions based on the message sender's operator status.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":\"JBOperatable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_operatorStore":"A contract storing operator assignments."}}},"version":1},"userdoc":{"kind":"user","methods":{"operatorStore()":{"notice":"A contract storing operator assignments."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":"JBOperatable"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","id":80911,"exportedSymbols":{"IJBOperatable":[85331],"IJBOperatorStore":[85400],"JBOperatable":[80910]},"nodeType":"SourceUnit","src":"32:4404:81","nodes":[{"id":80763,"nodeType":"PragmaDirective","src":"32:24:81","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":80765,"nodeType":"ImportDirective","src":"58:64:81","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol","file":"./../interfaces/IJBOperatable.sol","nameLocation":"-1:-1:-1","scope":80911,"sourceUnit":85332,"symbolAliases":[{"foreign":{"id":80764,"name":"IJBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85331,"src":"66:13:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80767,"nodeType":"ImportDirective","src":"123:70:81","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./../interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":80911,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":80766,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"131:16:81","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80910,"nodeType":"ContractDefinition","src":"293:4142:81","nodes":[{"id":80772,"nodeType":"ErrorDefinition","src":"574:21:81","nodes":[],"errorSelector":"075fd2b1","name":"UNAUTHORIZED","nameLocation":"580:12:81","parameters":{"id":80771,"nodeType":"ParameterList","parameters":[],"src":"592:2:81"}},{"id":80789,"nodeType":"ModifierDefinition","src":"1112:177:81","nodes":[],"body":{"id":80788,"nodeType":"Block","src":"1216:73:81","nodes":[],"statements":[{"expression":{"arguments":[{"id":80782,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80775,"src":"1241:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80783,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80777,"src":"1251:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80784,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80779,"src":"1260:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80781,"name":"_requirePermission","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80865,"src":"1222:18:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256) view"}},"id":80785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1222:55:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80786,"nodeType":"ExpressionStatement","src":"1222:55:81"},{"id":80787,"nodeType":"PlaceholderStatement","src":"1283:1:81"}]},"documentation":{"id":80773,"nodeType":"StructuredDocumentation","src":"828:281:81","text":"@notice Only allows the speficied account or an operator of the account to proceed.\n @param _account The account to check for.\n @param _domain The domain namespace to look for an operator within.\n @param _permissionIndex The index of the permission to check for."},"name":"requirePermission","nameLocation":"1121:17:81","parameters":{"id":80780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80775,"mutability":"mutable","name":"_account","nameLocation":"1152:8:81","nodeType":"VariableDeclaration","scope":80789,"src":"1144:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80774,"name":"address","nodeType":"ElementaryTypeName","src":"1144:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80777,"mutability":"mutable","name":"_domain","nameLocation":"1174:7:81","nodeType":"VariableDeclaration","scope":80789,"src":"1166:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80776,"name":"uint256","nodeType":"ElementaryTypeName","src":"1166:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80779,"mutability":"mutable","name":"_permissionIndex","nameLocation":"1195:16:81","nodeType":"VariableDeclaration","scope":80789,"src":"1187:24:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80778,"name":"uint256","nodeType":"ElementaryTypeName","src":"1187:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1138:77:81"},"virtual":false,"visibility":"internal"},{"id":80809,"nodeType":"ModifierDefinition","src":"1661:240:81","nodes":[],"body":{"id":80808,"nodeType":"Block","src":"1801:100:81","nodes":[],"statements":[{"expression":{"arguments":[{"id":80801,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80792,"src":"1842:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80802,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80794,"src":"1852:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80803,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80796,"src":"1861:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80804,"name":"_override","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80798,"src":"1879:9:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":80800,"name":"_requirePermissionAllowingOverride","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80909,"src":"1807:34:81","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$returns$__$","typeString":"function (address,uint256,uint256,bool) view"}},"id":80805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1807:82:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80806,"nodeType":"ExpressionStatement","src":"1807:82:81"},{"id":80807,"nodeType":"PlaceholderStatement","src":"1895:1:81"}]},"documentation":{"id":80790,"nodeType":"StructuredDocumentation","src":"1293:365:81","text":"@notice Only allows the speficied account, an operator of the account to proceed, or a truthy override flag.\n @param _account The account to check for.\n @param _domain The domain namespace to look for an operator within.\n @param _permissionIndex The index of the permission to check for.\n @param _override A condition to force allowance for."},"name":"requirePermissionAllowingOverride","nameLocation":"1670:33:81","parameters":{"id":80799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80792,"mutability":"mutable","name":"_account","nameLocation":"1717:8:81","nodeType":"VariableDeclaration","scope":80809,"src":"1709:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80791,"name":"address","nodeType":"ElementaryTypeName","src":"1709:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80794,"mutability":"mutable","name":"_domain","nameLocation":"1739:7:81","nodeType":"VariableDeclaration","scope":80809,"src":"1731:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80793,"name":"uint256","nodeType":"ElementaryTypeName","src":"1731:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80796,"mutability":"mutable","name":"_permissionIndex","nameLocation":"1760:16:81","nodeType":"VariableDeclaration","scope":80809,"src":"1752:24:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80795,"name":"uint256","nodeType":"ElementaryTypeName","src":"1752:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80798,"mutability":"mutable","name":"_override","nameLocation":"1787:9:81","nodeType":"VariableDeclaration","scope":80809,"src":"1782:14:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80797,"name":"bool","nodeType":"ElementaryTypeName","src":"1782:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1703:97:81"},"virtual":false,"visibility":"internal"},{"id":80814,"nodeType":"VariableDeclaration","src":"2189:56:81","nodes":[],"baseFunctions":[85330],"constant":false,"documentation":{"id":80810,"nodeType":"StructuredDocumentation","src":"2134:52:81","text":"@notice A contract storing operator assignments."},"functionSelector":"ad007d63","mutability":"immutable","name":"operatorStore","nameLocation":"2232:13:81","overrides":{"id":80813,"nodeType":"OverrideSpecifier","overrides":[],"src":"2223:8:81"},"scope":80910,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":80812,"nodeType":"UserDefinedTypeName","pathNode":{"id":80811,"name":"IJBOperatorStore","nameLocations":["2189:16:81"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"2189:16:81"},"referencedDeclaration":85400,"src":"2189:16:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"public"},{"id":80826,"nodeType":"FunctionDefinition","src":"2548:86:81","nodes":[],"body":{"id":80825,"nodeType":"Block","src":"2593:41:81","nodes":[],"statements":[{"expression":{"id":80823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80821,"name":"operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80814,"src":"2599:13:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80822,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80818,"src":"2615:14:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"src":"2599:30:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"id":80824,"nodeType":"ExpressionStatement","src":"2599:30:81"}]},"documentation":{"id":80815,"nodeType":"StructuredDocumentation","src":"2479:66:81","text":"@param _operatorStore A contract storing operator assignments."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":80819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80818,"mutability":"mutable","name":"_operatorStore","nameLocation":"2577:14:81","nodeType":"VariableDeclaration","scope":80826,"src":"2560:31:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":80817,"nodeType":"UserDefinedTypeName","pathNode":{"id":80816,"name":"IJBOperatorStore","nameLocations":["2560:16:81"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"2560:16:81"},"referencedDeclaration":85400,"src":"2560:16:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"}],"src":"2559:33:81"},"returnParameters":{"id":80820,"nodeType":"ParameterList","parameters":[],"src":"2593:0:81"},"scope":80910,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":80865,"nodeType":"FunctionDefinition","src":"3221:359:81","nodes":[],"body":{"id":80864,"nodeType":"Block","src":"3340:240:81","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80859,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80836,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3357:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3361:6:81","memberName":"sender","nodeType":"MemberAccess","src":"3357:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80838,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80829,"src":"3371:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3357:22:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":80848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3389:77:81","subExpression":{"arguments":[{"expression":{"id":80842,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3418:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3422:6:81","memberName":"sender","nodeType":"MemberAccess","src":"3418:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80844,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80829,"src":"3430:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80845,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80831,"src":"3440:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80846,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80833,"src":"3449:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80840,"name":"operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80814,"src":"3390:13:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"id":80841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3404:13:81","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":85372,"src":"3390:27:81","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256,uint256) view external returns (bool)"}},"id":80847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3390:76:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3357:109:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":80858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3476:71:81","subExpression":{"arguments":[{"expression":{"id":80852,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3505:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80853,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3509:6:81","memberName":"sender","nodeType":"MemberAccess","src":"3505:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80854,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80829,"src":"3517:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":80855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3527:1:81","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":80856,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80833,"src":"3530:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80850,"name":"operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80814,"src":"3477:13:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"id":80851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3491:13:81","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":85372,"src":"3477:27:81","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256,uint256) view external returns (bool)"}},"id":80857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3477:70:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3357:190:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80863,"nodeType":"IfStatement","src":"3346:229:81","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80860,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80772,"src":"3561:12:81","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3561:14:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80862,"nodeType":"RevertStatement","src":"3554:21:81"}}]},"documentation":{"id":80827,"nodeType":"StructuredDocumentation","src":"2867:351:81","text":"@notice Require the message sender is either the account or has the specified permission.\n @param _account The account to allow.\n @param _domain The domain namespace within which the permission index will be checked.\n @param _permissionIndex The permission index that an operator must have within the specified domain to be allowed."},"implemented":true,"kind":"function","modifiers":[],"name":"_requirePermission","nameLocation":"3230:18:81","parameters":{"id":80834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80829,"mutability":"mutable","name":"_account","nameLocation":"3262:8:81","nodeType":"VariableDeclaration","scope":80865,"src":"3254:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80828,"name":"address","nodeType":"ElementaryTypeName","src":"3254:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80831,"mutability":"mutable","name":"_domain","nameLocation":"3284:7:81","nodeType":"VariableDeclaration","scope":80865,"src":"3276:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80830,"name":"uint256","nodeType":"ElementaryTypeName","src":"3276:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80833,"mutability":"mutable","name":"_permissionIndex","nameLocation":"3305:16:81","nodeType":"VariableDeclaration","scope":80865,"src":"3297:24:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80832,"name":"uint256","nodeType":"ElementaryTypeName","src":"3297:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3248:77:81"},"returnParameters":{"id":80835,"nodeType":"ParameterList","parameters":[],"src":"3340:0:81"},"scope":80910,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":80909,"nodeType":"FunctionDefinition","src":"4018:415:81","nodes":[],"body":{"id":80908,"nodeType":"Block","src":"4173:260:81","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80883,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4190:10:81","subExpression":{"id":80877,"name":"_override","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80874,"src":"4191:9:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":80879,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4210:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4214:6:81","memberName":"sender","nodeType":"MemberAccess","src":"4210:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":80881,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80868,"src":"4224:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4210:22:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4190:42:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":80892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4242:77:81","subExpression":{"arguments":[{"expression":{"id":80886,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4271:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4275:6:81","memberName":"sender","nodeType":"MemberAccess","src":"4271:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80888,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80868,"src":"4283:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80889,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80870,"src":"4293:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80890,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80872,"src":"4302:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80884,"name":"operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80814,"src":"4243:13:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"id":80885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4257:13:81","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":85372,"src":"4243:27:81","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256,uint256) view external returns (bool)"}},"id":80891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4243:76:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4190:129:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":80902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4329:71:81","subExpression":{"arguments":[{"expression":{"id":80896,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4358:3:81","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4362:6:81","memberName":"sender","nodeType":"MemberAccess","src":"4358:10:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80898,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80868,"src":"4370:8:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":80899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4380:1:81","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"id":80900,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80872,"src":"4383:16:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80894,"name":"operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80814,"src":"4330:13:81","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"id":80895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4344:13:81","memberName":"hasPermission","nodeType":"MemberAccess","referencedDeclaration":85372,"src":"4330:27:81","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256,uint256) view external returns (bool)"}},"id":80901,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4330:70:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4190:210:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80907,"nodeType":"IfStatement","src":"4179:249:81","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80904,"name":"UNAUTHORIZED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80772,"src":"4414:12:81","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4414:14:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80906,"nodeType":"RevertStatement","src":"4407:21:81"}}]},"documentation":{"id":80866,"nodeType":"StructuredDocumentation","src":"3584:431:81","text":"@notice Require the message sender is either the account, has the specified permission, or the override condition is true.\n @param _account The account to allow.\n @param _domain The domain namespace within which the permission index will be checked.\n @param _domain The permission index that an operator must have within the specified domain to be allowed.\n @param _override The override condition to allow."},"implemented":true,"kind":"function","modifiers":[],"name":"_requirePermissionAllowingOverride","nameLocation":"4027:34:81","parameters":{"id":80875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80868,"mutability":"mutable","name":"_account","nameLocation":"4075:8:81","nodeType":"VariableDeclaration","scope":80909,"src":"4067:16:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80867,"name":"address","nodeType":"ElementaryTypeName","src":"4067:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80870,"mutability":"mutable","name":"_domain","nameLocation":"4097:7:81","nodeType":"VariableDeclaration","scope":80909,"src":"4089:15:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80869,"name":"uint256","nodeType":"ElementaryTypeName","src":"4089:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80872,"mutability":"mutable","name":"_permissionIndex","nameLocation":"4118:16:81","nodeType":"VariableDeclaration","scope":80909,"src":"4110:24:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80871,"name":"uint256","nodeType":"ElementaryTypeName","src":"4110:7:81","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80874,"mutability":"mutable","name":"_override","nameLocation":"4145:9:81","nodeType":"VariableDeclaration","scope":80909,"src":"4140:14:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80873,"name":"bool","nodeType":"ElementaryTypeName","src":"4140:4:81","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4061:97:81"},"returnParameters":{"id":80876,"nodeType":"ParameterList","parameters":[],"src":"4173:0:81"},"scope":80910,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":80769,"name":"IJBOperatable","nameLocations":["327:13:81"],"nodeType":"IdentifierPath","referencedDeclaration":85331,"src":"327:13:81"},"id":80770,"nodeType":"InheritanceSpecifier","src":"327:13:81"}],"canonicalName":"JBOperatable","contractDependencies":[],"contractKind":"contract","documentation":{"id":80768,"nodeType":"StructuredDocumentation","src":"195:98:81","text":"@notice Modifiers to allow access to functions based on the message sender's operator status."},"fullyImplemented":true,"linearizedBaseContracts":[80910,85331],"name":"JBOperatable","nameLocation":"311:12:81","scope":80911,"usedErrors":[80772],"usedEvents":[]}],"license":"MIT"},"id":81} \ No newline at end of file +{"abi":[{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"operatorStore()":"ad007d63"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_operatorStore\":\"A contract storing operator assignments.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"}},\"notice\":\"Modifiers to allow access to functions based on the message sender's operator status.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":\"JBOperatable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_operatorStore":"A contract storing operator assignments."}}},"version":1},"userdoc":{"kind":"user","methods":{"operatorStore()":{"notice":"A contract storing operator assignments."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":"JBOperatable"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"id":81} \ No newline at end of file diff --git a/out/JBOperations.sol/JBOperations.json b/out/JBOperations.sol/JBOperations.json index c5dba3ad..3cee2dab 100644 --- a/out/JBOperations.sol/JBOperations.json +++ b/out/JBOperations.sol/JBOperations.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"BURN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ISSUE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIGRATE_CONTROLLER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIGRATE_TERMINAL","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MINT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PROCESS_FEES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RECONFIGURE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REDEEM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUIRE_CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_CONTROLLER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_METADATA","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_PRIMARY_TERMINAL","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_SPLITS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_TERMINALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_TOKEN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TRANSFER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"USE_ALLOWANCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6101fd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c80639694c99a116100ac578063b56dcf9e1161007b578063b56dcf9e1461019f578063c0a2526c146101a7578063c577af30146101af578063ef1b4f3b146101b7578063f5edee14146101bf57600080fd5b80639694c99a1461017f578063a264ed7814610187578063aae781031461018f578063af0c22a01461019757600080fd5b806373b6dec6116100f357806373b6dec61461015757806373d748761461015f578063757616e11461016757806376190b601461016f57806376420e1d1461017757600080fd5b80631d4b9a431461012557806332235cdf1461013f5780633e36f4c7146101475780636c1943be1461014f575b600080fd5b61012d600181565b60405190815260200160405180910390f35b61012d600781565b61012d600981565b61012d600f81565b61012d601181565b61012d600b81565b61012d600d81565b61012d600881565b61012d600c81565b61012d600581565b61012d600381565b61012d601081565b61012d600681565b61012d600481565b61012d600a81565b61012d600281565b61012d601281565b61012d600e8156fea264697066735822122019ea853d51dcfe607bdf13843ce61022914762e3825851f63e88875e56337c3164736f6c63430008170033","sourceMap":"57:818:125:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:818:125;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c80639694c99a116100ac578063b56dcf9e1161007b578063b56dcf9e1461019f578063c0a2526c146101a7578063c577af30146101af578063ef1b4f3b146101b7578063f5edee14146101bf57600080fd5b80639694c99a1461017f578063a264ed7814610187578063aae781031461018f578063af0c22a01461019757600080fd5b806373b6dec6116100f357806373b6dec61461015757806373d748761461015f578063757616e11461016757806376190b601461016f57806376420e1d1461017757600080fd5b80631d4b9a431461012557806332235cdf1461013f5780633e36f4c7146101475780636c1943be1461014f575b600080fd5b61012d600181565b60405190815260200160405180910390f35b61012d600781565b61012d600981565b61012d600f81565b61012d601181565b61012d600b81565b61012d600d81565b61012d600881565b61012d600c81565b61012d600581565b61012d600381565b61012d601081565b61012d600681565b61012d600481565b61012d600a81565b61012d600281565b61012d601281565b61012d600e8156fea264697066735822122019ea853d51dcfe607bdf13843ce61022914762e3825851f63e88875e56337c3164736f6c63430008170033","sourceMap":"57:818:125:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:39;;120:1;82:39;;;;;168:25:197;;;156:2;141:18;82:39:125;;;;;;;349:33;;381:1;349:33;;427:32;;458:1;427:32;;688:42;;728:2;688:42;;787;;827:2;787:42;;500:34;;532:2;500:34;;579:42;;619:2;579:42;;386:37;;422:1;386:37;;538;;573:2;538:37;;261:40;;300:1;261:40;;163:46;;208:1;163:46;;734:49;;781:2;734:49;;305:40;;344:1;305:40;;213:44;;256:1;213:44;;463:33;;494:2;463:33;;125:34;;158:1;125:34;;833:39;;870:2;833:39;;641:43;;682:2;641:43;","linkReferences":{}},"methodIdentifiers":{"BURN()":"c0a2526c","CLAIM()":"73d74876","ISSUE()":"32235cdf","MIGRATE_CONTROLLER()":"a264ed78","MIGRATE_TERMINAL()":"b56dcf9e","MINT()":"3e36f4c7","PROCESS_FEES()":"9694c99a","RECONFIGURE()":"1d4b9a43","REDEEM()":"c577af30","REQUIRE_CLAIM()":"757616e1","SET_CONTROLLER()":"f5edee14","SET_METADATA()":"af0c22a0","SET_PRIMARY_TERMINAL()":"aae78103","SET_SPLITS()":"ef1b4f3b","SET_TERMINALS()":"6c1943be","SET_TOKEN()":"76190b60","TRANSFER()":"76420e1d","USE_ALLOWANCE()":"73b6dec6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"BURN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLAIM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ISSUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIGRATE_CONTROLLER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIGRATE_TERMINAL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROCESS_FEES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RECONFIGURE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUIRE_CLAIM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_CONTROLLER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_METADATA\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_PRIMARY_TERMINAL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_SPLITS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_TERMINALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_TOKEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRANSFER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USE_ALLOWANCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":\"JBOperations\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"BURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CLAIM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ISSUE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIGRATE_CONTROLLER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIGRATE_TERMINAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PROCESS_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RECONFIGURE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REDEEM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUIRE_CLAIM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_CONTROLLER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_METADATA","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_PRIMARY_TERMINAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_SPLITS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_TERMINALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_TOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TRANSFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"USE_ALLOWANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":"JBOperations"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","id":87615,"exportedSymbols":{"JBOperations":[87614]},"nodeType":"SourceUnit","src":"32:844:125","nodes":[{"id":87559,"nodeType":"PragmaDirective","src":"32:23:125","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":87614,"nodeType":"ContractDefinition","src":"57:818:125","nodes":[{"id":87562,"nodeType":"VariableDeclaration","src":"82:39:125","nodes":[],"constant":true,"functionSelector":"1d4b9a43","mutability":"constant","name":"RECONFIGURE","nameLocation":"106:11:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87560,"name":"uint256","nodeType":"ElementaryTypeName","src":"82:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":87561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"120:1:125","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"id":87565,"nodeType":"VariableDeclaration","src":"125:34:125","nodes":[],"constant":true,"functionSelector":"c577af30","mutability":"constant","name":"REDEEM","nameLocation":"149:6:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87563,"name":"uint256","nodeType":"ElementaryTypeName","src":"125:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":87564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"158:1:125","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"public"},{"id":87568,"nodeType":"VariableDeclaration","src":"163:46:125","nodes":[],"constant":true,"functionSelector":"a264ed78","mutability":"constant","name":"MIGRATE_CONTROLLER","nameLocation":"187:18:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87566,"name":"uint256","nodeType":"ElementaryTypeName","src":"163:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"33","id":87567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"208:1:125","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"visibility":"public"},{"id":87571,"nodeType":"VariableDeclaration","src":"213:44:125","nodes":[],"constant":true,"functionSelector":"b56dcf9e","mutability":"constant","name":"MIGRATE_TERMINAL","nameLocation":"237:16:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87569,"name":"uint256","nodeType":"ElementaryTypeName","src":"213:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34","id":87570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"256:1:125","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"visibility":"public"},{"id":87574,"nodeType":"VariableDeclaration","src":"261:40:125","nodes":[],"constant":true,"functionSelector":"9694c99a","mutability":"constant","name":"PROCESS_FEES","nameLocation":"285:12:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87572,"name":"uint256","nodeType":"ElementaryTypeName","src":"261:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"35","id":87573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"300:1:125","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"},"visibility":"public"},{"id":87577,"nodeType":"VariableDeclaration","src":"305:40:125","nodes":[],"constant":true,"functionSelector":"af0c22a0","mutability":"constant","name":"SET_METADATA","nameLocation":"329:12:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87575,"name":"uint256","nodeType":"ElementaryTypeName","src":"305:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36","id":87576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"344:1:125","typeDescriptions":{"typeIdentifier":"t_rational_6_by_1","typeString":"int_const 6"},"value":"6"},"visibility":"public"},{"id":87580,"nodeType":"VariableDeclaration","src":"349:33:125","nodes":[],"constant":true,"functionSelector":"32235cdf","mutability":"constant","name":"ISSUE","nameLocation":"373:5:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87578,"name":"uint256","nodeType":"ElementaryTypeName","src":"349:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37","id":87579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"381:1:125","typeDescriptions":{"typeIdentifier":"t_rational_7_by_1","typeString":"int_const 7"},"value":"7"},"visibility":"public"},{"id":87583,"nodeType":"VariableDeclaration","src":"386:37:125","nodes":[],"constant":true,"functionSelector":"76190b60","mutability":"constant","name":"SET_TOKEN","nameLocation":"410:9:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87581,"name":"uint256","nodeType":"ElementaryTypeName","src":"386:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38","id":87582,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"422:1:125","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"visibility":"public"},{"id":87586,"nodeType":"VariableDeclaration","src":"427:32:125","nodes":[],"constant":true,"functionSelector":"3e36f4c7","mutability":"constant","name":"MINT","nameLocation":"451:4:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87584,"name":"uint256","nodeType":"ElementaryTypeName","src":"427:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39","id":87585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"458:1:125","typeDescriptions":{"typeIdentifier":"t_rational_9_by_1","typeString":"int_const 9"},"value":"9"},"visibility":"public"},{"id":87589,"nodeType":"VariableDeclaration","src":"463:33:125","nodes":[],"constant":true,"functionSelector":"c0a2526c","mutability":"constant","name":"BURN","nameLocation":"487:4:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87587,"name":"uint256","nodeType":"ElementaryTypeName","src":"463:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130","id":87588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"494:2:125","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"visibility":"public"},{"id":87592,"nodeType":"VariableDeclaration","src":"500:34:125","nodes":[],"constant":true,"functionSelector":"73d74876","mutability":"constant","name":"CLAIM","nameLocation":"524:5:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87590,"name":"uint256","nodeType":"ElementaryTypeName","src":"500:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131","id":87591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"532:2:125","typeDescriptions":{"typeIdentifier":"t_rational_11_by_1","typeString":"int_const 11"},"value":"11"},"visibility":"public"},{"id":87595,"nodeType":"VariableDeclaration","src":"538:37:125","nodes":[],"constant":true,"functionSelector":"76420e1d","mutability":"constant","name":"TRANSFER","nameLocation":"562:8:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87593,"name":"uint256","nodeType":"ElementaryTypeName","src":"538:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3132","id":87594,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"573:2:125","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"visibility":"public"},{"id":87598,"nodeType":"VariableDeclaration","src":"579:42:125","nodes":[],"constant":true,"functionSelector":"757616e1","mutability":"constant","name":"REQUIRE_CLAIM","nameLocation":"603:13:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87596,"name":"uint256","nodeType":"ElementaryTypeName","src":"579:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133","id":87597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"619:2:125","typeDescriptions":{"typeIdentifier":"t_rational_13_by_1","typeString":"int_const 13"},"value":"13"},"visibility":"public"},{"id":87601,"nodeType":"VariableDeclaration","src":"641:43:125","nodes":[],"constant":true,"functionSelector":"f5edee14","mutability":"constant","name":"SET_CONTROLLER","nameLocation":"665:14:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87599,"name":"uint256","nodeType":"ElementaryTypeName","src":"641:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3134","id":87600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"682:2:125","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},"visibility":"public"},{"id":87604,"nodeType":"VariableDeclaration","src":"688:42:125","nodes":[],"constant":true,"functionSelector":"6c1943be","mutability":"constant","name":"SET_TERMINALS","nameLocation":"712:13:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87602,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135","id":87603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"728:2:125","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"15"},"visibility":"public"},{"id":87607,"nodeType":"VariableDeclaration","src":"734:49:125","nodes":[],"constant":true,"functionSelector":"aae78103","mutability":"constant","name":"SET_PRIMARY_TERMINAL","nameLocation":"758:20:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87605,"name":"uint256","nodeType":"ElementaryTypeName","src":"734:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3136","id":87606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"781:2:125","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"visibility":"public"},{"id":87610,"nodeType":"VariableDeclaration","src":"787:42:125","nodes":[],"constant":true,"functionSelector":"73b6dec6","mutability":"constant","name":"USE_ALLOWANCE","nameLocation":"811:13:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87608,"name":"uint256","nodeType":"ElementaryTypeName","src":"787:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3137","id":87609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"827:2:125","typeDescriptions":{"typeIdentifier":"t_rational_17_by_1","typeString":"int_const 17"},"value":"17"},"visibility":"public"},{"id":87613,"nodeType":"VariableDeclaration","src":"833:39:125","nodes":[],"constant":true,"functionSelector":"ef1b4f3b","mutability":"constant","name":"SET_SPLITS","nameLocation":"857:10:125","scope":87614,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87611,"name":"uint256","nodeType":"ElementaryTypeName","src":"833:7:125","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3138","id":87612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"870:2:125","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"JBOperations","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[87614],"name":"JBOperations","nameLocation":"65:12:125","scope":87615,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":125} \ No newline at end of file +{"abi":[{"type":"function","name":"BURN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ISSUE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIGRATE_CONTROLLER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIGRATE_TERMINAL","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MINT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"PROCESS_FEES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RECONFIGURE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REDEEM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"REQUIRE_CLAIM","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_CONTROLLER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_METADATA","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_PRIMARY_TERMINAL","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_SPLITS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_TERMINALS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"SET_TOKEN","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TRANSFER","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"USE_ALLOWANCE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6101fd61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c80639694c99a116100ac578063b56dcf9e1161007b578063b56dcf9e1461019f578063c0a2526c146101a7578063c577af30146101af578063ef1b4f3b146101b7578063f5edee14146101bf57600080fd5b80639694c99a1461017f578063a264ed7814610187578063aae781031461018f578063af0c22a01461019757600080fd5b806373b6dec6116100f357806373b6dec61461015757806373d748761461015f578063757616e11461016757806376190b601461016f57806376420e1d1461017757600080fd5b80631d4b9a431461012557806332235cdf1461013f5780633e36f4c7146101475780636c1943be1461014f575b600080fd5b61012d600181565b60405190815260200160405180910390f35b61012d600781565b61012d600981565b61012d600f81565b61012d601181565b61012d600b81565b61012d600d81565b61012d600881565b61012d600c81565b61012d600581565b61012d600381565b61012d601081565b61012d600681565b61012d600481565b61012d600a81565b61012d600281565b61012d601281565b61012d600e8156fea264697066735822122019ea853d51dcfe607bdf13843ce61022914762e3825851f63e88875e56337c3164736f6c63430008170033","sourceMap":"57:818:125:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:818:125;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600436106101205760003560e01c80639694c99a116100ac578063b56dcf9e1161007b578063b56dcf9e1461019f578063c0a2526c146101a7578063c577af30146101af578063ef1b4f3b146101b7578063f5edee14146101bf57600080fd5b80639694c99a1461017f578063a264ed7814610187578063aae781031461018f578063af0c22a01461019757600080fd5b806373b6dec6116100f357806373b6dec61461015757806373d748761461015f578063757616e11461016757806376190b601461016f57806376420e1d1461017757600080fd5b80631d4b9a431461012557806332235cdf1461013f5780633e36f4c7146101475780636c1943be1461014f575b600080fd5b61012d600181565b60405190815260200160405180910390f35b61012d600781565b61012d600981565b61012d600f81565b61012d601181565b61012d600b81565b61012d600d81565b61012d600881565b61012d600c81565b61012d600581565b61012d600381565b61012d601081565b61012d600681565b61012d600481565b61012d600a81565b61012d600281565b61012d601281565b61012d600e8156fea264697066735822122019ea853d51dcfe607bdf13843ce61022914762e3825851f63e88875e56337c3164736f6c63430008170033","sourceMap":"57:818:125:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;82:39;;120:1;82:39;;;;;168:25:197;;;156:2;141:18;82:39:125;;;;;;;349:33;;381:1;349:33;;427:32;;458:1;427:32;;688:42;;728:2;688:42;;787;;827:2;787:42;;500:34;;532:2;500:34;;579:42;;619:2;579:42;;386:37;;422:1;386:37;;538;;573:2;538:37;;261:40;;300:1;261:40;;163:46;;208:1;163:46;;734:49;;781:2;734:49;;305:40;;344:1;305:40;;213:44;;256:1;213:44;;463:33;;494:2;463:33;;125:34;;158:1;125:34;;833:39;;870:2;833:39;;641:43;;682:2;641:43;","linkReferences":{}},"methodIdentifiers":{"BURN()":"c0a2526c","CLAIM()":"73d74876","ISSUE()":"32235cdf","MIGRATE_CONTROLLER()":"a264ed78","MIGRATE_TERMINAL()":"b56dcf9e","MINT()":"3e36f4c7","PROCESS_FEES()":"9694c99a","RECONFIGURE()":"1d4b9a43","REDEEM()":"c577af30","REQUIRE_CLAIM()":"757616e1","SET_CONTROLLER()":"f5edee14","SET_METADATA()":"af0c22a0","SET_PRIMARY_TERMINAL()":"aae78103","SET_SPLITS()":"ef1b4f3b","SET_TERMINALS()":"6c1943be","SET_TOKEN()":"76190b60","TRANSFER()":"76420e1d","USE_ALLOWANCE()":"73b6dec6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"BURN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLAIM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ISSUE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIGRATE_CONTROLLER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIGRATE_TERMINAL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROCESS_FEES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RECONFIGURE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REQUIRE_CLAIM\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_CONTROLLER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_METADATA\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_PRIMARY_TERMINAL\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_SPLITS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_TERMINALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SET_TOKEN\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TRANSFER\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"USE_ALLOWANCE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":\"JBOperations\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"BURN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"CLAIM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ISSUE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIGRATE_CONTROLLER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIGRATE_TERMINAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PROCESS_FEES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RECONFIGURE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REDEEM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REQUIRE_CLAIM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_CONTROLLER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_METADATA","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_PRIMARY_TERMINAL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_SPLITS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_TERMINALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SET_TOKEN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TRANSFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"USE_ALLOWANCE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":"JBOperations"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"}},"version":1},"id":125} \ No newline at end of file diff --git a/out/JBOperatorStore.sol/JBOperatorStore.json b/out/JBOperatorStore.sol/JBOperatorStore.json index a5cb2a5e..3de739a4 100644 --- a/out/JBOperatorStore.sol/JBOperatorStore.json +++ b/out/JBOperatorStore.sol/JBOperatorStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"hasPermission","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_permissionIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasPermissions","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_permissionIndexes","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"permissionsOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setOperator","inputs":[{"name":"_operatorData","type":"tuple","internalType":"struct JBOperatorData","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperators","inputs":[{"name":"_operatorData","type":"tuple[]","internalType":"struct JBOperatorData[]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SetOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"packed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"PERMISSION_INDEX_OUT_OF_BOUNDS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c63430008170033","sourceMap":"349:6022:73:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c63430008170033","sourceMap":"349:6022:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:545;;;;;;:::i;:::-;;:::i;:::-;;;1388:14:197;;1381:22;1363:41;;1351:2;1336:18;3329:545:73;;;;;;;;4300:473;;;;;;:::i;:::-;;:::i;:::-;;1679:97;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:25:197;;;2281:2;2266:18;1679:97:73;2147:177:197;4971:621:73;;;;;;:::i;:::-;;:::i;2496:331::-;;;;;;:::i;:::-;;:::i;3329:545::-;3498:4;3515:10;3510:343;3527:30;;;3510:343;;;3569:24;3596:18;;3615:2;3596:22;;;;;;;:::i;:::-;;;;;;;3569:49;;3650:3;3631:16;:22;3627:67;;;3662:32;;-1:-1:-1;;;3662:32:73;;;;;;;;;;;3627:67;-1:-1:-1;;;;;3709:24:73;;;:13;:24;;;;;;;;;;;:34;;;;;;;;;;;:43;;;;;;;;;:63;;3776:1;3708:69;3707:76;;3703:102;;3800:5;3793:12;;;;;;3703:102;-1:-1:-1;3834:4:73;;3510:343;;;;3865:4;3858:11;;3329:545;;;;;;;;:::o;4300:473::-;4424:15;4442:51;4461:31;;;;:13;:31;:::i;:::-;4442:18;:51::i;:::-;4424:69;-1:-1:-1;4424:69:73;4528:13;;4542:22;;;;:13;:22;:::i;:::-;-1:-1:-1;;;;;4528:37:73;;;;;;;;;;;;;;;-1:-1:-1;4528:37:73;;;4566:10;4528:49;;;;;;;;;4578:20;;;;;4528:71;;;;;;;;;;;:81;;;;4578:20;4566:10;4640:22;;4578:13;4640:22;:::i;:::-;-1:-1:-1;;;;;4621:147:73;;4716:31;;;;:13;:31;:::i;:::-;4755:7;4621:147;;;;;;;;:::i;:::-;;;;;;;;4378:395;4300:473;:::o;4971:621::-;5063:10;5058:530;5075:25;;;5058:530;;;5154:15;5172:55;5191:13;;5205:2;5191:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:35;;;;;;;:::i;5172:55::-;5154:73;;5348:7;5266:13;:41;5280:13;;5294:2;5280:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;5266:41:73;;;;;;;;;;;;;;;-1:-1:-1;5266:41:73;;;5308:10;5266:53;;;;;;;;5320:13;;5334:2;5320:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;5266:79;;;;;;;;;;;:89;;;;5446:13;;5460:2;5446:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;5426:10;5390:13;;5404:2;5390:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;5369:171:73;;5480:13;;5494:2;5480:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:35;;;;;;;:::i;:::-;5525:7;5369:171;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5569:4:73;;5058:530;;;;4971:621;;:::o;2496:331::-;2651:4;2686:3;2667:16;:22;2663:67;;;2698:32;;-1:-1:-1;;;2698:32:73;;;;;;;;;;;2663:67;-1:-1:-1;;;;;;2747:24:73;;;:13;:24;;;;;;;;;;;:34;;;;;;;;;;;:43;;;;;;;2814:1;2747:63;;;2746:69;;2745:76;2496:331;;;;;;:::o;6003:366::-;6082:14;6109:10;6104:261;6121:20;;;6104:261;;;6153:14;6170:8;;6179:2;6170:12;;;;;;;:::i;:::-;;;;;;;6153:29;;6204:3;6195:6;:12;6191:57;;;6216:32;;-1:-1:-1;;;6216:32:73;;;;;;;;;;;6191:57;6306:1;:11;;;;6296:21;;;;;6346:4;6104:261;;;;6003:366;;;;:::o;14:173:197:-;82:20;;-1:-1:-1;;;;;131:31:197;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:367::-;255:8;265:6;319:3;312:4;304:6;300:17;296:27;286:55;;337:1;334;327:12;286:55;-1:-1:-1;360:20:197;;403:18;392:30;;389:50;;;435:1;432;425:12;389:50;472:4;464:6;460:17;448:29;;532:3;525:4;515:6;512:1;508:14;500:6;496:27;492:38;489:47;486:67;;;549:1;546;539:12;486:67;192:367;;;;;:::o;564:654::-;677:6;685;693;701;709;762:3;750:9;741:7;737:23;733:33;730:53;;;779:1;776;769:12;730:53;802:29;821:9;802:29;:::i;:::-;792:39;;850:38;884:2;873:9;869:18;850:38;:::i;:::-;840:48;;935:2;924:9;920:18;907:32;897:42;;990:2;979:9;975:18;962:32;1017:18;1009:6;1006:30;1003:50;;;1049:1;1046;1039:12;1003:50;1088:70;1150:7;1141:6;1130:9;1126:22;1088:70;:::i;:::-;564:654;;;;-1:-1:-1;564:654:197;;-1:-1:-1;1177:8:197;;1062:96;564:654;-1:-1:-1;;;564:654:197:o;1415:394::-;1509:6;1562:2;1550:9;1541:7;1537:23;1533:32;1530:52;;;1578:1;1575;1568:12;1530:52;1618:9;1605:23;1651:18;1643:6;1640:30;1637:50;;;1683:1;1680;1673:12;1637:50;1706:22;;1762:2;1744:16;;;1740:25;1737:45;;;1778:1;1775;1768:12;1737:45;1801:2;1415:394;-1:-1:-1;;;1415:394:197:o;1814:328::-;1891:6;1899;1907;1960:2;1948:9;1939:7;1935:23;1931:32;1928:52;;;1976:1;1973;1966:12;1928:52;1999:29;2018:9;1999:29;:::i;:::-;1989:39;;2047:38;2081:2;2070:9;2066:18;2047:38;:::i;:::-;2037:48;;2132:2;2121:9;2117:18;2104:32;2094:42;;1814:328;;;;;:::o;2329:472::-;2450:6;2458;2511:2;2499:9;2490:7;2486:23;2482:32;2479:52;;;2527:1;2524;2517:12;2479:52;2567:9;2554:23;2600:18;2592:6;2589:30;2586:50;;;2632:1;2629;2622:12;2586:50;2671:70;2733:7;2724:6;2713:9;2709:22;2671:70;:::i;:::-;2760:8;;2645:96;;-1:-1:-1;2329:472:197;-1:-1:-1;;;;2329:472:197:o;2806:397::-;2892:6;2900;2908;2916;2969:3;2957:9;2948:7;2944:23;2940:33;2937:53;;;2986:1;2983;2976:12;2937:53;3009:29;3028:9;3009:29;:::i;:::-;2999:39;;3057:38;3091:2;3080:9;3076:18;3057:38;:::i;:::-;2806:397;;3047:48;;-1:-1:-1;;;;3142:2:197;3127:18;;3114:32;;3193:2;3178:18;3165:32;;2806:397::o;3208:127::-;3269:10;3264:3;3260:20;3257:1;3250:31;3300:4;3297:1;3290:15;3324:4;3321:1;3314:15;3340:545;3433:4;3439:6;3499:11;3486:25;3593:2;3589:7;3578:8;3562:14;3558:29;3554:43;3534:18;3530:68;3520:96;;3612:1;3609;3602:12;3520:96;3639:33;;3691:20;;;-1:-1:-1;3734:18:197;3723:30;;3720:50;;;3766:1;3763;3756:12;3720:50;3799:4;3787:17;;-1:-1:-1;3850:1:197;3846:14;;;3830;3826:35;3816:46;;3813:66;;;3875:1;3872;3865:12;3890:186;3949:6;4002:2;3990:9;3981:7;3977:23;3973:32;3970:52;;;4018:1;4015;4008:12;3970:52;4041:29;4060:9;4041:29;:::i;4081:516::-;4298:2;4280:21;;;4317:18;;4310:34;;;-1:-1:-1;;;;;;4356:31:197;;4353:51;;;4400:1;4397;4390:12;4353:51;4434:6;4431:1;4427:14;4491:6;4483;4478:2;4467:9;4463:18;4450:48;4577:4;4562:20;;4555:36;;;;-1:-1:-1;4519:22:197;4543:2;4515:31;;4081:516;-1:-1:-1;;4081:516:197:o;4602:332::-;4703:4;4761:11;4748:25;4855:2;4851:7;4840:8;4824:14;4820:29;4816:43;4796:18;4792:68;4782:96;;4874:1;4871;4864:12;4782:96;4895:33;;;;;4602:332;-1:-1:-1;;4602:332:197:o","linkReferences":{}},"methodIdentifiers":{"hasPermission(address,address,uint256,uint256)":"c161c93f","hasPermissions(address,address,uint256,uint256[])":"0f5932f0","permissionsOf(address,address,uint256)":"80deb230","setOperator((address,uint256,uint256[]))":"529cdd2e","setOperators((address,uint256,uint256[])[])":"8d5f697f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PERMISSION_INDEX_OUT_OF_BOUNDS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packed\",\"type\":\"uint256\"}],\"name\":\"SetOperator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_permissionIndex\",\"type\":\"uint256\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_permissionIndexes\",\"type\":\"uint256[]\"}],\"name\":\"hasPermissions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"permissionsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData\",\"name\":\"_operatorData\",\"type\":\"tuple\"}],\"name\":\"setOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData[]\",\"name\":\"_operatorData\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"hasPermission(address,address,uint256,uint256)\":{\"params\":{\"_account\":\"The account that has given out permissions to the operator.\",\"_domain\":\"The domain that the operator has been given permissions to operate.\",\"_operator\":\"The operator to check.\",\"_permissionIndex\":\"The permission index to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether the operator has the specified permission.\"}},\"hasPermissions(address,address,uint256,uint256[])\":{\"params\":{\"_account\":\"The account that has given out permissions to the operator.\",\"_domain\":\"The domain that the operator has been given permissions to operate.\",\"_operator\":\"The operator to check.\",\"_permissionIndexes\":\"An array of permission indexes to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether the operator has all specified permissions.\"}},\"setOperator((address,uint256,uint256[]))\":{\"details\":\"Only an address can set its own operators.\",\"params\":{\"_operatorData\":\"The data that specifies the params for the operator being set.\"}},\"setOperators((address,uint256,uint256[])[])\":{\"details\":\"Only an address can set its own operators.\",\"params\":{\"_operatorData\":\"The data that specify the params for each operator being set.\"}}},\"stateVariables\":{\"permissionsOf\":{\"custom:param\":\"_operator The address of the operator._account The address of the account being operated._domain The domain within which the permissions apply. Applications can use the domain namespace as they wish.\",\"details\":\"An account can give an operator permissions that only pertain to a specific domain namespace.There is no domain with a value of 0 \\u2013 accounts can use the 0 domain to give an operator permissions to all domains on their behalf.Permissions are stored in a packed `uint256`. Each 256 bits represents the on/off state of a permission. Applications can specify the significance of each index.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"hasPermission(address,address,uint256,uint256)\":{\"notice\":\"Whether or not an operator has the permission to take a certain action pertaining to the specified domain.\"},\"hasPermissions(address,address,uint256,uint256[])\":{\"notice\":\"Whether or not an operator has the permission to take certain actions pertaining to the specified domain.\"},\"permissionsOf(address,address,uint256)\":{\"notice\":\"The permissions that an operator has been given to operate on a specific domain.\"},\"setOperator((address,uint256,uint256[]))\":{\"notice\":\"Sets permissions for an operators.\"},\"setOperators((address,uint256,uint256[])[])\":{\"notice\":\"Sets permissions for many operators.\"}},\"notice\":\"Stores operator permissions for all addresses. Addresses can give permissions to any other address to take specific indexed actions on their behalf.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":\"JBOperatorStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":{\"keccak256\":\"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a\",\"dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"PERMISSION_INDEX_OUT_OF_BOUNDS"},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"packed","type":"uint256","indexed":false}],"type":"event","name":"SetOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256","name":"_permissionIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256[]","name":"_permissionIndexes","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"hasPermissions","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"permissionsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBOperatorData","name":"_operatorData","type":"tuple","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperator"},{"inputs":[{"internalType":"struct JBOperatorData[]","name":"_operatorData","type":"tuple[]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperators"}],"devdoc":{"kind":"dev","methods":{"hasPermission(address,address,uint256,uint256)":{"params":{"_account":"The account that has given out permissions to the operator.","_domain":"The domain that the operator has been given permissions to operate.","_operator":"The operator to check.","_permissionIndex":"The permission index to check for."},"returns":{"_0":"A flag indicating whether the operator has the specified permission."}},"hasPermissions(address,address,uint256,uint256[])":{"params":{"_account":"The account that has given out permissions to the operator.","_domain":"The domain that the operator has been given permissions to operate.","_operator":"The operator to check.","_permissionIndexes":"An array of permission indexes to check for."},"returns":{"_0":"A flag indicating whether the operator has all specified permissions."}},"setOperator((address,uint256,uint256[]))":{"details":"Only an address can set its own operators.","params":{"_operatorData":"The data that specifies the params for the operator being set."}},"setOperators((address,uint256,uint256[])[])":{"details":"Only an address can set its own operators.","params":{"_operatorData":"The data that specify the params for each operator being set."}}},"version":1},"userdoc":{"kind":"user","methods":{"hasPermission(address,address,uint256,uint256)":{"notice":"Whether or not an operator has the permission to take a certain action pertaining to the specified domain."},"hasPermissions(address,address,uint256,uint256[])":{"notice":"Whether or not an operator has the permission to take certain actions pertaining to the specified domain."},"permissionsOf(address,address,uint256)":{"notice":"The permissions that an operator has been given to operate on a specific domain."},"setOperator((address,uint256,uint256[]))":{"notice":"Sets permissions for an operators."},"setOperators((address,uint256,uint256[])[])":{"notice":"Sets permissions for many operators."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":"JBOperatorStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":{"keccak256":"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476","urls":["bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a","dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol","id":76915,"exportedSymbols":{"IJBOperatorStore":[85400],"JBOperatorData":[87892],"JBOperatorStore":[76914]},"nodeType":"SourceUnit","src":"32:6340:73","nodes":[{"id":76641,"nodeType":"PragmaDirective","src":"32:24:73","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":76643,"nodeType":"ImportDirective","src":"58:67:73","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":76915,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":76642,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"66:16:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76645,"nodeType":"ImportDirective","src":"126:60:73","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol","file":"./structs/JBOperatorData.sol","nameLocation":"-1:-1:-1","scope":76915,"sourceUnit":87893,"symbolAliases":[{"foreign":{"id":76644,"name":"JBOperatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87892,"src":"134:14:73","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76914,"nodeType":"ContractDefinition","src":"349:6022:73","nodes":[{"id":76650,"nodeType":"ErrorDefinition","src":"626:39:73","nodes":[],"errorSelector":"8e9503a9","name":"PERMISSION_INDEX_OUT_OF_BOUNDS","nameLocation":"632:30:73","parameters":{"id":76649,"nodeType":"ParameterList","parameters":[],"src":"662:2:73"}},{"id":76660,"nodeType":"VariableDeclaration","src":"1679:97:73","nodes":[],"baseFunctions":[85359],"constant":false,"documentation":{"id":76651,"nodeType":"StructuredDocumentation","src":"898:778:73","text":"@notice The permissions that an operator has been given to operate on a specific domain.\n @dev An account can give an operator permissions that only pertain to a specific domain namespace.\n @dev There is no domain with a value of 0 – accounts can use the 0 domain to give an operator permissions to all domains on their behalf.\n @dev Permissions are stored in a packed `uint256`. Each 256 bits represents the on/off state of a permission. Applications can specify the significance of each index.\n @custom:param _operator The address of the operator.\n @custom:param _account The address of the account being operated.\n @custom:param _domain The domain within which the permissions apply. Applications can use the domain namespace as they wish."},"functionSelector":"80deb230","mutability":"mutable","name":"permissionsOf","nameLocation":"1763:13:73","overrides":{"id":76659,"nodeType":"OverrideSpecifier","overrides":[],"src":"1754:8:73"},"scope":76914,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"typeName":{"id":76658,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76652,"name":"address","nodeType":"ElementaryTypeName","src":"1687:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1679:67:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76657,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76653,"name":"address","nodeType":"ElementaryTypeName","src":"1706:7:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1698:47:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76656,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76654,"name":"uint256","nodeType":"ElementaryTypeName","src":"1725:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1717:27:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76655,"name":"uint256","nodeType":"ElementaryTypeName","src":"1736:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"public"},{"id":76700,"nodeType":"FunctionDefinition","src":"2496:331:73","nodes":[],"body":{"id":76699,"nodeType":"Block","src":"2657:170:73","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76675,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76669,"src":"2667:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"323535","id":76676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2686:3:73","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"2667:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76681,"nodeType":"IfStatement","src":"2663:67:73","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76678,"name":"PERMISSION_INDEX_OUT_OF_BOUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76650,"src":"2698:30:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2698:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76680,"nodeType":"RevertStatement","src":"2691:39:73"}},{"expression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":76682,"name":"permissionsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"2747:13:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":76684,"indexExpression":{"id":76683,"name":"_operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76663,"src":"2761:9:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2747:24:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":76686,"indexExpression":{"id":76685,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76665,"src":"2772:8:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2747:34:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76688,"indexExpression":{"id":76687,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76667,"src":"2782:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2747:43:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":76689,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76669,"src":"2794:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2747:63:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76691,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2746:65:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":76692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2814:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2746:69:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76694,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2745:71:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":76695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2820:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2745:76:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":76697,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2744:78:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":76674,"id":76698,"nodeType":"Return","src":"2737:85:73"}]},"baseFunctions":[85372],"documentation":{"id":76661,"nodeType":"StructuredDocumentation","src":"2010:483:73","text":"@notice Whether or not an operator has the permission to take a certain action pertaining to the specified domain.\n @param _operator The operator to check.\n @param _account The account that has given out permissions to the operator.\n @param _domain The domain that the operator has been given permissions to operate.\n @param _permissionIndex The permission index to check for.\n @return A flag indicating whether the operator has the specified permission."},"functionSelector":"c161c93f","implemented":true,"kind":"function","modifiers":[],"name":"hasPermission","nameLocation":"2505:13:73","overrides":{"id":76671,"nodeType":"OverrideSpecifier","overrides":[],"src":"2633:8:73"},"parameters":{"id":76670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76663,"mutability":"mutable","name":"_operator","nameLocation":"2532:9:73","nodeType":"VariableDeclaration","scope":76700,"src":"2524:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76662,"name":"address","nodeType":"ElementaryTypeName","src":"2524:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76665,"mutability":"mutable","name":"_account","nameLocation":"2555:8:73","nodeType":"VariableDeclaration","scope":76700,"src":"2547:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76664,"name":"address","nodeType":"ElementaryTypeName","src":"2547:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76667,"mutability":"mutable","name":"_domain","nameLocation":"2577:7:73","nodeType":"VariableDeclaration","scope":76700,"src":"2569:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76666,"name":"uint256","nodeType":"ElementaryTypeName","src":"2569:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76669,"mutability":"mutable","name":"_permissionIndex","nameLocation":"2598:16:73","nodeType":"VariableDeclaration","scope":76700,"src":"2590:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76668,"name":"uint256","nodeType":"ElementaryTypeName","src":"2590:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2518:100:73"},"returnParameters":{"id":76674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76673,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76700,"src":"2651:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76672,"name":"bool","nodeType":"ElementaryTypeName","src":"2651:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2650:6:73"},"scope":76914,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76763,"nodeType":"FunctionDefinition","src":"3329:545:73","nodes":[],"body":{"id":76762,"nodeType":"Block","src":"3504:370:73","nodes":[],"statements":[{"body":{"id":76758,"nodeType":"Block","src":"3561:292:73","statements":[{"assignments":[76724],"declarations":[{"constant":false,"id":76724,"mutability":"mutable","name":"_permissionIndex","nameLocation":"3577:16:73","nodeType":"VariableDeclaration","scope":76758,"src":"3569:24:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76723,"name":"uint256","nodeType":"ElementaryTypeName","src":"3569:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76728,"initialValue":{"baseExpression":{"id":76725,"name":"_permissionIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76710,"src":"3596:18:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":76727,"indexExpression":{"id":76726,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76717,"src":"3615:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3596:22:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3569:49:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76729,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76724,"src":"3631:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"323535","id":76730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3650:3:73","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"3631:22:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76735,"nodeType":"IfStatement","src":"3627:67:73","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76732,"name":"PERMISSION_INDEX_OUT_OF_BOUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76650,"src":"3662:30:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3662:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76734,"nodeType":"RevertStatement","src":"3655:39:73"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76750,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76747,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":76736,"name":"permissionsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"3709:13:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":76738,"indexExpression":{"id":76737,"name":"_operator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76703,"src":"3723:9:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:24:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":76740,"indexExpression":{"id":76739,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76705,"src":"3734:8:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:34:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76742,"indexExpression":{"id":76741,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76707,"src":"3744:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3709:43:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"id":76743,"name":"_permissionIndex","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76724,"src":"3756:16:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3709:63:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76745,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3708:65:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":76746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3776:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3708:69:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":76748,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3707:71:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":76749,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3782:1:73","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3707:76:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76753,"nodeType":"IfStatement","src":"3703:102:73","trueBody":{"expression":{"hexValue":"66616c7365","id":76751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3800:5:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":76715,"id":76752,"nodeType":"Return","src":"3793:12:73"}},{"id":76757,"nodeType":"UncheckedBlock","src":"3814:33:73","statements":[{"expression":{"id":76755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"3834:4:73","subExpression":{"id":76754,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76717,"src":"3836:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76756,"nodeType":"ExpressionStatement","src":"3834:4:73"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76719,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76717,"src":"3527:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76720,"name":"_permissionIndexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76710,"src":"3532:18:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":76721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3551:6:73","memberName":"length","nodeType":"MemberAccess","src":"3532:25:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3527:30:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76759,"initializationExpression":{"assignments":[76717],"declarations":[{"constant":false,"id":76717,"mutability":"mutable","name":"_i","nameLocation":"3523:2:73","nodeType":"VariableDeclaration","scope":76759,"src":"3515:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76716,"name":"uint256","nodeType":"ElementaryTypeName","src":"3515:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76718,"nodeType":"VariableDeclarationStatement","src":"3515:10:73"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"3510:343:73"},{"expression":{"hexValue":"74727565","id":76760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3865:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":76715,"id":76761,"nodeType":"Return","src":"3858:11:73"}]},"baseFunctions":[85386],"documentation":{"id":76701,"nodeType":"StructuredDocumentation","src":"2831:495:73","text":"@notice Whether or not an operator has the permission to take certain actions pertaining to the specified domain.\n @param _operator The operator to check.\n @param _account The account that has given out permissions to the operator.\n @param _domain The domain that the operator has been given permissions to operate.\n @param _permissionIndexes An array of permission indexes to check for.\n @return A flag indicating whether the operator has all specified permissions."},"functionSelector":"0f5932f0","implemented":true,"kind":"function","modifiers":[],"name":"hasPermissions","nameLocation":"3338:14:73","overrides":{"id":76712,"nodeType":"OverrideSpecifier","overrides":[],"src":"3480:8:73"},"parameters":{"id":76711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76703,"mutability":"mutable","name":"_operator","nameLocation":"3366:9:73","nodeType":"VariableDeclaration","scope":76763,"src":"3358:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76702,"name":"address","nodeType":"ElementaryTypeName","src":"3358:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76705,"mutability":"mutable","name":"_account","nameLocation":"3389:8:73","nodeType":"VariableDeclaration","scope":76763,"src":"3381:16:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":76704,"name":"address","nodeType":"ElementaryTypeName","src":"3381:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":76707,"mutability":"mutable","name":"_domain","nameLocation":"3411:7:73","nodeType":"VariableDeclaration","scope":76763,"src":"3403:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76706,"name":"uint256","nodeType":"ElementaryTypeName","src":"3403:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76710,"mutability":"mutable","name":"_permissionIndexes","nameLocation":"3443:18:73","nodeType":"VariableDeclaration","scope":76763,"src":"3424:37:73","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76708,"name":"uint256","nodeType":"ElementaryTypeName","src":"3424:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76709,"nodeType":"ArrayTypeName","src":"3424:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3352:113:73"},"returnParameters":{"id":76715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":76763,"src":"3498:4:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":76713,"name":"bool","nodeType":"ElementaryTypeName","src":"3498:4:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3497:6:73"},"scope":76914,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":76804,"nodeType":"FunctionDefinition","src":"4300:473:73","nodes":[],"body":{"id":76803,"nodeType":"Block","src":"4378:395:73","nodes":[],"statements":[{"assignments":[76772],"declarations":[{"constant":false,"id":76772,"mutability":"mutable","name":"_packed","nameLocation":"4432:7:73","nodeType":"VariableDeclaration","scope":76803,"src":"4424:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76771,"name":"uint256","nodeType":"ElementaryTypeName","src":"4424:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76777,"initialValue":{"arguments":[{"expression":{"id":76774,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4461:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4475:17:73","memberName":"permissionIndexes","nodeType":"MemberAccess","referencedDeclaration":87891,"src":"4461:31:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}],"id":76773,"name":"_packedPermissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76913,"src":"4442:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_calldata_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] calldata) pure returns (uint256)"}},"id":76776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4442:51:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4424:69:73"},{"expression":{"id":76789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":76778,"name":"permissionsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"4528:13:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":76785,"indexExpression":{"expression":{"id":76779,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4542:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4556:8:73","memberName":"operator","nodeType":"MemberAccess","referencedDeclaration":87886,"src":"4542:22:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4528:37:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":76786,"indexExpression":{"expression":{"id":76781,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4566:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4570:6:73","memberName":"sender","nodeType":"MemberAccess","src":"4566:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4528:49:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76787,"indexExpression":{"expression":{"id":76783,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4578:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4592:6:73","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87888,"src":"4578:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4528:71:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76788,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"4602:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4528:81:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76790,"nodeType":"ExpressionStatement","src":"4528:81:73"},{"eventCall":{"arguments":[{"expression":{"id":76792,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4640:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4654:8:73","memberName":"operator","nodeType":"MemberAccess","referencedDeclaration":87886,"src":"4640:22:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76794,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4670:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4674:6:73","memberName":"sender","nodeType":"MemberAccess","src":"4670:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76796,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4688:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4702:6:73","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87888,"src":"4688:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":76798,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76767,"src":"4716:13:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4730:17:73","memberName":"permissionIndexes","nodeType":"MemberAccess","referencedDeclaration":87891,"src":"4716:31:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":76800,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76772,"src":"4755:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76791,"name":"SetOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85348,"src":"4621:11:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256[] memory,uint256)"}},"id":76801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4621:147:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76802,"nodeType":"EmitStatement","src":"4616:152:73"}]},"baseFunctions":[85392],"documentation":{"id":76764,"nodeType":"StructuredDocumentation","src":"4107:190:73","text":"@notice Sets permissions for an operators.\n @dev Only an address can set its own operators.\n @param _operatorData The data that specifies the params for the operator being set."},"functionSelector":"529cdd2e","implemented":true,"kind":"function","modifiers":[],"name":"setOperator","nameLocation":"4309:11:73","overrides":{"id":76769,"nodeType":"OverrideSpecifier","overrides":[],"src":"4369:8:73"},"parameters":{"id":76768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76767,"mutability":"mutable","name":"_operatorData","nameLocation":"4345:13:73","nodeType":"VariableDeclaration","scope":76804,"src":"4321:37:73","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData"},"typeName":{"id":76766,"nodeType":"UserDefinedTypeName","pathNode":{"id":76765,"name":"JBOperatorData","nameLocations":["4321:14:73"],"nodeType":"IdentifierPath","referencedDeclaration":87892,"src":"4321:14:73"},"referencedDeclaration":87892,"src":"4321:14:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_storage_ptr","typeString":"struct JBOperatorData"}},"visibility":"internal"}],"src":"4320:39:73"},"returnParameters":{"id":76770,"nodeType":"ParameterList","parameters":[],"src":"4378:0:73"},"scope":76914,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76871,"nodeType":"FunctionDefinition","src":"4971:621:73","nodes":[],"body":{"id":76870,"nodeType":"Block","src":"5052:540:73","nodes":[],"statements":[{"body":{"id":76868,"nodeType":"Block","src":"5104:484:73","statements":[{"assignments":[76821],"declarations":[{"constant":false,"id":76821,"mutability":"mutable","name":"_packed","nameLocation":"5162:7:73","nodeType":"VariableDeclaration","scope":76868,"src":"5154:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76820,"name":"uint256","nodeType":"ElementaryTypeName","src":"5154:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76828,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":76823,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5191:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76825,"indexExpression":{"id":76824,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5205:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5191:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5209:17:73","memberName":"permissionIndexes","nodeType":"MemberAccess","referencedDeclaration":87891,"src":"5191:35:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}],"id":76822,"name":"_packedPermissions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76913,"src":"5172:18:73","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_uint256_$dyn_calldata_ptr_$returns$_t_uint256_$","typeString":"function (uint256[] calldata) pure returns (uint256)"}},"id":76827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5172:55:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5154:73:73"},{"expression":{"id":76844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":76829,"name":"permissionsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76660,"src":"5266:13:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":76840,"indexExpression":{"expression":{"baseExpression":{"id":76830,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5280:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76832,"indexExpression":{"id":76831,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5294:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5280:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5298:8:73","memberName":"operator","nodeType":"MemberAccess","referencedDeclaration":87886,"src":"5280:26:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5266:41:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":76841,"indexExpression":{"expression":{"id":76834,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5308:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5312:6:73","memberName":"sender","nodeType":"MemberAccess","src":"5308:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5266:53:73","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":76842,"indexExpression":{"expression":{"baseExpression":{"id":76836,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5320:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76838,"indexExpression":{"id":76837,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5334:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5320:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5338:6:73","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87888,"src":"5320:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5266:79:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":76843,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76821,"src":"5348:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5266:89:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76845,"nodeType":"ExpressionStatement","src":"5266:89:73"},{"eventCall":{"arguments":[{"expression":{"baseExpression":{"id":76847,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5390:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76849,"indexExpression":{"id":76848,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5404:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5390:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76850,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5408:8:73","memberName":"operator","nodeType":"MemberAccess","referencedDeclaration":87886,"src":"5390:26:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":76851,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5426:3:73","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":76852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5430:6:73","memberName":"sender","nodeType":"MemberAccess","src":"5426:10:73","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"baseExpression":{"id":76853,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5446:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76855,"indexExpression":{"id":76854,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5460:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5446:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5464:6:73","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87888,"src":"5446:24:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"baseExpression":{"id":76857,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5480:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76859,"indexExpression":{"id":76858,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5494:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5480:17:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_calldata_ptr","typeString":"struct JBOperatorData calldata"}},"id":76860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5498:17:73","memberName":"permissionIndexes","nodeType":"MemberAccess","referencedDeclaration":87891,"src":"5480:35:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},{"id":76861,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76821,"src":"5525:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":76846,"name":"SetOperator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85348,"src":"5369:11:73","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256[] memory,uint256)"}},"id":76862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5369:171:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76863,"nodeType":"EmitStatement","src":"5364:176:73"},{"id":76867,"nodeType":"UncheckedBlock","src":"5549:33:73","statements":[{"expression":{"id":76865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5569:4:73","subExpression":{"id":76864,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5571:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76866,"nodeType":"ExpressionStatement","src":"5569:4:73"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76816,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76814,"src":"5075:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76817,"name":"_operatorData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76809,"src":"5080:13:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData calldata[] calldata"}},"id":76818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5094:6:73","memberName":"length","nodeType":"MemberAccess","src":"5080:20:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5075:25:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76869,"initializationExpression":{"assignments":[76814],"declarations":[{"constant":false,"id":76814,"mutability":"mutable","name":"_i","nameLocation":"5071:2:73","nodeType":"VariableDeclaration","scope":76869,"src":"5063:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76813,"name":"uint256","nodeType":"ElementaryTypeName","src":"5063:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76815,"nodeType":"VariableDeclarationStatement","src":"5063:10:73"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"5058:530:73"}]},"baseFunctions":[85399],"documentation":{"id":76805,"nodeType":"StructuredDocumentation","src":"4777:191:73","text":"@notice Sets permissions for many operators.\n @dev Only an address can set its own operators.\n @param _operatorData The data that specify the params for each operator being set."},"functionSelector":"8d5f697f","implemented":true,"kind":"function","modifiers":[],"name":"setOperators","nameLocation":"4980:12:73","overrides":{"id":76811,"nodeType":"OverrideSpecifier","overrides":[],"src":"5043:8:73"},"parameters":{"id":76810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76809,"mutability":"mutable","name":"_operatorData","nameLocation":"5019:13:73","nodeType":"VariableDeclaration","scope":76871,"src":"4993:39:73","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBOperatorData[]"},"typeName":{"baseType":{"id":76807,"nodeType":"UserDefinedTypeName","pathNode":{"id":76806,"name":"JBOperatorData","nameLocations":["4993:14:73"],"nodeType":"IdentifierPath","referencedDeclaration":87892,"src":"4993:14:73"},"referencedDeclaration":87892,"src":"4993:14:73","typeDescriptions":{"typeIdentifier":"t_struct$_JBOperatorData_$87892_storage_ptr","typeString":"struct JBOperatorData"}},"id":76808,"nodeType":"ArrayTypeName","src":"4993:16:73","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBOperatorData_$87892_storage_$dyn_storage_ptr","typeString":"struct JBOperatorData[]"}},"visibility":"internal"}],"src":"4992:41:73"},"returnParameters":{"id":76812,"nodeType":"ParameterList","parameters":[],"src":"5052:0:73"},"scope":76914,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":76913,"nodeType":"FunctionDefinition","src":"6003:366:73","nodes":[],"body":{"id":76912,"nodeType":"Block","src":"6098:271:73","nodes":[],"statements":[{"body":{"id":76910,"nodeType":"Block","src":"6145:220:73","statements":[{"assignments":[76888],"declarations":[{"constant":false,"id":76888,"mutability":"mutable","name":"_index","nameLocation":"6161:6:73","nodeType":"VariableDeclaration","scope":76910,"src":"6153:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76887,"name":"uint256","nodeType":"ElementaryTypeName","src":"6153:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76892,"initialValue":{"baseExpression":{"id":76889,"name":"_indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76875,"src":"6170:8:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":76891,"indexExpression":{"id":76890,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76881,"src":"6179:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6170:12:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6153:29:73"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76893,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76888,"src":"6195:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"323535","id":76894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6204:3:73","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"255"},"src":"6195:12:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76899,"nodeType":"IfStatement","src":"6191:57:73","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":76896,"name":"PERMISSION_INDEX_OUT_OF_BOUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76650,"src":"6216:30:73","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":76897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6216:32:73","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":76898,"nodeType":"RevertStatement","src":"6209:39:73"}},{"expression":{"id":76904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76900,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76878,"src":"6296:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76903,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":76901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6306:1:73","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":76902,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76888,"src":"6311:6:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6306:11:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6296:21:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76905,"nodeType":"ExpressionStatement","src":"6296:21:73"},{"id":76909,"nodeType":"UncheckedBlock","src":"6326:33:73","statements":[{"expression":{"id":76907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6346:4:73","subExpression":{"id":76906,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76881,"src":"6348:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76908,"nodeType":"ExpressionStatement","src":"6346:4:73"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76883,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76881,"src":"6121:2:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":76884,"name":"_indexes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76875,"src":"6126:8:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":76885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6135:6:73","memberName":"length","nodeType":"MemberAccess","src":"6126:15:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6121:20:73","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76911,"initializationExpression":{"assignments":[76881],"declarations":[{"constant":false,"id":76881,"mutability":"mutable","name":"_i","nameLocation":"6117:2:73","nodeType":"VariableDeclaration","scope":76911,"src":"6109:10:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76880,"name":"uint256","nodeType":"ElementaryTypeName","src":"6109:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":76882,"nodeType":"VariableDeclarationStatement","src":"6109:10:73"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"6104:261:73"}]},"documentation":{"id":76872,"nodeType":"StructuredDocumentation","src":"5825:175:73","text":"@notice Converts an array of permission indexes to a packed `uint256`.\n @param _indexes The indexes of the permissions to pack.\n @return packed The packed value."},"implemented":true,"kind":"function","modifiers":[],"name":"_packedPermissions","nameLocation":"6012:18:73","parameters":{"id":76876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76875,"mutability":"mutable","name":"_indexes","nameLocation":"6050:8:73","nodeType":"VariableDeclaration","scope":76913,"src":"6031:27:73","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":76873,"name":"uint256","nodeType":"ElementaryTypeName","src":"6031:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":76874,"nodeType":"ArrayTypeName","src":"6031:9:73","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"6030:29:73"},"returnParameters":{"id":76879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76878,"mutability":"mutable","name":"packed","nameLocation":"6090:6:73","nodeType":"VariableDeclaration","scope":76913,"src":"6082:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76877,"name":"uint256","nodeType":"ElementaryTypeName","src":"6082:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6081:16:73"},"scope":76914,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":76647,"name":"IJBOperatorStore","nameLocations":["377:16:73"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"377:16:73"},"id":76648,"nodeType":"InheritanceSpecifier","src":"377:16:73"}],"canonicalName":"JBOperatorStore","contractDependencies":[],"contractKind":"contract","documentation":{"id":76646,"nodeType":"StructuredDocumentation","src":"188:161:73","text":"@notice Stores operator permissions for all addresses. Addresses can give permissions to any other address to take specific indexed actions on their behalf."},"fullyImplemented":true,"linearizedBaseContracts":[76914,85400],"name":"JBOperatorStore","nameLocation":"358:15:73","scope":76915,"usedErrors":[76650],"usedEvents":[85348]}],"license":"MIT"},"id":73} \ No newline at end of file +{"abi":[{"type":"function","name":"hasPermission","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_permissionIndex","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasPermissions","inputs":[{"name":"_operator","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_permissionIndexes","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"permissionsOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setOperator","inputs":[{"name":"_operatorData","type":"tuple","internalType":"struct JBOperatorData","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setOperators","inputs":[{"name":"_operatorData","type":"tuple[]","internalType":"struct JBOperatorData[]","components":[{"name":"operator","type":"address","internalType":"address"},{"name":"domain","type":"uint256","internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","internalType":"uint256[]"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"SetOperator","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"permissionIndexes","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"packed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"PERMISSION_INDEX_OUT_OF_BOUNDS","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c63430008170033","sourceMap":"349:6022:73:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c63430008170033","sourceMap":"349:6022:73:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3329:545;;;;;;:::i;:::-;;:::i;:::-;;;1388:14:197;;1381:22;1363:41;;1351:2;1336:18;3329:545:73;;;;;;;;4300:473;;;;;;:::i;:::-;;:::i;:::-;;1679:97;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:25:197;;;2281:2;2266:18;1679:97:73;2147:177:197;4971:621:73;;;;;;:::i;:::-;;:::i;2496:331::-;;;;;;:::i;:::-;;:::i;3329:545::-;3498:4;3515:10;3510:343;3527:30;;;3510:343;;;3569:24;3596:18;;3615:2;3596:22;;;;;;;:::i;:::-;;;;;;;3569:49;;3650:3;3631:16;:22;3627:67;;;3662:32;;-1:-1:-1;;;3662:32:73;;;;;;;;;;;3627:67;-1:-1:-1;;;;;3709:24:73;;;:13;:24;;;;;;;;;;;:34;;;;;;;;;;;:43;;;;;;;;;:63;;3776:1;3708:69;3707:76;;3703:102;;3800:5;3793:12;;;;;;3703:102;-1:-1:-1;3834:4:73;;3510:343;;;;3865:4;3858:11;;3329:545;;;;;;;;:::o;4300:473::-;4424:15;4442:51;4461:31;;;;:13;:31;:::i;:::-;4442:18;:51::i;:::-;4424:69;-1:-1:-1;4424:69:73;4528:13;;4542:22;;;;:13;:22;:::i;:::-;-1:-1:-1;;;;;4528:37:73;;;;;;;;;;;;;;;-1:-1:-1;4528:37:73;;;4566:10;4528:49;;;;;;;;;4578:20;;;;;4528:71;;;;;;;;;;;:81;;;;4578:20;4566:10;4640:22;;4578:13;4640:22;:::i;:::-;-1:-1:-1;;;;;4621:147:73;;4716:31;;;;:13;:31;:::i;:::-;4755:7;4621:147;;;;;;;;:::i;:::-;;;;;;;;4378:395;4300:473;:::o;4971:621::-;5063:10;5058:530;5075:25;;;5058:530;;;5154:15;5172:55;5191:13;;5205:2;5191:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:35;;;;;;;:::i;5172:55::-;5154:73;;5348:7;5266:13;:41;5280:13;;5294:2;5280:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;5266:41:73;;;;;;;;;;;;;;;-1:-1:-1;5266:41:73;;;5308:10;5266:53;;;;;;;;5320:13;;5334:2;5320:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;5266:79;;;;;;;;;;;:89;;;;5446:13;;5460:2;5446:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:24;;;5426:10;5390:13;;5404:2;5390:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;5369:171:73;;5480:13;;5494:2;5480:17;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:35;;;;;;;:::i;:::-;5525:7;5369:171;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;5569:4:73;;5058:530;;;;4971:621;;:::o;2496:331::-;2651:4;2686:3;2667:16;:22;2663:67;;;2698:32;;-1:-1:-1;;;2698:32:73;;;;;;;;;;;2663:67;-1:-1:-1;;;;;;2747:24:73;;;:13;:24;;;;;;;;;;;:34;;;;;;;;;;;:43;;;;;;;2814:1;2747:63;;;2746:69;;2745:76;2496:331;;;;;;:::o;6003:366::-;6082:14;6109:10;6104:261;6121:20;;;6104:261;;;6153:14;6170:8;;6179:2;6170:12;;;;;;;:::i;:::-;;;;;;;6153:29;;6204:3;6195:6;:12;6191:57;;;6216:32;;-1:-1:-1;;;6216:32:73;;;;;;;;;;;6191:57;6306:1;:11;;;;6296:21;;;;;6346:4;6104:261;;;;6003:366;;;;:::o;14:173:197:-;82:20;;-1:-1:-1;;;;;131:31:197;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:367::-;255:8;265:6;319:3;312:4;304:6;300:17;296:27;286:55;;337:1;334;327:12;286:55;-1:-1:-1;360:20:197;;403:18;392:30;;389:50;;;435:1;432;425:12;389:50;472:4;464:6;460:17;448:29;;532:3;525:4;515:6;512:1;508:14;500:6;496:27;492:38;489:47;486:67;;;549:1;546;539:12;486:67;192:367;;;;;:::o;564:654::-;677:6;685;693;701;709;762:3;750:9;741:7;737:23;733:33;730:53;;;779:1;776;769:12;730:53;802:29;821:9;802:29;:::i;:::-;792:39;;850:38;884:2;873:9;869:18;850:38;:::i;:::-;840:48;;935:2;924:9;920:18;907:32;897:42;;990:2;979:9;975:18;962:32;1017:18;1009:6;1006:30;1003:50;;;1049:1;1046;1039:12;1003:50;1088:70;1150:7;1141:6;1130:9;1126:22;1088:70;:::i;:::-;564:654;;;;-1:-1:-1;564:654:197;;-1:-1:-1;1177:8:197;;1062:96;564:654;-1:-1:-1;;;564:654:197:o;1415:394::-;1509:6;1562:2;1550:9;1541:7;1537:23;1533:32;1530:52;;;1578:1;1575;1568:12;1530:52;1618:9;1605:23;1651:18;1643:6;1640:30;1637:50;;;1683:1;1680;1673:12;1637:50;1706:22;;1762:2;1744:16;;;1740:25;1737:45;;;1778:1;1775;1768:12;1737:45;1801:2;1415:394;-1:-1:-1;;;1415:394:197:o;1814:328::-;1891:6;1899;1907;1960:2;1948:9;1939:7;1935:23;1931:32;1928:52;;;1976:1;1973;1966:12;1928:52;1999:29;2018:9;1999:29;:::i;:::-;1989:39;;2047:38;2081:2;2070:9;2066:18;2047:38;:::i;:::-;2037:48;;2132:2;2121:9;2117:18;2104:32;2094:42;;1814:328;;;;;:::o;2329:472::-;2450:6;2458;2511:2;2499:9;2490:7;2486:23;2482:32;2479:52;;;2527:1;2524;2517:12;2479:52;2567:9;2554:23;2600:18;2592:6;2589:30;2586:50;;;2632:1;2629;2622:12;2586:50;2671:70;2733:7;2724:6;2713:9;2709:22;2671:70;:::i;:::-;2760:8;;2645:96;;-1:-1:-1;2329:472:197;-1:-1:-1;;;;2329:472:197:o;2806:397::-;2892:6;2900;2908;2916;2969:3;2957:9;2948:7;2944:23;2940:33;2937:53;;;2986:1;2983;2976:12;2937:53;3009:29;3028:9;3009:29;:::i;:::-;2999:39;;3057:38;3091:2;3080:9;3076:18;3057:38;:::i;:::-;2806:397;;3047:48;;-1:-1:-1;;;;3142:2:197;3127:18;;3114:32;;3193:2;3178:18;3165:32;;2806:397::o;3208:127::-;3269:10;3264:3;3260:20;3257:1;3250:31;3300:4;3297:1;3290:15;3324:4;3321:1;3314:15;3340:545;3433:4;3439:6;3499:11;3486:25;3593:2;3589:7;3578:8;3562:14;3558:29;3554:43;3534:18;3530:68;3520:96;;3612:1;3609;3602:12;3520:96;3639:33;;3691:20;;;-1:-1:-1;3734:18:197;3723:30;;3720:50;;;3766:1;3763;3756:12;3720:50;3799:4;3787:17;;-1:-1:-1;3850:1:197;3846:14;;;3830;3826:35;3816:46;;3813:66;;;3875:1;3872;3865:12;3890:186;3949:6;4002:2;3990:9;3981:7;3977:23;3973:32;3970:52;;;4018:1;4015;4008:12;3970:52;4041:29;4060:9;4041:29;:::i;4081:516::-;4298:2;4280:21;;;4317:18;;4310:34;;;-1:-1:-1;;;;;;4356:31:197;;4353:51;;;4400:1;4397;4390:12;4353:51;4434:6;4431:1;4427:14;4491:6;4483;4478:2;4467:9;4463:18;4450:48;4577:4;4562:20;;4555:36;;;;-1:-1:-1;4519:22:197;4543:2;4515:31;;4081:516;-1:-1:-1;;4081:516:197:o;4602:332::-;4703:4;4761:11;4748:25;4855:2;4851:7;4840:8;4824:14;4820:29;4816:43;4796:18;4792:68;4782:96;;4874:1;4871;4864:12;4782:96;4895:33;;;;;4602:332;-1:-1:-1;;4602:332:197:o","linkReferences":{}},"methodIdentifiers":{"hasPermission(address,address,uint256,uint256)":"c161c93f","hasPermissions(address,address,uint256,uint256[])":"0f5932f0","permissionsOf(address,address,uint256)":"80deb230","setOperator((address,uint256,uint256[]))":"529cdd2e","setOperators((address,uint256,uint256[])[])":"8d5f697f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"PERMISSION_INDEX_OUT_OF_BOUNDS\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packed\",\"type\":\"uint256\"}],\"name\":\"SetOperator\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_permissionIndex\",\"type\":\"uint256\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_permissionIndexes\",\"type\":\"uint256[]\"}],\"name\":\"hasPermissions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"permissionsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData\",\"name\":\"_operatorData\",\"type\":\"tuple\"}],\"name\":\"setOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"permissionIndexes\",\"type\":\"uint256[]\"}],\"internalType\":\"struct JBOperatorData[]\",\"name\":\"_operatorData\",\"type\":\"tuple[]\"}],\"name\":\"setOperators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"hasPermission(address,address,uint256,uint256)\":{\"params\":{\"_account\":\"The account that has given out permissions to the operator.\",\"_domain\":\"The domain that the operator has been given permissions to operate.\",\"_operator\":\"The operator to check.\",\"_permissionIndex\":\"The permission index to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether the operator has the specified permission.\"}},\"hasPermissions(address,address,uint256,uint256[])\":{\"params\":{\"_account\":\"The account that has given out permissions to the operator.\",\"_domain\":\"The domain that the operator has been given permissions to operate.\",\"_operator\":\"The operator to check.\",\"_permissionIndexes\":\"An array of permission indexes to check for.\"},\"returns\":{\"_0\":\"A flag indicating whether the operator has all specified permissions.\"}},\"setOperator((address,uint256,uint256[]))\":{\"details\":\"Only an address can set its own operators.\",\"params\":{\"_operatorData\":\"The data that specifies the params for the operator being set.\"}},\"setOperators((address,uint256,uint256[])[])\":{\"details\":\"Only an address can set its own operators.\",\"params\":{\"_operatorData\":\"The data that specify the params for each operator being set.\"}}},\"stateVariables\":{\"permissionsOf\":{\"custom:param\":\"_operator The address of the operator._account The address of the account being operated._domain The domain within which the permissions apply. Applications can use the domain namespace as they wish.\",\"details\":\"An account can give an operator permissions that only pertain to a specific domain namespace.There is no domain with a value of 0 \\u2013 accounts can use the 0 domain to give an operator permissions to all domains on their behalf.Permissions are stored in a packed `uint256`. Each 256 bits represents the on/off state of a permission. Applications can specify the significance of each index.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"hasPermission(address,address,uint256,uint256)\":{\"notice\":\"Whether or not an operator has the permission to take a certain action pertaining to the specified domain.\"},\"hasPermissions(address,address,uint256,uint256[])\":{\"notice\":\"Whether or not an operator has the permission to take certain actions pertaining to the specified domain.\"},\"permissionsOf(address,address,uint256)\":{\"notice\":\"The permissions that an operator has been given to operate on a specific domain.\"},\"setOperator((address,uint256,uint256[]))\":{\"notice\":\"Sets permissions for an operators.\"},\"setOperators((address,uint256,uint256[])[])\":{\"notice\":\"Sets permissions for many operators.\"}},\"notice\":\"Stores operator permissions for all addresses. Addresses can give permissions to any other address to take specific indexed actions on their behalf.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":\"JBOperatorStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":{\"keccak256\":\"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a\",\"dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"PERMISSION_INDEX_OUT_OF_BOUNDS"},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"packed","type":"uint256","indexed":false}],"type":"event","name":"SetOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256","name":"_permissionIndex","type":"uint256"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"_operator","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256[]","name":"_permissionIndexes","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"hasPermissions","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"permissionsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBOperatorData","name":"_operatorData","type":"tuple","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperator"},{"inputs":[{"internalType":"struct JBOperatorData[]","name":"_operatorData","type":"tuple[]","components":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"domain","type":"uint256"},{"internalType":"uint256[]","name":"permissionIndexes","type":"uint256[]"}]}],"stateMutability":"nonpayable","type":"function","name":"setOperators"}],"devdoc":{"kind":"dev","methods":{"hasPermission(address,address,uint256,uint256)":{"params":{"_account":"The account that has given out permissions to the operator.","_domain":"The domain that the operator has been given permissions to operate.","_operator":"The operator to check.","_permissionIndex":"The permission index to check for."},"returns":{"_0":"A flag indicating whether the operator has the specified permission."}},"hasPermissions(address,address,uint256,uint256[])":{"params":{"_account":"The account that has given out permissions to the operator.","_domain":"The domain that the operator has been given permissions to operate.","_operator":"The operator to check.","_permissionIndexes":"An array of permission indexes to check for."},"returns":{"_0":"A flag indicating whether the operator has all specified permissions."}},"setOperator((address,uint256,uint256[]))":{"details":"Only an address can set its own operators.","params":{"_operatorData":"The data that specifies the params for the operator being set."}},"setOperators((address,uint256,uint256[])[])":{"details":"Only an address can set its own operators.","params":{"_operatorData":"The data that specify the params for each operator being set."}}},"version":1},"userdoc":{"kind":"user","methods":{"hasPermission(address,address,uint256,uint256)":{"notice":"Whether or not an operator has the permission to take a certain action pertaining to the specified domain."},"hasPermissions(address,address,uint256,uint256[])":{"notice":"Whether or not an operator has the permission to take certain actions pertaining to the specified domain."},"permissionsOf(address,address,uint256)":{"notice":"The permissions that an operator has been given to operate on a specific domain."},"setOperator((address,uint256,uint256[]))":{"notice":"Sets permissions for an operators."},"setOperators((address,uint256,uint256[])[])":{"notice":"Sets permissions for many operators."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":"JBOperatorStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":{"keccak256":"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476","urls":["bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a","dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"}},"version":1},"id":73} \ No newline at end of file diff --git a/out/JBPrices.sol/JBPrices.json b/out/JBPrices.sol/JBPrices.json index 62aff4f8..b2992ea1 100644 --- a/out/JBPrices.sol/JBPrices.json +++ b/out/JBPrices.sol/JBPrices.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"addFeedFor","inputs":[{"name":"_currency","type":"uint256","internalType":"uint256"},{"name":"_base","type":"uint256","internalType":"uint256"},{"name":"_feed","type":"address","internalType":"contract IJBPriceFeed"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feedFor","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPriceFeed"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"priceFor","inputs":[{"name":"_currency","type":"uint256","internalType":"uint256"},{"name":"_base","type":"uint256","internalType":"uint256"},{"name":"_decimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddFeed","inputs":[{"name":"currency","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"base","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"feed","type":"address","indexed":false,"internalType":"contract IJBPriceFeed"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRICE_FEED_ALREADY_EXISTS","inputs":[]},{"type":"error","name":"PRICE_FEED_NOT_FOUND","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c63430008170033","sourceMap":"352:3898:74:-:0;;;3121:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:157;719:10:181;936:18:157;:32::i;:::-;3186:25:74;3204:6;3186:17;:25::i;:::-;3121:95;352:3898;;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;2074:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;511:2:197;2154:73:157::1;::::0;::::1;493:21:197::0;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:197;;;633:36;686:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8:::0;2237:18:::1;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;918:2:197;1414:68:157;;;900:21:197;;;937:18;;;930:30;996:34;976:18;;;969:62;1048:18;;1414:68:157;716:356:197;1414:68:157;1359:130::o;14:290:197:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:197;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:197:o;716:356::-;352:3898:74;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c63430008170033","sourceMap":"352:3898:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1232:76;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1232:76:74;;;;;;-1:-1:-1;;;;;453:32:197;;;435:51;;423:2;408:18;1232:76:74;;;;;;;;1824:101:157;;;:::i;:::-;;1201:85;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;1201:85;;3779:469:74;;;;;;:::i;:::-;;:::i;1986:842::-;;;;;;:::i;:::-;;:::i;:::-;;;1746:25:197;;;1734:2;1719:18;1986:842:74;1600:177:197;2074:198:157;;;;;;:::i;:::-;;:::i;1824:101::-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;3779:469:74:-;1094:13:157;:11;:13::i;:::-;4029:1:74::1;3979:18:::0;;;:7:::1;:18;::::0;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;3979:25:74::1;:53:::0;::::1;::::0;:116:::1;;-1:-1:-1::0;4092:1:74::1;4042:14:::0;;;:7:::1;:14;::::0;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;4042:25:74::1;:53:::0;::::1;3979:116;3968:168;;;4109:27;;-1:-1:-1::0;;;4109:27:74::1;;;;;;;;;;;3968:168;4166:18;::::0;;;:7:::1;:18;::::0;;;;;;;:25;;;;;;;;;:33;;-1:-1:-1;;;;;;4166:33:74::1;-1:-1:-1::0;;;;;4166:33:74;::::1;::::0;;::::1;::::0;;;4211:32;;435:51:197;;;4166:25:74;;:18;;4211:32:::1;::::0;408:18:197;4211:32:74::1;;;;;;;3779:469:::0;;;:::o;1986:842::-;2105:7;2254:5;2241:9;:18;2237:46;;2268:15;2274:9;2268:2;:15;:::i;:::-;2261:22;;;;2237:46;2326:18;2347;;;:7;:18;;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;2347:25:74;2422:33;;2418:75;;2464:29;;-1:-1:-1;;;2464:29:74;;;;;1746:25:197;;;-1:-1:-1;;;;;2464:18:74;;;;;1719::197;;2464:29:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2457:36;;;;;2418:75;-1:-1:-1;2537:14:74;;;;:7;:14;;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;2537:25:74;2620:33;;2616:131;;2668:79;2683:15;2689:9;2683:2;:15;:::i;:::-;2700;2706:9;2700:2;:15;:::i;:::-;2717:29;;-1:-1:-1;;;2717:29:74;;;;;1746:25:197;;;-1:-1:-1;;;;;2717:18:74;;;;;1719::197;;2717:29:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2668:14;:79::i;2616:131::-;2801:22;;-1:-1:-1;;;2801:22:74;;;;;;;;;;;1986:842;;;;;;:::o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;3939:2:197;2154:73:157::1;::::0;::::1;3921:21:197::0;3978:2;3958:18;;;3951:30;4017:34;3997:18;;;3990:62;-1:-1:-1;;;4068:18:197;;;4061:36;4114:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;4346:2:197;1414:68:157;;;4328:21:197;;;4365:18;;;4358:30;4424:34;4404:18;;;4397:62;4476:18;;1414:68:157;4144:356:197;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;15079:3983:196:-;15191:14;;;-1:-1:-1;;15680:1:196;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;-1:-1:-1;;;16135:43:196;;;;;4811:25:197;;;4852:18;;;4845:34;;;4784:18;;16135:43:196;4637:248:197;16088:101:196;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:1;:15;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;;;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;;-1:-1:-1;;;;15079:3983:196:o;14:248:197:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:197;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:197:o;705:145::-;-1:-1:-1;;;;;794:31:197;;784:42;;774:70;;840:1;837;830:12;855:419;954:6;962;970;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;1075:9;1062:23;1052:33;;1132:2;1121:9;1117:18;1104:32;1094:42;;1186:2;1175:9;1171:18;1158:32;1199:45;1238:5;1199:45;:::i;:::-;1263:5;1253:15;;;855:419;;;;;:::o;1279:316::-;1356:6;1364;1372;1425:2;1413:9;1404:7;1400:23;1396:32;1393:52;;;1441:1;1438;1431:12;1393:52;-1:-1:-1;;1464:23:197;;;1534:2;1519:18;;1506:32;;-1:-1:-1;1585:2:197;1570:18;;;1557:32;;1279:316;-1:-1:-1;1279:316:197:o;1782:261::-;1841:6;1894:2;1882:9;1873:7;1869:23;1865:32;1862:52;;;1910:1;1907;1900:12;1862:52;1949:9;1936:23;1968:45;2007:5;1968:45;:::i;2048:127::-;2109:10;2104:3;2100:20;2097:1;2090:31;2140:4;2137:1;2130:15;2164:4;2161:1;2154:15;2180:416;2269:1;2306:5;2269:1;2320:270;2341:7;2331:8;2328:21;2320:270;;;2400:4;2396:1;2392:6;2388:17;2382:4;2379:27;2376:53;;;2409:18;;:::i;:::-;2459:7;2449:8;2445:22;2442:55;;;2479:16;;;;2442:55;2558:22;;;;2518:15;;;;2320:270;;;2324:3;2180:416;;;;;:::o;2601:806::-;2650:5;2680:8;2670:80;;-1:-1:-1;2721:1:197;2735:5;;2670:80;2769:4;2759:76;;-1:-1:-1;2806:1:197;2820:5;;2759:76;2851:4;2869:1;2864:59;;;;2937:1;2932:130;;;;2844:218;;2864:59;2894:1;2885:10;;2908:5;;;2932:130;2969:3;2959:8;2956:17;2953:43;;;2976:18;;:::i;:::-;-1:-1:-1;;3032:1:197;3018:16;;3047:5;;2844:218;;3146:2;3136:8;3133:16;3127:3;3121:4;3118:13;3114:36;3108:2;3098:8;3095:16;3090:2;3084:4;3081:12;3077:35;3074:77;3071:159;;;-1:-1:-1;3183:19:197;;;3215:5;;3071:159;3262:34;3287:8;3281:4;3262:34;:::i;:::-;3332:6;3328:1;3324:6;3320:19;3311:7;3308:32;3305:58;;;3343:18;;:::i;:::-;3381:20;;-1:-1:-1;2601:806:197;;;;;:::o;3412:131::-;3472:5;3501:36;3528:8;3522:4;3501:36;:::i;3548:184::-;3618:6;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;-1:-1:-1;3710:16:197;;3548:184;-1:-1:-1;3548:184:197:o;4505:127::-;4566:10;4561:3;4557:20;4554:1;4547:31;4597:4;4594:1;4587:15;4621:4;4618:1;4611:15","linkReferences":{}},"methodIdentifiers":{"addFeedFor(uint256,uint256,address)":"96364e6d","feedFor(uint256,uint256)":"15d63a91","owner()":"8da5cb5b","priceFor(uint256,uint256,uint256)":"a4d0caf2","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRICE_FEED_ALREADY_EXISTS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRICE_FEED_NOT_FOUND\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPriceFeed\",\"name\":\"feed\",\"type\":\"address\"}],\"name\":\"AddFeed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_base\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"_feed\",\"type\":\"address\"}],\"name\":\"addFeedFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"feedFor\",\"outputs\":[{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_base\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"name\":\"priceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addFeedFor(uint256,uint256,address)\":{\"details\":\"Current feeds can't be modified.\",\"params\":{\"_base\":\"The base currency unit being priced by the feed.\",\"_currency\":\"The currency units the feed's resulting price is in terms of.\",\"_feed\":\"The price feed being added.\"}},\"constructor\":{\"params\":{\"_owner\":\"The address that will own the contract.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"priceFor(uint256,uint256,uint256)\":{\"params\":{\"_base\":\"The base currency unit being priced.\",\"_currency\":\"The currency units the resulting price is in terms of.\",\"_decimals\":\"The number of decimals the returned fixed point price should include.\"},\"returns\":{\"_0\":\"The price of the currency in terms of the base, as a fixed point number with the specified number of decimals.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"feedFor\":{\"custom:param\":\"_currency The currency units the feed's resulting price is in terms of._base The base currency unit being priced by the feed.\",\"details\":\"The feed returns the number of `_currency` units that can be converted to 1 `_base` unit.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"addFeedFor(uint256,uint256,address)\":{\"notice\":\"Add a price feed for a currency in terms of the provided base currency.\"},\"feedFor(uint256,uint256)\":{\"notice\":\"The available price feeds.\"},\"priceFor(uint256,uint256,uint256)\":{\"notice\":\"Gets the number of `_currency` units that can be converted to 1 `_base` unit.\"}},\"notice\":\"Manages and normalizes price feeds.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":\"JBPrices\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":{\"keccak256\":\"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204\",\"dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[],"type":"error","name":"PRICE_FEED_ALREADY_EXISTS"},{"inputs":[],"type":"error","name":"PRICE_FEED_NOT_FOUND"},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256","indexed":true},{"internalType":"uint256","name":"base","type":"uint256","indexed":true},{"internalType":"contract IJBPriceFeed","name":"feed","type":"address","indexed":false}],"type":"event","name":"AddFeed","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_currency","type":"uint256"},{"internalType":"uint256","name":"_base","type":"uint256"},{"internalType":"contract IJBPriceFeed","name":"_feed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addFeedFor"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"feedFor","outputs":[{"internalType":"contract IJBPriceFeed","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_currency","type":"uint256"},{"internalType":"uint256","name":"_base","type":"uint256"},{"internalType":"uint256","name":"_decimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"priceFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"addFeedFor(uint256,uint256,address)":{"details":"Current feeds can't be modified.","params":{"_base":"The base currency unit being priced by the feed.","_currency":"The currency units the feed's resulting price is in terms of.","_feed":"The price feed being added."}},"constructor":{"params":{"_owner":"The address that will own the contract."}},"owner()":{"details":"Returns the address of the current owner."},"priceFor(uint256,uint256,uint256)":{"params":{"_base":"The base currency unit being priced.","_currency":"The currency units the resulting price is in terms of.","_decimals":"The number of decimals the returned fixed point price should include."},"returns":{"_0":"The price of the currency in terms of the base, as a fixed point number with the specified number of decimals."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"addFeedFor(uint256,uint256,address)":{"notice":"Add a price feed for a currency in terms of the provided base currency."},"feedFor(uint256,uint256)":{"notice":"The available price feeds."},"priceFor(uint256,uint256,uint256)":{"notice":"Gets the number of `_currency` units that can be converted to 1 `_base` unit."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":"JBPrices"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":{"keccak256":"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57","urls":["bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204","dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol","id":77092,"exportedSymbols":{"IJBPriceFeed":[85955],"IJBPrices":[86000],"JBPrices":[77091],"Ownable":[89689],"PRBMath":[103143]},"nodeType":"SourceUnit","src":"32:4219:74","nodes":[{"id":76916,"nodeType":"PragmaDirective","src":"32:24:74","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":76918,"nodeType":"ImportDirective","src":"58:67:74","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":77092,"sourceUnit":89690,"symbolAliases":[{"foreign":{"id":76917,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89689,"src":"66:7:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76920,"nodeType":"ImportDirective","src":"126:62:74","nodes":[],"absolutePath":"node_modules/@paulrberg/contracts/math/PRBMath.sol","file":"@paulrberg/contracts/math/PRBMath.sol","nameLocation":"-1:-1:-1","scope":77092,"sourceUnit":99521,"symbolAliases":[{"foreign":{"id":76919,"name":"PRBMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103143,"src":"134:7:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76922,"nodeType":"ImportDirective","src":"189:59:74","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol","file":"./interfaces/IJBPriceFeed.sol","nameLocation":"-1:-1:-1","scope":77092,"sourceUnit":85956,"symbolAliases":[{"foreign":{"id":76921,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"197:12:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":76924,"nodeType":"ImportDirective","src":"249:53:74","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","file":"./interfaces/IJBPrices.sol","nameLocation":"-1:-1:-1","scope":77092,"sourceUnit":86001,"symbolAliases":[{"foreign":{"id":76923,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"257:9:74","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77091,"nodeType":"ContractDefinition","src":"352:3898:74","nodes":[{"id":76931,"nodeType":"ErrorDefinition","src":"624:34:74","nodes":[],"errorSelector":"d28d564f","name":"PRICE_FEED_ALREADY_EXISTS","nameLocation":"630:25:74","parameters":{"id":76930,"nodeType":"ParameterList","parameters":[],"src":"655:2:74"}},{"id":76933,"nodeType":"ErrorDefinition","src":"661:29:74","nodes":[],"errorSelector":"75c9d5ca","name":"PRICE_FEED_NOT_FOUND","nameLocation":"667:20:74","parameters":{"id":76932,"nodeType":"ParameterList","parameters":[],"src":"687:2:74"}},{"id":76942,"nodeType":"VariableDeclaration","src":"1232:76:74","nodes":[],"baseFunctions":[85978],"constant":false,"documentation":{"id":76934,"nodeType":"StructuredDocumentation","src":"923:306:74","text":"@notice The available price feeds.\n @dev The feed returns the number of `_currency` units that can be converted to 1 `_base` unit.\n @custom:param _currency The currency units the feed's resulting price is in terms of.\n @custom:param _base The base currency unit being priced by the feed."},"functionSelector":"15d63a91","mutability":"mutable","name":"feedFor","nameLocation":"1301:7:74","overrides":{"id":76941,"nodeType":"OverrideSpecifier","overrides":[],"src":"1292:8:74"},"scope":77091,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"},"typeName":{"id":76940,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76935,"name":"uint256","nodeType":"ElementaryTypeName","src":"1240:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1232:52:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76939,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":76936,"name":"uint256","nodeType":"ElementaryTypeName","src":"1259:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1251:32:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76938,"nodeType":"UserDefinedTypeName","pathNode":{"id":76937,"name":"IJBPriceFeed","nameLocations":["1270:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"1270:12:74"},"referencedDeclaration":85955,"src":"1270:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}}}},"visibility":"public"},{"id":77021,"nodeType":"FunctionDefinition","src":"1986:842:74","nodes":[],"body":{"id":77020,"nodeType":"Block","src":"2114:714:74","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76955,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76945,"src":"2241:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":76956,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76947,"src":"2254:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2241:18:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76962,"nodeType":"IfStatement","src":"2237:46:74","trueBody":{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":76960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":76958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2268:2:74","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":76959,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76949,"src":"2274:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2268:15:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76954,"id":76961,"nodeType":"Return","src":"2261:22:74"}},{"assignments":[76965],"declarations":[{"constant":false,"id":76965,"mutability":"mutable","name":"_feed","nameLocation":"2339:5:74","nodeType":"VariableDeclaration","scope":77020,"src":"2326:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"typeName":{"id":76964,"nodeType":"UserDefinedTypeName","pathNode":{"id":76963,"name":"IJBPriceFeed","nameLocations":["2326:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"2326:12:74"},"referencedDeclaration":85955,"src":"2326:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"visibility":"internal"}],"id":76971,"initialValue":{"baseExpression":{"baseExpression":{"id":76966,"name":"feedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76942,"src":"2347:7:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"}},"id":76968,"indexExpression":{"id":76967,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76945,"src":"2355:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2347:18:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"}},"id":76970,"indexExpression":{"id":76969,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76947,"src":"2366:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2347:25:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"VariableDeclarationStatement","src":"2326:46:74"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"id":76979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76972,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76965,"src":"2422:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":76976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2452:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76975,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2444:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76974,"name":"address","nodeType":"ElementaryTypeName","src":"2444:7:74","typeDescriptions":{}}},"id":76977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2444:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76973,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"2431:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPriceFeed_$85955_$","typeString":"type(contract IJBPriceFeed)"}},"id":76978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2431:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"2422:33:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":76985,"nodeType":"IfStatement","src":"2418:75:74","trueBody":{"expression":{"arguments":[{"id":76982,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76949,"src":"2483:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":76980,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76965,"src":"2464:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"id":76981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2470:12:74","memberName":"currentPrice","nodeType":"MemberAccess","referencedDeclaration":85954,"src":"2464:18:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":76983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2464:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76954,"id":76984,"nodeType":"Return","src":"2457:36:74"}},{"expression":{"id":76992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":76986,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76965,"src":"2529:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":76987,"name":"feedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76942,"src":"2537:7:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"}},"id":76989,"indexExpression":{"id":76988,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76947,"src":"2545:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2537:14:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"}},"id":76991,"indexExpression":{"id":76990,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76945,"src":"2552:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2537:25:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"2529:33:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"id":76993,"nodeType":"ExpressionStatement","src":"2529:33:74"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"id":77001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":76994,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76965,"src":"2620:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":76998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2650:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":76997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2642:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":76996,"name":"address","nodeType":"ElementaryTypeName","src":"2642:7:74","typeDescriptions":{}}},"id":76999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2642:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":76995,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"2629:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPriceFeed_$85955_$","typeString":"type(contract IJBPriceFeed)"}},"id":77000,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2629:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"2620:33:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77016,"nodeType":"IfStatement","src":"2616:131:74","trueBody":{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77006,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2683:2:74","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":77005,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76949,"src":"2689:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2683:15:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77009,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":77007,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:2:74","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":77008,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76949,"src":"2706:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2700:15:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"id":77012,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76949,"src":"2736:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77010,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76965,"src":"2717:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"id":77011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2723:12:74","memberName":"currentPrice","nodeType":"MemberAccess","referencedDeclaration":85954,"src":"2717:18:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":77013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77002,"name":"PRBMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103143,"src":"2668:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PRBMath_$103143_$","typeString":"type(library PRBMath)"}},"id":77003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2676:6:74","memberName":"mulDiv","nodeType":"MemberAccess","referencedDeclaration":102732,"src":"2668:14:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":77014,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2668:79:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":76954,"id":77015,"nodeType":"Return","src":"2661:86:74"}},{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77017,"name":"PRICE_FEED_NOT_FOUND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76933,"src":"2801:20:74","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2801:22:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77019,"nodeType":"RevertStatement","src":"2794:29:74"}]},"baseFunctions":[85989],"documentation":{"id":76943,"nodeType":"StructuredDocumentation","src":"1542:441:74","text":"@notice Gets the number of `_currency` units that can be converted to 1 `_base` unit.\n @param _currency The currency units the resulting price is in terms of.\n @param _base The base currency unit being priced.\n @param _decimals The number of decimals the returned fixed point price should include.\n @return The price of the currency in terms of the base, as a fixed point number with the specified number of decimals."},"functionSelector":"a4d0caf2","implemented":true,"kind":"function","modifiers":[],"name":"priceFor","nameLocation":"1995:8:74","overrides":{"id":76951,"nodeType":"OverrideSpecifier","overrides":[],"src":"2087:8:74"},"parameters":{"id":76950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76945,"mutability":"mutable","name":"_currency","nameLocation":"2017:9:74","nodeType":"VariableDeclaration","scope":77021,"src":"2009:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76944,"name":"uint256","nodeType":"ElementaryTypeName","src":"2009:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76947,"mutability":"mutable","name":"_base","nameLocation":"2040:5:74","nodeType":"VariableDeclaration","scope":77021,"src":"2032:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76946,"name":"uint256","nodeType":"ElementaryTypeName","src":"2032:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":76949,"mutability":"mutable","name":"_decimals","nameLocation":"2059:9:74","nodeType":"VariableDeclaration","scope":77021,"src":"2051:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76948,"name":"uint256","nodeType":"ElementaryTypeName","src":"2051:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2003:69:74"},"returnParameters":{"id":76954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":76953,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77021,"src":"2105:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":76952,"name":"uint256","nodeType":"ElementaryTypeName","src":"2105:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2104:9:74"},"scope":77091,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":77032,"nodeType":"FunctionDefinition","src":"3121:95:74","nodes":[],"body":{"id":77031,"nodeType":"Block","src":"3149:67:74","nodes":[],"statements":[{"expression":{"arguments":[{"id":77028,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77024,"src":"3204:6:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77027,"name":"transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89668,"src":"3186:17:74","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":77029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3186:25:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77030,"nodeType":"ExpressionStatement","src":"3186:25:74"}]},"documentation":{"id":77022,"nodeType":"StructuredDocumentation","src":"3061:57:74","text":"@param _owner The address that will own the contract."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":77025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77024,"mutability":"mutable","name":"_owner","nameLocation":"3141:6:74","nodeType":"VariableDeclaration","scope":77032,"src":"3133:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77023,"name":"address","nodeType":"ElementaryTypeName","src":"3133:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3132:16:74"},"returnParameters":{"id":77026,"nodeType":"ParameterList","parameters":[],"src":"3149:0:74"},"scope":77091,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77090,"nodeType":"FunctionDefinition","src":"3779:469:74","nodes":[],"body":{"id":77089,"nodeType":"Block","src":"3897:351:74","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"id":77057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":77046,"name":"feedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76942,"src":"3979:7:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"}},"id":77048,"indexExpression":{"id":77047,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"3987:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3979:18:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"}},"id":77050,"indexExpression":{"id":77049,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77037,"src":"3998:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3979:25:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":77054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4029:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77053,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4021:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77052,"name":"address","nodeType":"ElementaryTypeName","src":"4021:7:74","typeDescriptions":{}}},"id":77055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4021:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77051,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"4008:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPriceFeed_$85955_$","typeString":"type(contract IJBPriceFeed)"}},"id":77056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4008:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"3979:53:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"id":77069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":77058,"name":"feedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76942,"src":"4042:7:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"}},"id":77060,"indexExpression":{"id":77059,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77037,"src":"4050:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4042:14:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"}},"id":77062,"indexExpression":{"id":77061,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"4057:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4042:25:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":77066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:74","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77065,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4084:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77064,"name":"address","nodeType":"ElementaryTypeName","src":"4084:7:74","typeDescriptions":{}}},"id":77067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4084:10:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77063,"name":"IJBPriceFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85955,"src":"4071:12:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPriceFeed_$85955_$","typeString":"type(contract IJBPriceFeed)"}},"id":77068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4071:24:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"4042:53:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3979:116:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77074,"nodeType":"IfStatement","src":"3968:168:74","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":77071,"name":"PRICE_FEED_ALREADY_EXISTS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76931,"src":"4109:25:74","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":77072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:27:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77073,"nodeType":"RevertStatement","src":"4102:34:74"}},{"expression":{"id":77081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77075,"name":"feedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76942,"src":"4166:7:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$_$","typeString":"mapping(uint256 => mapping(uint256 => contract IJBPriceFeed))"}},"id":77078,"indexExpression":{"id":77076,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"4174:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4166:18:74","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$","typeString":"mapping(uint256 => contract IJBPriceFeed)"}},"id":77079,"indexExpression":{"id":77077,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77037,"src":"4185:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4166:25:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77080,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77040,"src":"4194:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"src":"4166:33:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"id":77082,"nodeType":"ExpressionStatement","src":"4166:33:74"},{"eventCall":{"arguments":[{"id":77084,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77035,"src":"4219:9:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77085,"name":"_base","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77037,"src":"4230:5:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77086,"name":"_feed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77040,"src":"4237:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}],"id":77083,"name":"AddFeed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85968,"src":"4211:7:74","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_contract$_IJBPriceFeed_$85955_$returns$__$","typeString":"function (uint256,uint256,contract IJBPriceFeed)"}},"id":77087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4211:32:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77088,"nodeType":"EmitStatement","src":"4206:37:74"}]},"baseFunctions":[85999],"documentation":{"id":77033,"nodeType":"StructuredDocumentation","src":"3449:327:74","text":"@notice Add a price feed for a currency in terms of the provided base currency.\n @dev Current feeds can't be modified.\n @param _currency The currency units the feed's resulting price is in terms of.\n @param _base The base currency unit being priced by the feed.\n @param _feed The price feed being added."},"functionSelector":"96364e6d","implemented":true,"kind":"function","modifiers":[{"id":77044,"kind":"modifierInvocation","modifierName":{"id":77043,"name":"onlyOwner","nameLocations":["3887:9:74"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"3887:9:74"},"nodeType":"ModifierInvocation","src":"3887:9:74"}],"name":"addFeedFor","nameLocation":"3788:10:74","overrides":{"id":77042,"nodeType":"OverrideSpecifier","overrides":[],"src":"3878:8:74"},"parameters":{"id":77041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77035,"mutability":"mutable","name":"_currency","nameLocation":"3812:9:74","nodeType":"VariableDeclaration","scope":77090,"src":"3804:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77034,"name":"uint256","nodeType":"ElementaryTypeName","src":"3804:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77037,"mutability":"mutable","name":"_base","nameLocation":"3835:5:74","nodeType":"VariableDeclaration","scope":77090,"src":"3827:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77036,"name":"uint256","nodeType":"ElementaryTypeName","src":"3827:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77040,"mutability":"mutable","name":"_feed","nameLocation":"3859:5:74","nodeType":"VariableDeclaration","scope":77090,"src":"3846:18:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"},"typeName":{"id":77039,"nodeType":"UserDefinedTypeName","pathNode":{"id":77038,"name":"IJBPriceFeed","nameLocations":["3846:12:74"],"nodeType":"IdentifierPath","referencedDeclaration":85955,"src":"3846:12:74"},"referencedDeclaration":85955,"src":"3846:12:74","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPriceFeed_$85955","typeString":"contract IJBPriceFeed"}},"visibility":"internal"}],"src":"3798:70:74"},"returnParameters":{"id":77045,"nodeType":"ParameterList","parameters":[],"src":"3897:0:74"},"scope":77091,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":76926,"name":"Ownable","nameLocations":["373:7:74"],"nodeType":"IdentifierPath","referencedDeclaration":89689,"src":"373:7:74"},"id":76927,"nodeType":"InheritanceSpecifier","src":"373:7:74"},{"baseName":{"id":76928,"name":"IJBPrices","nameLocations":["382:9:74"],"nodeType":"IdentifierPath","referencedDeclaration":86000,"src":"382:9:74"},"id":76929,"nodeType":"InheritanceSpecifier","src":"382:9:74"}],"canonicalName":"JBPrices","contractDependencies":[],"contractKind":"contract","documentation":{"id":76925,"nodeType":"StructuredDocumentation","src":"304:48:74","text":"@notice Manages and normalizes price feeds."},"fullyImplemented":true,"linearizedBaseContracts":[77091,86000,89689,95576],"name":"JBPrices","nameLocation":"361:8:74","scope":77092,"usedErrors":[76931,76933,101262],"usedEvents":[85968,89590]}],"license":"MIT"},"id":74} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"addFeedFor","inputs":[{"name":"_currency","type":"uint256","internalType":"uint256"},{"name":"_base","type":"uint256","internalType":"uint256"},{"name":"_feed","type":"address","internalType":"contract IJBPriceFeed"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feedFor","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBPriceFeed"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"priceFor","inputs":[{"name":"_currency","type":"uint256","internalType":"uint256"},{"name":"_base","type":"uint256","internalType":"uint256"},{"name":"_decimals","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddFeed","inputs":[{"name":"currency","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"base","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"feed","type":"address","indexed":false,"internalType":"contract IJBPriceFeed"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"PRBMath__MulDivOverflow","inputs":[{"name":"prod1","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRICE_FEED_ALREADY_EXISTS","inputs":[]},{"type":"error","name":"PRICE_FEED_NOT_FOUND","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c63430008170033","sourceMap":"352:3898:74:-:0;;;3121:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:157;719:10:181;936:18:157;:32::i;:::-;3186:25:74;3204:6;3186:17;:25::i;:::-;3121:95;352:3898;;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;2074:198::-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;511:2:197;2154:73:157::1;::::0;::::1;493:21:197::0;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:197;;;633:36;686:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8:::0;2237:18:::1;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;918:2:197;1414:68:157;;;900:21:197;;;937:18;;;930:30;996:34;976:18;;;969:62;1048:18;;1414:68:157;716:356:197;1414:68:157;1359:130::o;14:290:197:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:197;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:197:o;716:356::-;352:3898:74;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c63430008170033","sourceMap":"352:3898:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1232:76;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1232:76:74;;;;;;-1:-1:-1;;;;;453:32:197;;;435:51;;423:2;408:18;1232:76:74;;;;;;;;1824:101:157;;;:::i;:::-;;1201:85;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;1201:85;;3779:469:74;;;;;;:::i;:::-;;:::i;1986:842::-;;;;;;:::i;:::-;;:::i;:::-;;;1746:25:197;;;1734:2;1719:18;1986:842:74;1600:177:197;2074:198:157;;;;;;:::i;:::-;;:::i;1824:101::-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;3779:469:74:-;1094:13:157;:11;:13::i;:::-;4029:1:74::1;3979:18:::0;;;:7:::1;:18;::::0;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;3979:25:74::1;:53:::0;::::1;::::0;:116:::1;;-1:-1:-1::0;4092:1:74::1;4042:14:::0;;;:7:::1;:14;::::0;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;4042:25:74::1;:53:::0;::::1;3979:116;3968:168;;;4109:27;;-1:-1:-1::0;;;4109:27:74::1;;;;;;;;;;;3968:168;4166:18;::::0;;;:7:::1;:18;::::0;;;;;;;:25;;;;;;;;;:33;;-1:-1:-1;;;;;;4166:33:74::1;-1:-1:-1::0;;;;;4166:33:74;::::1;::::0;;::::1;::::0;;;4211:32;;435:51:197;;;4166:25:74;;:18;;4211:32:::1;::::0;408:18:197;4211:32:74::1;;;;;;;3779:469:::0;;;:::o;1986:842::-;2105:7;2254:5;2241:9;:18;2237:46;;2268:15;2274:9;2268:2;:15;:::i;:::-;2261:22;;;;2237:46;2326:18;2347;;;:7;:18;;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;2347:25:74;2422:33;;2418:75;;2464:29;;-1:-1:-1;;;2464:29:74;;;;;1746:25:197;;;-1:-1:-1;;;;;2464:18:74;;;;;1719::197;;2464:29:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2457:36;;;;;2418:75;-1:-1:-1;2537:14:74;;;;:7;:14;;;;;;;;:25;;;;;;;;;-1:-1:-1;;;;;2537:25:74;2620:33;;2616:131;;2668:79;2683:15;2689:9;2683:2;:15;:::i;:::-;2700;2706:9;2700:2;:15;:::i;:::-;2717:29;;-1:-1:-1;;;2717:29:74;;;;;1746:25:197;;;-1:-1:-1;;;;;2717:18:74;;;;;1719::197;;2717:29:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2668:14;:79::i;2616:131::-;2801:22;;-1:-1:-1;;;2801:22:74;;;;;;;;;;;1986:842;;;;;;:::o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;3939:2:197;2154:73:157::1;::::0;::::1;3921:21:197::0;3978:2;3958:18;;;3951:30;4017:34;3997:18;;;3990:62;-1:-1:-1;;;4068:18:197;;;4061:36;4114:19;;2154:73:157::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1359:130::-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;4346:2:197;1414:68:157;;;4328:21:197;;;4365:18;;;4358:30;4424:34;4404:18;;;4397:62;4476:18;;1414:68:157;4144:356:197;2426:187:157;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;15079:3983:196:-;15191:14;;;-1:-1:-1;;15680:1:196;15677;15670:20;15719:1;15716;15712:9;15703:18;;15770:5;15766:2;15763:13;15755:5;15751:2;15747:14;15743:34;15734:43;;;15860:5;15869:1;15860:10;15856:138;;15931:11;15923:5;:19;;;;;:::i;:::-;;15914:28;;15970:13;;;;15856:138;16101:11;16092:5;:20;16088:101;;16135:43;;-1:-1:-1;;;16135:43:196;;;;;4811:25:197;;;4852:18;;;4845:34;;;4784:18;;16135:43:196;4637:248:197;16088:101:196;16424:17;16547:11;16544:1;16541;16534:25;17956:1;17093;17078:12;;:16;;17063:32;;17201:25;;;;17937:1;:15;;17936:21;;18189;;;18185:25;;18174:36;18258:21;;;18254:25;;18243:36;18328:21;;;18324:25;;18313:36;18398:21;;;18394:25;;18383:36;18468:21;;;18464:25;;18453:36;18539:21;;;18535:25;;;18524:36;;;17045:15;17467;;;17463:29;;;17459:37;;;16653:20;;;16642:32;;;17585:15;;;;16696:21;;17305:19;;;;17576:24;;;;19003:15;;;-1:-1:-1;;;;15079:3983:196:o;14:248:197:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:197;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:197:o;705:145::-;-1:-1:-1;;;;;794:31:197;;784:42;;774:70;;840:1;837;830:12;855:419;954:6;962;970;1023:2;1011:9;1002:7;998:23;994:32;991:52;;;1039:1;1036;1029:12;991:52;1075:9;1062:23;1052:33;;1132:2;1121:9;1117:18;1104:32;1094:42;;1186:2;1175:9;1171:18;1158:32;1199:45;1238:5;1199:45;:::i;:::-;1263:5;1253:15;;;855:419;;;;;:::o;1279:316::-;1356:6;1364;1372;1425:2;1413:9;1404:7;1400:23;1396:32;1393:52;;;1441:1;1438;1431:12;1393:52;-1:-1:-1;;1464:23:197;;;1534:2;1519:18;;1506:32;;-1:-1:-1;1585:2:197;1570:18;;;1557:32;;1279:316;-1:-1:-1;1279:316:197:o;1782:261::-;1841:6;1894:2;1882:9;1873:7;1869:23;1865:32;1862:52;;;1910:1;1907;1900:12;1862:52;1949:9;1936:23;1968:45;2007:5;1968:45;:::i;2048:127::-;2109:10;2104:3;2100:20;2097:1;2090:31;2140:4;2137:1;2130:15;2164:4;2161:1;2154:15;2180:416;2269:1;2306:5;2269:1;2320:270;2341:7;2331:8;2328:21;2320:270;;;2400:4;2396:1;2392:6;2388:17;2382:4;2379:27;2376:53;;;2409:18;;:::i;:::-;2459:7;2449:8;2445:22;2442:55;;;2479:16;;;;2442:55;2558:22;;;;2518:15;;;;2320:270;;;2324:3;2180:416;;;;;:::o;2601:806::-;2650:5;2680:8;2670:80;;-1:-1:-1;2721:1:197;2735:5;;2670:80;2769:4;2759:76;;-1:-1:-1;2806:1:197;2820:5;;2759:76;2851:4;2869:1;2864:59;;;;2937:1;2932:130;;;;2844:218;;2864:59;2894:1;2885:10;;2908:5;;;2932:130;2969:3;2959:8;2956:17;2953:43;;;2976:18;;:::i;:::-;-1:-1:-1;;3032:1:197;3018:16;;3047:5;;2844:218;;3146:2;3136:8;3133:16;3127:3;3121:4;3118:13;3114:36;3108:2;3098:8;3095:16;3090:2;3084:4;3081:12;3077:35;3074:77;3071:159;;;-1:-1:-1;3183:19:197;;;3215:5;;3071:159;3262:34;3287:8;3281:4;3262:34;:::i;:::-;3332:6;3328:1;3324:6;3320:19;3311:7;3308:32;3305:58;;;3343:18;;:::i;:::-;3381:20;;-1:-1:-1;2601:806:197;;;;;:::o;3412:131::-;3472:5;3501:36;3528:8;3522:4;3501:36;:::i;3548:184::-;3618:6;3671:2;3659:9;3650:7;3646:23;3642:32;3639:52;;;3687:1;3684;3677:12;3639:52;-1:-1:-1;3710:16:197;;3548:184;-1:-1:-1;3548:184:197:o;4505:127::-;4566:10;4561:3;4557:20;4554:1;4547:31;4597:4;4594:1;4587:15;4621:4;4618:1;4611:15","linkReferences":{}},"methodIdentifiers":{"addFeedFor(uint256,uint256,address)":"96364e6d","feedFor(uint256,uint256)":"15d63a91","owner()":"8da5cb5b","priceFor(uint256,uint256,uint256)":"a4d0caf2","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"prod1\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath__MulDivOverflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRICE_FEED_ALREADY_EXISTS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PRICE_FEED_NOT_FOUND\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBPriceFeed\",\"name\":\"feed\",\"type\":\"address\"}],\"name\":\"AddFeed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_base\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"_feed\",\"type\":\"address\"}],\"name\":\"addFeedFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"feedFor\",\"outputs\":[{\"internalType\":\"contract IJBPriceFeed\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_base\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"name\":\"priceFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addFeedFor(uint256,uint256,address)\":{\"details\":\"Current feeds can't be modified.\",\"params\":{\"_base\":\"The base currency unit being priced by the feed.\",\"_currency\":\"The currency units the feed's resulting price is in terms of.\",\"_feed\":\"The price feed being added.\"}},\"constructor\":{\"params\":{\"_owner\":\"The address that will own the contract.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"priceFor(uint256,uint256,uint256)\":{\"params\":{\"_base\":\"The base currency unit being priced.\",\"_currency\":\"The currency units the resulting price is in terms of.\",\"_decimals\":\"The number of decimals the returned fixed point price should include.\"},\"returns\":{\"_0\":\"The price of the currency in terms of the base, as a fixed point number with the specified number of decimals.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"feedFor\":{\"custom:param\":\"_currency The currency units the feed's resulting price is in terms of._base The base currency unit being priced by the feed.\",\"details\":\"The feed returns the number of `_currency` units that can be converted to 1 `_base` unit.\"}},\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath__MulDivOverflow(uint256,uint256)\":[{\"notice\":\"Emitted when the result overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"addFeedFor(uint256,uint256,address)\":{\"notice\":\"Add a price feed for a currency in terms of the provided base currency.\"},\"feedFor(uint256,uint256)\":{\"notice\":\"The available price feeds.\"},\"priceFor(uint256,uint256,uint256)\":{\"notice\":\"Gets the number of `_currency` units that can be converted to 1 `_base` unit.\"}},\"notice\":\"Manages and normalizes price feeds.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":\"JBPrices\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":{\"keccak256\":\"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204\",\"dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"prod1","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath__MulDivOverflow"},{"inputs":[],"type":"error","name":"PRICE_FEED_ALREADY_EXISTS"},{"inputs":[],"type":"error","name":"PRICE_FEED_NOT_FOUND"},{"inputs":[{"internalType":"uint256","name":"currency","type":"uint256","indexed":true},{"internalType":"uint256","name":"base","type":"uint256","indexed":true},{"internalType":"contract IJBPriceFeed","name":"feed","type":"address","indexed":false}],"type":"event","name":"AddFeed","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"_currency","type":"uint256"},{"internalType":"uint256","name":"_base","type":"uint256"},{"internalType":"contract IJBPriceFeed","name":"_feed","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addFeedFor"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"feedFor","outputs":[{"internalType":"contract IJBPriceFeed","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_currency","type":"uint256"},{"internalType":"uint256","name":"_base","type":"uint256"},{"internalType":"uint256","name":"_decimals","type":"uint256"}],"stateMutability":"view","type":"function","name":"priceFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"addFeedFor(uint256,uint256,address)":{"details":"Current feeds can't be modified.","params":{"_base":"The base currency unit being priced by the feed.","_currency":"The currency units the feed's resulting price is in terms of.","_feed":"The price feed being added."}},"constructor":{"params":{"_owner":"The address that will own the contract."}},"owner()":{"details":"Returns the address of the current owner."},"priceFor(uint256,uint256,uint256)":{"params":{"_base":"The base currency unit being priced.","_currency":"The currency units the resulting price is in terms of.","_decimals":"The number of decimals the returned fixed point price should include."},"returns":{"_0":"The price of the currency in terms of the base, as a fixed point number with the specified number of decimals."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"addFeedFor(uint256,uint256,address)":{"notice":"Add a price feed for a currency in terms of the provided base currency."},"feedFor(uint256,uint256)":{"notice":"The available price feeds."},"priceFor(uint256,uint256,uint256)":{"notice":"Gets the number of `_currency` units that can be converted to 1 `_base` unit."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":"JBPrices"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":{"keccak256":"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57","urls":["bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204","dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"id":74} \ No newline at end of file diff --git a/out/JBProjects.sol/JBProjects.json b/out/JBProjects.sol/JBProjects.json index f30612f5..618f5d2a 100644 --- a/out/JBProjects.sol/JBProjects.json +++ b/out/JBProjects.sol/JBProjects.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"count","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createFor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"metadataContentOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadataOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenUriResolver","inputs":[{"name":"_newResolver","type":"address","internalType":"contract IJBTokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Create","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMetadata","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"resolver","type":"address","indexed":true,"internalType":"contract IJBTokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x6101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033","sourceMap":"868:5425:75:-:0;;;1449:1;1417:33;;3677:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:187;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;1390:113:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:173;;;;-1:-1:-1;;;;;2599:30:81;;;;3178:431:187;;-1:-1:-1;1456:13:173;1390:113;-1:-1:-1;1456:13:173;:::i;:::-;-1:-1:-1;1479:7:173;:17;1489:7;1479;:17;:::i;:::-;-1:-1:-1;3251:45:187;;-1:-1:-1;3251:4:187;;-1:-1:-1;3282:13:187;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;3306:25:197;3347:18;;;3340:34;;;;3390:18;;;3383:34;4106:13:187;3433:18:197;;;3426:34;4129:4:187;3476:19:197;;;3469:61;4018:7:187;;3278:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:187;3575:27;;936:32:157;719:10:181;936:18:157;:32::i;:::-;3677:222:75;868:5425;;2895:341:183;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:183;;-1:-1:-1;3014:216:183;2895:341;;;;:::o;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;1689:286:183:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:183;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:183:o;14:316:197:-;110:6;163:2;151:9;142:7;138:23;134:32;131:52;;;179:1;176;169:12;131:52;205:16;;-1:-1:-1;;;;;250:31:197;;240:42;;230:70;;296:1;293;286:12;230:70;319:5;14:316;-1:-1:-1;;;14:316:197:o;335:127::-;396:10;391:3;387:20;384:1;377:31;427:4;424:1;417:15;451:4;448:1;441:15;467:380;546:1;542:12;;;;589;;;610:61;;664:4;656:6;652:17;642:27;;610:61;717:2;709:6;706:14;686:18;683:38;680:161;;763:10;758:3;754:20;751:1;744:31;798:4;795:1;788:15;826:4;823:1;816:15;680:161;;467:380;;;:::o;978:543::-;1080:2;1075:3;1072:11;1069:446;;;1116:1;1140:5;1137:1;1130:16;1184:4;1181:1;1171:18;1254:2;1242:10;1238:19;1235:1;1231:27;1225:4;1221:38;1290:4;1278:10;1275:20;1272:47;;;-1:-1:-1;1313:4:197;1272:47;1368:2;1363:3;1359:12;1356:1;1352:20;1346:4;1342:31;1332:41;;1423:82;1441:2;1434:5;1431:13;1423:82;;;1486:17;;;1467:1;1456:13;1423:82;;;1427:3;;;1069:446;978:543;;;:::o;1697:1345::-;1817:10;;-1:-1:-1;;;;;1839:30:197;;1836:56;;;1872:18;;:::i;:::-;1901:97;1991:6;1951:38;1983:4;1977:11;1951:38;:::i;:::-;1945:4;1901:97;:::i;:::-;2053:4;;2110:2;2099:14;;2127:1;2122:663;;;;2829:1;2846:6;2843:89;;;-1:-1:-1;2898:19:197;;;2892:26;2843:89;-1:-1:-1;;1654:1:197;1650:11;;;1646:24;1642:29;1632:40;1678:1;1674:11;;;1629:57;2945:81;;2092:944;;2122:663;925:1;918:14;;;962:4;949:18;;-1:-1:-1;;2158:20:197;;;2276:236;2290:7;2287:1;2284:14;2276:236;;;2379:19;;;2373:26;2358:42;;2471:27;;;;2439:1;2427:14;;;;2306:19;;2276:236;;;2280:3;2540:6;2531:7;2528:19;2525:201;;;2601:19;;;2595:26;-1:-1:-1;;2684:1:197;2680:14;;;2696:3;2676:24;2672:37;2668:42;2653:58;2638:74;;2525:201;-1:-1:-1;;;;;2772:1:197;2756:14;;;2752:22;2739:36;;-1:-1:-1;1697:1345:197:o;3541:548::-;3653:4;3682:2;3711;3700:9;3693:21;3743:6;3737:13;3786:6;3781:2;3770:9;3766:18;3759:34;3811:1;3821:140;3835:6;3832:1;3829:13;3821:140;;;3930:14;;;3926:23;;3920:30;3896:17;;;3915:2;3892:26;3885:66;3850:10;;3821:140;;;3825:3;4010:1;4005:2;3996:6;3985:9;3981:22;3977:31;3970:42;4080:2;4073;4069:7;4064:2;4056:6;4052:15;4048:29;4037:9;4033:45;4029:54;4021:62;;;;3541:548;;;;:::o;4094:297::-;4212:12;;4259:4;4248:16;;;4242:23;;4212:12;4277:16;;4274:111;;;-1:-1:-1;;4351:4:197;4347:17;;;;4344:1;4340:25;4336:38;4325:50;;4094:297;-1:-1:-1;4094:297:197:o;:::-;868:5425:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033","sourceMap":"868:5425:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3085:290;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;3085:290:75;;;;;;;;1417:33;;;;;;;;;738:25:197;;;726:2;711:18;1417:33:75;592:177:197;2471:98:173;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1988:32:197;;;1970:51;;1958:2;1943:18;3935:167:173;1824:203:197;3468:406:173;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;6070:221:75:-;;;;;;:::i;:::-;;:::i;9221:104:159:-;;;:::i;5503:414:75:-;;;;;;:::i;:::-;;:::i;1756:80::-;;;;;;:::i;:::-;;:::i;3688:268:159:-;;;;;;:::i;:::-;;:::i;4974:149:173:-;;;;;;:::i;:::-;;:::i;2820:249:159:-;;;:::i;5113:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5213:20:159;;;5187:7;5213:20;;;:11;:20;;;;;;;;5113:127;5322:147;;;;;;:::i;:::-;;:::i;2190:219:173:-;;;;;;:::i;:::-;;:::i;4564:504:75:-;;;;;;:::i;:::-;;:::i;1929:204:173:-;;;;;;:::i;:::-;;:::i;1824:101:157:-;;;:::i;8967:117:159:-;;;;;;:::i;:::-;;:::i;5021:633:187:-;;;:::i;:::-;;;;;;;;;;;;;:::i;1201:85:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;1201:85;;4592:245:159;;;;;;:::i;:::-;;:::i;2547:118::-;;;:::i;:::-;;;6492:14:197;6480:27;;;6462:46;;6450:2;6435:18;2547:118:159;6318:196:197;2633:102:173;;;:::i;3159:144:159:-;;;;;;:::i;:::-;;:::i;4169:153:173:-;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;5189:276:173;;;;;;:::i;:::-;;:::i;5547:564:159:-;;;;;;:::i;:::-;;:::i;2414:394:75:-;;;;;;:::i;:::-;;:::i;1913:52::-;;;;;-1:-1:-1;;;;;1913:52:75;;;4388:162:173;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;2074:198:157;;;;;;:::i;:::-;;:::i;3085:290:75:-;3196:4;-1:-1:-1;;;;;;3221:45:75;;-1:-1:-1;;;3221:45:75;;:102;;-1:-1:-1;;;;;;;3276:47:75;;-1:-1:-1;;;3276:47:75;3221:102;:149;;;;3333:37;3357:12;3333:23;:37::i;:::-;3208:162;3085:290;-1:-1:-1;;3085:290:75:o;2471:98:173:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:173;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:173;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:173;:2;-1:-1:-1;;;;;3605:11:173;;3597:57;;;;-1:-1:-1;;;3597:57:173;;10796:2:197;3597:57:173;;;10778:21:197;10835:2;10815:18;;;10808:30;10874:34;10854:18;;;10847:62;-1:-1:-1;;;10925:18:197;;;10918:31;10966:19;;3597:57:173;;;;;;;;;719:10:181;-1:-1:-1;;;;;3686:21:173;;;;:62;;-1:-1:-1;3711:37:173;3728:5;719:10:181;4388:162:173;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:173;;11198:2:197;3665:170:173;;;11180:21:197;11237:2;11217:18;;;11210:30;11276:34;11256:18;;;11249:62;11347:31;11327:18;;;11320:59;11396:19;;3665:170:173;10996:425:197;3665:170:173;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:181;4804:7:173;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:173;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;6070:221:75:-;1094:13:157;:11;:13::i;:::-;6198:16:75::1;:31:::0;;-1:-1:-1;;;;;;6198:31:75::1;-1:-1:-1::0;;;;;6198:31:75;::::1;::::0;;::::1;::::0;;;6241:45:::1;::::0;6275:10:::1;1970:51:197::0;;6241:45:75::1;::::0;1958:2:197;1943:18;6241:45:75::1;;;;;;;6070:221:::0;:::o;9221:104:159:-;9272:7;9298:20;:18;:20::i;:::-;9291:27;;9221:104;:::o;5503:414:75:-;5644:19;5652:10;5644:7;:19::i;:::-;5665:10;344:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;5837:17:75::1;:9:::0;;:17:::1;:::i;:::-;5787:29;::::0;;;:17:::1;:29;::::0;;;;;;;5817:16;;::::1;;5787:47:::0;;;;;;;;:67:::1;::::0;;:47;:67:::1;:::i;:::-;;5878:10;5866:46;5890:9;5901:10;5866:46;;;;;;;:::i;:::-;;;;;;;;5503:414:::0;;;;;:::o;1756:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3688:268:159:-;3784:7;3823;:5;:7::i;:::-;3811:19;;:9;:19;3803:52;;;;-1:-1:-1;;;3803:52:159;;15683:2:197;3803:52:159;;;15665:21:197;15722:2;15702:18;;;15695:30;-1:-1:-1;;;15741:18:197;;;15734:50;15801:18;;3803:52:159;15481:344:197;3803:52:159;3872:77;3920:28;3938:9;3920:17;:28::i;:::-;-1:-1:-1;;;;;3872:29:159;;;;;;:20;:29;;;;;;:47;:77::i;:::-;-1:-1:-1;;;;;3865:84:159;;3688:268;-1:-1:-1;;;3688:268:159:o;4974:149:173:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2820:249:159:-;2880:13;2973:12;2962:7;:5;:7::i;:::-;:23;;;2954:60;;;;-1:-1:-1;;;2954:60:159;;16032:2:197;2954:60:159;;;16014:21:197;16071:2;16051:18;;;16044:30;16110:26;16090:18;;;16083:54;16154:18;;2954:60:159;15830:348:197;2954:60:159;-1:-1:-1;3024:38:159;;;;;;;;;;;;;;;;;;2820:249::o;5322:147::-;719:10:181;5433:29:159;719:10:181;5452:9:159;5433;:29::i;:::-;5383:86;5322:147;:::o;2190:219:173:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;;2324:56;;;;-1:-1:-1;;;2324:56:173;;16385:2:197;2324:56:173;;;16367:21:197;16424:2;16404:18;;;16397:30;-1:-1:-1;;;16443:18:197;;;16436:54;16507:18;;2324:56:173;16183:348:197;4564:504:75;4676:17;4773:5;;4771:7;;;;;:::i;:::-;;;;;-1:-1:-1;4771:7:75;-1:-1:-1;4810:28:75;4820:6;4771:7;4810:9;:28::i;:::-;4928:1;4900:17;:9;;:17;:::i;:::-;4894:31;;:35;4890:113;;;4986:17;:9;;:17;:::i;:::-;4937:28;;;;:17;:28;;;;;;;;4966:16;;;;4937:46;;;;;;;;:66;;;:46;:66;:::i;:::-;;4890:113;5033:6;-1:-1:-1;;;;;5015:48:75;5022:9;5015:48;5041:9;5052:10;5015:48;;;;;;;:::i;:::-;;;;;;;;4564:504;;;;:::o;1929:204:173:-;2001:7;-1:-1:-1;;;;;2028:19:173;;2020:73;;;;-1:-1:-1;;;2020:73:173;;17010:2:197;2020:73:173;;;16992:21:197;17049:2;17029:18;;;17022:30;17088:34;17068:18;;;17061:62;-1:-1:-1;;;17139:18:197;;;17132:39;17188:19;;2020:73:173;16808:405:197;2020:73:173;-1:-1:-1;;;;;;2110:16:173;;;;;:9;:16;;;;;;;1929:204::o;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;8967:117:159:-;-1:-1:-1;;;;;9053:14:159;;9027:7;9053:14;;;:7;:14;;;;;918::182;9053:24:159;827:112:182;5021:633:187;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:187;;;-1:-1:-1;5376:271:187;;-1:-1:-1;5543:13:187;;-1:-1:-1;5578:4:187;;-1:-1:-1;5605:1:187;-1:-1:-1;5621:16:187;-1:-1:-1;5376:271:187;-1:-1:-1;5021:633:187:o;4592:245:159:-;4677:7;4716;:5;:7::i;:::-;4704:19;;:9;:19;4696:52;;;;-1:-1:-1;;;4696:52:159;;15683:2:197;4696:52:159;;;15665:21:197;15722:2;15702:18;;;15695:30;-1:-1:-1;;;15741:18:197;;;15734:50;15801:18;;4696:52:159;15481:344:197;4696:52:159;4765:65;4801:28;4819:9;4801:17;:28::i;:::-;4765:17;;:35;:65::i;:::-;-1:-1:-1;;;;;4758:72:159;;4592:245;-1:-1:-1;;4592:245:159:o;2547:118::-;2602:6;2627:31;2645:12;2627:17;:31::i;2633:102:173:-;2689:13;2721:7;2714:14;;;;;:::i;3159:144:159:-;-1:-1:-1;;;;;3258:29:159;;3232:7;3258:29;;;:20;:29;;;;;:38;;:36;:38::i;4169:153:173:-;4263:52;719:10:181;4296:8:173;4306;4263:18;:52::i;5189:276::-;5319:41;719:10:181;5352:7:173;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:173;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;5547:564:159:-;5766:6;5747:15;:25;;5739:62;;;;-1:-1:-1;;;5739:62:159;;17420:2:197;5739:62:159;;;17402:21:197;17459:2;17439:18;;;17432:30;17498:26;17478:18;;;17471:54;17542:18;;5739:62:159;17218:348:197;5739:62:159;5882:58;;;1892:71;5882:58;;;17802:25:197;-1:-1:-1;;;;;17863:32:197;;17843:18;;;17836:60;;;;17912:18;;;17905:34;;;17955:18;;;17948:34;;;5811:14:159;;5828:169;;5855:87;;17774:19:197;;5882:58:159;;;;;;;;;;;;5872:69;;;;;;5855:16;:87::i;:::-;5956:1;5971;5986;5828:13;:169::i;:::-;5811:186;;6024:17;6034:6;6024:9;:17::i;:::-;6015:5;:26;6007:59;;;;-1:-1:-1;;;6007:59:159;;18195:2:197;6007:59:159;;;18177:21:197;18234:2;18214:18;;;18207:30;-1:-1:-1;;;18253:18:197;;;18246:50;18313:18;;6007:59:159;17993:344:197;6007:59:159;6076:28;6086:6;6094:9;6076;:28::i;:::-;5729:382;5547:564;;;;;;:::o;2414:394:75:-;2584:16;;2482:13;;-1:-1:-1;;;;;2584:16:75;;2654:67;;-1:-1:-1;;2712:9:75;;;;;;;;;-1:-1:-1;2712:9:75;;;2414:394;-1:-1:-1;2414:394:75:o;2654:67::-;2767:36;;-1:-1:-1;;;2767:36:75;;;;;738:25:197;;;-1:-1:-1;;;;;2767:24:75;;;;;711:18:197;;2767:36:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2767:36:75;;;;;;;;;;;;:::i;:::-;2760:43;2414:394;-1:-1:-1;;;2414:394:75:o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;19197:2:197;2154:73:157::1;::::0;::::1;19179:21:197::0;19236:2;19216:18;;;19209:30;19275:34;19255:18;;;19248:62;-1:-1:-1;;;19326:18:197;;;19319:36;19372:19;;2154:73:157::1;18995:402:197::0;2154:73:157::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1570:300:173:-;1672:4;-1:-1:-1;;;;;;1707:40:173;;-1:-1:-1;;;1707:40:173;;:104;;-1:-1:-1;;;;;;;1763:48:173;;-1:-1:-1;;;1763:48:173;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:188;;;1827:36:173;829:155:188;13240:133:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;13313:53;;;;-1:-1:-1;;;13313:53:173;;16385:2:197;13313:53:173;;;16367:21:197;16424:2;16404:18;;;16397:30;-1:-1:-1;;;16443:18:197;;;16436:54;16507:18;;13313:53:173;16183:348:197;12572:171:173;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:173;-1:-1:-1;;;;;12646:29:173;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:173;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:173;:7;-1:-1:-1;;;;;7570:16:173;;:52;;;-1:-1:-1;;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:173;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:173;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:173:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:173;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:173;;11346:81;;;;-1:-1:-1;;;11346:81:173;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:173;;11437:65;;;;-1:-1:-1;;;11437:65:173;;20010:2:197;11437:65:173;;;19992:21:197;20049:2;20029:18;;;20022:30;20088:34;20068:18;;;20061:62;-1:-1:-1;;;20139:18:197;;;20132:34;20183:19;;11437:65:173;19808:400:197;11437:65:173;11682:4;-1:-1:-1;;;;;11655:31:173;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:173;;11647:81;;;;-1:-1:-1;;;11647:81:173;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:173;;;;;;-1:-1:-1;;;;;12265:15:173;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:173;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;1359:130:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;20415:2:197;1414:68:157;;;20397:21:197;;;20434:18;;;20427:30;20493:34;20473:18;;;20466:62;20545:18;;1414:68:157;20213:356:197;3695:262:187;3748:7;3779:4;-1:-1:-1;;;;;3788:11:187;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:187;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;23845:25:197;4077:11:187;23886:18:197;;;23879:34;;;;4090:14:187;23929:18:197;;;23922:34;4106:13:187;23972:18:197;;;23965:34;4129:4:187;24015:19:197;;;24008:61;4018:7:187;;23817:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3221:359:81;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;20843:34:197;-1:-1:-1;;;;;20913:15:197;;;20893:18;;;20886:43;20945:18;;;20938:34;;;20988:18;;;20981:34;;;3390:13:81;:27;;;;20777:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;20843:34:197;-1:-1:-1;;;;;20913:15:197;;;20893:18;;;20886:43;3527:1:81;20945:18:197;;;20938:34;20988:18;;;20981:34;;;3477:13:81;:27;;;;20777:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;15264:187:192;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:192;;21938:2:197;15338:76:192;;;21920:21:197;21977:2;21957:18;;;21950:30;22016:34;21996:18;;;21989:62;-1:-1:-1;;;22067:18:197;;;22060:36;22113:19;;15338:76:192;21736:402:197;15338:76:192;-1:-1:-1;15438:5:192;15264:187::o;9426:606:180:-;9544:24;;9511:7;;;9544:24;9643:1;9637:7;;9633:234;;;9660:11;9680:14;9690:3;9680:9;:14::i;:::-;9674:20;;:3;:20;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;9660:34;;-1:-1:-1;14047:28:180;;9718:42;;;;;9712:48;;;;9708:149;;;9787:3;9780:10;;9708:149;;;9835:7;:3;9841:1;9835:7;:::i;:::-;9829:13;;9708:149;9646:221;9633:234;9877:11;9891:53;9910:4;9929:3;9934;9939:4;9891:18;:53::i;:::-;9877:67;-1:-1:-1;9962:8:180;;:63;;9977:41;9991:4;10010:7;10016:1;10010:3;:7;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;;14047:28;;13826:265;9977:41;:48;;;;-1:-1:-1;;;;;9977:48:180;9962:63;;;9973:1;9962:63;9955:70;9426:606;-1:-1:-1;;;;;;;9426:606:180:o;6289:313:159:-;-1:-1:-1;;;;;5213:20:159;;;6371:19;5213:20;;;:11;:20;;;;;;;;6421:32;;;-1:-1:-1;;;;;;6421:32:159;;;;;;;6469:48;;5213:20;;;;;6421:32;5213:20;;;;6469:48;;6371:19;6469:48;6527:68;6546:11;6559:9;6570:24;6586:7;6570:15;:24::i;:::-;6527:18;:68::i;7995:108:173:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;3367:268:183:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:192;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:192;;22608:2:197;14314:76:192;;;22590:21:197;22647:2;22627:18;;;22620:30;22686:34;22666:18;;;22659:62;-1:-1:-1;;;22737:18:197;;;22730:36;22783:19;;14314:76:192;22406:402:197;10152:206:180;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;10303:41::-;:48;;;;-1:-1:-1;;;;;10303:48:180;10288:63;;;10299:1;10281:70;10152:206;-1:-1:-1;;;10152:206:180:o;12879:277:173:-;12999:8;-1:-1:-1;;;;;12990:17:173;:5;-1:-1:-1;;;;;12990:17:173;;12982:55;;;;-1:-1:-1;;;12982:55:173;;23015:2:197;12982:55:173;;;22997:21:197;23054:2;23034:18;;;23027:30;23093:27;23073:18;;;23066:55;23138:18;;12982:55:173;22813:349:197;12982:55:173;-1:-1:-1;;;;;13047:25:173;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:173;;;;;;;;;;13108:41;;540::197;;;13108::173;;513:18:197;13108:41:173;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:173;;;;;;;:::i;4768:165:187:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:186;8530:11;-1:-1:-1;;;8554:23:186;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:186;6598:232;-1:-1:-1;;;;;6598:232:186:o;8704:203:159:-;-1:-1:-1;;;;;8824:14:159;;8764:15;8824:14;;;:7;:14;;;;;918::182;;1050:1;1032:19;;;;918:14;8883:17:159;8781:126;8704:203;;;:::o;961:288:176:-;1131:41;1152:4;1158:2;1162:9;1131:20;:41::i;:::-;1182:60;5189:276:173;6530:1642:191;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:191;;6530:1642;-1:-1:-1;6530:1642:191:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;12470:433:180:-;12627:7;12646:230;12659:4;12653:3;:10;12646:230;;;12679:11;12693:23;12706:3;12711:4;12693:12;:23::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;12679:37;;-1:-1:-1;12734:35:180;;;;14047:28;;12734:29;;;:35;12730:136;;;12796:3;12789:10;;12730:136;;;12844:7;:3;12850:1;12844:7;:::i;:::-;12838:13;;12730:136;12665:211;12646:230;;;-1:-1:-1;12892:4:180;12470:433;-1:-1:-1;;;12470:433:180:o;1412:133:176:-;1494:7;1520:18;1530:7;1520:9;:18::i;7321:780:159:-;7421:2;-1:-1:-1;;;;;7413:10:159;:4;-1:-1:-1;;;;;7413:10:159;;;:24;;;;;7436:1;7427:6;:10;7413:24;7409:686;;;-1:-1:-1;;;;;7457:18:159;;;7453:315;;-1:-1:-1;;;;;7561:26:159;;7496:16;7561:26;;;:20;:26;;;;;7496:16;;7534:150;;7609:9;7640:26;7659:6;7640:18;:26::i;:::-;7534:5;:150::i;:::-;-1:-1:-1;;;;;7495:189:159;;;-1:-1:-1;;;;;7495:189:159;;;7728:4;-1:-1:-1;;;;;7707:46:159;;7734:8;7744;7707:46;;;;;;24386:25:197;;;24442:2;24427:18;;24420:34;24374:2;24359:18;;24212:248;7707:46:159;;;;;;;;7477:291;;7453:315;-1:-1:-1;;;;;7785:16:159;;;7781:304;;-1:-1:-1;;;;;7887:24:159;;7822:16;7887:24;;;:20;:24;;;;;7822:16;;7860:143;;7933:4;7959:26;7978:6;7959:18;:26::i;7860:143::-;-1:-1:-1;;;;;7821:182:159;;;-1:-1:-1;;;;;7821:182:159;;;8047:2;-1:-1:-1;;;;;8026:44:159;;8051:8;8061;8026:44;;;;;;24386:25:197;;;24442:2;24427:18;;24420:34;24374:2;24359:18;;24212:248;8324:279:173;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:173;;;;;;;:::i;2059:405:183:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:183;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:183;;;-1:-1:-1;2416:4:183;2407:14;;2400:28;;;;-1:-1:-1;2371:16:183;2059:405::o;13925:831:173:-;14074:4;-1:-1:-1;;;;;14094:13:173;;1702:19:179;:23;14090:660:173;;14129:71;;-1:-1:-1;;;14129:71:173;;-1:-1:-1;;;;;14129:36:173;;;;;:71;;719:10:181;;14180:4:173;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:173;;;;;;;;-1:-1:-1;;14129:71:173;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:173;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:173;-1:-1:-1;;;14250:51:173;;-1:-1:-1;14243:58:173;;14090:660;-1:-1:-1;14735:4:173;14728:11;;5009:1456:186;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:186;;-1:-1:-1;6123:30:186;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;25440:25:197;;;25513:4;25501:17;;25481:18;;;25474:45;;;;25535:18;;;25528:34;;;25578:18;;;25571:34;;;6276:24:186;;25412:19:197;;6276:24:186;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:186;;-1:-1:-1;;6276:24:186;;;-1:-1:-1;;;;;;;6314:20:186;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:186;;-1:-1:-1;5009:1456:186;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:186;;25950:2:197;788:34:186;;;25932:21:197;25989:2;25969:18;;;25962:30;26028:26;26008:18;;;26001:54;26072:18;;788:34:186;25748:348:197;730:345:186;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:186;;26303:2:197;903:41:186;;;26285:21:197;26342:2;26322:18;;;26315:30;26381:33;26361:18;;;26354:61;26432:18;;903:41:186;26101:355:197;839:236:186;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:186;;26663:2:197;1020:44:186;;;26645:21:197;26702:2;26682:18;;;26675:30;26741:34;26721:18;;;26714:62;-1:-1:-1;;;26792:18:197;;;26785:32;26834:19;;1020:44:186;26461:398:197;6836:399:159;-1:-1:-1;;;;;6939:18:159;;6935:107;;6973:58;6979:17;6998:4;7004:26;7023:6;7004:18;:26::i;6973:58::-;;;6935:107;-1:-1:-1;;;;;7055:16:159;;7051:110;;7087:63;7093:17;7112:9;7123:26;7142:6;7123:18;:26::i;7087:63::-;;;7051:110;-1:-1:-1;;;;;5213:20:159;;;5187:7;5213:20;;;:11;:20;;;;;;;;;;;;;;;7170:58;;5213:20;;;;;7221:6;7170:18;:58::i;8633:983:191:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:191:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:191;;665:20;-1:-1:-1;588:104:191:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;8489:101:159:-;8552:7;8578:5;8582:1;8578;:5;:::i;2836:192:192:-;2893:7;-1:-1:-1;;;;;2920:26:192;;;2912:78;;;;-1:-1:-1;;;2912:78:192;;27478:2:197;2912:78:192;;;27460:21:197;27517:2;27497:18;;;27490:30;27556:34;27536:18;;;27529:62;-1:-1:-1;;;27607:18:197;;;27600:37;27654:19;;2912:78:192;27276:403:197;8107:274:159;8274:7;8283;8309:65;8320:26;8338:7;:5;:7::i;:::-;8320:26;;:17;:26::i;:::-;8348:25;8351:14;:5;:12;:14::i;:::-;8367:5;8348:2;:25;;:::i;:::-;8309:5;;:65;:10;:65::i;:::-;8302:72;;;;8107:274;;;;;;;:::o;8387:96::-;8445:7;8471:5;8475:1;8471;:5;:::i;8925:920:173:-;-1:-1:-1;;;;;9004:16:173;;8996:61;;;;-1:-1:-1;;;8996:61:173;;28073:2:197;8996:61:173;;;28055:21:197;;;28092:18;;;28085:30;28151:34;28131:18;;;28124:62;28203:18;;8996:61:173;27871:356:197;8996:61:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:173;;28434:2:197;9067:58:173;;;28416:21:197;28473:2;28453:18;;;28446:30;28512;28492:18;;;28485:58;28560:18;;9067:58:173;28232:352:197;9067:58:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:173;;28434:2:197;9271:58:173;;;28416:21:197;28473:2;28453:18;;;28446:30;28512;28492:18;;;28485:58;28560:18;;9271:58:173;28232:352:197;9271:58:173;-1:-1:-1;;;;;9671:13:173;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:173;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;2536:245:183:-;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:183;;;;;;;;;;;8063:162:180;8145:7;;8180:38;8188:4;8207:3;8212:5;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:56:180;;;;;;;-1:-1:-1;11656:16:180;;;-1:-1:-1;11656:16:180;11648:56;;;;-1:-1:-1;;;11648:56:180;;28791:2:197;11648:56:180;;;28773:21:197;28830:2;28810:18;;;28803:30;28869:29;28849:18;;;28842:57;28916:18;;11648:56:180;28589:351:197;11648:56:180;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:180;;;;;;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:180;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:180;;;;;;;;;;;;;;;;;;;;;;;;;11764:189;11974:11;;;;-1:-1:-1;11987:5:180;;-1:-1:-1;11966:27:180;;-1:-1:-1;11966:27:180;11443:675;-1:-1:-1;;12034:41:180;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:180;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12068:5:180;12090:17;;14:131:197;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;774:250::-;859:1;869:113;883:6;880:1;877:13;869:113;;;959:11;;;953:18;940:11;;;933:39;905:2;898:10;869:113;;;-1:-1:-1;;1016:1:197;998:16;;991:27;774:250::o;1029:271::-;1071:3;1109:5;1103:12;1136:6;1131:3;1124:19;1152:76;1221:6;1214:4;1209:3;1205:14;1198:4;1191:5;1187:16;1152:76;:::i;:::-;1282:2;1261:15;-1:-1:-1;;1257:29:197;1248:39;;;;1289:4;1244:50;;1029:271;-1:-1:-1;;1029:271:197:o;1305:220::-;1454:2;1443:9;1436:21;1417:4;1474:45;1515:2;1504:9;1500:18;1492:6;1474:45;:::i;1530:180::-;1589:6;1642:2;1630:9;1621:7;1617:23;1613:32;1610:52;;;1658:1;1655;1648:12;1610:52;-1:-1:-1;1681:23:197;;1530:180;-1:-1:-1;1530:180:197:o;2032:131::-;-1:-1:-1;;;;;2107:31:197;;2097:42;;2087:70;;2153:1;2150;2143:12;2168:315;2236:6;2244;2297:2;2285:9;2276:7;2272:23;2268:32;2265:52;;;2313:1;2310;2303:12;2265:52;2352:9;2339:23;2371:31;2396:5;2371:31;:::i;:::-;2421:5;2473:2;2458:18;;;;2445:32;;-1:-1:-1;;;2168:315:197:o;2488:456::-;2565:6;2573;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2689:9;2676:23;2708:31;2733:5;2708:31;:::i;:::-;2758:5;-1:-1:-1;2815:2:197;2800:18;;2787:32;2828:33;2787:32;2828:33;:::i;:::-;2488:456;;2880:7;;-1:-1:-1;;;2934:2:197;2919:18;;;;2906:32;;2488:456::o;2949:276::-;3037:6;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;3145:9;3132:23;3164:31;3189:5;3164:31;:::i;3412:165::-;3482:5;3527:2;3518:6;3513:3;3509:16;3505:25;3502:45;;;3543:1;3540;3533:12;3582:445;3688:6;3696;3749:2;3737:9;3728:7;3724:23;3720:32;3717:52;;;3765:1;3762;3755:12;3717:52;3801:9;3788:23;3778:33;;3862:2;3851:9;3847:18;3834:32;3889:18;3881:6;3878:30;3875:50;;;3921:1;3918;3911:12;3875:50;3944:77;4013:7;4004:6;3993:9;3989:22;3944:77;:::i;:::-;3934:87;;;3582:445;;;;;:::o;4032:248::-;4100:6;4108;4161:2;4149:9;4140:7;4136:23;4132:32;4129:52;;;4177:1;4174;4167:12;4129:52;-1:-1:-1;;4200:23:197;;;4270:2;4255:18;;;4242:32;;-1:-1:-1;4032:248:197:o;4537:512::-;4643:6;4651;4704:2;4692:9;4683:7;4679:23;4675:32;4672:52;;;4720:1;4717;4710:12;4672:52;4759:9;4746:23;4778:31;4803:5;4778:31;:::i;:::-;4828:5;-1:-1:-1;4884:2:197;4869:18;;4856:32;4911:18;4900:30;;4897:50;;;4943:1;4940;4933:12;5054:1259;5460:3;5455;5451:13;5443:6;5439:26;5428:9;5421:45;5402:4;5485:2;5523:3;5518:2;5507:9;5503:18;5496:31;5550:46;5591:3;5580:9;5576:19;5568:6;5550:46;:::i;:::-;5644:9;5636:6;5632:22;5627:2;5616:9;5612:18;5605:50;5678:33;5704:6;5696;5678:33;:::i;:::-;5742:2;5727:18;;5720:34;;;-1:-1:-1;;;;;5791:32:197;;5785:3;5770:19;;5763:61;5811:3;5840:19;;5833:35;;;5905:22;;;5899:3;5884:19;;5877:51;5977:13;;5999:22;;;6049:2;6075:15;;;;-1:-1:-1;6037:15:197;;;;-1:-1:-1;6118:169:197;6132:6;6129:1;6126:13;6118:169;;;6193:13;;6181:26;;6262:15;;;;6227:12;;;;6154:1;6147:9;6118:169;;;-1:-1:-1;6304:3:197;;5054:1259;-1:-1:-1;;;;;;;;;;;;5054:1259:197:o;6519:118::-;6605:5;6598:13;6591:21;6584:5;6581:32;6571:60;;6627:1;6624;6617:12;6642:382;6707:6;6715;6768:2;6756:9;6747:7;6743:23;6739:32;6736:52;;;6784:1;6781;6774:12;6736:52;6823:9;6810:23;6842:31;6867:5;6842:31;:::i;:::-;6892:5;-1:-1:-1;6949:2:197;6934:18;;6921:32;6962:30;6921:32;6962:30;:::i;:::-;7011:7;7001:17;;;6642:382;;;;;:::o;7263:127::-;7324:10;7319:3;7315:20;7312:1;7305:31;7355:4;7352:1;7345:15;7379:4;7376:1;7369:15;7395:275;7466:2;7460:9;7531:2;7512:13;;-1:-1:-1;;7508:27:197;7496:40;;7566:18;7551:34;;7587:22;;;7548:62;7545:88;;;7613:18;;:::i;:::-;7649:2;7642:22;7395:275;;-1:-1:-1;7395:275:197:o;7675:186::-;7723:4;7756:18;7748:6;7745:30;7742:56;;;7778:18;;:::i;:::-;-1:-1:-1;7844:2:197;7823:15;-1:-1:-1;;7819:29:197;7850:4;7815:40;;7675:186::o;7866:1016::-;7961:6;7969;7977;7985;8038:3;8026:9;8017:7;8013:23;8009:33;8006:53;;;8055:1;8052;8045:12;8006:53;8094:9;8081:23;8113:31;8138:5;8113:31;:::i;:::-;8163:5;-1:-1:-1;8220:2:197;8205:18;;8192:32;8233:33;8192:32;8233:33;:::i;:::-;8285:7;-1:-1:-1;8339:2:197;8324:18;;8311:32;;-1:-1:-1;8394:2:197;8379:18;;8366:32;8421:18;8410:30;;8407:50;;;8453:1;8450;8443:12;8407:50;8476:22;;8529:4;8521:13;;8517:27;-1:-1:-1;8507:55:197;;8558:1;8555;8548:12;8507:55;8594:2;8581:16;8619:48;8635:31;8663:2;8635:31;:::i;:::-;8619:48;:::i;:::-;8690:2;8683:5;8676:17;8730:7;8725:2;8720;8716;8712:11;8708:20;8705:33;8702:53;;;8751:1;8748;8741:12;8702:53;8806:2;8801;8797;8793:11;8788:2;8781:5;8777:14;8764:45;8850:1;8845:2;8840;8833:5;8829:14;8825:23;8818:34;8871:5;8861:15;;;;;7866:1016;;;;;;;:::o;8887:687::-;8989:6;8997;9005;9013;9021;9029;9082:3;9070:9;9061:7;9057:23;9053:33;9050:53;;;9099:1;9096;9089:12;9050:53;9138:9;9125:23;9157:31;9182:5;9157:31;:::i;:::-;9207:5;-1:-1:-1;9259:2:197;9244:18;;9231:32;;-1:-1:-1;9310:2:197;9295:18;;9282:32;;-1:-1:-1;9366:2:197;9351:18;;9338:32;9414:4;9401:18;;9389:31;;9379:59;;9434:1;9431;9424:12;9379:59;8887:687;;;;-1:-1:-1;8887:687:197;;9511:3;9496:19;;9483:33;;9563:3;9548:19;;;9535:33;;-1:-1:-1;8887:687:197;-1:-1:-1;;8887:687:197:o;9816:388::-;9884:6;9892;9945:2;9933:9;9924:7;9920:23;9916:32;9913:52;;;9961:1;9958;9951:12;9913:52;10000:9;9987:23;10019:31;10044:5;10019:31;:::i;:::-;10069:5;-1:-1:-1;10126:2:197;10111:18;;10098:32;10139:33;10098:32;10139:33;:::i;10209:380::-;10288:1;10284:12;;;;10331;;;10352:61;;10406:4;10398:6;10394:17;10384:27;;10352:61;10459:2;10451:6;10448:14;10428:18;10425:38;10422:161;;10505:10;10500:3;10496:20;10493:1;10486:31;10540:4;10537:1;10530:15;10568:4;10565:1;10558:15;11426:409;11628:2;11610:21;;;11667:2;11647:18;;;11640:30;11706:34;11701:2;11686:18;;11679:62;-1:-1:-1;;;11772:2:197;11757:18;;11750:43;11825:3;11810:19;;11426:409::o;11840:522::-;11918:4;11924:6;11984:11;11971:25;12078:2;12074:7;12063:8;12047:14;12043:29;12039:43;12019:18;12015:68;12005:96;;12097:1;12094;12087:12;12005:96;12124:33;;12176:20;;;-1:-1:-1;12219:18:197;12208:30;;12205:50;;;12251:1;12248;12241:12;12205:50;12284:4;12272:17;;-1:-1:-1;12315:14:197;12311:27;;;12301:38;;12298:58;;;12352:1;12349;12342:12;12298:58;11840:522;;;;;:::o;12493:543::-;12595:2;12590:3;12587:11;12584:446;;;12631:1;12655:5;12652:1;12645:16;12699:4;12696:1;12686:18;12769:2;12757:10;12753:19;12750:1;12746:27;12740:4;12736:38;12805:4;12793:10;12790:20;12787:47;;;-1:-1:-1;12828:4:197;12787:47;12883:2;12878:3;12874:12;12871:1;12867:20;12861:4;12857:31;12847:41;;12938:82;12956:2;12949:5;12946:13;12938:82;;;13001:17;;;12982:1;12971:13;12938:82;;;12942:3;;;12493:543;;;:::o;13212:1206::-;13336:18;13331:3;13328:27;13325:53;;;13358:18;;:::i;:::-;13387:94;13477:3;13437:38;13469:4;13463:11;13437:38;:::i;:::-;13431:4;13387:94;:::i;:::-;13507:1;13532:2;13527:3;13524:11;13549:1;13544:616;;;;14204:1;14221:3;14218:93;;;-1:-1:-1;14277:19:197;;;14264:33;14218:93;-1:-1:-1;;13169:1:197;13165:11;;;13161:24;13157:29;13147:40;13193:1;13189:11;;;13144:57;14324:78;;13517:895;;13544:616;12440:1;12433:14;;;12477:4;12464:18;;-1:-1:-1;;13580:17:197;;;13681:9;13703:229;13717:7;13714:1;13711:14;13703:229;;;13806:19;;;13793:33;13778:49;;13913:4;13898:20;;;;13866:1;13854:14;;;;13733:12;13703:229;;;13707:3;13960;13951:7;13948:16;13945:159;;;14084:1;14080:6;14074:3;14068;14065:1;14061:11;14057:21;14053:34;14049:39;14036:9;14031:3;14027:19;14014:33;14010:79;14002:6;13995:95;13945:159;;;14147:1;14141:3;14138:1;14134:11;14130:19;14124:4;14117:33;13517:895;;;13212:1206;;;:::o;14423:1053::-;14654:2;14643:9;14636:21;14617:4;14705:6;14692:20;14792:2;14788:7;14779:6;14763:14;14759:27;14755:41;14735:18;14731:66;14721:94;;14811:1;14808;14801:12;14721:94;14837:31;;14945:4;14934:16;;;14891:19;14973:18;14962:30;;14959:50;;;15005:1;15002;14995:12;14959:50;15054:6;15038:14;15034:27;15025:7;15021:41;15018:61;;;15075:1;15072;15065:12;15018:61;15115:2;15110;15099:9;15095:18;15088:30;15155:6;15149:3;15138:9;15134:19;15127:35;15214:6;15205:7;15199:3;15188:9;15184:19;15171:50;15271:1;15265:3;15256:6;15245:9;15241:22;15237:32;15230:43;15334:4;15326:6;15322:17;15309:31;15304:2;15293:9;15289:18;15282:59;15409:3;15402:2;15398:7;15393:2;15385:6;15381:15;15377:29;15366:9;15362:45;15358:55;15350:63;;;;15422:48;15464:4;15453:9;15449:20;15441:6;-1:-1:-1;;;;;1781:31:197;1769:44;;1715:104;16536:127;16597:10;16592:3;16588:20;16585:1;16578:31;16628:4;16625:1;16618:15;16652:4;16649:1;16642:15;16668:135;16707:3;16728:17;;;16725:43;;16748:18;;:::i;:::-;-1:-1:-1;16795:1:197;16784:13;;16668:135::o;18342:648::-;18422:6;18475:2;18463:9;18454:7;18450:23;18446:32;18443:52;;;18491:1;18488;18481:12;18443:52;18524:9;18518:16;18557:18;18549:6;18546:30;18543:50;;;18589:1;18586;18579:12;18543:50;18612:22;;18665:4;18657:13;;18653:27;-1:-1:-1;18643:55:197;;18694:1;18691;18684:12;18643:55;18723:2;18717:9;18748:48;18764:31;18792:2;18764:31;:::i;18748:48::-;18819:2;18812:5;18805:17;18859:7;18854:2;18849;18845;18841:11;18837:20;18834:33;18831:53;;;18880:1;18877;18870:12;18831:53;18893:67;18957:2;18952;18945:5;18941:14;18936:2;18932;18928:11;18893:67;:::i;:::-;18979:5;18342:648;-1:-1:-1;;;;;18342:648:197:o;19402:401::-;19604:2;19586:21;;;19643:2;19623:18;;;19616:30;19682:34;19677:2;19662:18;;19655:62;-1:-1:-1;;;19748:2:197;19733:18;;19726:35;19793:3;19778:19;;19402:401::o;21026:245::-;21093:6;21146:2;21134:9;21125:7;21121:23;21117:32;21114:52;;;21162:1;21159;21152:12;21114:52;21194:9;21188:16;21213:28;21235:5;21213:28;:::i;22143:128::-;22210:9;;;22231:11;;;22228:37;;;22245:18;;:::i;22276:125::-;22341:9;;;22362:10;;;22359:36;;;22375:18;;:::i;23167:414::-;23369:2;23351:21;;;23408:2;23388:18;;;23381:30;23447:34;23442:2;23427:18;;23420:62;-1:-1:-1;;;23513:2:197;23498:18;;23491:48;23571:3;23556:19;;23167:414::o;24080:127::-;24141:10;24136:3;24132:20;24129:1;24122:31;24172:4;24169:1;24162:15;24196:4;24193:1;24186:15;24465:489;-1:-1:-1;;;;;24734:15:197;;;24716:34;;24786:15;;24781:2;24766:18;;24759:43;24833:2;24818:18;;24811:34;;;24881:3;24876:2;24861:18;;24854:31;;;24659:4;;24902:46;;24928:19;;24920:6;24902:46;:::i;:::-;24894:54;24465:489;-1:-1:-1;;;;;;24465:489:197:o;24959:249::-;25028:6;25081:2;25069:9;25060:7;25056:23;25052:32;25049:52;;;25097:1;25094;25087:12;25049:52;25129:9;25123:16;25148:30;25172:5;25148:30;:::i;25616:127::-;25677:10;25672:3;25668:20;25665:1;25658:31;25708:4;25705:1;25698:15;25732:4;25729:1;25722:15;26864:217;26904:1;26930;26920:132;;26974:10;26969:3;26965:20;26962:1;26955:31;27009:4;27006:1;26999:15;27037:4;27034:1;27027:15;26920:132;-1:-1:-1;27066:9:197;;26864:217::o;27086:185::-;-1:-1:-1;;;;;27207:10:197;;;27195;;;27191:27;;27230:12;;;27227:38;;;27245:18;;:::i;:::-;27227:38;27086:185;;;;:::o;27684:182::-;-1:-1:-1;;;;;27791:10:197;;;27803;;;27787:27;;27826:11;;;27823:37;;;27840:18;;:::i","linkReferences":{},"immutableReferences":{"80814":[{"start":1093,"length":32},{"start":5279,"length":32},{"start":5446,"length":32}],"96588":[{"start":5006,"length":32}],"96590":[{"start":4964,"length":32}],"96592":[{"start":4922,"length":32}],"96594":[{"start":5087,"length":32}],"96596":[{"start":5127,"length":32}],"96599":[{"start":3092,"length":32}],"96602":[{"start":3135,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","clock()":"91ddadf4","count()":"06661abd","createFor(address,(string,uint256))":"666d87a0","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getApproved(uint256)":"081812fc","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","metadataContentOf(uint256,uint256)":"39fbc775","name()":"06fdde03","nonces(address)":"7ecebe00","operatorStore()":"ad007d63","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadataOf(uint256,(string,uint256))":"36574975","setTokenUriResolver(address)":"2407497e","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","tokenUriResolver()":"e131fc0c","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Create\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetMetadata\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"metadataContentOf\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"setMetadataOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"_newResolver\",\"type\":\"address\"}],\"name\":\"setTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenUriResolver\",\"outputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Projects are represented as ERC-721's.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"constructor\":{\"params\":{\"_operatorStore\":\"A contract storing operator assignments.\"}},\"createFor(address,(string,uint256))\":{\"details\":\"Anyone can create a project on an owner's behalf.\",\"params\":{\"_metadata\":\"A struct containing metadata content about the project, and domain within which the metadata applies.\",\"_owner\":\"The address that will be the owner of the project.\"},\"returns\":{\"projectId\":\"The token ID of the newly created project.\"}},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setMetadataOf(uint256,(string,uint256))\":{\"details\":\"Only a project's owner or operator can set its metadata.Applications can use the domain namespace as they wish.\",\"params\":{\"_metadata\":\"A struct containing metadata content, and domain within which the metadata applies.\",\"_projectId\":\"The ID of the project who's metadata is being changed.\"}},\"setTokenUriResolver(address)\":{\"params\":{\"_newResolver\":\"The address of the new resolver.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherance to.\"},\"returns\":{\"_0\":\"A flag indicating if the provided interface ID is supported.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get a URI of.\"},\"returns\":{\"_0\":\"The token URI to use for the provided `_projectId`.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"count\":{\"details\":\"The count is incremented with each new project created.The resulting ERC-721 token ID for each project is the newly incremented count value.\"},\"metadataContentOf\":{\"custom:param\":\"_projectId The ID of the project to which the metadata belongs._domain The domain within which the metadata applies. Applications can use the domain namespace as they wish.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"count()\":{\"notice\":\"The number of projects that have been created using this contract.\"},\"createFor(address,(string,uint256))\":{\"notice\":\"Create a new project for the specified owner, which mints an NFT (ERC-721) into their wallet.\"},\"metadataContentOf(uint256,uint256)\":{\"notice\":\"The metadata for each project, which can be used across several domains.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"setMetadataOf(uint256,(string,uint256))\":{\"notice\":\"Allows a project owner to set the project's metadata content for a particular domain namespace.\"},\"setTokenUriResolver(address)\":{\"notice\":\"Sets the address of the resolver used to retrieve the tokenURI of projects.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tokenURI(uint256)\":{\"notice\":\"Returns the URI where the ERC-721 standard JSON of a project is hosted.\"},\"tokenUriResolver()\":{\"notice\":\"The contract resolving each project ID to its ERC721 URI.\"}},\"notice\":\"Stores project ownership and metadata.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":\"JBProjects\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":{\"keccak256\":\"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84\",\"dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1\",\"dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol\":{\"keccak256\":\"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81\",\"dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Create","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetMetadata","anonymous":false},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"resolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"_metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"metadataContentOf","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBProjectMetadata","name":"_metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setMetadataOf"},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"_newResolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTokenUriResolver"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenUriResolver","outputs":[{"internalType":"contract IJBTokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the contract's {EIP712} domain separator."},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"constructor":{"params":{"_operatorStore":"A contract storing operator assignments."}},"createFor(address,(string,uint256))":{"details":"Anyone can create a project on an owner's behalf.","params":{"_metadata":"A struct containing metadata content about the project, and domain within which the metadata applies.","_owner":"The address that will be the owner of the project."},"returns":{"projectId":"The token ID of the newly created project."}},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"nonces(address)":{"details":"Returns an address nonce."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setMetadataOf(uint256,(string,uint256))":{"details":"Only a project's owner or operator can set its metadata.Applications can use the domain namespace as they wish.","params":{"_metadata":"A struct containing metadata content, and domain within which the metadata applies.","_projectId":"The ID of the project who's metadata is being changed."}},"setTokenUriResolver(address)":{"params":{"_newResolver":"The address of the new resolver."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherance to."},"returns":{"_0":"A flag indicating if the provided interface ID is supported."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"params":{"_projectId":"The ID of the project to get a URI of."},"returns":{"_0":"The token URI to use for the provided `_projectId`."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"count()":{"notice":"The number of projects that have been created using this contract."},"createFor(address,(string,uint256))":{"notice":"Create a new project for the specified owner, which mints an NFT (ERC-721) into their wallet."},"metadataContentOf(uint256,uint256)":{"notice":"The metadata for each project, which can be used across several domains."},"operatorStore()":{"notice":"A contract storing operator assignments."},"setMetadataOf(uint256,(string,uint256))":{"notice":"Allows a project owner to set the project's metadata content for a particular domain namespace."},"setTokenUriResolver(address)":{"notice":"Sets the address of the resolver used to retrieve the tokenURI of projects."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"tokenURI(uint256)":{"notice":"Returns the URI where the ERC-721 standard JSON of a project is hosted."},"tokenUriResolver()":{"notice":"The contract resolving each project ID to its ERC721 URI."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":"JBProjects"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":{"keccak256":"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db","urls":["bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84","dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"keccak256":"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2","urls":["bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1","dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"keccak256":"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29","urls":["bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81","dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol","id":77332,"exportedSymbols":{"EIP712":[96775],"ERC721":[93466],"ERC721Votes":[93653],"IERC165":[97005],"IJBOperatable":[85331],"IJBOperatorStore":[85400],"IJBProjects":[86082],"IJBTokenUriResolver":[86738],"JBOperatable":[80910],"JBOperations":[87614],"JBProjectMetadata":[87943],"JBProjects":[77331],"Ownable":[89689]},"nodeType":"SourceUnit","src":"32:6262:75","nodes":[{"id":77093,"nodeType":"PragmaDirective","src":"32:24:75","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":77095,"nodeType":"ImportDirective","src":"58:67:75","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":89690,"symbolAliases":[{"foreign":{"id":77094,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89689,"src":"66:7:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77099,"nodeType":"ImportDirective","src":"126:114:75","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol","file":"@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":93684,"symbolAliases":[{"foreign":{"id":77096,"name":"ERC721Votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93653,"src":"134:11:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77097,"name":"ERC721","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93466,"src":"147:6:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":77098,"name":"EIP712","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96775,"src":"155:6:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77101,"nodeType":"ImportDirective","src":"241:80:75","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","file":"@openzeppelin/contracts/utils/introspection/IERC165.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":97006,"symbolAliases":[{"foreign":{"id":77100,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"249:7:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77103,"nodeType":"ImportDirective","src":"322:57:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"./abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":77102,"name":"JBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80910,"src":"330:12:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77105,"nodeType":"ImportDirective","src":"380:61:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol","file":"./interfaces/IJBOperatable.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":85332,"symbolAliases":[{"foreign":{"id":77104,"name":"IJBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85331,"src":"388:13:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77107,"nodeType":"ImportDirective","src":"442:67:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":77106,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"450:16:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77109,"nodeType":"ImportDirective","src":"510:57:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":77108,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"518:11:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77111,"nodeType":"ImportDirective","src":"568:73:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol","file":"./interfaces/IJBTokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":86739,"symbolAliases":[{"foreign":{"id":77110,"name":"IJBTokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86738,"src":"576:19:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77113,"nodeType":"ImportDirective","src":"642:58:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"./libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":87615,"symbolAliases":[{"foreign":{"id":77112,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"650:12:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77115,"nodeType":"ImportDirective","src":"701:66:75","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","file":"./structs/JBProjectMetadata.sol","nameLocation":"-1:-1:-1","scope":77332,"sourceUnit":87944,"symbolAliases":[{"foreign":{"id":77114,"name":"JBProjectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87943,"src":"709:17:75","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":77331,"nodeType":"ContractDefinition","src":"868:5425:75","nodes":[{"id":77129,"nodeType":"VariableDeclaration","src":"1417:33:75","nodes":[],"baseFunctions":[86042],"constant":false,"documentation":{"id":77125,"nodeType":"StructuredDocumentation","src":"1172:242:75","text":"@notice The number of projects that have been created using this contract.\n @dev The count is incremented with each new project created.\n @dev The resulting ERC-721 token ID for each project is the newly incremented count value."},"functionSelector":"06661abd","mutability":"mutable","name":"count","nameLocation":"1441:5:75","overrides":{"id":77127,"nodeType":"OverrideSpecifier","overrides":[],"src":"1432:8:75"},"scope":77331,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77126,"name":"uint256","nodeType":"ElementaryTypeName","src":"1417:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30","id":77128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1449:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"id":77137,"nodeType":"VariableDeclaration","src":"1756:80:75","nodes":[],"baseFunctions":[86051],"constant":false,"documentation":{"id":77130,"nodeType":"StructuredDocumentation","src":"1455:298:75","text":"@notice The metadata for each project, which can be used across several domains.\n @custom:param _projectId The ID of the project to which the metadata belongs.\n @custom:param _domain The domain within which the metadata applies. Applications can use the domain namespace as they wish."},"functionSelector":"39fbc775","mutability":"mutable","name":"metadataContentOf","nameLocation":"1819:17:75","overrides":{"id":77136,"nodeType":"OverrideSpecifier","overrides":[],"src":"1810:8:75"},"scope":77331,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_string_storage_$_$","typeString":"mapping(uint256 => mapping(uint256 => string))"},"typeName":{"id":77135,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77131,"name":"uint256","nodeType":"ElementaryTypeName","src":"1764:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1756:46:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_string_storage_$_$","typeString":"mapping(uint256 => mapping(uint256 => string))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77134,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":77132,"name":"uint256","nodeType":"ElementaryTypeName","src":"1783:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1775:26:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":77133,"name":"string","nodeType":"ElementaryTypeName","src":"1794:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}}},"visibility":"public"},{"id":77142,"nodeType":"VariableDeclaration","src":"1913:52:75","nodes":[],"baseFunctions":[86057],"constant":false,"documentation":{"id":77138,"nodeType":"StructuredDocumentation","src":"1841:69:75","text":"@notice The contract resolving each project ID to its ERC721 URI."},"functionSelector":"e131fc0c","mutability":"mutable","name":"tokenUriResolver","nameLocation":"1949:16:75","overrides":{"id":77141,"nodeType":"OverrideSpecifier","overrides":[],"src":"1940:8:75"},"scope":77331,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":77140,"nodeType":"UserDefinedTypeName","pathNode":{"id":77139,"name":"IJBTokenUriResolver","nameLocations":["1913:19:75"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"1913:19:75"},"referencedDeclaration":86738,"src":"1913:19:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"public"},{"id":77173,"nodeType":"FunctionDefinition","src":"2414:394:75","nodes":[],"body":{"id":77172,"nodeType":"Block","src":"2497:311:75","nodes":[],"statements":[{"assignments":[77153],"declarations":[{"constant":false,"id":77153,"mutability":"mutable","name":"_tokenUriResolver","nameLocation":"2564:17:75","nodeType":"VariableDeclaration","scope":77172,"src":"2544:37:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":77152,"nodeType":"UserDefinedTypeName","pathNode":{"id":77151,"name":"IJBTokenUriResolver","nameLocations":["2544:19:75"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"2544:19:75"},"referencedDeclaration":86738,"src":"2544:19:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"internal"}],"id":77155,"initialValue":{"id":77154,"name":"tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77142,"src":"2584:16:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"nodeType":"VariableDeclarationStatement","src":"2544:56:75"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"id":77163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77156,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77153,"src":"2658:17:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":77160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2707:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":77159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2699:7:75","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":77158,"name":"address","nodeType":"ElementaryTypeName","src":"2699:7:75","typeDescriptions":{}}},"id":77161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2699:10:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":77157,"name":"IJBTokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86738,"src":"2679:19:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBTokenUriResolver_$86738_$","typeString":"type(contract IJBTokenUriResolver)"}},"id":77162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2679:31:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"src":"2658:52:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77166,"nodeType":"IfStatement","src":"2654:67:75","trueBody":{"expression":{"hexValue":"","id":77164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2719:2:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"functionReturnParameters":77150,"id":77165,"nodeType":"Return","src":"2712:9:75"}},{"expression":{"arguments":[{"id":77169,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77145,"src":"2792:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":77167,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77153,"src":"2767:17:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"id":77168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2785:6:75","memberName":"getUri","nodeType":"MemberAccess","referencedDeclaration":86737,"src":"2767:24:75","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) view external returns (string memory)"}},"id":77170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2767:36:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":77150,"id":77171,"nodeType":"Return","src":"2760:43:75"}]},"baseFunctions":[92744],"documentation":{"id":77143,"nodeType":"StructuredDocumentation","src":"2199:212:75","text":"@notice Returns the URI where the ERC-721 standard JSON of a project is hosted.\n @param _projectId The ID of the project to get a URI of.\n @return The token URI to use for the provided `_projectId`."},"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"2423:8:75","overrides":{"id":77147,"nodeType":"OverrideSpecifier","overrides":[],"src":"2464:8:75"},"parameters":{"id":77146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77145,"mutability":"mutable","name":"_projectId","nameLocation":"2440:10:75","nodeType":"VariableDeclaration","scope":77173,"src":"2432:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77144,"name":"uint256","nodeType":"ElementaryTypeName","src":"2432:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2431:20:75"},"returnParameters":{"id":77150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77173,"src":"2482:13:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":77148,"name":"string","nodeType":"ElementaryTypeName","src":"2482:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2481:15:75"},"scope":77331,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":77204,"nodeType":"FunctionDefinition","src":"3085:290:75","nodes":[],"body":{"id":77203,"nodeType":"Block","src":"3202:173:75","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":77196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":77189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77184,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77176,"src":"3221:12:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":77186,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"3242:11:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBProjects_$86082_$","typeString":"type(contract IJBProjects)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBProjects_$86082_$","typeString":"type(contract IJBProjects)"}],"id":77185,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3237:4:75","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":77187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3237:17:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBProjects_$86082","typeString":"type(contract IJBProjects)"}},"id":77188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3255:11:75","memberName":"interfaceId","nodeType":"MemberAccess","src":"3237:29:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3221:45:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":77195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":77190,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77176,"src":"3276:12:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":77192,"name":"IJBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85331,"src":"3297:13:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBOperatable_$85331_$","typeString":"type(contract IJBOperatable)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBOperatable_$85331_$","typeString":"type(contract IJBOperatable)"}],"id":77191,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3292:4:75","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":77193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3292:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBOperatable_$85331","typeString":"type(contract IJBOperatable)"}},"id":77194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3312:11:75","memberName":"interfaceId","nodeType":"MemberAccess","src":"3292:31:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3276:47:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3221:102:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":77199,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77176,"src":"3357:12:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":77197,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3333:5:75","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBProjects_$77331_$","typeString":"type(contract super JBProjects)"}},"id":77198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3339:17:75","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":92633,"src":"3333:23:75","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":77200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:37:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3221:149:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":77183,"id":77202,"nodeType":"Return","src":"3208:162:75"}]},"baseFunctions":[92633,97004],"documentation":{"id":77174,"nodeType":"StructuredDocumentation","src":"2812:270:75","text":"@notice Indicates if this contract adheres to the specified interface.\n @dev See {IERC165-supportsInterface}.\n @param _interfaceId The ID of the interface to check for adherance to.\n @return A flag indicating if the provided interface ID is supported."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3094:17:75","overrides":{"id":77180,"nodeType":"OverrideSpecifier","overrides":[{"id":77178,"name":"IERC165","nameLocations":["3170:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"3170:7:75"},{"id":77179,"name":"ERC721","nameLocations":["3179:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":93466,"src":"3179:6:75"}],"src":"3161:25:75"},"parameters":{"id":77177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77176,"mutability":"mutable","name":"_interfaceId","nameLocation":"3124:12:75","nodeType":"VariableDeclaration","scope":77204,"src":"3117:19:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":77175,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3117:6:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3111:29:75"},"returnParameters":{"id":77183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":77204,"src":"3196:4:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":77181,"name":"bool","nodeType":"ElementaryTypeName","src":"3196:4:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3195:6:75"},"scope":77331,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":77223,"nodeType":"FunctionDefinition","src":"3677:222:75","nodes":[],"body":{"id":77222,"nodeType":"Block","src":"3893:6:75","nodes":[],"statements":[]},"documentation":{"id":77205,"nodeType":"StructuredDocumentation","src":"3608:66:75","text":"@param _operatorStore A contract storing operator assignments."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4a75696365626f782050726f6a65637473","id":77211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3741:19:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e5c5c1c4affeaeda2d3db263faddbd323c18ac7d44a6ca994665583d3b15dad","typeString":"literal_string \"Juicebox Projects\""},"value":"Juicebox Projects"},{"hexValue":"4a55494345424f58","id":77212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3762:10:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cb984262c2a7edbfc9d5c579006a113063ce1c22795b2cb5b72123d15caf509","typeString":"literal_string \"JUICEBOX\""},"value":"JUICEBOX"}],"id":77213,"kind":"baseConstructorSpecifier","modifierName":{"id":77210,"name":"ERC721","nameLocations":["3734:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":93466,"src":"3734:6:75"},"nodeType":"ModifierInvocation","src":"3734:39:75"},{"arguments":[{"hexValue":"4a75696365626f782050726f6a65637473","id":77215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3785:19:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_2e5c5c1c4affeaeda2d3db263faddbd323c18ac7d44a6ca994665583d3b15dad","typeString":"literal_string \"Juicebox Projects\""},"value":"Juicebox Projects"},{"hexValue":"31","id":77216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3806:3:75","typeDescriptions":{"typeIdentifier":"t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","typeString":"literal_string \"1\""},"value":"1"}],"id":77217,"kind":"baseConstructorSpecifier","modifierName":{"id":77214,"name":"EIP712","nameLocations":["3778:6:75"],"nodeType":"IdentifierPath","referencedDeclaration":96775,"src":"3778:6:75"},"nodeType":"ModifierInvocation","src":"3778:32:75"},{"arguments":[{"id":77219,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77208,"src":"3828:14:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":77220,"kind":"baseConstructorSpecifier","modifierName":{"id":77218,"name":"JBOperatable","nameLocations":["3815:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"3815:12:75"},"nodeType":"ModifierInvocation","src":"3815:28:75"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":77209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77208,"mutability":"mutable","name":"_operatorStore","nameLocation":"3711:14:75","nodeType":"VariableDeclaration","scope":77223,"src":"3694:31:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":77207,"nodeType":"UserDefinedTypeName","pathNode":{"id":77206,"name":"IJBOperatorStore","nameLocations":["3694:16:75"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"3694:16:75"},"referencedDeclaration":85400,"src":"3694:16:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"}],"src":"3688:41:75"},"returnParameters":{"id":77221,"nodeType":"ParameterList","parameters":[],"src":"3893:0:75"},"scope":77331,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":77273,"nodeType":"FunctionDefinition","src":"4564:504:75","nodes":[],"body":{"id":77272,"nodeType":"Block","src":"4695:373:75","nodes":[],"statements":[{"expression":{"id":77238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77235,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77233,"src":"4759:9:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"4771:7:75","subExpression":{"id":77236,"name":"count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77129,"src":"4773:5:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4759:19:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":77239,"nodeType":"ExpressionStatement","src":"4759:19:75"},{"expression":{"arguments":[{"id":77241,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77226,"src":"4820:6:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77242,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77233,"src":"4828:9:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77240,"name":"_safeMint","nodeType":"Identifier","overloadedDeclarations":[93034,93063],"referencedDeclaration":93034,"src":"4810:9:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":77243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4810:28:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77244,"nodeType":"ExpressionStatement","src":"4810:28:75"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":77252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"expression":{"id":77247,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77229,"src":"4900:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},"id":77248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4910:7:75","memberName":"content","nodeType":"MemberAccess","referencedDeclaration":87940,"src":"4900:17:75","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":77246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4894:5:75","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":77245,"name":"bytes","nodeType":"ElementaryTypeName","src":"4894:5:75","typeDescriptions":{}}},"id":77249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4894:24:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":77250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4919:6:75","memberName":"length","nodeType":"MemberAccess","src":"4894:31:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":77251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4928:1:75","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4894:35:75","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":77263,"nodeType":"IfStatement","src":"4890:113:75","trueBody":{"expression":{"id":77261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77253,"name":"metadataContentOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77137,"src":"4937:17:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_string_storage_$_$","typeString":"mapping(uint256 => mapping(uint256 => string storage ref))"}},"id":77257,"indexExpression":{"id":77254,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77233,"src":"4955:9:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4937:28:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":77258,"indexExpression":{"expression":{"id":77255,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77229,"src":"4966:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},"id":77256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4976:6:75","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87942,"src":"4966:16:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4937:46:75","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77259,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77229,"src":"4986:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},"id":77260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4996:7:75","memberName":"content","nodeType":"MemberAccess","referencedDeclaration":87940,"src":"4986:17:75","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"4937:66:75","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77262,"nodeType":"ExpressionStatement","src":"4937:66:75"}},{"eventCall":{"arguments":[{"id":77265,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77233,"src":"5022:9:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77266,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77226,"src":"5033:6:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77267,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77229,"src":"5041:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},{"expression":{"id":77268,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5052:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5056:6:75","memberName":"sender","nodeType":"MemberAccess","src":"5052:10:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77264,"name":"Create","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86021,"src":"5015:6:75","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$_t_struct$_JBProjectMetadata_$87943_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,address,struct JBProjectMetadata memory,address)"}},"id":77270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5015:48:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77271,"nodeType":"EmitStatement","src":"5010:53:75"}]},"baseFunctions":[86067],"documentation":{"id":77224,"nodeType":"StructuredDocumentation","src":"4132:429:75","text":"@notice Create a new project for the specified owner, which mints an NFT (ERC-721) into their wallet.\n @dev Anyone can create a project on an owner's behalf.\n @param _owner The address that will be the owner of the project.\n @param _metadata A struct containing metadata content about the project, and domain within which the metadata applies.\n @return projectId The token ID of the newly created project."},"functionSelector":"666d87a0","implemented":true,"kind":"function","modifiers":[],"name":"createFor","nameLocation":"4573:9:75","overrides":{"id":77231,"nodeType":"OverrideSpecifier","overrides":[],"src":"4658:8:75"},"parameters":{"id":77230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77226,"mutability":"mutable","name":"_owner","nameLocation":"4596:6:75","nodeType":"VariableDeclaration","scope":77273,"src":"4588:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":77225,"name":"address","nodeType":"ElementaryTypeName","src":"4588:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":77229,"mutability":"mutable","name":"_metadata","nameLocation":"4635:9:75","nodeType":"VariableDeclaration","scope":77273,"src":"4608:36:75","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":77228,"nodeType":"UserDefinedTypeName","pathNode":{"id":77227,"name":"JBProjectMetadata","nameLocations":["4608:17:75"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"4608:17:75"},"referencedDeclaration":87943,"src":"4608:17:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"}],"src":"4582:66:75"},"returnParameters":{"id":77234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77233,"mutability":"mutable","name":"projectId","nameLocation":"4684:9:75","nodeType":"VariableDeclaration","scope":77273,"src":"4676:17:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77232,"name":"uint256","nodeType":"ElementaryTypeName","src":"4676:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4675:19:75"},"scope":77331,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77309,"nodeType":"FunctionDefinition","src":"5503:414:75","nodes":[],"body":{"id":77308,"nodeType":"Block","src":"5706:211:75","nodes":[],"statements":[{"expression":{"id":77299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":77291,"name":"metadataContentOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77137,"src":"5787:17:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_string_storage_$_$","typeString":"mapping(uint256 => mapping(uint256 => string storage ref))"}},"id":77295,"indexExpression":{"id":77292,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"5805:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5787:29:75","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_string_storage_$","typeString":"mapping(uint256 => string storage ref)"}},"id":77296,"indexExpression":{"expression":{"id":77293,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"5817:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},"id":77294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5827:6:75","memberName":"domain","nodeType":"MemberAccess","referencedDeclaration":87942,"src":"5817:16:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5787:47:75","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":77297,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"5837:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},"id":77298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5847:7:75","memberName":"content","nodeType":"MemberAccess","referencedDeclaration":87940,"src":"5837:17:75","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"5787:67:75","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":77300,"nodeType":"ExpressionStatement","src":"5787:67:75"},{"eventCall":{"arguments":[{"id":77302,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"5878:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":77303,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77279,"src":"5890:9:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"}},{"expression":{"id":77304,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5901:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5905:6:75","memberName":"sender","nodeType":"MemberAccess","src":"5901:10:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77301,"name":"SetMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86030,"src":"5866:11:75","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_JBProjectMetadata_$87943_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,struct JBProjectMetadata memory,address)"}},"id":77306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5866:46:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77307,"nodeType":"EmitStatement","src":"5861:51:75"}]},"baseFunctions":[86075],"documentation":{"id":77274,"nodeType":"StructuredDocumentation","src":"5072:428:75","text":"@notice Allows a project owner to set the project's metadata content for a particular domain namespace.\n @dev Only a project's owner or operator can set its metadata.\n @dev Applications can use the domain namespace as they wish.\n @param _projectId The ID of the project who's metadata is being changed.\n @param _metadata A struct containing metadata content, and domain within which the metadata applies."},"functionSelector":"36574975","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":77284,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"5652:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":77283,"name":"ownerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92685,"src":"5644:7:75","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":77285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5644:19:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":77286,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77276,"src":"5665:10:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":77287,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"5677:12:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":77288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5690:12:75","memberName":"SET_METADATA","nodeType":"MemberAccess","referencedDeclaration":87577,"src":"5677:25:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":77289,"kind":"modifierInvocation","modifierName":{"id":77282,"name":"requirePermission","nameLocations":["5626:17:75"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"5626:17:75"},"nodeType":"ModifierInvocation","src":"5626:77:75"}],"name":"setMetadataOf","nameLocation":"5512:13:75","overrides":{"id":77281,"nodeType":"OverrideSpecifier","overrides":[],"src":"5613:8:75"},"parameters":{"id":77280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77276,"mutability":"mutable","name":"_projectId","nameLocation":"5539:10:75","nodeType":"VariableDeclaration","scope":77309,"src":"5531:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":77275,"name":"uint256","nodeType":"ElementaryTypeName","src":"5531:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":77279,"mutability":"mutable","name":"_metadata","nameLocation":"5582:9:75","nodeType":"VariableDeclaration","scope":77309,"src":"5555:36:75","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_calldata_ptr","typeString":"struct JBProjectMetadata"},"typeName":{"id":77278,"nodeType":"UserDefinedTypeName","pathNode":{"id":77277,"name":"JBProjectMetadata","nameLocations":["5555:17:75"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"5555:17:75"},"referencedDeclaration":87943,"src":"5555:17:75","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"}],"src":"5525:70:75"},"returnParameters":{"id":77290,"nodeType":"ParameterList","parameters":[],"src":"5706:0:75"},"scope":77331,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":77330,"nodeType":"FunctionDefinition","src":"6070:221:75","nodes":[],"body":{"id":77329,"nodeType":"Block","src":"6161:130:75","nodes":[],"statements":[{"expression":{"id":77321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":77319,"name":"tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77142,"src":"6198:16:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":77320,"name":"_newResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77313,"src":"6217:12:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"src":"6198:31:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"id":77322,"nodeType":"ExpressionStatement","src":"6198:31:75"},{"eventCall":{"arguments":[{"id":77324,"name":"_newResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77313,"src":"6261:12:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},{"expression":{"id":77325,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6275:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":77326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6279:6:75","memberName":"sender","nodeType":"MemberAccess","src":"6275:10:75","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},{"typeIdentifier":"t_address","typeString":"address"}],"id":77323,"name":"SetTokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86037,"src":"6241:19:75","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IJBTokenUriResolver_$86738_$_t_address_$returns$__$","typeString":"function (contract IJBTokenUriResolver,address)"}},"id":77327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6241:45:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":77328,"nodeType":"EmitStatement","src":"6236:50:75"}]},"baseFunctions":[86081],"documentation":{"id":77310,"nodeType":"StructuredDocumentation","src":"5921:146:75","text":"@notice Sets the address of the resolver used to retrieve the tokenURI of projects.\n @param _newResolver The address of the new resolver."},"functionSelector":"2407497e","implemented":true,"kind":"function","modifiers":[{"id":77317,"kind":"modifierInvocation","modifierName":{"id":77316,"name":"onlyOwner","nameLocations":["6151:9:75"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"6151:9:75"},"nodeType":"ModifierInvocation","src":"6151:9:75"}],"name":"setTokenUriResolver","nameLocation":"6079:19:75","overrides":{"id":77315,"nodeType":"OverrideSpecifier","overrides":[],"src":"6142:8:75"},"parameters":{"id":77314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":77313,"mutability":"mutable","name":"_newResolver","nameLocation":"6119:12:75","nodeType":"VariableDeclaration","scope":77330,"src":"6099:32:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"},"typeName":{"id":77312,"nodeType":"UserDefinedTypeName","pathNode":{"id":77311,"name":"IJBTokenUriResolver","nameLocations":["6099:19:75"],"nodeType":"IdentifierPath","referencedDeclaration":86738,"src":"6099:19:75"},"referencedDeclaration":86738,"src":"6099:19:75","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTokenUriResolver_$86738","typeString":"contract IJBTokenUriResolver"}},"visibility":"internal"}],"src":"6098:34:75"},"returnParameters":{"id":77318,"nodeType":"ParameterList","parameters":[],"src":"6161:0:75"},"scope":77331,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":77117,"name":"JBOperatable","nameLocations":["891:12:75"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"891:12:75"},"id":77118,"nodeType":"InheritanceSpecifier","src":"891:12:75"},{"baseName":{"id":77119,"name":"ERC721Votes","nameLocations":["905:11:75"],"nodeType":"IdentifierPath","referencedDeclaration":93653,"src":"905:11:75"},"id":77120,"nodeType":"InheritanceSpecifier","src":"905:11:75"},{"baseName":{"id":77121,"name":"Ownable","nameLocations":["918:7:75"],"nodeType":"IdentifierPath","referencedDeclaration":89689,"src":"918:7:75"},"id":77122,"nodeType":"InheritanceSpecifier","src":"918:7:75"},{"baseName":{"id":77123,"name":"IJBProjects","nameLocations":["927:11:75"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"927:11:75"},"id":77124,"nodeType":"InheritanceSpecifier","src":"927:11:75"}],"canonicalName":"JBProjects","contractDependencies":[],"contractKind":"contract","documentation":{"id":77116,"nodeType":"StructuredDocumentation","src":"769:99:75","text":"@notice Stores project ownership and metadata.\n @dev Projects are represented as ERC-721's."},"fullyImplemented":true,"internalFunctionIDs":{"90241":1,"90255":2},"linearizedBaseContracts":[77331,86082,89689,93653,90318,90371,89767,90386,96775,90362,93466,93680,93582,96799,97005,95576,80910,85331],"name":"JBProjects","nameLocation":"877:10:75","scope":77332,"usedErrors":[80772,95663,95665],"usedEvents":[86021,86030,86037,89590,89701,89710,90342,93481,93490,93499]}],"license":"MIT"},"id":75} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"count","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"createFor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"metadataContentOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadataOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_metadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTokenUriResolver","inputs":[{"name":"_newResolver","type":"address","internalType":"contract IJBTokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Create","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetMetadata","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"metadata","type":"tuple","indexed":false,"internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"resolver","type":"address","indexed":true,"internalType":"contract IJBTokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x6101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033","sourceMap":"868:5425:75:-:0;;;1449:1;1417:33;;3677:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:187;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;;;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;1390:113:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1390:113:173;;;;-1:-1:-1;;;;;2599:30:81;;;;3178:431:187;;-1:-1:-1;1456:13:173;1390:113;-1:-1:-1;1456:13:173;:::i;:::-;-1:-1:-1;1479:7:173;:17;1489:7;1479;:17;:::i;:::-;-1:-1:-1;3251:45:187;;-1:-1:-1;3251:4:187;;-1:-1:-1;3282:13:187;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;3306:25:197;3347:18;;;3340:34;;;;3390:18;;;3383:34;4106:13:187;3433:18:197;;;3426:34;4129:4:187;3476:19:197;;;3469:61;4018:7:187;;3278:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:187;3575:27;;936:32:157;719:10:181;936:18:157;:32::i;:::-;3677:222:75;868:5425;;2895:341:183;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:183;;-1:-1:-1;3014:216:183;2895:341;;;;:::o;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;1689:286:183:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:183;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:183:o;14:316:197:-;110:6;163:2;151:9;142:7;138:23;134:32;131:52;;;179:1;176;169:12;131:52;205:16;;-1:-1:-1;;;;;250:31:197;;240:42;;230:70;;296:1;293;286:12;230:70;319:5;14:316;-1:-1:-1;;;14:316:197:o;335:127::-;396:10;391:3;387:20;384:1;377:31;427:4;424:1;417:15;451:4;448:1;441:15;467:380;546:1;542:12;;;;589;;;610:61;;664:4;656:6;652:17;642:27;;610:61;717:2;709:6;706:14;686:18;683:38;680:161;;763:10;758:3;754:20;751:1;744:31;798:4;795:1;788:15;826:4;823:1;816:15;680:161;;467:380;;;:::o;978:543::-;1080:2;1075:3;1072:11;1069:446;;;1116:1;1140:5;1137:1;1130:16;1184:4;1181:1;1171:18;1254:2;1242:10;1238:19;1235:1;1231:27;1225:4;1221:38;1290:4;1278:10;1275:20;1272:47;;;-1:-1:-1;1313:4:197;1272:47;1368:2;1363:3;1359:12;1356:1;1352:20;1346:4;1342:31;1332:41;;1423:82;1441:2;1434:5;1431:13;1423:82;;;1486:17;;;1467:1;1456:13;1423:82;;;1427:3;;;1069:446;978:543;;;:::o;1697:1345::-;1817:10;;-1:-1:-1;;;;;1839:30:197;;1836:56;;;1872:18;;:::i;:::-;1901:97;1991:6;1951:38;1983:4;1977:11;1951:38;:::i;:::-;1945:4;1901:97;:::i;:::-;2053:4;;2110:2;2099:14;;2127:1;2122:663;;;;2829:1;2846:6;2843:89;;;-1:-1:-1;2898:19:197;;;2892:26;2843:89;-1:-1:-1;;1654:1:197;1650:11;;;1646:24;1642:29;1632:40;1678:1;1674:11;;;1629:57;2945:81;;2092:944;;2122:663;925:1;918:14;;;962:4;949:18;;-1:-1:-1;;2158:20:197;;;2276:236;2290:7;2287:1;2284:14;2276:236;;;2379:19;;;2373:26;2358:42;;2471:27;;;;2439:1;2427:14;;;;2306:19;;2276:236;;;2280:3;2540:6;2531:7;2528:19;2525:201;;;2601:19;;;2595:26;-1:-1:-1;;2684:1:197;2680:14;;;2696:3;2676:24;2672:37;2668:42;2653:58;2638:74;;2525:201;-1:-1:-1;;;;;2772:1:197;2756:14;;;2752:22;2739:36;;-1:-1:-1;1697:1345:197:o;3541:548::-;3653:4;3682:2;3711;3700:9;3693:21;3743:6;3737:13;3786:6;3781:2;3770:9;3766:18;3759:34;3811:1;3821:140;3835:6;3832:1;3829:13;3821:140;;;3930:14;;;3926:23;;3920:30;3896:17;;;3915:2;3892:26;3885:66;3850:10;;3821:140;;;3825:3;4010:1;4005:2;3996:6;3985:9;3981:22;3977:31;3970:42;4080:2;4073;4069:7;4064:2;4056:6;4052:15;4048:29;4037:9;4033:45;4029:54;4021:62;;;;3541:548;;;;:::o;4094:297::-;4212:12;;4259:4;4248:16;;;4242:23;;4212:12;4277:16;;4274:111;;;-1:-1:-1;;4351:4:197;4347:17;;;;4344:1;4340:25;4336:38;4325:50;;4094:297;-1:-1:-1;4094:297:197:o;:::-;868:5425:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033","sourceMap":"868:5425:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3085:290;;;;;;:::i;:::-;;:::i;:::-;;;565:14:197;;558:22;540:41;;528:2;513:18;3085:290:75;;;;;;;;1417:33;;;;;;;;;738:25:197;;;726:2;711:18;1417:33:75;592:177:197;2471:98:173;;;:::i;:::-;;;;;;;:::i;3935:167::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1988:32:197;;;1970:51;;1958:2;1943:18;3935:167:173;1824:203:197;3468:406:173;;;;;;:::i;:::-;;:::i;:::-;;4612:296;;;;;;:::i;:::-;;:::i;6070:221:75:-;;;;;;:::i;:::-;;:::i;9221:104:159:-;;;:::i;5503:414:75:-;;;;;;:::i;:::-;;:::i;1756:80::-;;;;;;:::i;:::-;;:::i;3688:268:159:-;;;;;;:::i;:::-;;:::i;4974:149:173:-;;;;;;:::i;:::-;;:::i;2820:249:159:-;;;:::i;5113:127::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5213:20:159;;;5187:7;5213:20;;;:11;:20;;;;;;;;5113:127;5322:147;;;;;;:::i;:::-;;:::i;2190:219:173:-;;;;;;:::i;:::-;;:::i;4564:504:75:-;;;;;;:::i;:::-;;:::i;1929:204:173:-;;;;;;:::i;:::-;;:::i;1824:101:157:-;;;:::i;8967:117:159:-;;;;;;:::i;:::-;;:::i;5021:633:187:-;;;:::i;:::-;;;;;;;;;;;;;:::i;1201:85:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;1201:85;;4592:245:159;;;;;;:::i;:::-;;:::i;2547:118::-;;;:::i;:::-;;;6492:14:197;6480:27;;;6462:46;;6450:2;6435:18;2547:118:159;6318:196:197;2633:102:173;;;:::i;3159:144:159:-;;;;;;:::i;:::-;;:::i;4169:153:173:-;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;5189:276:173;;;;;;:::i;:::-;;:::i;5547:564:159:-;;;;;;:::i;:::-;;:::i;2414:394:75:-;;;;;;:::i;:::-;;:::i;1913:52::-;;;;;-1:-1:-1;;;;;1913:52:75;;;4388:162:173;;;;;;:::i;:::-;-1:-1:-1;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4388:162;2074:198:157;;;;;;:::i;:::-;;:::i;3085:290:75:-;3196:4;-1:-1:-1;;;;;;3221:45:75;;-1:-1:-1;;;3221:45:75;;:102;;-1:-1:-1;;;;;;;3276:47:75;;-1:-1:-1;;;3276:47:75;3221:102;:149;;;;3333:37;3357:12;3333:23;:37::i;:::-;3208:162;3085:290;-1:-1:-1;;3085:290:75:o;2471:98:173:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;-1:-1:-1;4071:24:173;;;;:15;:24;;;;;;-1:-1:-1;;;;;4071:24:173;;3935:167::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;-1:-1:-1;;;;;3605:11:173;:2;-1:-1:-1;;;;;3605:11:173;;3597:57;;;;-1:-1:-1;;;3597:57:173;;10796:2:197;3597:57:173;;;10778:21:197;10835:2;10815:18;;;10808:30;10874:34;10854:18;;;10847:62;-1:-1:-1;;;10925:18:197;;;10918:31;10966:19;;3597:57:173;;;;;;;;;719:10:181;-1:-1:-1;;;;;3686:21:173;;;;:62;;-1:-1:-1;3711:37:173;3728:5;719:10:181;4388:162:173;:::i;3711:37::-;3665:170;;;;-1:-1:-1;;;3665:170:173;;11198:2:197;3665:170:173;;;11180:21:197;11237:2;11217:18;;;11210:30;11276:34;11256:18;;;11249:62;11347:31;11327:18;;;11320:59;11396:19;;3665:170:173;10996:425:197;3665:170:173;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;4612:296::-;4771:41;719:10:181;4804:7:173;4771:18;:41::i;:::-;4763:99;;;;-1:-1:-1;;;4763:99:173;;;;;;;:::i;:::-;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;6070:221:75:-;1094:13:157;:11;:13::i;:::-;6198:16:75::1;:31:::0;;-1:-1:-1;;;;;;6198:31:75::1;-1:-1:-1::0;;;;;6198:31:75;::::1;::::0;;::::1;::::0;;;6241:45:::1;::::0;6275:10:::1;1970:51:197::0;;6241:45:75::1;::::0;1958:2:197;1943:18;6241:45:75::1;;;;;;;6070:221:::0;:::o;9221:104:159:-;9272:7;9298:20;:18;:20::i;:::-;9291:27;;9221:104;:::o;5503:414:75:-;5644:19;5652:10;5644:7;:19::i;:::-;5665:10;344:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;5837:17:75::1;:9:::0;;:17:::1;:::i;:::-;5787:29;::::0;;;:17:::1;:29;::::0;;;;;;;5817:16;;::::1;;5787:47:::0;;;;;;;;:67:::1;::::0;;:47;:67:::1;:::i;:::-;;5878:10;5866:46;5890:9;5901:10;5866:46;;;;;;;:::i;:::-;;;;;;;;5503:414:::0;;;;;:::o;1756:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3688:268:159:-;3784:7;3823;:5;:7::i;:::-;3811:19;;:9;:19;3803:52;;;;-1:-1:-1;;;3803:52:159;;15683:2:197;3803:52:159;;;15665:21:197;15722:2;15702:18;;;15695:30;-1:-1:-1;;;15741:18:197;;;15734:50;15801:18;;3803:52:159;15481:344:197;3803:52:159;3872:77;3920:28;3938:9;3920:17;:28::i;:::-;-1:-1:-1;;;;;3872:29:159;;;;;;:20;:29;;;;;;:47;:77::i;:::-;-1:-1:-1;;;;;3865:84:159;;3688:268;-1:-1:-1;;;3688:268:159:o;4974:149:173:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;2820:249:159:-;2880:13;2973:12;2962:7;:5;:7::i;:::-;:23;;;2954:60;;;;-1:-1:-1;;;2954:60:159;;16032:2:197;2954:60:159;;;16014:21:197;16071:2;16051:18;;;16044:30;16110:26;16090:18;;;16083:54;16154:18;;2954:60:159;15830:348:197;2954:60:159;-1:-1:-1;3024:38:159;;;;;;;;;;;;;;;;;;2820:249::o;5322:147::-;719:10:181;5433:29:159;719:10:181;5452:9:159;5433;:29::i;:::-;5383:86;5322:147;:::o;2190:219:173:-;2262:7;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;;2324:56;;;;-1:-1:-1;;;2324:56:173;;16385:2:197;2324:56:173;;;16367:21:197;16424:2;16404:18;;;16397:30;-1:-1:-1;;;16443:18:197;;;16436:54;16507:18;;2324:56:173;16183:348:197;4564:504:75;4676:17;4773:5;;4771:7;;;;;:::i;:::-;;;;;-1:-1:-1;4771:7:75;-1:-1:-1;4810:28:75;4820:6;4771:7;4810:9;:28::i;:::-;4928:1;4900:17;:9;;:17;:::i;:::-;4894:31;;:35;4890:113;;;4986:17;:9;;:17;:::i;:::-;4937:28;;;;:17;:28;;;;;;;;4966:16;;;;4937:46;;;;;;;;:66;;;:46;:66;:::i;:::-;;4890:113;5033:6;-1:-1:-1;;;;;5015:48:75;5022:9;5015:48;5041:9;5052:10;5015:48;;;;;;;:::i;:::-;;;;;;;;4564:504;;;;:::o;1929:204:173:-;2001:7;-1:-1:-1;;;;;2028:19:173;;2020:73;;;;-1:-1:-1;;;2020:73:173;;17010:2:197;2020:73:173;;;16992:21:197;17049:2;17029:18;;;17022:30;17088:34;17068:18;;;17061:62;-1:-1:-1;;;17139:18:197;;;17132:39;17188:19;;2020:73:173;16808:405:197;2020:73:173;-1:-1:-1;;;;;;2110:16:173;;;;;:9;:16;;;;;;;1929:204::o;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;8967:117:159:-;-1:-1:-1;;;;;9053:14:159;;9027:7;9053:14;;;:7;:14;;;;;918::182;9053:24:159;827:112:182;5021:633:187;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:187;;;-1:-1:-1;5376:271:187;;-1:-1:-1;5543:13:187;;-1:-1:-1;5578:4:187;;-1:-1:-1;5605:1:187;-1:-1:-1;5621:16:187;-1:-1:-1;5376:271:187;-1:-1:-1;5021:633:187:o;4592:245:159:-;4677:7;4716;:5;:7::i;:::-;4704:19;;:9;:19;4696:52;;;;-1:-1:-1;;;4696:52:159;;15683:2:197;4696:52:159;;;15665:21:197;15722:2;15702:18;;;15695:30;-1:-1:-1;;;15741:18:197;;;15734:50;15801:18;;4696:52:159;15481:344:197;4696:52:159;4765:65;4801:28;4819:9;4801:17;:28::i;:::-;4765:17;;:35;:65::i;:::-;-1:-1:-1;;;;;4758:72:159;;4592:245;-1:-1:-1;;4592:245:159:o;2547:118::-;2602:6;2627:31;2645:12;2627:17;:31::i;2633:102:173:-;2689:13;2721:7;2714:14;;;;;:::i;3159:144:159:-;-1:-1:-1;;;;;3258:29:159;;3232:7;3258:29;;;:20;:29;;;;;:38;;:36;:38::i;4169:153:173:-;4263:52;719:10:181;4296:8:173;4306;4263:18;:52::i;5189:276::-;5319:41;719:10:181;5352:7:173;5319:18;:41::i;:::-;5311:99;;;;-1:-1:-1;;;5311:99:173;;;;;;;:::i;:::-;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;5547:564:159:-;5766:6;5747:15;:25;;5739:62;;;;-1:-1:-1;;;5739:62:159;;17420:2:197;5739:62:159;;;17402:21:197;17459:2;17439:18;;;17432:30;17498:26;17478:18;;;17471:54;17542:18;;5739:62:159;17218:348:197;5739:62:159;5882:58;;;1892:71;5882:58;;;17802:25:197;-1:-1:-1;;;;;17863:32:197;;17843:18;;;17836:60;;;;17912:18;;;17905:34;;;17955:18;;;17948:34;;;5811:14:159;;5828:169;;5855:87;;17774:19:197;;5882:58:159;;;;;;;;;;;;5872:69;;;;;;5855:16;:87::i;:::-;5956:1;5971;5986;5828:13;:169::i;:::-;5811:186;;6024:17;6034:6;6024:9;:17::i;:::-;6015:5;:26;6007:59;;;;-1:-1:-1;;;6007:59:159;;18195:2:197;6007:59:159;;;18177:21:197;18234:2;18214:18;;;18207:30;-1:-1:-1;;;18253:18:197;;;18246:50;18313:18;;6007:59:159;17993:344:197;6007:59:159;6076:28;6086:6;6094:9;6076;:28::i;:::-;5729:382;5547:564;;;;;;:::o;2414:394:75:-;2584:16;;2482:13;;-1:-1:-1;;;;;2584:16:75;;2654:67;;-1:-1:-1;;2712:9:75;;;;;;;;;-1:-1:-1;2712:9:75;;;2414:394;-1:-1:-1;2414:394:75:o;2654:67::-;2767:36;;-1:-1:-1;;;2767:36:75;;;;;738:25:197;;;-1:-1:-1;;;;;2767:24:75;;;;;711:18:197;;2767:36:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2767:36:75;;;;;;;;;;;;:::i;:::-;2760:43;2414:394;-1:-1:-1;;;2414:394:75:o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;19197:2:197;2154:73:157::1;::::0;::::1;19179:21:197::0;19236:2;19216:18;;;19209:30;19275:34;19255:18;;;19248:62;-1:-1:-1;;;19326:18:197;;;19319:36;19372:19;;2154:73:157::1;18995:402:197::0;2154:73:157::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1570:300:173:-;1672:4;-1:-1:-1;;;;;;1707:40:173;;-1:-1:-1;;;1707:40:173;;:104;;-1:-1:-1;;;;;;;1763:48:173;;-1:-1:-1;;;1763:48:173;1707:104;:156;;;-1:-1:-1;;;;;;;;;;937:40:188;;;1827:36:173;829:155:188;13240:133:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;13313:53;;;;-1:-1:-1;;;13313:53:173;;16385:2:197;13313:53:173;;;16367:21:197;16424:2;16404:18;;;16397:30;-1:-1:-1;;;16443:18:197;;;16436:54;16507:18;;13313:53:173;16183:348:197;12572:171:173;12646:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;12646:29:173;-1:-1:-1;;;;;12646:29:173;;;;;;;;:24;;12699:23;12646:24;12699:14;:23::i;:::-;-1:-1:-1;;;;;12690:46:173;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;-1:-1:-1;;;;;7570:16:173;:7;-1:-1:-1;;;;;7570:16:173;;:52;;;-1:-1:-1;;;;;;4508:25:173;;;4485:4;4508:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7590:32;7570:87;;;;7650:7;-1:-1:-1;;;;;7626:31:173;:20;7638:7;7626:11;:20::i;:::-;-1:-1:-1;;;;;7626:31:173;;7570:87;7562:96;7404:261;-1:-1:-1;;;;7404:261:173:o;11257:1203::-;11381:4;-1:-1:-1;;;;;11354:31:173;:23;11369:7;11354:14;:23::i;:::-;-1:-1:-1;;;;;11354:31:173;;11346:81;;;;-1:-1:-1;;;11346:81:173;;;;;;;:::i;:::-;-1:-1:-1;;;;;11445:16:173;;11437:65;;;;-1:-1:-1;;;11437:65:173;;20010:2:197;11437:65:173;;;19992:21:197;20049:2;20029:18;;;20022:30;20088:34;20068:18;;;20061:62;-1:-1:-1;;;20139:18:197;;;20132:34;20183:19;;11437:65:173;19808:400:197;11437:65:173;11682:4;-1:-1:-1;;;;;11655:31:173;:23;11670:7;11655:14;:23::i;:::-;-1:-1:-1;;;;;11655:31:173;;11647:81;;;;-1:-1:-1;;;11647:81:173;;;;;;;:::i;:::-;11797:24;;;;:15;:24;;;;;;;;11790:31;;-1:-1:-1;;;;;;11790:31:173;;;;;;-1:-1:-1;;;;;12265:15:173;;;;;;:9;:15;;;;;:20;;-1:-1:-1;;12265:20:173;;;12299:13;;;;;;;;;:18;;11790:31;12299:18;;;12337:16;;;:7;:16;;;;;;:21;;;;;;;;;;12374:27;;11813:7;;12374:27;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;1359:130:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;20415:2:197;1414:68:157;;;20397:21:197;;;20434:18;;;20427:30;20493:34;20473:18;;;20466:62;20545:18;;1414:68:157;20213:356:197;3695:262:187;3748:7;3779:4;-1:-1:-1;;;;;3788:11:187;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:187;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;23845:25:197;4077:11:187;23886:18:197;;;23879:34;;;;4090:14:187;23929:18:197;;;23922:34;4106:13:187;23972:18:197;;;23965:34;4129:4:187;24015:19:197;;;24008:61;4018:7:187;;23817:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3221:359:81;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;20843:34:197;-1:-1:-1;;;;;20913:15:197;;;20893:18;;;20886:43;20945:18;;;20938:34;;;20988:18;;;20981:34;;;3390:13:81;:27;;;;20777:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;20843:34:197;-1:-1:-1;;;;;20913:15:197;;;20893:18;;;20886:43;3527:1:81;20945:18:197;;;20938:34;20988:18;;;20981:34;;;3477:13:81;:27;;;;20777:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;15264:187:192;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:192;;21938:2:197;15338:76:192;;;21920:21:197;21977:2;21957:18;;;21950:30;22016:34;21996:18;;;21989:62;-1:-1:-1;;;22067:18:197;;;22060:36;22113:19;;15338:76:192;21736:402:197;15338:76:192;-1:-1:-1;15438:5:192;15264:187::o;9426:606:180:-;9544:24;;9511:7;;;9544:24;9643:1;9637:7;;9633:234;;;9660:11;9680:14;9690:3;9680:9;:14::i;:::-;9674:20;;:3;:20;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;9660:34;;-1:-1:-1;14047:28:180;;9718:42;;;;;9712:48;;;;9708:149;;;9787:3;9780:10;;9708:149;;;9835:7;:3;9841:1;9835:7;:::i;:::-;9829:13;;9708:149;9646:221;9633:234;9877:11;9891:53;9910:4;9929:3;9934;9939:4;9891:18;:53::i;:::-;9877:67;-1:-1:-1;9962:8:180;;:63;;9977:41;9991:4;10010:7;10016:1;10010:3;:7;:::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;;14047:28;;13826:265;9977:41;:48;;;;-1:-1:-1;;;;;9977:48:180;9962:63;;;9973:1;9962:63;9955:70;9426:606;-1:-1:-1;;;;;;;9426:606:180:o;6289:313:159:-;-1:-1:-1;;;;;5213:20:159;;;6371:19;5213:20;;;:11;:20;;;;;;;;6421:32;;;-1:-1:-1;;;;;;6421:32:159;;;;;;;6469:48;;5213:20;;;;;6421:32;5213:20;;;;6469:48;;6371:19;6469:48;6527:68;6546:11;6559:9;6570:24;6586:7;6570:15;:24::i;:::-;6527:18;:68::i;7995:108:173:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;3367:268:183:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:192;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:192;;22608:2:197;14314:76:192;;;22590:21:197;22647:2;22627:18;;;22620:30;22686:34;22666:18;;;22659:62;-1:-1:-1;;;22737:18:197;;;22730:36;22783:19;;14314:76:192;22406:402:197;10152:206:180;10247:24;;10214:7;;10288:8;;:63;;10303:41;10317:4;10336:7;10342:1;10336:3;:7;:::i;10303:41::-;:48;;;;-1:-1:-1;;;;;10303:48:180;10288:63;;;10299:1;10281:70;10152:206;-1:-1:-1;;;10152:206:180:o;12879:277:173:-;12999:8;-1:-1:-1;;;;;12990:17:173;:5;-1:-1:-1;;;;;12990:17:173;;12982:55;;;;-1:-1:-1;;;12982:55:173;;23015:2:197;12982:55:173;;;22997:21:197;23054:2;23034:18;;;23027:30;23093:27;23073:18;;;23066:55;23138:18;;12982:55:173;22813:349:197;12982:55:173;-1:-1:-1;;;;;13047:25:173;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13047:46:173;;;;;;;;;;13108:41;;540::197;;;13108::173;;513:18:197;13108:41:173;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;-1:-1:-1;;;6476:110:173;;;;;;;:::i;4768:165:187:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:186;8530:11;-1:-1:-1;;;8554:23:186;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:186;6598:232;-1:-1:-1;;;;;6598:232:186:o;8704:203:159:-;-1:-1:-1;;;;;8824:14:159;;8764:15;8824:14;;;:7;:14;;;;;918::182;;1050:1;1032:19;;;;918:14;8883:17:159;8781:126;8704:203;;;:::o;961:288:176:-;1131:41;1152:4;1158:2;1162:9;1131:20;:41::i;:::-;1182:60;5189:276:173;6530:1642:191;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:191;;6530:1642;-1:-1:-1;6530:1642:191:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;12470:433:180:-;12627:7;12646:230;12659:4;12653:3;:10;12646:230;;;12679:11;12693:23;12706:3;12711:4;12693:12;:23::i;:::-;13936:28;13999:20;;;14064:4;14051:18;;12679:37;;-1:-1:-1;12734:35:180;;;;14047:28;;12734:29;;;:35;12730:136;;;12796:3;12789:10;;12730:136;;;12844:7;:3;12850:1;12844:7;:::i;:::-;12838:13;;12730:136;12665:211;12646:230;;;-1:-1:-1;12892:4:180;12470:433;-1:-1:-1;;;12470:433:180:o;1412:133:176:-;1494:7;1520:18;1530:7;1520:9;:18::i;7321:780:159:-;7421:2;-1:-1:-1;;;;;7413:10:159;:4;-1:-1:-1;;;;;7413:10:159;;;:24;;;;;7436:1;7427:6;:10;7413:24;7409:686;;;-1:-1:-1;;;;;7457:18:159;;;7453:315;;-1:-1:-1;;;;;7561:26:159;;7496:16;7561:26;;;:20;:26;;;;;7496:16;;7534:150;;7609:9;7640:26;7659:6;7640:18;:26::i;:::-;7534:5;:150::i;:::-;-1:-1:-1;;;;;7495:189:159;;;-1:-1:-1;;;;;7495:189:159;;;7728:4;-1:-1:-1;;;;;7707:46:159;;7734:8;7744;7707:46;;;;;;24386:25:197;;;24442:2;24427:18;;24420:34;24374:2;24359:18;;24212:248;7707:46:159;;;;;;;;7477:291;;7453:315;-1:-1:-1;;;;;7785:16:159;;;7781:304;;-1:-1:-1;;;;;7887:24:159;;7822:16;7887:24;;;:20;:24;;;;;7822:16;;7860:143;;7933:4;7959:26;7978:6;7959:18;:26::i;7860:143::-;-1:-1:-1;;;;;7821:182:159;;;-1:-1:-1;;;;;7821:182:159;;;8047:2;-1:-1:-1;;;;;8026:44:159;;8051:8;8061;8026:44;;;;;;24386:25:197;;;24442:2;24427:18;;24420:34;24374:2;24359:18;;24212:248;8324:279:173;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;-1:-1:-1;;;8446:150:173;;;;;;;:::i;2059:405:183:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:183;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:183;;;-1:-1:-1;2416:4:183;2407:14;;2400:28;;;;-1:-1:-1;2371:16:183;2059:405::o;13925:831:173:-;14074:4;-1:-1:-1;;;;;14094:13:173;;1702:19:179;:23;14090:660:173;;14129:71;;-1:-1:-1;;;14129:71:173;;-1:-1:-1;;;;;14129:36:173;;;;;:71;;719:10:181;;14180:4:173;;14186:7;;14195:4;;14129:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14129:71:173;;;;;;;;-1:-1:-1;;14129:71:173;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14367:6;:13;14384:1;14367:18;14363:321;;14409:60;;-1:-1:-1;;;14409:60:173;;;;;;;:::i;14363:321::-;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;-1:-1:-1;;;;;;14250:51:173;-1:-1:-1;;;14250:51:173;;-1:-1:-1;14243:58:173;;14090:660;-1:-1:-1;14735:4:173;14728:11;;5009:1456:186;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:186;;-1:-1:-1;6123:30:186;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;25440:25:197;;;25513:4;25501:17;;25481:18;;;25474:45;;;;25535:18;;;25528:34;;;25578:18;;;25571:34;;;6276:24:186;;25412:19:197;;6276:24:186;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:186;;-1:-1:-1;;6276:24:186;;;-1:-1:-1;;;;;;;6314:20:186;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:186;;-1:-1:-1;5009:1456:186;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:186;;25950:2:197;788:34:186;;;25932:21:197;25989:2;25969:18;;;25962:30;26028:26;26008:18;;;26001:54;26072:18;;788:34:186;25748:348:197;730:345:186;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:186;;26303:2:197;903:41:186;;;26285:21:197;26342:2;26322:18;;;26315:30;26381:33;26361:18;;;26354:61;26432:18;;903:41:186;26101:355:197;839:236:186;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:186;;26663:2:197;1020:44:186;;;26645:21:197;26702:2;26682:18;;;26675:30;26741:34;26721:18;;;26714:62;-1:-1:-1;;;26792:18:197;;;26785:32;26834:19;;1020:44:186;26461:398:197;6836:399:159;-1:-1:-1;;;;;6939:18:159;;6935:107;;6973:58;6979:17;6998:4;7004:26;7023:6;7004:18;:26::i;6973:58::-;;;6935:107;-1:-1:-1;;;;;7055:16:159;;7051:110;;7087:63;7093:17;7112:9;7123:26;7142:6;7123:18;:26::i;7087:63::-;;;7051:110;-1:-1:-1;;;;;5213:20:159;;;5187:7;5213:20;;;:11;:20;;;;;;;;;;;;;;;7170:58;;5213:20;;;;;7221:6;7170:18;:58::i;8633:983:191:-;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:191:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:191;;665:20;-1:-1:-1;588:104:191:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;8489:101:159:-;8552:7;8578:5;8582:1;8578;:5;:::i;2836:192:192:-;2893:7;-1:-1:-1;;;;;2920:26:192;;;2912:78;;;;-1:-1:-1;;;2912:78:192;;27478:2:197;2912:78:192;;;27460:21:197;27517:2;27497:18;;;27490:30;27556:34;27536:18;;;27529:62;-1:-1:-1;;;27607:18:197;;;27600:37;27654:19;;2912:78:192;27276:403:197;8107:274:159;8274:7;8283;8309:65;8320:26;8338:7;:5;:7::i;:::-;8320:26;;:17;:26::i;:::-;8348:25;8351:14;:5;:12;:14::i;:::-;8367:5;8348:2;:25;;:::i;:::-;8309:5;;:65;:10;:65::i;:::-;8302:72;;;;8107:274;;;;;;;:::o;8387:96::-;8445:7;8471:5;8475:1;8471;:5;:::i;8925:920:173:-;-1:-1:-1;;;;;9004:16:173;;8996:61;;;;-1:-1:-1;;;8996:61:173;;28073:2:197;8996:61:173;;;28055:21:197;;;28092:18;;;28085:30;28151:34;28131:18;;;28124:62;28203:18;;8996:61:173;27871:356:197;8996:61:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;7208:31;9067:58;;;;-1:-1:-1;;;9067:58:173;;28434:2:197;9067:58:173;;;28416:21:197;28473:2;28453:18;;;28446:30;28512;28492:18;;;28485:58;28560:18;;9067:58:173;28232:352:197;9067:58:173;7185:4;6794:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6794:16:173;7208:31;9271:58;;;;-1:-1:-1;;;9271:58:173;;28434:2:197;9271:58:173;;;28416:21:197;28473:2;28453:18;;;28446:30;28512;28492:18;;;28485:58;28560:18;;9271:58:173;28232:352:197;9271:58:173;-1:-1:-1;;;;;9671:13:173;;;;;;:9;:13;;;;;;;;:18;;9688:1;9671:18;;;9710:16;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9710:21:173;;;;;9747:33;9718:7;;9671:13;;9747:33;;9671:13;;9747:33;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;2536:245:183:-;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:183;;;;;;;;;;;8063:162:180;8145:7;;8180:38;8188:4;8207:3;8212:5;11421:11;;11379:7;;;;11447;;11443:675;;11522:25;11550:28;11564:4;11570:7;11576:1;11570:3;:7;:::i;11550:28::-;11522:56;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11522:56:180;;;;;;;-1:-1:-1;11656:16:180;;;-1:-1:-1;11656:16:180;11648:56;;;;-1:-1:-1;;;11648:56:180;;28791:2:197;11648:56:180;;;28773:21:197;28830:2;28810:18;;;28803:30;28869:29;28849:18;;;28842:57;28916:18;;11648:56:180;28589:351:197;11648:56:180;11768:9;;:16;;;;;;;11764:189;;11842:5;11804:28;11818:4;11824:7;11830:1;11824:3;:7;:::i;11804:28::-;:43;;-1:-1:-1;;;;;11804:43:180;;;;;;;;;;;;;;;;11764:189;;;11896:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;11896:41:180;;;;;;;;;;11886:52;;;;;;;-1:-1:-1;11886:52:180;;;;;;;;;;;;;;;;;;;;;;;;;11764:189;11974:11;;;;-1:-1:-1;11987:5:180;;-1:-1:-1;11966:27:180;;-1:-1:-1;11966:27:180;11443:675;-1:-1:-1;;12034:41:180;;;;;;;;;;;;;;;-1:-1:-1;;;;;12034:41:180;;;;;;;;;;12024:52;;;;;;;-1:-1:-1;12024:52:180;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12068:5:180;12090:17;;14:131:197;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;774:250::-;859:1;869:113;883:6;880:1;877:13;869:113;;;959:11;;;953:18;940:11;;;933:39;905:2;898:10;869:113;;;-1:-1:-1;;1016:1:197;998:16;;991:27;774:250::o;1029:271::-;1071:3;1109:5;1103:12;1136:6;1131:3;1124:19;1152:76;1221:6;1214:4;1209:3;1205:14;1198:4;1191:5;1187:16;1152:76;:::i;:::-;1282:2;1261:15;-1:-1:-1;;1257:29:197;1248:39;;;;1289:4;1244:50;;1029:271;-1:-1:-1;;1029:271:197:o;1305:220::-;1454:2;1443:9;1436:21;1417:4;1474:45;1515:2;1504:9;1500:18;1492:6;1474:45;:::i;1530:180::-;1589:6;1642:2;1630:9;1621:7;1617:23;1613:32;1610:52;;;1658:1;1655;1648:12;1610:52;-1:-1:-1;1681:23:197;;1530:180;-1:-1:-1;1530:180:197:o;2032:131::-;-1:-1:-1;;;;;2107:31:197;;2097:42;;2087:70;;2153:1;2150;2143:12;2168:315;2236:6;2244;2297:2;2285:9;2276:7;2272:23;2268:32;2265:52;;;2313:1;2310;2303:12;2265:52;2352:9;2339:23;2371:31;2396:5;2371:31;:::i;:::-;2421:5;2473:2;2458:18;;;;2445:32;;-1:-1:-1;;;2168:315:197:o;2488:456::-;2565:6;2573;2581;2634:2;2622:9;2613:7;2609:23;2605:32;2602:52;;;2650:1;2647;2640:12;2602:52;2689:9;2676:23;2708:31;2733:5;2708:31;:::i;:::-;2758:5;-1:-1:-1;2815:2:197;2800:18;;2787:32;2828:33;2787:32;2828:33;:::i;:::-;2488:456;;2880:7;;-1:-1:-1;;;2934:2:197;2919:18;;;;2906:32;;2488:456::o;2949:276::-;3037:6;3090:2;3078:9;3069:7;3065:23;3061:32;3058:52;;;3106:1;3103;3096:12;3058:52;3145:9;3132:23;3164:31;3189:5;3164:31;:::i;3412:165::-;3482:5;3527:2;3518:6;3513:3;3509:16;3505:25;3502:45;;;3543:1;3540;3533:12;3582:445;3688:6;3696;3749:2;3737:9;3728:7;3724:23;3720:32;3717:52;;;3765:1;3762;3755:12;3717:52;3801:9;3788:23;3778:33;;3862:2;3851:9;3847:18;3834:32;3889:18;3881:6;3878:30;3875:50;;;3921:1;3918;3911:12;3875:50;3944:77;4013:7;4004:6;3993:9;3989:22;3944:77;:::i;:::-;3934:87;;;3582:445;;;;;:::o;4032:248::-;4100:6;4108;4161:2;4149:9;4140:7;4136:23;4132:32;4129:52;;;4177:1;4174;4167:12;4129:52;-1:-1:-1;;4200:23:197;;;4270:2;4255:18;;;4242:32;;-1:-1:-1;4032:248:197:o;4537:512::-;4643:6;4651;4704:2;4692:9;4683:7;4679:23;4675:32;4672:52;;;4720:1;4717;4710:12;4672:52;4759:9;4746:23;4778:31;4803:5;4778:31;:::i;:::-;4828:5;-1:-1:-1;4884:2:197;4869:18;;4856:32;4911:18;4900:30;;4897:50;;;4943:1;4940;4933:12;5054:1259;5460:3;5455;5451:13;5443:6;5439:26;5428:9;5421:45;5402:4;5485:2;5523:3;5518:2;5507:9;5503:18;5496:31;5550:46;5591:3;5580:9;5576:19;5568:6;5550:46;:::i;:::-;5644:9;5636:6;5632:22;5627:2;5616:9;5612:18;5605:50;5678:33;5704:6;5696;5678:33;:::i;:::-;5742:2;5727:18;;5720:34;;;-1:-1:-1;;;;;5791:32:197;;5785:3;5770:19;;5763:61;5811:3;5840:19;;5833:35;;;5905:22;;;5899:3;5884:19;;5877:51;5977:13;;5999:22;;;6049:2;6075:15;;;;-1:-1:-1;6037:15:197;;;;-1:-1:-1;6118:169:197;6132:6;6129:1;6126:13;6118:169;;;6193:13;;6181:26;;6262:15;;;;6227:12;;;;6154:1;6147:9;6118:169;;;-1:-1:-1;6304:3:197;;5054:1259;-1:-1:-1;;;;;;;;;;;;5054:1259:197:o;6519:118::-;6605:5;6598:13;6591:21;6584:5;6581:32;6571:60;;6627:1;6624;6617:12;6642:382;6707:6;6715;6768:2;6756:9;6747:7;6743:23;6739:32;6736:52;;;6784:1;6781;6774:12;6736:52;6823:9;6810:23;6842:31;6867:5;6842:31;:::i;:::-;6892:5;-1:-1:-1;6949:2:197;6934:18;;6921:32;6962:30;6921:32;6962:30;:::i;:::-;7011:7;7001:17;;;6642:382;;;;;:::o;7263:127::-;7324:10;7319:3;7315:20;7312:1;7305:31;7355:4;7352:1;7345:15;7379:4;7376:1;7369:15;7395:275;7466:2;7460:9;7531:2;7512:13;;-1:-1:-1;;7508:27:197;7496:40;;7566:18;7551:34;;7587:22;;;7548:62;7545:88;;;7613:18;;:::i;:::-;7649:2;7642:22;7395:275;;-1:-1:-1;7395:275:197:o;7675:186::-;7723:4;7756:18;7748:6;7745:30;7742:56;;;7778:18;;:::i;:::-;-1:-1:-1;7844:2:197;7823:15;-1:-1:-1;;7819:29:197;7850:4;7815:40;;7675:186::o;7866:1016::-;7961:6;7969;7977;7985;8038:3;8026:9;8017:7;8013:23;8009:33;8006:53;;;8055:1;8052;8045:12;8006:53;8094:9;8081:23;8113:31;8138:5;8113:31;:::i;:::-;8163:5;-1:-1:-1;8220:2:197;8205:18;;8192:32;8233:33;8192:32;8233:33;:::i;:::-;8285:7;-1:-1:-1;8339:2:197;8324:18;;8311:32;;-1:-1:-1;8394:2:197;8379:18;;8366:32;8421:18;8410:30;;8407:50;;;8453:1;8450;8443:12;8407:50;8476:22;;8529:4;8521:13;;8517:27;-1:-1:-1;8507:55:197;;8558:1;8555;8548:12;8507:55;8594:2;8581:16;8619:48;8635:31;8663:2;8635:31;:::i;:::-;8619:48;:::i;:::-;8690:2;8683:5;8676:17;8730:7;8725:2;8720;8716;8712:11;8708:20;8705:33;8702:53;;;8751:1;8748;8741:12;8702:53;8806:2;8801;8797;8793:11;8788:2;8781:5;8777:14;8764:45;8850:1;8845:2;8840;8833:5;8829:14;8825:23;8818:34;8871:5;8861:15;;;;;7866:1016;;;;;;;:::o;8887:687::-;8989:6;8997;9005;9013;9021;9029;9082:3;9070:9;9061:7;9057:23;9053:33;9050:53;;;9099:1;9096;9089:12;9050:53;9138:9;9125:23;9157:31;9182:5;9157:31;:::i;:::-;9207:5;-1:-1:-1;9259:2:197;9244:18;;9231:32;;-1:-1:-1;9310:2:197;9295:18;;9282:32;;-1:-1:-1;9366:2:197;9351:18;;9338:32;9414:4;9401:18;;9389:31;;9379:59;;9434:1;9431;9424:12;9379:59;8887:687;;;;-1:-1:-1;8887:687:197;;9511:3;9496:19;;9483:33;;9563:3;9548:19;;;9535:33;;-1:-1:-1;8887:687:197;-1:-1:-1;;8887:687:197:o;9816:388::-;9884:6;9892;9945:2;9933:9;9924:7;9920:23;9916:32;9913:52;;;9961:1;9958;9951:12;9913:52;10000:9;9987:23;10019:31;10044:5;10019:31;:::i;:::-;10069:5;-1:-1:-1;10126:2:197;10111:18;;10098:32;10139:33;10098:32;10139:33;:::i;10209:380::-;10288:1;10284:12;;;;10331;;;10352:61;;10406:4;10398:6;10394:17;10384:27;;10352:61;10459:2;10451:6;10448:14;10428:18;10425:38;10422:161;;10505:10;10500:3;10496:20;10493:1;10486:31;10540:4;10537:1;10530:15;10568:4;10565:1;10558:15;11426:409;11628:2;11610:21;;;11667:2;11647:18;;;11640:30;11706:34;11701:2;11686:18;;11679:62;-1:-1:-1;;;11772:2:197;11757:18;;11750:43;11825:3;11810:19;;11426:409::o;11840:522::-;11918:4;11924:6;11984:11;11971:25;12078:2;12074:7;12063:8;12047:14;12043:29;12039:43;12019:18;12015:68;12005:96;;12097:1;12094;12087:12;12005:96;12124:33;;12176:20;;;-1:-1:-1;12219:18:197;12208:30;;12205:50;;;12251:1;12248;12241:12;12205:50;12284:4;12272:17;;-1:-1:-1;12315:14:197;12311:27;;;12301:38;;12298:58;;;12352:1;12349;12342:12;12298:58;11840:522;;;;;:::o;12493:543::-;12595:2;12590:3;12587:11;12584:446;;;12631:1;12655:5;12652:1;12645:16;12699:4;12696:1;12686:18;12769:2;12757:10;12753:19;12750:1;12746:27;12740:4;12736:38;12805:4;12793:10;12790:20;12787:47;;;-1:-1:-1;12828:4:197;12787:47;12883:2;12878:3;12874:12;12871:1;12867:20;12861:4;12857:31;12847:41;;12938:82;12956:2;12949:5;12946:13;12938:82;;;13001:17;;;12982:1;12971:13;12938:82;;;12942:3;;;12493:543;;;:::o;13212:1206::-;13336:18;13331:3;13328:27;13325:53;;;13358:18;;:::i;:::-;13387:94;13477:3;13437:38;13469:4;13463:11;13437:38;:::i;:::-;13431:4;13387:94;:::i;:::-;13507:1;13532:2;13527:3;13524:11;13549:1;13544:616;;;;14204:1;14221:3;14218:93;;;-1:-1:-1;14277:19:197;;;14264:33;14218:93;-1:-1:-1;;13169:1:197;13165:11;;;13161:24;13157:29;13147:40;13193:1;13189:11;;;13144:57;14324:78;;13517:895;;13544:616;12440:1;12433:14;;;12477:4;12464:18;;-1:-1:-1;;13580:17:197;;;13681:9;13703:229;13717:7;13714:1;13711:14;13703:229;;;13806:19;;;13793:33;13778:49;;13913:4;13898:20;;;;13866:1;13854:14;;;;13733:12;13703:229;;;13707:3;13960;13951:7;13948:16;13945:159;;;14084:1;14080:6;14074:3;14068;14065:1;14061:11;14057:21;14053:34;14049:39;14036:9;14031:3;14027:19;14014:33;14010:79;14002:6;13995:95;13945:159;;;14147:1;14141:3;14138:1;14134:11;14130:19;14124:4;14117:33;13517:895;;;13212:1206;;;:::o;14423:1053::-;14654:2;14643:9;14636:21;14617:4;14705:6;14692:20;14792:2;14788:7;14779:6;14763:14;14759:27;14755:41;14735:18;14731:66;14721:94;;14811:1;14808;14801:12;14721:94;14837:31;;14945:4;14934:16;;;14891:19;14973:18;14962:30;;14959:50;;;15005:1;15002;14995:12;14959:50;15054:6;15038:14;15034:27;15025:7;15021:41;15018:61;;;15075:1;15072;15065:12;15018:61;15115:2;15110;15099:9;15095:18;15088:30;15155:6;15149:3;15138:9;15134:19;15127:35;15214:6;15205:7;15199:3;15188:9;15184:19;15171:50;15271:1;15265:3;15256:6;15245:9;15241:22;15237:32;15230:43;15334:4;15326:6;15322:17;15309:31;15304:2;15293:9;15289:18;15282:59;15409:3;15402:2;15398:7;15393:2;15385:6;15381:15;15377:29;15366:9;15362:45;15358:55;15350:63;;;;15422:48;15464:4;15453:9;15449:20;15441:6;-1:-1:-1;;;;;1781:31:197;1769:44;;1715:104;16536:127;16597:10;16592:3;16588:20;16585:1;16578:31;16628:4;16625:1;16618:15;16652:4;16649:1;16642:15;16668:135;16707:3;16728:17;;;16725:43;;16748:18;;:::i;:::-;-1:-1:-1;16795:1:197;16784:13;;16668:135::o;18342:648::-;18422:6;18475:2;18463:9;18454:7;18450:23;18446:32;18443:52;;;18491:1;18488;18481:12;18443:52;18524:9;18518:16;18557:18;18549:6;18546:30;18543:50;;;18589:1;18586;18579:12;18543:50;18612:22;;18665:4;18657:13;;18653:27;-1:-1:-1;18643:55:197;;18694:1;18691;18684:12;18643:55;18723:2;18717:9;18748:48;18764:31;18792:2;18764:31;:::i;18748:48::-;18819:2;18812:5;18805:17;18859:7;18854:2;18849;18845;18841:11;18837:20;18834:33;18831:53;;;18880:1;18877;18870:12;18831:53;18893:67;18957:2;18952;18945:5;18941:14;18936:2;18932;18928:11;18893:67;:::i;:::-;18979:5;18342:648;-1:-1:-1;;;;;18342:648:197:o;19402:401::-;19604:2;19586:21;;;19643:2;19623:18;;;19616:30;19682:34;19677:2;19662:18;;19655:62;-1:-1:-1;;;19748:2:197;19733:18;;19726:35;19793:3;19778:19;;19402:401::o;21026:245::-;21093:6;21146:2;21134:9;21125:7;21121:23;21117:32;21114:52;;;21162:1;21159;21152:12;21114:52;21194:9;21188:16;21213:28;21235:5;21213:28;:::i;22143:128::-;22210:9;;;22231:11;;;22228:37;;;22245:18;;:::i;22276:125::-;22341:9;;;22362:10;;;22359:36;;;22375:18;;:::i;23167:414::-;23369:2;23351:21;;;23408:2;23388:18;;;23381:30;23447:34;23442:2;23427:18;;23420:62;-1:-1:-1;;;23513:2:197;23498:18;;23491:48;23571:3;23556:19;;23167:414::o;24080:127::-;24141:10;24136:3;24132:20;24129:1;24122:31;24172:4;24169:1;24162:15;24196:4;24193:1;24186:15;24465:489;-1:-1:-1;;;;;24734:15:197;;;24716:34;;24786:15;;24781:2;24766:18;;24759:43;24833:2;24818:18;;24811:34;;;24881:3;24876:2;24861:18;;24854:31;;;24659:4;;24902:46;;24928:19;;24920:6;24902:46;:::i;:::-;24894:54;24465:489;-1:-1:-1;;;;;;24465:489:197:o;24959:249::-;25028:6;25081:2;25069:9;25060:7;25056:23;25052:32;25049:52;;;25097:1;25094;25087:12;25049:52;25129:9;25123:16;25148:30;25172:5;25148:30;:::i;25616:127::-;25677:10;25672:3;25668:20;25665:1;25658:31;25708:4;25705:1;25698:15;25732:4;25729:1;25722:15;26864:217;26904:1;26930;26920:132;;26974:10;26969:3;26965:20;26962:1;26955:31;27009:4;27006:1;26999:15;27037:4;27034:1;27027:15;26920:132;-1:-1:-1;27066:9:197;;26864:217::o;27086:185::-;-1:-1:-1;;;;;27207:10:197;;;27195;;;27191:27;;27230:12;;;27227:38;;;27245:18;;:::i;:::-;27227:38;27086:185;;;;:::o;27684:182::-;-1:-1:-1;;;;;27791:10:197;;;27803;;;27787:27;;27826:11;;;27823:37;;;27840:18;;:::i","linkReferences":{},"immutableReferences":{"80830":[{"start":1093,"length":32},{"start":5279,"length":32},{"start":5446,"length":32}],"96612":[{"start":5006,"length":32}],"96614":[{"start":4964,"length":32}],"96616":[{"start":4922,"length":32}],"96618":[{"start":5087,"length":32}],"96620":[{"start":5127,"length":32}],"96623":[{"start":3092,"length":32}],"96626":[{"start":3135,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","clock()":"91ddadf4","count()":"06661abd","createFor(address,(string,uint256))":"666d87a0","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getApproved(uint256)":"081812fc","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isApprovedForAll(address,address)":"e985e9c5","metadataContentOf(uint256,uint256)":"39fbc775","name()":"06fdde03","nonces(address)":"7ecebe00","operatorStore()":"ad007d63","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadataOf(uint256,(string,uint256))":"36574975","setTokenUriResolver(address)":"2407497e","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","tokenUriResolver()":"e131fc0c","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Create\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct JBProjectMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetMetadata\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"resolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"count\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"createFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"metadataContentOf\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"_metadata\",\"type\":\"tuple\"}],\"name\":\"setMetadataOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"_newResolver\",\"type\":\"address\"}],\"name\":\"setTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenUriResolver\",\"outputs\":[{\"internalType\":\"contract IJBTokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Projects are represented as ERC-721's.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"constructor\":{\"params\":{\"_operatorStore\":\"A contract storing operator assignments.\"}},\"createFor(address,(string,uint256))\":{\"details\":\"Anyone can create a project on an owner's behalf.\",\"params\":{\"_metadata\":\"A struct containing metadata content about the project, and domain within which the metadata applies.\",\"_owner\":\"The address that will be the owner of the project.\"},\"returns\":{\"projectId\":\"The token ID of the newly created project.\"}},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setMetadataOf(uint256,(string,uint256))\":{\"details\":\"Only a project's owner or operator can set its metadata.Applications can use the domain namespace as they wish.\",\"params\":{\"_metadata\":\"A struct containing metadata content, and domain within which the metadata applies.\",\"_projectId\":\"The ID of the project who's metadata is being changed.\"}},\"setTokenUriResolver(address)\":{\"params\":{\"_newResolver\":\"The address of the new resolver.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherance to.\"},\"returns\":{\"_0\":\"A flag indicating if the provided interface ID is supported.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get a URI of.\"},\"returns\":{\"_0\":\"The token URI to use for the provided `_projectId`.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"stateVariables\":{\"count\":{\"details\":\"The count is incremented with each new project created.The resulting ERC-721 token ID for each project is the newly incremented count value.\"},\"metadataContentOf\":{\"custom:param\":\"_projectId The ID of the project to which the metadata belongs._domain The domain within which the metadata applies. Applications can use the domain namespace as they wish.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"count()\":{\"notice\":\"The number of projects that have been created using this contract.\"},\"createFor(address,(string,uint256))\":{\"notice\":\"Create a new project for the specified owner, which mints an NFT (ERC-721) into their wallet.\"},\"metadataContentOf(uint256,uint256)\":{\"notice\":\"The metadata for each project, which can be used across several domains.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"setMetadataOf(uint256,(string,uint256))\":{\"notice\":\"Allows a project owner to set the project's metadata content for a particular domain namespace.\"},\"setTokenUriResolver(address)\":{\"notice\":\"Sets the address of the resolver used to retrieve the tokenURI of projects.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tokenURI(uint256)\":{\"notice\":\"Returns the URI where the ERC-721 standard JSON of a project is hosted.\"},\"tokenUriResolver()\":{\"notice\":\"The contract resolving each project ID to its ERC721 URI.\"}},\"notice\":\"Stores project ownership and metadata.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":\"JBProjects\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":{\"keccak256\":\"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84\",\"dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1\",\"dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol\":{\"keccak256\":\"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81\",\"dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Create","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"struct JBProjectMetadata","name":"metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetMetadata","anonymous":false},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"resolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"count","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"struct JBProjectMetadata","name":"_metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"createFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"metadataContentOf","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBProjectMetadata","name":"_metadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"setMetadataOf"},{"inputs":[{"internalType":"contract IJBTokenUriResolver","name":"_newResolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTokenUriResolver"},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tokenUriResolver","outputs":[{"internalType":"contract IJBTokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the contract's {EIP712} domain separator."},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"constructor":{"params":{"_operatorStore":"A contract storing operator assignments."}},"createFor(address,(string,uint256))":{"details":"Anyone can create a project on an owner's behalf.","params":{"_metadata":"A struct containing metadata content about the project, and domain within which the metadata applies.","_owner":"The address that will be the owner of the project."},"returns":{"projectId":"The token ID of the newly created project."}},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"name()":{"details":"See {IERC721Metadata-name}."},"nonces(address)":{"details":"Returns an address nonce."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setMetadataOf(uint256,(string,uint256))":{"details":"Only a project's owner or operator can set its metadata.Applications can use the domain namespace as they wish.","params":{"_metadata":"A struct containing metadata content, and domain within which the metadata applies.","_projectId":"The ID of the project who's metadata is being changed."}},"setTokenUriResolver(address)":{"params":{"_newResolver":"The address of the new resolver."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherance to."},"returns":{"_0":"A flag indicating if the provided interface ID is supported."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"params":{"_projectId":"The ID of the project to get a URI of."},"returns":{"_0":"The token URI to use for the provided `_projectId`."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"count()":{"notice":"The number of projects that have been created using this contract."},"createFor(address,(string,uint256))":{"notice":"Create a new project for the specified owner, which mints an NFT (ERC-721) into their wallet."},"metadataContentOf(uint256,uint256)":{"notice":"The metadata for each project, which can be used across several domains."},"operatorStore()":{"notice":"A contract storing operator assignments."},"setMetadataOf(uint256,(string,uint256))":{"notice":"Allows a project owner to set the project's metadata content for a particular domain namespace."},"setTokenUriResolver(address)":{"notice":"Sets the address of the resolver used to retrieve the tokenURI of projects."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"tokenURI(uint256)":{"notice":"Returns the URI where the ERC-721 standard JSON of a project is hosted."},"tokenUriResolver()":{"notice":"The contract resolving each project ID to its ERC721 URI."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":"JBProjects"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":{"keccak256":"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db","urls":["bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84","dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"keccak256":"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2","urls":["bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1","dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"keccak256":"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29","urls":["bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81","dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":75} \ No newline at end of file diff --git a/out/JBSingleTokenPaymentTerminal.sol/JBSingleTokenPaymentTerminal.json b/out/JBSingleTokenPaymentTerminal.sol/JBSingleTokenPaymentTerminal.json index 67e2f19f..762b96a0 100644 --- a/out/JBSingleTokenPaymentTerminal.sol/JBSingleTokenPaymentTerminal.json +++ b/out/JBSingleTokenPaymentTerminal.sol/JBSingleTokenPaymentTerminal.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currencyForToken","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currency()":"e5a6b10f","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimals()":"313ce567","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptsToken(address,uint256)\":{\"params\":{\"_projectId\":\"The project ID to check for token acceptance.\",\"_token\":\"The token to check if this terminal accepts or not.\"},\"returns\":{\"_0\":\"The flag.\"}},\"constructor\":{\"params\":{\"_currency\":\"The currency that this terminal's token adheres to for price feeds.\",\"_decimals\":\"The number of decimals the token fixed point amounts are expected to have.\",\"_token\":\"The token that this terminal manages.\"}},\"currencyForToken(address)\":{\"params\":{\"_token\":\"The token to check for the currency of.\"},\"returns\":{\"_0\":\"The currency index.\"}},\"decimalsForToken(address)\":{\"params\":{\"_token\":\"The token to check for the decimals of.\"},\"returns\":{\"_0\":\"The number of decimals for the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherance to.\"},\"returns\":{\"_0\":\"A flag indicating if the provided interface ID is supported.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptsToken(address,uint256)\":{\"notice\":\"A flag indicating if this terminal accepts the specified token.\"},\"currency()\":{\"notice\":\"The currency to use when resolving price feeds for this terminal.\"},\"currencyForToken(address)\":{\"notice\":\"The currency that should be used for the specified token.\"},\"decimals()\":{\"notice\":\"The number of decimals the token fixed point amounts are expected to have.\"},\"decimalsForToken(address)\":{\"notice\":\"The decimals that should be used in fixed number accounting for the specified token.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"token()\":{\"notice\":\"The token that this terminal accepts.\"}},\"notice\":\"Generic terminal managing all inflows of funds into the protocol ecosystem for one token.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":\"JBSingleTokenPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037\",\"dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"acceptsToken(address,uint256)":{"params":{"_projectId":"The project ID to check for token acceptance.","_token":"The token to check if this terminal accepts or not."},"returns":{"_0":"The flag."}},"constructor":{"params":{"_currency":"The currency that this terminal's token adheres to for price feeds.","_decimals":"The number of decimals the token fixed point amounts are expected to have.","_token":"The token that this terminal manages."}},"currencyForToken(address)":{"params":{"_token":"The token to check for the currency of."},"returns":{"_0":"The currency index."}},"decimalsForToken(address)":{"params":{"_token":"The token to check for the decimals of."},"returns":{"_0":"The number of decimals for the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherance to."},"returns":{"_0":"A flag indicating if the provided interface ID is supported."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptsToken(address,uint256)":{"notice":"A flag indicating if this terminal accepts the specified token."},"currency()":{"notice":"The currency to use when resolving price feeds for this terminal."},"currencyForToken(address)":{"notice":"The currency that should be used for the specified token."},"decimals()":{"notice":"The number of decimals the token fixed point amounts are expected to have."},"decimalsForToken(address)":{"notice":"The decimals that should be used in fixed number accounting for the specified token."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"token()":{"notice":"The token that this terminal accepts."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":"JBSingleTokenPaymentTerminal"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":{"keccak256":"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c","urls":["bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037","dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol","id":84032,"exportedSymbols":{"ERC165":[96799],"IERC165":[97005],"IJBPaymentTerminal":[85505],"IJBSingleTokenPaymentTerminal":[86162],"JBSingleTokenPaymentTerminal":[84031]},"nodeType":"SourceUnit","src":"32:4001:83","nodes":[{"id":83905,"nodeType":"PragmaDirective","src":"32:24:83","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":83907,"nodeType":"ImportDirective","src":"58:78:83","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":84032,"sourceUnit":96800,"symbolAliases":[{"foreign":{"id":83906,"name":"ERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96799,"src":"66:6:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83909,"nodeType":"ImportDirective","src":"137:79:83","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","file":"@openzeppelin/contracts/utils/introspection/ERC165.sol","nameLocation":"-1:-1:-1","scope":84032,"sourceUnit":96800,"symbolAliases":[{"foreign":{"id":83908,"name":"IERC165","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97005,"src":"145:7:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83911,"nodeType":"ImportDirective","src":"217:74:83","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"./../interfaces/IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":84032,"sourceUnit":85506,"symbolAliases":[{"foreign":{"id":83910,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"225:18:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":83913,"nodeType":"ImportDirective","src":"292:96:83","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol","file":"./../interfaces/IJBSingleTokenPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":84032,"sourceUnit":86163,"symbolAliases":[{"foreign":{"id":83912,"name":"IJBSingleTokenPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86162,"src":"300:29:83","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":84031,"nodeType":"ContractDefinition","src":"492:3540:83","nodes":[{"id":83922,"nodeType":"VariableDeclaration","src":"865:39:83","nodes":[],"baseFunctions":[86151],"constant":false,"documentation":{"id":83919,"nodeType":"StructuredDocumentation","src":"813:49:83","text":"@notice The token that this terminal accepts."},"functionSelector":"fc0c546a","mutability":"immutable","name":"token","nameLocation":"899:5:83","overrides":{"id":83921,"nodeType":"OverrideSpecifier","overrides":[],"src":"890:8:83"},"scope":84031,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83920,"name":"address","nodeType":"ElementaryTypeName","src":"865:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":83926,"nodeType":"VariableDeclaration","src":"998:42:83","nodes":[],"baseFunctions":[86161],"constant":false,"documentation":{"id":83923,"nodeType":"StructuredDocumentation","src":"909:86:83","text":"@notice The number of decimals the token fixed point amounts are expected to have."},"functionSelector":"313ce567","mutability":"immutable","name":"decimals","nameLocation":"1032:8:83","overrides":{"id":83925,"nodeType":"OverrideSpecifier","overrides":[],"src":"1023:8:83"},"scope":84031,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83924,"name":"uint256","nodeType":"ElementaryTypeName","src":"998:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83930,"nodeType":"VariableDeclaration","src":"1125:42:83","nodes":[],"baseFunctions":[86156],"constant":false,"documentation":{"id":83927,"nodeType":"StructuredDocumentation","src":"1045:77:83","text":"@notice The currency to use when resolving price feeds for this terminal."},"functionSelector":"e5a6b10f","mutability":"immutable","name":"currency","nameLocation":"1159:8:83","overrides":{"id":83929,"nodeType":"OverrideSpecifier","overrides":[],"src":"1150:8:83"},"scope":84031,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83928,"name":"uint256","nodeType":"ElementaryTypeName","src":"1125:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":83948,"nodeType":"FunctionDefinition","src":"1645:202:83","nodes":[],"body":{"id":83947,"nodeType":"Block","src":"1741:106:83","nodes":[],"statements":[{"expression":{"id":83941,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83935,"src":"1747:10:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":83942,"nodeType":"ExpressionStatement","src":"1747:10:83"},{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":83945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83943,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83933,"src":"1827:6:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":83944,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83922,"src":"1837:5:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1827:15:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":83940,"id":83946,"nodeType":"Return","src":"1820:22:83"}]},"baseFunctions":[85449],"documentation":{"id":83931,"nodeType":"StructuredDocumentation","src":"1401:241:83","text":"@notice A flag indicating if this terminal accepts the specified token.\n @param _token The token to check if this terminal accepts or not.\n @param _projectId The project ID to check for token acceptance.\n @return The flag."},"functionSelector":"df21a7dd","implemented":true,"kind":"function","modifiers":[],"name":"acceptsToken","nameLocation":"1654:12:83","overrides":{"id":83937,"nodeType":"OverrideSpecifier","overrides":[],"src":"1717:8:83"},"parameters":{"id":83936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83933,"mutability":"mutable","name":"_token","nameLocation":"1675:6:83","nodeType":"VariableDeclaration","scope":83948,"src":"1667:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83932,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":83935,"mutability":"mutable","name":"_projectId","nameLocation":"1691:10:83","nodeType":"VariableDeclaration","scope":83948,"src":"1683:18:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83934,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1666:36:83"},"returnParameters":{"id":83940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83939,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83948,"src":"1735:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83938,"name":"bool","nodeType":"ElementaryTypeName","src":"1735:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1734:6:83"},"scope":84031,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":83962,"nodeType":"FunctionDefinition","src":"2062:178:83","nodes":[],"body":{"id":83961,"nodeType":"Block","src":"2145:95:83","nodes":[],"statements":[{"expression":{"id":83957,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83951,"src":"2151:6:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83958,"nodeType":"ExpressionStatement","src":"2151:6:83"},{"expression":{"id":83959,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83926,"src":"2227:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83956,"id":83960,"nodeType":"Return","src":"2220:15:83"}]},"baseFunctions":[85463],"documentation":{"id":83949,"nodeType":"StructuredDocumentation","src":"1851:208:83","text":"@notice The decimals that should be used in fixed number accounting for the specified token.\n @param _token The token to check for the decimals of.\n @return The number of decimals for the token."},"functionSelector":"b7bad1b1","implemented":true,"kind":"function","modifiers":[],"name":"decimalsForToken","nameLocation":"2071:16:83","overrides":{"id":83953,"nodeType":"OverrideSpecifier","overrides":[],"src":"2118:8:83"},"parameters":{"id":83952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83951,"mutability":"mutable","name":"_token","nameLocation":"2096:6:83","nodeType":"VariableDeclaration","scope":83962,"src":"2088:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83950,"name":"address","nodeType":"ElementaryTypeName","src":"2088:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2087:16:83"},"returnParameters":{"id":83956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83962,"src":"2136:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83954,"name":"uint256","nodeType":"ElementaryTypeName","src":"2136:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2135:9:83"},"scope":84031,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":83976,"nodeType":"FunctionDefinition","src":"2410:178:83","nodes":[],"body":{"id":83975,"nodeType":"Block","src":"2493:95:83","nodes":[],"statements":[{"expression":{"id":83971,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83965,"src":"2499:6:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":83972,"nodeType":"ExpressionStatement","src":"2499:6:83"},{"expression":{"id":83973,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83930,"src":"2575:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":83970,"id":83974,"nodeType":"Return","src":"2568:15:83"}]},"baseFunctions":[85456],"documentation":{"id":83963,"nodeType":"StructuredDocumentation","src":"2244:163:83","text":"@notice The currency that should be used for the specified token.\n @param _token The token to check for the currency of.\n @return The currency index."},"functionSelector":"1982d679","implemented":true,"kind":"function","modifiers":[],"name":"currencyForToken","nameLocation":"2419:16:83","overrides":{"id":83967,"nodeType":"OverrideSpecifier","overrides":[],"src":"2466:8:83"},"parameters":{"id":83966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83965,"mutability":"mutable","name":"_token","nameLocation":"2444:6:83","nodeType":"VariableDeclaration","scope":83976,"src":"2436:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":83964,"name":"address","nodeType":"ElementaryTypeName","src":"2436:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2435:16:83"},"returnParameters":{"id":83970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83969,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":83976,"src":"2484:7:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83968,"name":"uint256","nodeType":"ElementaryTypeName","src":"2484:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2483:9:83"},"scope":84031,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":84007,"nodeType":"FunctionDefinition","src":"3094:313:83","nodes":[],"body":{"id":84006,"nodeType":"Block","src":"3211:196:83","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":84004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":83999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":83992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83987,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83979,"src":"3230:12:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":83989,"name":"IJBPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85505,"src":"3251:18:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBPaymentTerminal_$85505_$","typeString":"type(contract IJBPaymentTerminal)"}],"id":83988,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3246:4:83","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":83990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3246:24:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBPaymentTerminal_$85505","typeString":"type(contract IJBPaymentTerminal)"}},"id":83991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3271:11:83","memberName":"interfaceId","nodeType":"MemberAccess","src":"3246:36:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3230:52:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":83998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":83993,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83979,"src":"3292:12:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":83995,"name":"IJBSingleTokenPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86162,"src":"3313:29:83","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBSingleTokenPaymentTerminal_$86162_$","typeString":"type(contract IJBSingleTokenPaymentTerminal)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBSingleTokenPaymentTerminal_$86162_$","typeString":"type(contract IJBSingleTokenPaymentTerminal)"}],"id":83994,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3308:4:83","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":83996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3308:35:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBSingleTokenPaymentTerminal_$86162","typeString":"type(contract IJBSingleTokenPaymentTerminal)"}},"id":83997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3344:11:83","memberName":"interfaceId","nodeType":"MemberAccess","src":"3308:47:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3292:63:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3230:125:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":84002,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83979,"src":"3389:12:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":84000,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"3365:5:83","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBSingleTokenPaymentTerminal_$84031_$","typeString":"type(contract super JBSingleTokenPaymentTerminal)"}},"id":84001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3371:17:83","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":96798,"src":"3365:23:83","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":84003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:37:83","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3230:172:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":83986,"id":84005,"nodeType":"Return","src":"3217:185:83"}]},"baseFunctions":[96798,97004],"documentation":{"id":83977,"nodeType":"StructuredDocumentation","src":"2821:270:83","text":"@notice Indicates if this contract adheres to the specified interface.\n @dev See {IERC165-supportsInterface}.\n @param _interfaceId The ID of the interface to check for adherance to.\n @return A flag indicating if the provided interface ID is supported."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"3103:17:83","overrides":{"id":83983,"nodeType":"OverrideSpecifier","overrides":[{"id":83981,"name":"ERC165","nameLocations":["3179:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"3179:6:83"},{"id":83982,"name":"IERC165","nameLocations":["3187:7:83"],"nodeType":"IdentifierPath","referencedDeclaration":97005,"src":"3187:7:83"}],"src":"3170:25:83"},"parameters":{"id":83980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83979,"mutability":"mutable","name":"_interfaceId","nameLocation":"3133:12:83","nodeType":"VariableDeclaration","scope":84007,"src":"3126:19:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":83978,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3126:6:83","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"3120:29:83"},"returnParameters":{"id":83986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83985,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":84007,"src":"3205:4:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":83984,"name":"bool","nodeType":"ElementaryTypeName","src":"3205:4:83","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3204:6:83"},"scope":84031,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":84030,"nodeType":"FunctionDefinition","src":"3887:143:83","nodes":[],"body":{"id":84029,"nodeType":"Block","src":"3953:77:83","nodes":[],"statements":[{"expression":{"id":84019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84017,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83922,"src":"3959:5:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84018,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84010,"src":"3967:6:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3959:14:83","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":84020,"nodeType":"ExpressionStatement","src":"3959:14:83"},{"expression":{"id":84023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84021,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83926,"src":"3979:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84022,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84012,"src":"3990:9:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3979:20:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84024,"nodeType":"ExpressionStatement","src":"3979:20:83"},{"expression":{"id":84027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":84025,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":83930,"src":"4005:8:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":84026,"name":"_currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84014,"src":"4016:9:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4005:20:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":84028,"nodeType":"ExpressionStatement","src":"4005:20:83"}]},"documentation":{"id":84008,"nodeType":"StructuredDocumentation","src":"3640:244:83","text":"@param _token The token that this terminal manages.\n @param _decimals The number of decimals the token fixed point amounts are expected to have.\n @param _currency The currency that this terminal's token adheres to for price feeds."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":84015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":84010,"mutability":"mutable","name":"_token","nameLocation":"3907:6:83","nodeType":"VariableDeclaration","scope":84030,"src":"3899:14:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":84009,"name":"address","nodeType":"ElementaryTypeName","src":"3899:7:83","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":84012,"mutability":"mutable","name":"_decimals","nameLocation":"3923:9:83","nodeType":"VariableDeclaration","scope":84030,"src":"3915:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84011,"name":"uint256","nodeType":"ElementaryTypeName","src":"3915:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":84014,"mutability":"mutable","name":"_currency","nameLocation":"3942:9:83","nodeType":"VariableDeclaration","scope":84030,"src":"3934:17:83","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":84013,"name":"uint256","nodeType":"ElementaryTypeName","src":"3934:7:83","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3898:54:83"},"returnParameters":{"id":84016,"nodeType":"ParameterList","parameters":[],"src":"3953:0:83"},"scope":84031,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":83915,"name":"ERC165","nameLocations":["542:6:83"],"nodeType":"IdentifierPath","referencedDeclaration":96799,"src":"542:6:83"},"id":83916,"nodeType":"InheritanceSpecifier","src":"542:6:83"},{"baseName":{"id":83917,"name":"IJBSingleTokenPaymentTerminal","nameLocations":["550:29:83"],"nodeType":"IdentifierPath","referencedDeclaration":86162,"src":"550:29:83"},"id":83918,"nodeType":"InheritanceSpecifier","src":"550:29:83"}],"canonicalName":"JBSingleTokenPaymentTerminal","contractDependencies":[],"contractKind":"contract","documentation":{"id":83914,"nodeType":"StructuredDocumentation","src":"390:102:83","text":"@notice Generic terminal managing all inflows of funds into the protocol ecosystem for one token."},"fullyImplemented":false,"linearizedBaseContracts":[84031,86162,85505,96799,97005],"name":"JBSingleTokenPaymentTerminal","nameLocation":"510:28:83","scope":84032,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":83} \ No newline at end of file +{"abi":[{"type":"function","name":"acceptsToken","inputs":[{"name":"_token","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"addToBalanceOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currencyForToken","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEthOverflowOf","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimalsForToken","inputs":[{"name":"_token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"pay","inputs":[{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"address"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"minReturnedTokens","type":"uint256","internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"beneficiaryTokenCount","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"acceptsToken(address,uint256)":"df21a7dd","addToBalanceOf(uint256,uint256,address,string,bytes)":"0cf8e858","currency()":"e5a6b10f","currencyForToken(address)":"1982d679","currentEthOverflowOf(uint256)":"a32e1e96","decimals()":"313ce567","decimalsForToken(address)":"b7bad1b1","pay(uint256,uint256,address,address,uint256,bool,string,bytes)":"1ebc263f","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"acceptsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"addToBalanceOf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"currencyForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"currentEthOverflowOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"decimalsForToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"minReturnedTokens\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"pay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"beneficiaryTokenCount\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"acceptsToken(address,uint256)\":{\"params\":{\"_projectId\":\"The project ID to check for token acceptance.\",\"_token\":\"The token to check if this terminal accepts or not.\"},\"returns\":{\"_0\":\"The flag.\"}},\"constructor\":{\"params\":{\"_currency\":\"The currency that this terminal's token adheres to for price feeds.\",\"_decimals\":\"The number of decimals the token fixed point amounts are expected to have.\",\"_token\":\"The token that this terminal manages.\"}},\"currencyForToken(address)\":{\"params\":{\"_token\":\"The token to check for the currency of.\"},\"returns\":{\"_0\":\"The currency index.\"}},\"decimalsForToken(address)\":{\"params\":{\"_token\":\"The token to check for the decimals of.\"},\"returns\":{\"_0\":\"The number of decimals for the token.\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherance to.\"},\"returns\":{\"_0\":\"A flag indicating if the provided interface ID is supported.\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"acceptsToken(address,uint256)\":{\"notice\":\"A flag indicating if this terminal accepts the specified token.\"},\"currency()\":{\"notice\":\"The currency to use when resolving price feeds for this terminal.\"},\"currencyForToken(address)\":{\"notice\":\"The currency that should be used for the specified token.\"},\"decimals()\":{\"notice\":\"The number of decimals the token fixed point amounts are expected to have.\"},\"decimalsForToken(address)\":{\"notice\":\"The decimals that should be used in fixed number accounting for the specified token.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"token()\":{\"notice\":\"The token that this terminal accepts.\"}},\"notice\":\"Generic terminal managing all inflows of funds into the protocol ecosystem for one token.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":\"JBSingleTokenPaymentTerminal\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037\",\"dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"acceptsToken","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"addToBalanceOf"},{"inputs":[],"stateMutability":"view","type":"function","name":"currency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"currencyForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"currentEthOverflowOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"view","type":"function","name":"decimalsForToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"minReturnedTokens","type":"uint256"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"payable","type":"function","name":"pay","outputs":[{"internalType":"uint256","name":"beneficiaryTokenCount","type":"uint256"}]},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"acceptsToken(address,uint256)":{"params":{"_projectId":"The project ID to check for token acceptance.","_token":"The token to check if this terminal accepts or not."},"returns":{"_0":"The flag."}},"constructor":{"params":{"_currency":"The currency that this terminal's token adheres to for price feeds.","_decimals":"The number of decimals the token fixed point amounts are expected to have.","_token":"The token that this terminal manages."}},"currencyForToken(address)":{"params":{"_token":"The token to check for the currency of."},"returns":{"_0":"The currency index."}},"decimalsForToken(address)":{"params":{"_token":"The token to check for the decimals of."},"returns":{"_0":"The number of decimals for the token."}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherance to."},"returns":{"_0":"A flag indicating if the provided interface ID is supported."}}},"version":1},"userdoc":{"kind":"user","methods":{"acceptsToken(address,uint256)":{"notice":"A flag indicating if this terminal accepts the specified token."},"currency()":{"notice":"The currency to use when resolving price feeds for this terminal."},"currencyForToken(address)":{"notice":"The currency that should be used for the specified token."},"decimals()":{"notice":"The number of decimals the token fixed point amounts are expected to have."},"decimalsForToken(address)":{"notice":"The decimals that should be used in fixed number accounting for the specified token."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"token()":{"notice":"The token that this terminal accepts."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":"JBSingleTokenPaymentTerminal"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":{"keccak256":"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c","urls":["bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037","dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":83} \ No newline at end of file diff --git a/out/JBSplitsGroups.sol/JBSplitsGroups.json b/out/JBSplitsGroups.sol/JBSplitsGroups.json index 351e86db..a6c33724 100644 --- a/out/JBSplitsGroups.sol/JBSplitsGroups.json +++ b/out/JBSplitsGroups.sol/JBSplitsGroups.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ETH_PAYOUT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RESERVED_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6098610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c806368fc68c7146042578063ad8710ad14605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122052a3bbc2af2354ea649bdc1b2022219ebf69cb476a7a074ea06ddeacb3e603bb64736f6c63430008170033","sourceMap":"57:115:126:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:115:126;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c806368fc68c7146042578063ad8710ad14605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122052a3bbc2af2354ea649bdc1b2022219ebf69cb476a7a074ea06ddeacb3e603bb64736f6c63430008170033","sourceMap":"57:115:126:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:43;;168:1;126:43;;;;;168:25:197;;;156:2;141:18;126:43:126;;;;;;;84:38;;121:1;84:38;","linkReferences":{}},"methodIdentifiers":{"ETH_PAYOUT()":"ad8710ad","RESERVED_TOKENS()":"68fc68c7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_PAYOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RESERVED_TOKENS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":\"JBSplitsGroups\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":{\"keccak256\":\"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124\",\"dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH_PAYOUT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RESERVED_TOKENS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":"JBSplitsGroups"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":{"keccak256":"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269","urls":["bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124","dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol","id":87624,"exportedSymbols":{"JBSplitsGroups":[87623]},"nodeType":"SourceUnit","src":"32:141:126","nodes":[{"id":87616,"nodeType":"PragmaDirective","src":"32:23:126","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":87623,"nodeType":"ContractDefinition","src":"57:115:126","nodes":[{"id":87619,"nodeType":"VariableDeclaration","src":"84:38:126","nodes":[],"constant":true,"functionSelector":"ad8710ad","mutability":"constant","name":"ETH_PAYOUT","nameLocation":"108:10:126","scope":87623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87617,"name":"uint256","nodeType":"ElementaryTypeName","src":"84:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":87618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"121:1:126","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"id":87622,"nodeType":"VariableDeclaration","src":"126:43:126","nodes":[],"constant":true,"functionSelector":"68fc68c7","mutability":"constant","name":"RESERVED_TOKENS","nameLocation":"150:15:126","scope":87623,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87620,"name":"uint256","nodeType":"ElementaryTypeName","src":"126:7:126","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":87621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"168:1:126","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"JBSplitsGroups","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[87623],"name":"JBSplitsGroups","nameLocation":"65:14:126","scope":87624,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":126} \ No newline at end of file +{"abi":[{"type":"function","name":"ETH_PAYOUT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RESERVED_TOKENS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6098610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c806368fc68c7146042578063ad8710ad14605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122052a3bbc2af2354ea649bdc1b2022219ebf69cb476a7a074ea06ddeacb3e603bb64736f6c63430008170033","sourceMap":"57:115:126:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:115:126;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x7300000000000000000000000000000000000000003014608060405260043610603d5760003560e01c806368fc68c7146042578063ad8710ad14605b575b600080fd5b6049600281565b60405190815260200160405180910390f35b604960018156fea264697066735822122052a3bbc2af2354ea649bdc1b2022219ebf69cb476a7a074ea06ddeacb3e603bb64736f6c63430008170033","sourceMap":"57:115:126:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:43;;168:1;126:43;;;;;168:25:197;;;156:2;141:18;126:43:126;;;;;;;84:38;;121:1;84:38;","linkReferences":{}},"methodIdentifiers":{"ETH_PAYOUT()":"ad8710ad","RESERVED_TOKENS()":"68fc68c7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_PAYOUT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RESERVED_TOKENS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":\"JBSplitsGroups\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":{\"keccak256\":\"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124\",\"dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH_PAYOUT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RESERVED_TOKENS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":"JBSplitsGroups"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":{"keccak256":"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269","urls":["bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124","dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov"],"license":"MIT"}},"version":1},"id":126} \ No newline at end of file diff --git a/out/JBSplitsStore.sol/JBSplitsStore.json b/out/JBSplitsStore.sol/JBSplitsStore.json index 18798ab6..dd6b7752 100644 --- a/out/JBSplitsStore.sol/JBSplitsStore.json +++ b/out/JBSplitsStore.sol/JBSplitsStore.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_directory","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"nonpayable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"set","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_group","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}],"stateMutability":"view"},{"type":"event","name":"SetSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"INVALID_LOCKED_UNTIL","inputs":[]},{"type":"error","name":"INVALID_PROJECT_ID","inputs":[]},{"type":"error","name":"INVALID_SPLIT_PERCENT","inputs":[]},{"type":"error","name":"INVALID_TOTAL_PERCENT","inputs":[]},{"type":"error","name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c63430008170033","sourceMap":"707:13081:77:-:0;;;4723:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;;4867:20:77;;::::1;;::::0;4893:22:::1;;::::0;707:13081;;14:149:197;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:642::-;325:6;333;341;394:2;382:9;373:7;369:23;365:32;362:52;;;410:1;407;400:12;362:52;442:9;436:16;461:49;504:5;461:49;:::i;:::-;579:2;564:18;;558:25;529:5;;-1:-1:-1;592:51:197;558:25;592:51;:::i;:::-;714:2;699:18;;693:25;662:7;;-1:-1:-1;727:51:197;693:25;727:51;:::i;:::-;797:7;787:17;;;168:642;;;;;:::o;:::-;707:13081:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c63430008170033","sourceMap":"707:13081:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4017:198;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3227:46;;;;;;;;-1:-1:-1;;;;;1792:32:197;;;1774:51;;1762:2;1747:18;3227:46:77;1607:224:197;2189:56:81;;;;;3349:48:77;;;;;5644:806;;;;;;:::i;:::-;;:::i;:::-;;4017:198;4136:16;4167:43;4182:10;4194:7;4203:6;4167:14;:43::i;:::-;4160:50;4017:198;-1:-1:-1;;;;4017:198:77:o;5644:806::-;5824:28;;-1:-1:-1;;;5824:28:77;;;;;3238:25:197;;;5824:8:77;-1:-1:-1;;;;;5824:16:77;;;;3211:18:197;;5824:28:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5917:34;;-1:-1:-1;;;5917:34:77;;;;;3238:25:197;;;5860:10:77;;870:2:125;;5956:10:77;;-1:-1:-1;;;;;5917:9:77;:22;;;;3211:18:197;;5917:34:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5909:57:77;;1807:82:81;1842:8;1852:7;1861:16;1879:9;1807:34;:82::i;:::-;6046:14:77;6015:28:::1;6106:340;6128:20;6123:2;:25;6106:340;;;6225:36;6264:14;;6279:2;6264:18;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6225:57;;;:::i;:::-;;;6330:68;6335:10;6347:7;6356:13;:19;;;6377:13;:20;;;6330:4;:68::i;:::-;-1:-1:-1::0;6427:4:77::1;;6106:340;;;;5975:475;5644:806:::0;;;;;;;;:::o;11922:1864::-;12153:19;12175:25;;;;;;;;;;;:34;;;;;;;;:42;;;;;;;;;12037:16;;12175:42;12318:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12318:26:77;;-1:-1:-1;;12318:26:77;;;;;;;;;;;;12291:53;;12423:10;12418:1343;12440:11;12435:2;:16;12418:1343;;;12513:25;12541:32;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;12726:21:77;;;:26;;12703:49;;12830:22;;;12829:28;;:33;;;-1:-1:-1;;;12801:61:77;12954:1;12933:22;;;12918:39;;-1:-1:-1;;;12901:56:77;13054:2;13033:23;;;13018:40;;-1:-1:-1;;;12999:59:77;13169:2;13148:23;;;-1:-1:-1;;;;;13103:71:77;-1:-1:-1;;;13103:71:77;13263:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;;13373:21;;13369:264;;13464:34;;;13443:18;;;:55;-1:-1:-1;;;;;13619:2:77;13598:23;;;13545:79;:16;;;:79;13369:264;13707:6;13693:7;13701:2;13693:11;;;;;;;;:::i;:::-;;;;;;:20;;;;13742:4;;;;;12455:1306;;;12418:1343;;;-1:-1:-1;13774:7:77;11922:1864;-1:-1:-1;;;;;11922:1864:77:o;4018:415:81:-;4191:9;4190:10;:42;;;;-1:-1:-1;4210:10:81;-1:-1:-1;;;;;4210:22:81;;;;4190:42;:129;;;;-1:-1:-1;4243:76:81;;-1:-1:-1;;;4243:76:81;;4271:10;4243:76;;;7682:34:197;-1:-1:-1;;;;;7752:15:197;;;7732:18;;;7725:43;7784:18;;;7777:34;;;7827:18;;;7820:34;;;4243:13:81;:27;;;;7616:19:197;;4243:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4242:77;4190:129;:210;;;;-1:-1:-1;4330:70:81;;-1:-1:-1;;;4330:70:81;;4358:10;4330:70;;;7682:34:197;-1:-1:-1;;;;;7752:15:197;;;7732:18;;;7725:43;4380:1:81;7784:18:197;;;7777:34;7827:18;;;7820:34;;;4330:13:81;:27;;;;7616:19:197;;4330:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4329:71;4190:210;4179:249;;;4414:14;;-1:-1:-1;;;4414:14:81;;;;;;;;;;;4179:249;4018:415;;;;:::o;7132:3281:77:-;7316:31;7350:43;7365:10;7377:7;7386:6;7350:14;:43::i;:::-;7480:21;;7316:77;;-1:-1:-1;7449:28:77;7563:307;7585:20;7580:2;:25;7563:307;;;7682:14;7697:2;7682:18;;;;;;;;:::i;:::-;;;;;;;:30;;;7664:15;:48;:105;;;;;7725:44;7741:7;7750:14;7765:2;7750:18;;;;;;;;:::i;:::-;;;;;;;7725:15;:44::i;:::-;7724:45;7664:105;7651:171;;;7785:37;;-1:-1:-1;;;7785:37:77;;;;;;;;;;;7651:171;7851:4;;7563:307;;;-1:-1:-1;8055:14:77;;7954:21;;;8076:2227;8098:13;8093:2;:18;8076:2227;;;8174:7;8182:2;8174:11;;;;;;;;:::i;:::-;;;;;;;:19;;;8197:1;8174:24;8170:60;;8207:23;;-1:-1:-1;;;8207:23:77;;;;;;;;;;;8170:60;8312:16;8288:40;;:7;8296:2;8288:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:40;8284:73;;;8337:20;;-1:-1:-1;;;8337:20:77;;;;;;;;;;;8284:73;8434:7;8442:2;8434:11;;;;;;;;:::i;:::-;;;;;;;:19;;;8418:13;:35;;;;:::i;:::-;8402:51;;360:13:120;8530::77;:48;8526:84;;;8587:23;;-1:-1:-1;;;8587:23:77;;;;;;;;;;;8526:84;8619:26;8692:7;8700:2;8692:11;;;;;;;;:::i;:::-;;;;;;;:25;;;8688:53;;;-1:-1:-1;8740:1:77;8688:53;8794:7;8802:2;8794:11;;;;;;;;:::i;:::-;;;;;;;:30;;;8790:64;;;8848:6;8826:28;8790:64;8938:1;8915:7;8923:2;8915:11;;;;;;;;:::i;:::-;;;;;;;:19;;;:24;;8893:46;;;;9028:2;9003:7;9011:2;9003:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:27;;8981:49;;;;9151:2;9121:7;9129:2;9121:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;9199:32;;;;:20;:32;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;-1:-1:-1;;;;;9097:50:77;;;:56;;;9075:78;;;;9199:74;;;;9369:11;;9075:78;;9199:32;9369:7;;9249:2;;9369:11;;;;;;:::i;:::-;;;;;;;:23;;;:27;:85;;;;9451:1;-1:-1:-1;;;;;9400:54:77;:7;9408:2;9400:11;;;;;;;;:::i;:::-;;;;;;;:21;;;-1:-1:-1;;;;;9400:54:77;;;9369:85;9365:814;;;9546:16;9520:42;;:7;9528:2;9520:11;;;;;;;;:::i;:::-;;;;;;;:23;;;:42;9516:77;;;9571:22;;-1:-1:-1;;;9571:22:77;;;;;;;;;;;9516:77;9641:26;9677:7;9685:2;9677:11;;;;;;;;:::i;:::-;;;;;;;:23;;;9641:60;;;;9822:2;9794:7;9802:2;9794:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:21;;;9875:32;;;;:20;:32;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;;-1:-1:-1;;;;;9770:48:77;;;:54;;;9748:76;;;;9875:74;;9365:814;;;10108:1;10052:32;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;:57;10048:131;;10126:32;;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;10119:60;10048:131;10223:6;10214:7;10202:10;10193:62;10231:7;10239:2;10231:11;;;;;;;;:::i;:::-;;;;;;;10244:10;10193:62;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10284:4:77;;8076:2227;;;-1:-1:-1;10350:13:77;:25;;;;;;;;;;;:34;;;;;;;;;:42;;;;;;;-1:-1:-1;;;10350:42:77;;;;:58;;;;-1:-1:-1;7132:3281:77:o;10693:868::-;10894:14;;10807:4;;;10915:623;10937:15;10932:2;:20;10915:623;;;11029:12;:20;;;11006:7;11014:2;11006:11;;;;;;;;:::i;:::-;;;;;;;:19;;;:43;:106;;;;;11088:12;:24;;;-1:-1:-1;;;;;11061:51:77;:7;11069:2;11061:11;;;;;;;;:::i;:::-;;;;;;;:23;;;-1:-1:-1;;;;;11061:51:77;;11006:106;:165;;;;;11149:12;:22;;;-1:-1:-1;;;;;11124:47:77;:7;11132:2;11124:11;;;;;;;;:::i;:::-;;;;;;;:21;;;-1:-1:-1;;;;;11124:47:77;;11006:165;:224;;;;;11208:12;:22;;;11183:7;11191:2;11183:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:47;11006:224;:291;;;;;11271:12;:26;;;11242:55;;:7;11250:2;11242:11;;;;;;;;:::i;:::-;;;;;;;:25;;;:55;;;11006:291;:368;;;;;11343:12;:31;;;11309:65;;:7;11317:2;11309:11;;;;;;;;:::i;:::-;;;;;;;:30;;;:65;;;11006:368;:464;;;;;11446:12;:24;;;11419:7;11427:2;11419:11;;;;;;;;:::i;:::-;;;;;;;:23;;;:51;;11006:464;10993:497;;;11486:4;11479:11;;;;;;10993:497;11519:4;;10915:623;;;;11551:5;11544:12;;;10693:868;;;;;:::o;14:316:197:-;91:6;99;107;160:2;148:9;139:7;135:23;131:32;128:52;;;176:1;173;166:12;128:52;-1:-1:-1;;199:23:197;;;269:2;254:18;;241:32;;-1:-1:-1;320:2:197;305:18;;;292:32;;14:316;-1:-1:-1;14:316:197:o;335:557::-;422:12;;415:20;408:28;396:41;;500:4;489:16;;;483:23;476:31;469:39;453:14;;;446:63;558:4;547:16;;;541:23;525:14;;;518:47;614:4;603:16;;;597:23;581:14;;;574:47;667:4;656:16;;;650:23;-1:-1:-1;;;;;743:21:197;;;727:14;;;720:45;;;;700:3;803:16;;;797:23;781:14;;;774:47;874:4;863:16;;;857:23;853:32;837:14;;830:56;335:557::o;897:705::-;1120:2;1172:21;;;1242:13;;1145:18;;;1264:22;;;1091:4;;1120:2;1343:15;;;;1317:2;1302:18;;;1091:4;1386:190;1400:6;1397:1;1394:13;1386:190;;;1449:45;1490:3;1481:6;1475:13;1449:45;:::i;:::-;1551:15;;;;1523:4;1514:14;;;;;1422:1;1415:9;1386:190;;;-1:-1:-1;1593:3:197;;897:705;-1:-1:-1;;;;;;897:705:197:o;2300:787::-;2440:6;2448;2456;2464;2517:2;2505:9;2496:7;2492:23;2488:32;2485:52;;;2533:1;2530;2523:12;2485:52;2569:9;2556:23;2546:33;;2626:2;2615:9;2611:18;2598:32;2588:42;;2681:2;2670:9;2666:18;2653:32;2704:18;2745:2;2737:6;2734:14;2731:34;;;2761:1;2758;2751:12;2731:34;2799:6;2788:9;2784:22;2774:32;;2844:7;2837:4;2833:2;2829:13;2825:27;2815:55;;2866:1;2863;2856:12;2815:55;2906:2;2893:16;2932:2;2924:6;2921:14;2918:34;;;2948:1;2945;2938:12;2918:34;3001:7;2996:2;2986:6;2983:1;2979:14;2975:2;2971:23;2967:32;2964:45;2961:65;;;3022:1;3019;3012:12;2961:65;2300:787;;;;-1:-1:-1;;3053:2:197;3045:11;;-1:-1:-1;;;2300:787:197:o;3274:131::-;-1:-1:-1;;;;;3349:31:197;;3339:42;;3329:70;;3395:1;3392;3385:12;3329:70;3274:131;:::o;3410:251::-;3480:6;3533:2;3521:9;3512:7;3508:23;3504:32;3501:52;;;3549:1;3546;3539:12;3501:52;3581:9;3575:16;3600:31;3625:5;3600:31;:::i;:::-;3650:5;3410:251;-1:-1:-1;;;3410:251:197:o;3666:127::-;3727:10;3722:3;3718:20;3715:1;3708:31;3758:4;3755:1;3748:15;3782:4;3779:1;3772:15;3798:333;3900:4;3958:11;3945:25;4052:2;4048:7;4037:8;4021:14;4017:29;4013:43;3993:18;3989:68;3979:96;;4071:1;4068;4061:12;3979:96;4092:33;;;;;3798:333;-1:-1:-1;;3798:333:197:o;4136:127::-;4197:10;4192:3;4188:20;4185:1;4178:31;4228:4;4225:1;4218:15;4252:4;4249:1;4242:15;4268:257;4340:4;4334:11;;;4372:17;;4419:18;4404:34;;4440:22;;;4401:62;4398:88;;;4466:18;;:::i;:::-;4502:4;4495:24;4268:257;:::o;4530:253::-;4602:2;4596:9;4644:4;4632:17;;4679:18;4664:34;;4700:22;;;4661:62;4658:88;;;4726:18;;:::i;4788:275::-;4859:2;4853:9;4924:2;4905:13;;-1:-1:-1;;4901:27:197;4889:40;;4959:18;4944:34;;4980:22;;;4941:62;4938:88;;;5006:18;;:::i;:::-;5042:2;5035:22;4788:275;;-1:-1:-1;4788:275:197:o;5068:118::-;5154:5;5147:13;5140:21;5133:5;5130:32;5120:60;;5176:1;5173;5166:12;5191:2217;5311:9;5345:4;5393;5385:5;5369:14;5365:26;5361:37;5358:57;;;5411:1;5408;5401:12;5358:57;5439:22;;:::i;:::-;5499:5;5486:19;5477:7;5470:36;5525:2;5574;5567:5;5563:14;5550:28;5597:18;5638:2;5630:6;5627:14;5624:34;;;5654:1;5651;5644:12;5624:34;5677:18;;;;5733:14;5726:4;5718:13;;5714:34;5704:62;;5762:1;5759;5752:12;5704:62;5798:2;5785:16;5820:2;5816;5813:10;5810:36;;;5826:18;;:::i;:::-;5866:36;5898:2;5893;5890:1;5886:10;5882:19;5866:36;:::i;:::-;5936:15;;;5967:12;;;;-1:-1:-1;5998:4:197;6037:13;;;6029:22;;6025:31;;;6079:14;6068:26;;6065:46;;;6107:1;6104;6097:12;6065:46;6131:11;;;;6151:1182;6167:6;6162:3;6159:15;6151:1182;;;6254:2;6248:3;6232:14;6228:24;6224:33;6221:123;;;6298:1;6327:2;6323;6316:14;6221:123;6372:22;;:::i;:::-;6435:3;6422:17;6452:30;6474:7;6452:30;:::i;:::-;6495:24;;6560:12;;;6547:26;6586:30;6547:26;6586:30;:::i;:::-;6636:16;;;6629:33;6713:12;;;6700:26;6682:16;;;6675:52;6750:2;6803:12;;;6790:26;6772:16;;;6765:52;6840:3;6884:12;;;6871:26;6910:33;6871:26;6910:33;:::i;:::-;6963:16;;;6956:33;7013:3;7068:13;;;7055:27;7036:17;;;7029:54;7107:3;7151:13;;;7138:27;7178:33;7138:27;7178:33;:::i;:::-;7231:17;;;7224:34;7271:20;;6184:12;;;;7311;;;;6151:1182;;;-1:-1:-1;7349:16:197;;;7342:31;;;;-1:-1:-1;7353:7:197;;5191:2217;-1:-1:-1;;;;;5191:2217:197:o;7865:245::-;7932:6;7985:2;7973:9;7964:7;7960:23;7956:32;7953:52;;;8001:1;7998;7991:12;7953:52;8033:9;8027:16;8052:28;8074:5;8052:28;:::i;8575:222::-;8640:9;;;8661:10;;;8658:133;;;8713:10;8708:3;8704:20;8701:1;8694:31;8748:4;8745:1;8738:15;8776:4;8773:1;8766:15;8802:347;9016:3;9001:19;;9029:44;9005:9;9055:6;9029:44;:::i;:::-;-1:-1:-1;;;;;9110:32:197;;;;9104:3;9089:19;;;;9082:61;8802:347;;-1:-1:-1;8802:347:197:o","linkReferences":{},"immutableReferences":{"78963":[{"start":138,"length":32},{"start":338,"length":32}],"78968":[{"start":240,"length":32},{"start":490,"length":32}],"80814":[{"start":201,"length":32},{"start":1243,"length":32},{"start":1410,"length":32}]}},"methodIdentifiers":{"directory()":"c41c2f24","operatorStore()":"ad007d63","projects()":"8b79543c","set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":"f2da44b6","splitsOf(uint256,uint256,uint256)":"69e11cc5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"INVALID_LOCKED_UNTIL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PROJECT_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_SPLIT_PERCENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOTAL_PERCENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetSplit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"_groupedSplits\",\"type\":\"tuple[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_group\",\"type\":\"uint256\"}],\"name\":\"splitsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])\":{\"details\":\"Only the owner or operator of a project, or the current controller contract of the project, can set its splits.The new splits must include any currently set splits that are locked.\",\"params\":{\"_domain\":\"An identifier within which the splits should be considered active.\",\"_groupedSplits\":\"An array of splits to set for any number of groups.\",\"_projectId\":\"The ID of the project for which splits are being added.\"}},\"splitsOf(uint256,uint256,uint256)\":{\"params\":{\"_domain\":\"An identifier within which the returned splits should be considered active.\",\"_group\":\"The identifying group of the splits.\",\"_projectId\":\"The ID of the project to get splits for.\"},\"returns\":{\"_0\":\"An array of all splits for the project.\"}}},\"stateVariables\":{\"_packedSplitParts1Of\":{\"custom:param\":\"_projectId The ID of the project to get packed splits data for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits._index The indexed order that the split was set at.\"},\"_packedSplitParts2Of\":{\"custom:param\":\"_projectId The ID of the project to get packed splits data for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits._index The indexed order that the split was set at.\",\"details\":\"This packed data is often 0.\"},\"_splitCountOf\":{\"custom:param\":\"_projectId The ID of the project to get the split count for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers.\"},\"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])\":{\"notice\":\"Sets a project's splits.\"},\"splitsOf(uint256,uint256,uint256)\":{\"notice\":\"Get all splits for the specified project ID, within the specified domain, for the specified group.\"}},\"notice\":\"Stores splits for each project.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":\"JBSplitsStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":{\"keccak256\":\"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9\",\"dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBDirectory","name":"_directory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"INVALID_LOCKED_UNTIL"},{"inputs":[],"type":"error","name":"INVALID_PROJECT_ID"},{"inputs":[],"type":"error","name":"INVALID_SPLIT_PERCENT"},{"inputs":[],"type":"error","name":"INVALID_TOTAL_PERCENT"},{"inputs":[],"type":"error","name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetSplit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"_groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"nonpayable","type":"function","name":"set"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256","name":"_group","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitsOf","outputs":[{"internalType":"struct JBSplit[]","name":"","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project.","_operatorStore":"A contract storing operator assignments.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":{"details":"Only the owner or operator of a project, or the current controller contract of the project, can set its splits.The new splits must include any currently set splits that are locked.","params":{"_domain":"An identifier within which the splits should be considered active.","_groupedSplits":"An array of splits to set for any number of groups.","_projectId":"The ID of the project for which splits are being added."}},"splitsOf(uint256,uint256,uint256)":{"params":{"_domain":"An identifier within which the returned splits should be considered active.","_group":"The identifying group of the splits.","_projectId":"The ID of the project to get splits for."},"returns":{"_0":"An array of all splits for the project."}}},"version":1},"userdoc":{"kind":"user","methods":{"directory()":{"notice":"The directory of terminals and controllers for projects."},"operatorStore()":{"notice":"A contract storing operator assignments."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers."},"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":{"notice":"Sets a project's splits."},"splitsOf(uint256,uint256,uint256)":{"notice":"Get all splits for the specified project ID, within the specified domain, for the specified group."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":"JBSplitsStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":{"keccak256":"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f","urls":["bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9","dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol","id":79672,"exportedSymbols":{"IJBDirectory":[85041],"IJBOperatorStore":[85400],"IJBProjects":[86082],"IJBSplitAllocator":[86393],"IJBSplitsStore":[86453],"JBConstants":[86760],"JBGroupedSplits":[87881],"JBOperatable":[80910],"JBOperations":[87614],"JBSplit":[88011],"JBSplitsStore":[79671]},"nodeType":"SourceUnit","src":"32:13757:77","nodes":[{"id":78892,"nodeType":"PragmaDirective","src":"32:24:77","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":78894,"nodeType":"ImportDirective","src":"58:57:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"./abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":78893,"name":"JBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80910,"src":"66:12:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78896,"nodeType":"ImportDirective","src":"116:59:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":78895,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"124:12:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78898,"nodeType":"ImportDirective","src":"176:67:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":78897,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"184:16:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78900,"nodeType":"ImportDirective","src":"244:57:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":78899,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"252:11:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78902,"nodeType":"ImportDirective","src":"302:63:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol","file":"./interfaces/IJBSplitsStore.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":86454,"symbolAliases":[{"foreign":{"id":78901,"name":"IJBSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86453,"src":"310:14:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78904,"nodeType":"ImportDirective","src":"366:69:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol","file":"./interfaces/IJBSplitAllocator.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":86394,"symbolAliases":[{"foreign":{"id":78903,"name":"IJBSplitAllocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86393,"src":"374:17:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78906,"nodeType":"ImportDirective","src":"436:56:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol","file":"./libraries/JBConstants.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":86761,"symbolAliases":[{"foreign":{"id":78905,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"444:11:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78908,"nodeType":"ImportDirective","src":"493:58:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"./libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":87615,"symbolAliases":[{"foreign":{"id":78907,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"501:12:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78910,"nodeType":"ImportDirective","src":"552:62:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol","file":"./structs/JBGroupedSplits.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":87882,"symbolAliases":[{"foreign":{"id":78909,"name":"JBGroupedSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87881,"src":"560:15:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":78912,"nodeType":"ImportDirective","src":"615:46:77","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol","file":"./structs/JBSplit.sol","nameLocation":"-1:-1:-1","scope":79672,"sourceUnit":88012,"symbolAliases":[{"foreign":{"id":78911,"name":"JBSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88011,"src":"623:7:77","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79671,"nodeType":"ContractDefinition","src":"707:13081:77","nodes":[{"id":78919,"nodeType":"ErrorDefinition","src":"994:29:77","nodes":[],"errorSelector":"d509b54d","name":"INVALID_LOCKED_UNTIL","nameLocation":"1000:20:77","parameters":{"id":78918,"nodeType":"ParameterList","parameters":[],"src":"1020:2:77"}},{"id":78921,"nodeType":"ErrorDefinition","src":"1026:27:77","nodes":[],"errorSelector":"3b44d992","name":"INVALID_PROJECT_ID","nameLocation":"1032:18:77","parameters":{"id":78920,"nodeType":"ParameterList","parameters":[],"src":"1050:2:77"}},{"id":78923,"nodeType":"ErrorDefinition","src":"1056:30:77","nodes":[],"errorSelector":"e119ba45","name":"INVALID_SPLIT_PERCENT","nameLocation":"1062:21:77","parameters":{"id":78922,"nodeType":"ParameterList","parameters":[],"src":"1083:2:77"}},{"id":78925,"nodeType":"ErrorDefinition","src":"1089:30:77","nodes":[],"errorSelector":"eca73610","name":"INVALID_TOTAL_PERCENT","nameLocation":"1095:21:77","parameters":{"id":78924,"nodeType":"ParameterList","parameters":[],"src":"1116:2:77"}},{"id":78927,"nodeType":"ErrorDefinition","src":"1122:44:77","nodes":[],"errorSelector":"19744595","name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED","nameLocation":"1128:35:77","parameters":{"id":78926,"nodeType":"ParameterList","parameters":[],"src":"1163:2:77"}},{"id":78936,"nodeType":"VariableDeclaration","src":"1735:89:77","nodes":[],"constant":false,"documentation":{"id":78928,"nodeType":"StructuredDocumentation","src":"1399:333:77","text":"@notice The number of splits currently set for each project ID's configurations.\n @custom:param _projectId The ID of the project to get the split count for.\n @custom:param _domain An identifier within which the returned splits should be considered active.\n @custom:param _group The identifying group of the splits."},"mutability":"mutable","name":"_splitCountOf","nameLocation":"1811:13:77","scope":79671,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"},"typeName":{"id":78935,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78929,"name":"uint256","nodeType":"ElementaryTypeName","src":"1743:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1735:67:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78934,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78930,"name":"uint256","nodeType":"ElementaryTypeName","src":"1762:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1754:47:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78933,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78931,"name":"uint256","nodeType":"ElementaryTypeName","src":"1781:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1773:27:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78932,"name":"uint256","nodeType":"ElementaryTypeName","src":"1792:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"private"},{"id":78947,"nodeType":"VariableDeclaration","src":"2227:120:77","nodes":[],"constant":false,"documentation":{"id":78937,"nodeType":"StructuredDocumentation","src":"1829:395:77","text":"@notice Packed data of splits for each project ID's configurations.\n @custom:param _projectId The ID of the project to get packed splits data for.\n @custom:param _domain An identifier within which the returned splits should be considered active.\n @custom:param _group The identifying group of the splits.\n @custom:param _index The indexed order that the split was set at."},"mutability":"mutable","name":"_packedSplitParts1Of","nameLocation":"2327:20:77","scope":79671,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"},"typeName":{"id":78946,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78938,"name":"uint256","nodeType":"ElementaryTypeName","src":"2235:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2227:87:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78945,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78939,"name":"uint256","nodeType":"ElementaryTypeName","src":"2254:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2246:67:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78944,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78940,"name":"uint256","nodeType":"ElementaryTypeName","src":"2273:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2265:47:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78943,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78941,"name":"uint256","nodeType":"ElementaryTypeName","src":"2292:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2284:27:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78942,"name":"uint256","nodeType":"ElementaryTypeName","src":"2303:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}}},"visibility":"private"},{"id":78958,"nodeType":"VariableDeclaration","src":"2795:120:77","nodes":[],"constant":false,"documentation":{"id":78948,"nodeType":"StructuredDocumentation","src":"2352:440:77","text":"@notice More packed data of splits for each project ID's configurations.\n @dev This packed data is often 0.\n @custom:param _projectId The ID of the project to get packed splits data for.\n @custom:param _domain An identifier within which the returned splits should be considered active.\n @custom:param _group The identifying group of the splits.\n @custom:param _index The indexed order that the split was set at."},"mutability":"mutable","name":"_packedSplitParts2Of","nameLocation":"2895:20:77","scope":79671,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"},"typeName":{"id":78957,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78949,"name":"uint256","nodeType":"ElementaryTypeName","src":"2803:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2795:87:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78956,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78950,"name":"uint256","nodeType":"ElementaryTypeName","src":"2822:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2814:67:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78955,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78951,"name":"uint256","nodeType":"ElementaryTypeName","src":"2841:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2833:47:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78954,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":78952,"name":"uint256","nodeType":"ElementaryTypeName","src":"2860:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2852:27:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":78953,"name":"uint256","nodeType":"ElementaryTypeName","src":"2871:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}}},"visibility":"private"},{"id":78963,"nodeType":"VariableDeclaration","src":"3227:46:77","nodes":[],"baseFunctions":[86422],"constant":false,"documentation":{"id":78959,"nodeType":"StructuredDocumentation","src":"3149:75:77","text":"@notice Mints ERC-721's that represent project ownership and transfers."},"functionSelector":"8b79543c","mutability":"immutable","name":"projects","nameLocation":"3265:8:77","overrides":{"id":78962,"nodeType":"OverrideSpecifier","overrides":[],"src":"3256:8:77"},"scope":79671,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":78961,"nodeType":"UserDefinedTypeName","pathNode":{"id":78960,"name":"IJBProjects","nameLocations":["3227:11:77"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"3227:11:77"},"referencedDeclaration":86082,"src":"3227:11:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"public"},{"id":78968,"nodeType":"VariableDeclaration","src":"3349:48:77","nodes":[],"baseFunctions":[86428],"constant":false,"documentation":{"id":78964,"nodeType":"StructuredDocumentation","src":"3278:68:77","text":"@notice The directory of terminals and controllers for projects."},"functionSelector":"c41c2f24","mutability":"immutable","name":"directory","nameLocation":"3388:9:77","overrides":{"id":78967,"nodeType":"OverrideSpecifier","overrides":[],"src":"3379:8:77"},"scope":79671,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":78966,"nodeType":"UserDefinedTypeName","pathNode":{"id":78965,"name":"IJBDirectory","nameLocations":["3349:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"3349:12:77"},"referencedDeclaration":85041,"src":"3349:12:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"public"},{"id":78990,"nodeType":"FunctionDefinition","src":"4017:198:77","nodes":[],"body":{"id":78989,"nodeType":"Block","src":"4154:61:77","nodes":[],"statements":[{"expression":{"arguments":[{"id":78984,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78971,"src":"4182:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78985,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78973,"src":"4194:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":78986,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78975,"src":"4203:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":78983,"name":"_getStructsFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79670,"src":"4167:14:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (struct JBSplit memory[] memory)"}},"id":78987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4167:43:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"functionReturnParameters":78982,"id":78988,"nodeType":"Return","src":"4160:50:77"}]},"baseFunctions":[86441],"documentation":{"id":78969,"nodeType":"StructuredDocumentation","src":"3631:383:77","text":"@notice Get all splits for the specified project ID, within the specified domain, for the specified group.\n @param _projectId The ID of the project to get splits for.\n @param _domain An identifier within which the returned splits should be considered active.\n @param _group The identifying group of the splits.\n @return An array of all splits for the project."},"functionSelector":"69e11cc5","implemented":true,"kind":"function","modifiers":[],"name":"splitsOf","nameLocation":"4026:8:77","overrides":{"id":78977,"nodeType":"OverrideSpecifier","overrides":[],"src":"4118:8:77"},"parameters":{"id":78976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78971,"mutability":"mutable","name":"_projectId","nameLocation":"4048:10:77","nodeType":"VariableDeclaration","scope":78990,"src":"4040:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78970,"name":"uint256","nodeType":"ElementaryTypeName","src":"4040:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78973,"mutability":"mutable","name":"_domain","nameLocation":"4072:7:77","nodeType":"VariableDeclaration","scope":78990,"src":"4064:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78972,"name":"uint256","nodeType":"ElementaryTypeName","src":"4064:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":78975,"mutability":"mutable","name":"_group","nameLocation":"4093:6:77","nodeType":"VariableDeclaration","scope":78990,"src":"4085:14:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":78974,"name":"uint256","nodeType":"ElementaryTypeName","src":"4085:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4034:69:77"},"returnParameters":{"id":78982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78981,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":78990,"src":"4136:16:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":78979,"nodeType":"UserDefinedTypeName","pathNode":{"id":78978,"name":"JBSplit","nameLocations":["4136:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"4136:7:77"},"referencedDeclaration":88011,"src":"4136:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":78980,"nodeType":"ArrayTypeName","src":"4136:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"src":"4135:18:77"},"scope":79671,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79015,"nodeType":"FunctionDefinition","src":"4723:197:77","nodes":[],"body":{"id":79014,"nodeType":"Block","src":"4861:59:77","nodes":[],"statements":[{"expression":{"id":79008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79006,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"4867:8:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79007,"name":"_projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78997,"src":"4878:9:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"src":"4867:20:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":79009,"nodeType":"ExpressionStatement","src":"4867:20:77"},{"expression":{"id":79012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79010,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78968,"src":"4893:9:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79011,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79000,"src":"4905:10:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"src":"4893:22:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":79013,"nodeType":"ExpressionStatement","src":"4893:22:77"}]},"documentation":{"id":78991,"nodeType":"StructuredDocumentation","src":"4448:272:77","text":"@param _operatorStore A contract storing operator assignments.\n @param _projects A contract which mints ERC-721's that represent project ownership and transfers.\n @param _directory A contract storing directories of terminals and controllers for each project."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":79003,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78994,"src":"4845:14:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":79004,"kind":"baseConstructorSpecifier","modifierName":{"id":79002,"name":"JBOperatable","nameLocations":["4832:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"4832:12:77"},"nodeType":"ModifierInvocation","src":"4832:28:77"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":79001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78994,"mutability":"mutable","name":"_operatorStore","nameLocation":"4757:14:77","nodeType":"VariableDeclaration","scope":79015,"src":"4740:31:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":78993,"nodeType":"UserDefinedTypeName","pathNode":{"id":78992,"name":"IJBOperatorStore","nameLocations":["4740:16:77"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"4740:16:77"},"referencedDeclaration":85400,"src":"4740:16:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"constant":false,"id":78997,"mutability":"mutable","name":"_projects","nameLocation":"4789:9:77","nodeType":"VariableDeclaration","scope":79015,"src":"4777:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":78996,"nodeType":"UserDefinedTypeName","pathNode":{"id":78995,"name":"IJBProjects","nameLocations":["4777:11:77"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"4777:11:77"},"referencedDeclaration":86082,"src":"4777:11:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"},{"constant":false,"id":79000,"mutability":"mutable","name":"_directory","nameLocation":"4817:10:77","nodeType":"VariableDeclaration","scope":79015,"src":"4804:23:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":78999,"nodeType":"UserDefinedTypeName","pathNode":{"id":78998,"name":"IJBDirectory","nameLocations":["4804:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"4804:12:77"},"referencedDeclaration":85041,"src":"4804:12:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"}],"src":"4734:97:77"},"returnParameters":{"id":79005,"nodeType":"ParameterList","parameters":[],"src":"4861:0:77"},"scope":79671,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79081,"nodeType":"FunctionDefinition","src":"5644:806:77","nodes":[],"body":{"id":79080,"nodeType":"Block","src":"5975:475:77","nodes":[],"statements":[{"assignments":[79048],"declarations":[{"constant":false,"id":79048,"mutability":"mutable","name":"_groupedSplitsLength","nameLocation":"6023:20:77","nodeType":"VariableDeclaration","scope":79080,"src":"6015:28:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79047,"name":"uint256","nodeType":"ElementaryTypeName","src":"6015:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79051,"initialValue":{"expression":{"id":79049,"name":"_groupedSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79024,"src":"6046:14:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBGroupedSplits calldata[] calldata"}},"id":79050,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6061:6:77","memberName":"length","nodeType":"MemberAccess","src":"6046:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6015:52:77"},{"body":{"id":79078,"nodeType":"Block","src":"6152:294:77","statements":[{"assignments":[79060],"declarations":[{"constant":false,"id":79060,"mutability":"mutable","name":"_groupedSplit","nameLocation":"6248:13:77","nodeType":"VariableDeclaration","scope":79078,"src":"6225:36:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_memory_ptr","typeString":"struct JBGroupedSplits"},"typeName":{"id":79059,"nodeType":"UserDefinedTypeName","pathNode":{"id":79058,"name":"JBGroupedSplits","nameLocations":["6225:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"6225:15:77"},"referencedDeclaration":87881,"src":"6225:15:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"visibility":"internal"}],"id":79064,"initialValue":{"baseExpression":{"id":79061,"name":"_groupedSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79024,"src":"6264:14:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBGroupedSplits calldata[] calldata"}},"id":79063,"indexExpression":{"id":79062,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79053,"src":"6279:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6264:18:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_calldata_ptr","typeString":"struct JBGroupedSplits calldata"}},"nodeType":"VariableDeclarationStatement","src":"6225:57:77"},{"expression":{"arguments":[{"id":79066,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79018,"src":"6335:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79067,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79020,"src":"6347:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79068,"name":"_groupedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79060,"src":"6356:13:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_memory_ptr","typeString":"struct JBGroupedSplits memory"}},"id":79069,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6370:5:77","memberName":"group","nodeType":"MemberAccess","referencedDeclaration":87876,"src":"6356:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79070,"name":"_groupedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79060,"src":"6377:13:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_memory_ptr","typeString":"struct JBGroupedSplits memory"}},"id":79071,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6391:6:77","memberName":"splits","nodeType":"MemberAccess","referencedDeclaration":87880,"src":"6377:20:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}],"id":79065,"name":"_set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79393,"src":"6330:4:77","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,uint256,struct JBSplit memory[] memory)"}},"id":79072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6330:68:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79073,"nodeType":"ExpressionStatement","src":"6330:68:77"},{"id":79077,"nodeType":"UncheckedBlock","src":"6407:33:77","statements":[{"expression":{"id":79075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6427:4:77","subExpression":{"id":79074,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79053,"src":"6429:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79076,"nodeType":"ExpressionStatement","src":"6427:4:77"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79055,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79053,"src":"6123:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79056,"name":"_groupedSplitsLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79048,"src":"6128:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6123:25:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79079,"initializationExpression":{"assignments":[79053],"declarations":[{"constant":false,"id":79053,"mutability":"mutable","name":"_i","nameLocation":"6119:2:77","nodeType":"VariableDeclaration","scope":79079,"src":"6111:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79052,"name":"uint256","nodeType":"ElementaryTypeName","src":"6111:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79054,"nodeType":"VariableDeclarationStatement","src":"6111:10:77"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"6106:340:77"}]},"baseFunctions":[86452],"documentation":{"id":79016,"nodeType":"StructuredDocumentation","src":"5153:488:77","text":"@notice Sets a project's splits.\n @dev Only the owner or operator of a project, or the current controller contract of the project, can set its splits.\n @dev The new splits must include any currently set splits that are locked.\n @param _projectId The ID of the project for which splits are being added.\n @param _domain An identifier within which the splits should be considered active.\n @param _groupedSplits An array of splits to set for any number of groups."},"functionSelector":"f2da44b6","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":79030,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79018,"src":"5841:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79028,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78963,"src":"5824:8:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":79029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5833:7:77","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"5824:16:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":79031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5824:28:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79032,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79018,"src":"5860:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":79033,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"5878:12:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":79034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5891:10:77","memberName":"SET_SPLITS","nodeType":"MemberAccess","referencedDeclaration":87613,"src":"5878:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":79044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":79039,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79018,"src":"5940:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":79037,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78968,"src":"5917:9:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":79038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5927:12:77","memberName":"controllerOf","nodeType":"MemberAccess","referencedDeclaration":84971,"src":"5917:22:77","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":79040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5917:34:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5909:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79035,"name":"address","nodeType":"ElementaryTypeName","src":"5909:7:77","typeDescriptions":{}}},"id":79041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5909:43:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79042,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5956:3:77","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5960:6:77","memberName":"sender","nodeType":"MemberAccess","src":"5956:10:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5909:57:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":79045,"kind":"modifierInvocation","modifierName":{"id":79027,"name":"requirePermissionAllowingOverride","nameLocations":["5783:33:77"],"nodeType":"IdentifierPath","referencedDeclaration":80809,"src":"5783:33:77"},"nodeType":"ModifierInvocation","src":"5783:189:77"}],"name":"set","nameLocation":"5653:3:77","overrides":{"id":79026,"nodeType":"OverrideSpecifier","overrides":[],"src":"5770:8:77"},"parameters":{"id":79025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79018,"mutability":"mutable","name":"_projectId","nameLocation":"5670:10:77","nodeType":"VariableDeclaration","scope":79081,"src":"5662:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79017,"name":"uint256","nodeType":"ElementaryTypeName","src":"5662:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79020,"mutability":"mutable","name":"_domain","nameLocation":"5694:7:77","nodeType":"VariableDeclaration","scope":79081,"src":"5686:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79019,"name":"uint256","nodeType":"ElementaryTypeName","src":"5686:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79024,"mutability":"mutable","name":"_groupedSplits","nameLocation":"5734:14:77","nodeType":"VariableDeclaration","scope":79081,"src":"5707:41:77","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":79022,"nodeType":"UserDefinedTypeName","pathNode":{"id":79021,"name":"JBGroupedSplits","nameLocations":["5707:15:77"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"5707:15:77"},"referencedDeclaration":87881,"src":"5707:15:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":79023,"nodeType":"ArrayTypeName","src":"5707:17:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"}],"src":"5656:96:77"},"returnParameters":{"id":79046,"nodeType":"ParameterList","parameters":[],"src":"5975:0:77"},"scope":79671,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79393,"nodeType":"FunctionDefinition","src":"7132:3281:77","nodes":[],"body":{"id":79392,"nodeType":"Block","src":"7254:3159:77","nodes":[],"statements":[{"assignments":[79099],"declarations":[{"constant":false,"id":79099,"mutability":"mutable","name":"_currentSplits","nameLocation":"7333:14:77","nodeType":"VariableDeclaration","scope":79392,"src":"7316:31:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":79097,"nodeType":"UserDefinedTypeName","pathNode":{"id":79096,"name":"JBSplit","nameLocations":["7316:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"7316:7:77"},"referencedDeclaration":88011,"src":"7316:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79098,"nodeType":"ArrayTypeName","src":"7316:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"id":79105,"initialValue":{"arguments":[{"id":79101,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"7365:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79102,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"7377:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79103,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"7386:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79100,"name":"_getStructsFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79670,"src":"7350:14:77","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256,uint256,uint256) view returns (struct JBSplit memory[] memory)"}},"id":79104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7350:43:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"7316:77:77"},{"assignments":[79107],"declarations":[{"constant":false,"id":79107,"mutability":"mutable","name":"_currentSplitsLength","nameLocation":"7457:20:77","nodeType":"VariableDeclaration","scope":79392,"src":"7449:28:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79106,"name":"uint256","nodeType":"ElementaryTypeName","src":"7449:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79110,"initialValue":{"expression":{"id":79108,"name":"_currentSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79099,"src":"7480:14:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7495:6:77","memberName":"length","nodeType":"MemberAccess","src":"7480:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7449:52:77"},{"body":{"id":79140,"nodeType":"Block","src":"7609:261:77","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":79117,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7664:5:77","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":79118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7670:9:77","memberName":"timestamp","nodeType":"MemberAccess","src":"7664:15:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"baseExpression":{"id":79119,"name":"_currentSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79099,"src":"7682:14:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79121,"indexExpression":{"id":79120,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"7697:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7682:18:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7701:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"7682:30:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7664:48:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":79130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7724:45:77","subExpression":{"arguments":[{"id":79125,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"7741:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},{"baseExpression":{"id":79126,"name":"_currentSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79099,"src":"7750:14:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79128,"indexExpression":{"id":79127,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"7765:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7750:18:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"},{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}],"id":79124,"name":"_includesLocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79484,"src":"7725:15:77","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr_$_t_struct$_JBSplit_$88011_memory_ptr_$returns$_t_bool_$","typeString":"function (struct JBSplit memory[] memory,struct JBSplit memory) pure returns (bool)"}},"id":79129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7725:44:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7664:105:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79135,"nodeType":"IfStatement","src":"7651:171:77","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79132,"name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78927,"src":"7785:35:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7785:37:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79134,"nodeType":"RevertStatement","src":"7778:44:77"}},{"id":79139,"nodeType":"UncheckedBlock","src":"7831:33:77","statements":[{"expression":{"id":79137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"7851:4:77","subExpression":{"id":79136,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"7853:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79138,"nodeType":"ExpressionStatement","src":"7851:4:77"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79114,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79112,"src":"7580:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79115,"name":"_currentSplitsLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79107,"src":"7585:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7580:25:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79141,"initializationExpression":{"assignments":[79112],"declarations":[{"constant":false,"id":79112,"mutability":"mutable","name":"_i","nameLocation":"7576:2:77","nodeType":"VariableDeclaration","scope":79141,"src":"7568:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79111,"name":"uint256","nodeType":"ElementaryTypeName","src":"7568:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79113,"nodeType":"VariableDeclarationStatement","src":"7568:10:77"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"7563:307:77"},{"assignments":[79143],"declarations":[{"constant":false,"id":79143,"mutability":"mutable","name":"_percentTotal","nameLocation":"7962:13:77","nodeType":"VariableDeclaration","scope":79392,"src":"7954:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79142,"name":"uint256","nodeType":"ElementaryTypeName","src":"7954:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79144,"nodeType":"VariableDeclarationStatement","src":"7954:21:77"},{"assignments":[79146],"declarations":[{"constant":false,"id":79146,"mutability":"mutable","name":"_splitsLength","nameLocation":"8039:13:77","nodeType":"VariableDeclaration","scope":79392,"src":"8031:21:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79145,"name":"uint256","nodeType":"ElementaryTypeName","src":"8031:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79149,"initialValue":{"expression":{"id":79147,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8055:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8063:6:77","memberName":"length","nodeType":"MemberAccess","src":"8055:14:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8031:38:77"},{"body":{"id":79380,"nodeType":"Block","src":"8115:2188:77","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79156,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8174:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79158,"indexExpression":{"id":79157,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8182:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8174:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8186:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"8174:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":79160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8197:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8174:24:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79165,"nodeType":"IfStatement","src":"8170:60:77","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79162,"name":"INVALID_SPLIT_PERCENT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78923,"src":"8207:21:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8207:23:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79164,"nodeType":"RevertStatement","src":"8200:30:77"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79166,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8288:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79168,"indexExpression":{"id":79167,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8296:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8288:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79169,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8300:9:77","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":88003,"src":"8288:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":79172,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8317:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":79171,"name":"uint56","nodeType":"ElementaryTypeName","src":"8317:6:77","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":79170,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8312:4:77","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":79173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8312:12:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":79174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8325:3:77","memberName":"max","nodeType":"MemberAccess","src":"8312:16:77","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"8288:40:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79179,"nodeType":"IfStatement","src":"8284:73:77","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79176,"name":"INVALID_PROJECT_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78921,"src":"8337:18:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79177,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8337:20:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79178,"nodeType":"RevertStatement","src":"8330:27:77"}},{"expression":{"id":79187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79180,"name":"_percentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79143,"src":"8402:13:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79181,"name":"_percentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79143,"src":"8418:13:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"expression":{"baseExpression":{"id":79182,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8434:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79184,"indexExpression":{"id":79183,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8442:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8434:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8446:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"8434:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8418:35:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8402:51:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79188,"nodeType":"ExpressionStatement","src":"8402:51:77"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79189,"name":"_percentTotal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79143,"src":"8530:13:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":79190,"name":"JBConstants","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86760,"src":"8546:11:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBConstants_$86760_$","typeString":"type(library JBConstants)"}},"id":79191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8558:20:77","memberName":"SPLITS_TOTAL_PERCENT","nodeType":"MemberAccess","referencedDeclaration":86753,"src":"8546:32:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8530:48:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79196,"nodeType":"IfStatement","src":"8526:84:77","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79193,"name":"INVALID_TOTAL_PERCENT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78925,"src":"8587:21:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8587:23:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79195,"nodeType":"RevertStatement","src":"8580:30:77"}},{"assignments":[79198],"declarations":[{"constant":false,"id":79198,"mutability":"mutable","name":"_packedSplitParts1","nameLocation":"8627:18:77","nodeType":"VariableDeclaration","scope":79380,"src":"8619:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79197,"name":"uint256","nodeType":"ElementaryTypeName","src":"8619:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79199,"nodeType":"VariableDeclarationStatement","src":"8619:26:77"},{"condition":{"expression":{"baseExpression":{"id":79200,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8692:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79202,"indexExpression":{"id":79201,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8700:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8692:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79203,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8704:13:77","memberName":"preferClaimed","nodeType":"MemberAccess","referencedDeclaration":87997,"src":"8692:25:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79208,"nodeType":"IfStatement","src":"8688:53:77","trueBody":{"expression":{"id":79206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79204,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"8719:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":79205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8740:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8719:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79207,"nodeType":"ExpressionStatement","src":"8719:22:77"}},{"condition":{"expression":{"baseExpression":{"id":79209,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8794:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79211,"indexExpression":{"id":79210,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8802:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8794:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8806:18:77","memberName":"preferAddToBalance","nodeType":"MemberAccess","referencedDeclaration":87999,"src":"8794:30:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79219,"nodeType":"IfStatement","src":"8790:64:77","trueBody":{"expression":{"id":79217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79213,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"8826:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"id":79216,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":79214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8848:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"31","id":79215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8853:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8848:6:77","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}},"src":"8826:28:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79218,"nodeType":"ExpressionStatement","src":"8826:28:77"}},{"expression":{"id":79227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79220,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"8893:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79221,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"8915:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79223,"indexExpression":{"id":79222,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8923:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8915:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79224,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8927:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"8915:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"32","id":79225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8938:1:77","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"8915:24:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8893:46:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79228,"nodeType":"ExpressionStatement","src":"8893:46:77"},{"expression":{"id":79236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79229,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"8981:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79230,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9003:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79232,"indexExpression":{"id":79231,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9011:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9003:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79233,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9015:9:77","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":88003,"src":"9003:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3334","id":79234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9028:2:77","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"34"},"src":"9003:27:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8981:49:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79237,"nodeType":"ExpressionStatement","src":"8981:49:77"},{"expression":{"id":79254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79238,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"9075:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":79245,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9121:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79247,"indexExpression":{"id":79246,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9129:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9121:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79248,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9133:11:77","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":88005,"src":"9121:23:77","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":79244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9113:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79243,"name":"address","nodeType":"ElementaryTypeName","src":"9113:7:77","typeDescriptions":{}}},"id":79249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9113:32:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9105:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":79241,"name":"uint160","nodeType":"ElementaryTypeName","src":"9105:7:77","typeDescriptions":{}}},"id":79250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9105:41:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":79240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9097:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79239,"name":"uint256","nodeType":"ElementaryTypeName","src":"9097:7:77","typeDescriptions":{}}},"id":79251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9097:50:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3930","id":79252,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9151:2:77","typeDescriptions":{"typeIdentifier":"t_rational_90_by_1","typeString":"int_const 90"},"value":"90"},"src":"9097:56:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9075:78:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79255,"nodeType":"ExpressionStatement","src":"9075:78:77"},{"expression":{"id":79266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79256,"name":"_packedSplitParts1Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78947,"src":"9199:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79261,"indexExpression":{"id":79257,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"9220:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9199:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79262,"indexExpression":{"id":79258,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"9232:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9199:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79263,"indexExpression":{"id":79259,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"9241:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9199:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79264,"indexExpression":{"id":79260,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9249:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9199:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79265,"name":"_packedSplitParts1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79198,"src":"9255:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9199:74:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79267,"nodeType":"ExpressionStatement","src":"9199:74:77"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79268,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9369:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79270,"indexExpression":{"id":79269,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9377:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9369:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9381:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"9369:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9395:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9369:27:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"},"id":79284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79274,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9400:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79276,"indexExpression":{"id":79275,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9408:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9400:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79277,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9412:9:77","memberName":"allocator","nodeType":"MemberAccess","referencedDeclaration":88010,"src":"9400:21:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":79281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9451:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":79280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9443:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79279,"name":"address","nodeType":"ElementaryTypeName","src":"9443:7:77","typeDescriptions":{}}},"id":79282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9443:10:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79278,"name":"IJBSplitAllocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86393,"src":"9425:17:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBSplitAllocator_$86393_$","typeString":"type(contract IJBSplitAllocator)"}},"id":79283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9425:29:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"src":"9400:54:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9369:85:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79341,"name":"_packedSplitParts2Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78958,"src":"10052:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79343,"indexExpression":{"id":79342,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"10073:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10052:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79345,"indexExpression":{"id":79344,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"10085:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10052:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79347,"indexExpression":{"id":79346,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"10094:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10052:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79349,"indexExpression":{"id":79348,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"10102:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10052:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10108:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10052:57:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79363,"nodeType":"IfStatement","src":"10048:131:77","trueBody":{"expression":{"id":79361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"10119:60:77","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79352,"name":"_packedSplitParts2Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78958,"src":"10126:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79354,"indexExpression":{"id":79353,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"10147:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10126:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79356,"indexExpression":{"id":79355,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"10159:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10126:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79358,"indexExpression":{"id":79357,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"10168:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10126:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79360,"indexExpression":{"id":79359,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"10176:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10126:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79362,"nodeType":"ExpressionStatement","src":"10119:60:77"}},"id":79364,"nodeType":"IfStatement","src":"9365:814:77","trueBody":{"id":79340,"nodeType":"Block","src":"9456:586:77","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79286,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9520:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79288,"indexExpression":{"id":79287,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9528:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9520:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9532:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"9520:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":79292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9551:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79291,"name":"uint48","nodeType":"ElementaryTypeName","src":"9551:6:77","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":79290,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9546:4:77","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":79293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9546:12:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":79294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9559:3:77","memberName":"max","nodeType":"MemberAccess","src":"9546:16:77","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"9520:42:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79299,"nodeType":"IfStatement","src":"9516:77:77","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79296,"name":"INVALID_LOCKED_UNTIL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78919,"src":"9571:20:77","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9571:22:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79298,"nodeType":"RevertStatement","src":"9564:29:77"}},{"assignments":[79301],"declarations":[{"constant":false,"id":79301,"mutability":"mutable","name":"_packedSplitParts2","nameLocation":"9649:18:77","nodeType":"VariableDeclaration","scope":79340,"src":"9641:26:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79300,"name":"uint256","nodeType":"ElementaryTypeName","src":"9641:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79309,"initialValue":{"arguments":[{"expression":{"baseExpression":{"id":79304,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9677:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79306,"indexExpression":{"id":79305,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9685:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9677:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79307,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9689:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"9677:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9670:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79302,"name":"uint48","nodeType":"ElementaryTypeName","src":"9670:6:77","typeDescriptions":{}}},"id":79308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9670:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"VariableDeclarationStatement","src":"9641:60:77"},{"expression":{"id":79326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79310,"name":"_packedSplitParts2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79301,"src":"9748:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79325,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"baseExpression":{"id":79317,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"9794:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79319,"indexExpression":{"id":79318,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9802:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9794:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79320,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9806:9:77","memberName":"allocator","nodeType":"MemberAccess","referencedDeclaration":88010,"src":"9794:21:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}],"id":79316,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9786:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79315,"name":"address","nodeType":"ElementaryTypeName","src":"9786:7:77","typeDescriptions":{}}},"id":79321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9786:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9778:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":79313,"name":"uint160","nodeType":"ElementaryTypeName","src":"9778:7:77","typeDescriptions":{}}},"id":79322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9778:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":79312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9770:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79311,"name":"uint256","nodeType":"ElementaryTypeName","src":"9770:7:77","typeDescriptions":{}}},"id":79323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9770:48:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3438","id":79324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9822:2:77","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"9770:54:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9748:76:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79327,"nodeType":"ExpressionStatement","src":"9748:76:77"},{"expression":{"id":79338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79328,"name":"_packedSplitParts2Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78958,"src":"9875:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79333,"indexExpression":{"id":79329,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"9896:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9875:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79334,"indexExpression":{"id":79330,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"9908:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9875:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79335,"indexExpression":{"id":79331,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"9917:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9875:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79336,"indexExpression":{"id":79332,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"9925:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9875:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79337,"name":"_packedSplitParts2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79301,"src":"9931:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9875:74:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79339,"nodeType":"ExpressionStatement","src":"9875:74:77"}]}},{"eventCall":{"arguments":[{"id":79366,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"10202:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79367,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"10214:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":79368,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"10223:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":79369,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79092,"src":"10231:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79371,"indexExpression":{"id":79370,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"10239:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10231:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},{"expression":{"id":79372,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10244:3:77","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":79373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10248:6:77","memberName":"sender","nodeType":"MemberAccess","src":"10244:10:77","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":79365,"name":"SetSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86416,"src":"10193:8:77","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_struct$_JBSplit_$88011_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,uint256,uint256,struct JBSplit memory,address)"}},"id":79374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10193:62:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79375,"nodeType":"EmitStatement","src":"10188:67:77"},{"id":79379,"nodeType":"UncheckedBlock","src":"10264:33:77","statements":[{"expression":{"id":79377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10284:4:77","subExpression":{"id":79376,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"10286:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79378,"nodeType":"ExpressionStatement","src":"10284:4:77"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79153,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79151,"src":"8093:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79154,"name":"_splitsLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79146,"src":"8098:13:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8093:18:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79381,"initializationExpression":{"assignments":[79151],"declarations":[{"constant":false,"id":79151,"mutability":"mutable","name":"_i","nameLocation":"8089:2:77","nodeType":"VariableDeclaration","scope":79381,"src":"8081:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79150,"name":"uint256","nodeType":"ElementaryTypeName","src":"8081:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79152,"nodeType":"VariableDeclarationStatement","src":"8081:10:77"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"8076:2227:77"},{"expression":{"id":79390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79382,"name":"_splitCountOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78936,"src":"10350:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79386,"indexExpression":{"id":79383,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79084,"src":"10364:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10350:25:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79387,"indexExpression":{"id":79384,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79086,"src":"10376:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10350:34:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79388,"indexExpression":{"id":79385,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79088,"src":"10385:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10350:42:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79389,"name":"_splitsLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79146,"src":"10395:13:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10350:58:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79391,"nodeType":"ExpressionStatement","src":"10350:58:77"}]},"documentation":{"id":79082,"nodeType":"StructuredDocumentation","src":"6683:446:77","text":"@notice Sets a project's splits.\n @dev The new splits must include any currently set splits that are locked.\n @param _projectId The ID of the project for which splits are being added.\n @param _domain An identifier within which the splits should be considered active.\n @param _group An identifier between of splits being set. All splits within this _group must add up to within 100%.\n @param _splits The splits to set."},"implemented":true,"kind":"function","modifiers":[],"name":"_set","nameLocation":"7141:4:77","parameters":{"id":79093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79084,"mutability":"mutable","name":"_projectId","nameLocation":"7159:10:77","nodeType":"VariableDeclaration","scope":79393,"src":"7151:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79083,"name":"uint256","nodeType":"ElementaryTypeName","src":"7151:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79086,"mutability":"mutable","name":"_domain","nameLocation":"7183:7:77","nodeType":"VariableDeclaration","scope":79393,"src":"7175:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79085,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79088,"mutability":"mutable","name":"_group","nameLocation":"7204:6:77","nodeType":"VariableDeclaration","scope":79393,"src":"7196:14:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79087,"name":"uint256","nodeType":"ElementaryTypeName","src":"7196:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79092,"mutability":"mutable","name":"_splits","nameLocation":"7233:7:77","nodeType":"VariableDeclaration","scope":79393,"src":"7216:24:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":79090,"nodeType":"UserDefinedTypeName","pathNode":{"id":79089,"name":"JBSplit","nameLocations":["7216:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"7216:7:77"},"referencedDeclaration":88011,"src":"7216:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79091,"nodeType":"ArrayTypeName","src":"7216:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"src":"7145:99:77"},"returnParameters":{"id":79094,"nodeType":"ParameterList","parameters":[],"src":"7254:0:77"},"scope":79671,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":79484,"nodeType":"FunctionDefinition","src":"10693:868:77","nodes":[],"body":{"id":79483,"nodeType":"Block","src":"10813:748:77","nodes":[],"statements":[{"assignments":[79407],"declarations":[{"constant":false,"id":79407,"mutability":"mutable","name":"_numberOfSplits","nameLocation":"10876:15:77","nodeType":"VariableDeclaration","scope":79483,"src":"10868:23:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79406,"name":"uint256","nodeType":"ElementaryTypeName","src":"10868:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79410,"initialValue":{"expression":{"id":79408,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"10894:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10902:6:77","memberName":"length","nodeType":"MemberAccess","src":"10894:14:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10868:40:77"},{"body":{"id":79479,"nodeType":"Block","src":"10956:582:77","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79417,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11006:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79419,"indexExpression":{"id":79418,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11014:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11006:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79420,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11018:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"11006:19:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79421,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11029:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11042:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"11029:20:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11006:43:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"id":79430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79424,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11061:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79426,"indexExpression":{"id":79425,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11069:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11061:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79427,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11073:11:77","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":88005,"src":"11061:23:77","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79428,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11088:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79429,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11101:11:77","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":88005,"src":"11088:24:77","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"11061:51:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:106:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"},"id":79438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79432,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11124:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79434,"indexExpression":{"id":79433,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11132:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11124:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11136:9:77","memberName":"allocator","nodeType":"MemberAccess","referencedDeclaration":88010,"src":"11124:21:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79436,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11149:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11162:9:77","memberName":"allocator","nodeType":"MemberAccess","referencedDeclaration":88010,"src":"11149:22:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"src":"11124:47:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:165:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79440,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11183:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79442,"indexExpression":{"id":79441,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11191:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11183:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79443,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11195:9:77","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":88003,"src":"11183:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79444,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11208:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79445,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11221:9:77","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":88003,"src":"11208:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11183:47:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:224:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79448,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11242:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79450,"indexExpression":{"id":79449,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11250:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11242:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79451,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11254:13:77","memberName":"preferClaimed","nodeType":"MemberAccess","referencedDeclaration":87997,"src":"11242:25:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79452,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11271:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79453,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11284:13:77","memberName":"preferClaimed","nodeType":"MemberAccess","referencedDeclaration":87997,"src":"11271:26:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11242:55:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:291:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79456,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11309:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79458,"indexExpression":{"id":79457,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11317:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11309:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79459,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11321:18:77","memberName":"preferAddToBalance","nodeType":"MemberAccess","referencedDeclaration":87999,"src":"11309:30:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":79460,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11343:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79461,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11356:18:77","memberName":"preferAddToBalance","nodeType":"MemberAccess","referencedDeclaration":87999,"src":"11343:31:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11309:65:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:368:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"baseExpression":{"id":79464,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79398,"src":"11419:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79466,"indexExpression":{"id":79465,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11427:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11419:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79467,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11431:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"11419:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":79468,"name":"_lockedSplit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79401,"src":"11446:12:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11459:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"11446:24:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11419:51:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11006:464:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79474,"nodeType":"IfStatement","src":"10993:497:77","trueBody":{"expression":{"hexValue":"74727565","id":79472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11486:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":79405,"id":79473,"nodeType":"Return","src":"11479:11:77"}},{"id":79478,"nodeType":"UncheckedBlock","src":"11499:33:77","statements":[{"expression":{"id":79476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"11519:4:77","subExpression":{"id":79475,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"11521:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79477,"nodeType":"ExpressionStatement","src":"11519:4:77"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79414,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79412,"src":"10932:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79415,"name":"_numberOfSplits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79407,"src":"10937:15:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10932:20:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79480,"initializationExpression":{"assignments":[79412],"declarations":[{"constant":false,"id":79412,"mutability":"mutable","name":"_i","nameLocation":"10928:2:77","nodeType":"VariableDeclaration","scope":79480,"src":"10920:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79411,"name":"uint256","nodeType":"ElementaryTypeName","src":"10920:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79413,"nodeType":"VariableDeclarationStatement","src":"10920:10:77"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"10915:623:77"},{"expression":{"hexValue":"66616c7365","id":79481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11551:5:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":79405,"id":79482,"nodeType":"Return","src":"11544:12:77"}]},"documentation":{"id":79394,"nodeType":"StructuredDocumentation","src":"10417:273:77","text":"@notice A flag indiciating if the provided splits array includes the locked split.\n @param _splits The array of splits to check within.\n @param _lockedSplit The locked split.\n @return A flag indicating if the `_lockedSplit` is contained in the `_splits`."},"implemented":true,"kind":"function","modifiers":[],"name":"_includesLocked","nameLocation":"10702:15:77","parameters":{"id":79402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79398,"mutability":"mutable","name":"_splits","nameLocation":"10740:7:77","nodeType":"VariableDeclaration","scope":79484,"src":"10723:24:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":79396,"nodeType":"UserDefinedTypeName","pathNode":{"id":79395,"name":"JBSplit","nameLocations":["10723:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"10723:7:77"},"referencedDeclaration":88011,"src":"10723:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79397,"nodeType":"ArrayTypeName","src":"10723:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"},{"constant":false,"id":79401,"mutability":"mutable","name":"_lockedSplit","nameLocation":"10768:12:77","nodeType":"VariableDeclaration","scope":79484,"src":"10753:27:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit"},"typeName":{"id":79400,"nodeType":"UserDefinedTypeName","pathNode":{"id":79399,"name":"JBSplit","nameLocations":["10753:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"10753:7:77"},"referencedDeclaration":88011,"src":"10753:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"visibility":"internal"}],"src":"10717:67:77"},"returnParameters":{"id":79405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79484,"src":"10807:4:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":79403,"name":"bool","nodeType":"ElementaryTypeName","src":"10807:4:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10806:6:77"},"scope":79671,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":79670,"nodeType":"FunctionDefinition","src":"11922:1864:77","nodes":[],"body":{"id":79669,"nodeType":"Block","src":"12055:1731:77","nodes":[],"statements":[{"assignments":[79499],"declarations":[{"constant":false,"id":79499,"mutability":"mutable","name":"_splitCount","nameLocation":"12161:11:77","nodeType":"VariableDeclaration","scope":79669,"src":"12153:19:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79498,"name":"uint256","nodeType":"ElementaryTypeName","src":"12153:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79507,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79500,"name":"_splitCountOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78936,"src":"12175:13:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79502,"indexExpression":{"id":79501,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79487,"src":"12189:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12175:25:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79504,"indexExpression":{"id":79503,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79489,"src":"12201:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12175:34:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79506,"indexExpression":{"id":79505,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79491,"src":"12210:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12175:42:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12153:64:77"},{"assignments":[79512],"declarations":[{"constant":false,"id":79512,"mutability":"mutable","name":"_splits","nameLocation":"12308:7:77","nodeType":"VariableDeclaration","scope":79669,"src":"12291:24:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":79510,"nodeType":"UserDefinedTypeName","pathNode":{"id":79509,"name":"JBSplit","nameLocations":["12291:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"12291:7:77"},"referencedDeclaration":88011,"src":"12291:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79511,"nodeType":"ArrayTypeName","src":"12291:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"id":79519,"initialValue":{"arguments":[{"id":79517,"name":"_splitCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79499,"src":"12332:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79516,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"12318:13:77","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct JBSplit memory[] memory)"},"typeName":{"baseType":{"id":79514,"nodeType":"UserDefinedTypeName","pathNode":{"id":79513,"name":"JBSplit","nameLocations":["12322:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"12322:7:77"},"referencedDeclaration":88011,"src":"12322:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79515,"nodeType":"ArrayTypeName","src":"12322:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}}},"id":79518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12318:26:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"12291:53:77"},{"body":{"id":79665,"nodeType":"Block","src":"12455:1306:77","statements":[{"assignments":[79527],"declarations":[{"constant":false,"id":79527,"mutability":"mutable","name":"_packedSplitPart1","nameLocation":"12521:17:77","nodeType":"VariableDeclaration","scope":79665,"src":"12513:25:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79526,"name":"uint256","nodeType":"ElementaryTypeName","src":"12513:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79537,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79528,"name":"_packedSplitParts1Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78947,"src":"12541:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79530,"indexExpression":{"id":79529,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79487,"src":"12562:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12541:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79532,"indexExpression":{"id":79531,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79489,"src":"12574:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12541:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79534,"indexExpression":{"id":79533,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79491,"src":"12583:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12541:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79536,"indexExpression":{"id":79535,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79521,"src":"12591:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12541:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12513:81:77"},{"assignments":[79540],"declarations":[{"constant":false,"id":79540,"mutability":"mutable","name":"_split","nameLocation":"12654:6:77","nodeType":"VariableDeclaration","scope":79665,"src":"12639:21:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit"},"typeName":{"id":79539,"nodeType":"UserDefinedTypeName","pathNode":{"id":79538,"name":"JBSplit","nameLocations":["12639:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"12639:7:77"},"referencedDeclaration":88011,"src":"12639:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"visibility":"internal"}],"id":79541,"nodeType":"VariableDeclarationStatement","src":"12639:21:77"},{"expression":{"id":79550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79542,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"12703:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79544,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12710:13:77","memberName":"preferClaimed","nodeType":"MemberAccess","referencedDeclaration":87997,"src":"12703:20:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79545,"name":"_packedSplitPart1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79527,"src":"12726:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":79546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12746:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12726:21:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":79548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12751:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12726:26:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12703:49:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79551,"nodeType":"ExpressionStatement","src":"12703:49:77"},{"expression":{"id":79563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79552,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"12801:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79554,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12808:18:77","memberName":"preferAddToBalance","nodeType":"MemberAccess","referencedDeclaration":87999,"src":"12801:25:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79557,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79555,"name":"_packedSplitPart1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79527,"src":"12830:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":79556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12851:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12830:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":79558,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12829:24:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":79559,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12856:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12829:28:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":79561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12861:1:77","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12829:33:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12801:61:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79564,"nodeType":"ExpressionStatement","src":"12801:61:77"},{"expression":{"id":79577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79565,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"12901:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79567,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"12908:7:77","memberName":"percent","nodeType":"MemberAccess","referencedDeclaration":88001,"src":"12901:14:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79572,"name":"_packedSplitPart1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79527,"src":"12933:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":79573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12954:1:77","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12933:22:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79571,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12926:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":79570,"name":"uint32","nodeType":"ElementaryTypeName","src":"12926:6:77","typeDescriptions":{}}},"id":79575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12926:30:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":79569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12918:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79568,"name":"uint256","nodeType":"ElementaryTypeName","src":"12918:7:77","typeDescriptions":{}}},"id":79576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12918:39:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12901:56:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79578,"nodeType":"ExpressionStatement","src":"12901:56:77"},{"expression":{"id":79591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79579,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"12999:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79581,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13006:9:77","memberName":"projectId","nodeType":"MemberAccess","referencedDeclaration":88003,"src":"12999:16:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79586,"name":"_packedSplitPart1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79527,"src":"13033:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3334","id":79587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13054:2:77","typeDescriptions":{"typeIdentifier":"t_rational_34_by_1","typeString":"int_const 34"},"value":"34"},"src":"13033:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79585,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13026:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":79584,"name":"uint56","nodeType":"ElementaryTypeName","src":"13026:6:77","typeDescriptions":{}}},"id":79589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13026:31:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint56","typeString":"uint56"}],"id":79583,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13018:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79582,"name":"uint256","nodeType":"ElementaryTypeName","src":"13018:7:77","typeDescriptions":{}}},"id":79590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13018:40:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12999:59:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79592,"nodeType":"ExpressionStatement","src":"12999:59:77"},{"expression":{"id":79608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79593,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"13103:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79595,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13110:11:77","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":88005,"src":"13103:18:77","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79602,"name":"_packedSplitPart1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79527,"src":"13148:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3930","id":79603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13169:2:77","typeDescriptions":{"typeIdentifier":"t_rational_90_by_1","typeString":"int_const 90"},"value":"90"},"src":"13148:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13140:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":79600,"name":"uint160","nodeType":"ElementaryTypeName","src":"13140:7:77","typeDescriptions":{}}},"id":79605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13140:32:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":79599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13132:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79598,"name":"address","nodeType":"ElementaryTypeName","src":"13132:7:77","typeDescriptions":{}}},"id":79606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13132:41:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13124:8:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":79596,"name":"address","nodeType":"ElementaryTypeName","src":"13124:8:77","stateMutability":"payable","typeDescriptions":{}}},"id":79607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13124:50:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"13103:71:77","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":79609,"nodeType":"ExpressionStatement","src":"13103:71:77"},{"assignments":[79611],"declarations":[{"constant":false,"id":79611,"mutability":"mutable","name":"_packedSplitPart2","nameLocation":"13243:17:77","nodeType":"VariableDeclaration","scope":79665,"src":"13235:25:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79610,"name":"uint256","nodeType":"ElementaryTypeName","src":"13235:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79621,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":79612,"name":"_packedSplitParts2Of","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78958,"src":"13263:20:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256))))"}},"id":79614,"indexExpression":{"id":79613,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79487,"src":"13284:10:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13263:32:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(uint256 => mapping(uint256 => mapping(uint256 => uint256)))"}},"id":79616,"indexExpression":{"id":79615,"name":"_domain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79489,"src":"13296:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13263:41:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(uint256 => mapping(uint256 => uint256))"}},"id":79618,"indexExpression":{"id":79617,"name":"_group","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79491,"src":"13305:6:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13263:49:77","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":79620,"indexExpression":{"id":79619,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79521,"src":"13313:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13263:53:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13235:81:77"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79622,"name":"_packedSplitPart2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79611,"src":"13373:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":79623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13393:1:77","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13373:21:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79654,"nodeType":"IfStatement","src":"13369:264:77","trueBody":{"id":79653,"nodeType":"Block","src":"13396:237:77","statements":[{"expression":{"id":79635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79625,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"13443:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79627,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13450:11:77","memberName":"lockedUntil","nodeType":"MemberAccess","referencedDeclaration":88007,"src":"13443:18:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":79632,"name":"_packedSplitPart2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79611,"src":"13479:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13472:6:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":79630,"name":"uint48","nodeType":"ElementaryTypeName","src":"13472:6:77","typeDescriptions":{}}},"id":79633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13472:25:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":79629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13464:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":79628,"name":"uint256","nodeType":"ElementaryTypeName","src":"13464:7:77","typeDescriptions":{}}},"id":79634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13464:34:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13443:55:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79636,"nodeType":"ExpressionStatement","src":"13443:55:77"},{"expression":{"id":79651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"id":79637,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"13545:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79639,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"13552:9:77","memberName":"allocator","nodeType":"MemberAccess","referencedDeclaration":88010,"src":"13545:16:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79645,"name":"_packedSplitPart2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79611,"src":"13598:17:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3438","id":79646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13619:2:77","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"13598:23:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13590:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":79643,"name":"uint160","nodeType":"ElementaryTypeName","src":"13590:7:77","typeDescriptions":{}}},"id":79648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13590:32:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":79642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13582:7:77","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":79641,"name":"address","nodeType":"ElementaryTypeName","src":"13582:7:77","typeDescriptions":{}}},"id":79649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13582:41:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":79640,"name":"IJBSplitAllocator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86393,"src":"13564:17:77","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBSplitAllocator_$86393_$","typeString":"type(contract IJBSplitAllocator)"}},"id":79650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13564:60:77","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"src":"13545:79:77","typeDescriptions":{"typeIdentifier":"t_contract$_IJBSplitAllocator_$86393","typeString":"contract IJBSplitAllocator"}},"id":79652,"nodeType":"ExpressionStatement","src":"13545:79:77"}]}},{"expression":{"id":79659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":79655,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79512,"src":"13693:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"id":79657,"indexExpression":{"id":79656,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79521,"src":"13701:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"13693:11:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79658,"name":"_split","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79540,"src":"13707:6:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"src":"13693:20:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_memory_ptr","typeString":"struct JBSplit memory"}},"id":79660,"nodeType":"ExpressionStatement","src":"13693:20:77"},{"id":79664,"nodeType":"UncheckedBlock","src":"13722:33:77","statements":[{"expression":{"id":79662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"13742:4:77","subExpression":{"id":79661,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79521,"src":"13744:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79663,"nodeType":"ExpressionStatement","src":"13742:4:77"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79523,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79521,"src":"12435:2:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":79524,"name":"_splitCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79499,"src":"12440:11:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12435:16:77","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79666,"initializationExpression":{"assignments":[79521],"declarations":[{"constant":false,"id":79521,"mutability":"mutable","name":"_i","nameLocation":"12431:2:77","nodeType":"VariableDeclaration","scope":79666,"src":"12423:10:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79520,"name":"uint256","nodeType":"ElementaryTypeName","src":"12423:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":79522,"nodeType":"VariableDeclarationStatement","src":"12423:10:77"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"12418:1343:77"},{"expression":{"id":79667,"name":"_splits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79512,"src":"13774:7:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit memory[] memory"}},"functionReturnParameters":79497,"id":79668,"nodeType":"Return","src":"13767:14:77"}]},"documentation":{"id":79485,"nodeType":"StructuredDocumentation","src":"11565:354:77","text":"@notice Unpack splits' packed stored values into easy-to-work-with split structs.\n @param _projectId The ID of the project to which the split belongs.\n @param _domain The identifier within which the returned splits should be considered active.\n @param _group The identifying group of the splits.\n @return splits The split structs."},"implemented":true,"kind":"function","modifiers":[],"name":"_getStructsFor","nameLocation":"11931:14:77","parameters":{"id":79492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79487,"mutability":"mutable","name":"_projectId","nameLocation":"11959:10:77","nodeType":"VariableDeclaration","scope":79670,"src":"11951:18:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79486,"name":"uint256","nodeType":"ElementaryTypeName","src":"11951:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79489,"mutability":"mutable","name":"_domain","nameLocation":"11983:7:77","nodeType":"VariableDeclaration","scope":79670,"src":"11975:15:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79488,"name":"uint256","nodeType":"ElementaryTypeName","src":"11975:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79491,"mutability":"mutable","name":"_group","nameLocation":"12004:6:77","nodeType":"VariableDeclaration","scope":79670,"src":"11996:14:77","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79490,"name":"uint256","nodeType":"ElementaryTypeName","src":"11996:7:77","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:69:77"},"returnParameters":{"id":79497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79670,"src":"12037:16:77","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_memory_ptr_$dyn_memory_ptr","typeString":"struct JBSplit[]"},"typeName":{"baseType":{"id":79494,"nodeType":"UserDefinedTypeName","pathNode":{"id":79493,"name":"JBSplit","nameLocations":["12037:7:77"],"nodeType":"IdentifierPath","referencedDeclaration":88011,"src":"12037:7:77"},"referencedDeclaration":88011,"src":"12037:7:77","typeDescriptions":{"typeIdentifier":"t_struct$_JBSplit_$88011_storage_ptr","typeString":"struct JBSplit"}},"id":79495,"nodeType":"ArrayTypeName","src":"12037:9:77","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBSplit_$88011_storage_$dyn_storage_ptr","typeString":"struct JBSplit[]"}},"visibility":"internal"}],"src":"12036:18:77"},"scope":79671,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":78914,"name":"JBOperatable","nameLocations":["733:12:77"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"733:12:77"},"id":78915,"nodeType":"InheritanceSpecifier","src":"733:12:77"},{"baseName":{"id":78916,"name":"IJBSplitsStore","nameLocations":["747:14:77"],"nodeType":"IdentifierPath","referencedDeclaration":86453,"src":"747:14:77"},"id":78917,"nodeType":"InheritanceSpecifier","src":"747:14:77"}],"canonicalName":"JBSplitsStore","contractDependencies":[],"contractKind":"contract","documentation":{"id":78913,"nodeType":"StructuredDocumentation","src":"663:44:77","text":"@notice Stores splits for each project."},"fullyImplemented":true,"linearizedBaseContracts":[79671,86453,80910,85331],"name":"JBSplitsStore","nameLocation":"716:13:77","scope":79672,"usedErrors":[78919,78921,78923,78925,78927,80772],"usedEvents":[86416]}],"license":"MIT"},"id":77} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_directory","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"nonpayable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"set","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"splitsOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_domain","type":"uint256","internalType":"uint256"},{"name":"_group","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}],"stateMutability":"view"},{"type":"event","name":"SetSplit","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"domain","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"group","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"split","type":"tuple","indexed":false,"internalType":"struct JBSplit","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"INVALID_LOCKED_UNTIL","inputs":[]},{"type":"error","name":"INVALID_PROJECT_ID","inputs":[]},{"type":"error","name":"INVALID_SPLIT_PERCENT","inputs":[]},{"type":"error","name":"INVALID_TOTAL_PERCENT","inputs":[]},{"type":"error","name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c63430008170033","sourceMap":"707:13081:77:-:0;;;4723:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;;4867:20:77;;::::1;;::::0;4893:22:::1;;::::0;707:13081;;14:149:197;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:642::-;325:6;333;341;394:2;382:9;373:7;369:23;365:32;362:52;;;410:1;407;400:12;362:52;442:9;436:16;461:49;504:5;461:49;:::i;:::-;579:2;564:18;;558:25;529:5;;-1:-1:-1;592:51:197;558:25;592:51;:::i;:::-;714:2;699:18;;693:25;662:7;;-1:-1:-1;727:51:197;693:25;727:51;:::i;:::-;797:7;787:17;;;168:642;;;;;:::o;:::-;707:13081:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c63430008170033","sourceMap":"707:13081:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4017:198;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3227:46;;;;;;;;-1:-1:-1;;;;;1792:32:197;;;1774:51;;1762:2;1747:18;3227:46:77;1607:224:197;2189:56:81;;;;;3349:48:77;;;;;5644:806;;;;;;:::i;:::-;;:::i;:::-;;4017:198;4136:16;4167:43;4182:10;4194:7;4203:6;4167:14;:43::i;:::-;4160:50;4017:198;-1:-1:-1;;;;4017:198:77:o;5644:806::-;5824:28;;-1:-1:-1;;;5824:28:77;;;;;3238:25:197;;;5824:8:77;-1:-1:-1;;;;;5824:16:77;;;;3211:18:197;;5824:28:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5917:34;;-1:-1:-1;;;5917:34:77;;;;;3238:25:197;;;5860:10:77;;870:2:125;;5956:10:77;;-1:-1:-1;;;;;5917:9:77;:22;;;;3211:18:197;;5917:34:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5909:57:77;;1807:82:81;1842:8;1852:7;1861:16;1879:9;1807:34;:82::i;:::-;6046:14:77;6015:28:::1;6106:340;6128:20;6123:2;:25;6106:340;;;6225:36;6264:14;;6279:2;6264:18;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;6225:57;;;:::i;:::-;;;6330:68;6335:10;6347:7;6356:13;:19;;;6377:13;:20;;;6330:4;:68::i;:::-;-1:-1:-1::0;6427:4:77::1;;6106:340;;;;5975:475;5644:806:::0;;;;;;;;:::o;11922:1864::-;12153:19;12175:25;;;;;;;;;;;:34;;;;;;;;:42;;;;;;;;;12037:16;;12175:42;12318:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12318:26:77;;-1:-1:-1;;12318:26:77;;;;;;;;;;;;12291:53;;12423:10;12418:1343;12440:11;12435:2;:16;12418:1343;;;12513:25;12541:32;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;12726:21:77;;;:26;;12703:49;;12830:22;;;12829:28;;:33;;;-1:-1:-1;;;12801:61:77;12954:1;12933:22;;;12918:39;;-1:-1:-1;;;12901:56:77;13054:2;13033:23;;;13018:40;;-1:-1:-1;;;12999:59:77;13169:2;13148:23;;;-1:-1:-1;;;;;13103:71:77;-1:-1:-1;;;13103:71:77;13263:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;;13373:21;;13369:264;;13464:34;;;13443:18;;;:55;-1:-1:-1;;;;;13619:2:77;13598:23;;;13545:79;:16;;;:79;13369:264;13707:6;13693:7;13701:2;13693:11;;;;;;;;:::i;:::-;;;;;;:20;;;;13742:4;;;;;12455:1306;;;12418:1343;;;-1:-1:-1;13774:7:77;11922:1864;-1:-1:-1;;;;;11922:1864:77:o;4018:415:81:-;4191:9;4190:10;:42;;;;-1:-1:-1;4210:10:81;-1:-1:-1;;;;;4210:22:81;;;;4190:42;:129;;;;-1:-1:-1;4243:76:81;;-1:-1:-1;;;4243:76:81;;4271:10;4243:76;;;7682:34:197;-1:-1:-1;;;;;7752:15:197;;;7732:18;;;7725:43;7784:18;;;7777:34;;;7827:18;;;7820:34;;;4243:13:81;:27;;;;7616:19:197;;4243:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4242:77;4190:129;:210;;;;-1:-1:-1;4330:70:81;;-1:-1:-1;;;4330:70:81;;4358:10;4330:70;;;7682:34:197;-1:-1:-1;;;;;7752:15:197;;;7732:18;;;7725:43;4380:1:81;7784:18:197;;;7777:34;7827:18;;;7820:34;;;4330:13:81;:27;;;;7616:19:197;;4330:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4329:71;4190:210;4179:249;;;4414:14;;-1:-1:-1;;;4414:14:81;;;;;;;;;;;4179:249;4018:415;;;;:::o;7132:3281:77:-;7316:31;7350:43;7365:10;7377:7;7386:6;7350:14;:43::i;:::-;7480:21;;7316:77;;-1:-1:-1;7449:28:77;7563:307;7585:20;7580:2;:25;7563:307;;;7682:14;7697:2;7682:18;;;;;;;;:::i;:::-;;;;;;;:30;;;7664:15;:48;:105;;;;;7725:44;7741:7;7750:14;7765:2;7750:18;;;;;;;;:::i;:::-;;;;;;;7725:15;:44::i;:::-;7724:45;7664:105;7651:171;;;7785:37;;-1:-1:-1;;;7785:37:77;;;;;;;;;;;7651:171;7851:4;;7563:307;;;-1:-1:-1;8055:14:77;;7954:21;;;8076:2227;8098:13;8093:2;:18;8076:2227;;;8174:7;8182:2;8174:11;;;;;;;;:::i;:::-;;;;;;;:19;;;8197:1;8174:24;8170:60;;8207:23;;-1:-1:-1;;;8207:23:77;;;;;;;;;;;8170:60;8312:16;8288:40;;:7;8296:2;8288:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:40;8284:73;;;8337:20;;-1:-1:-1;;;8337:20:77;;;;;;;;;;;8284:73;8434:7;8442:2;8434:11;;;;;;;;:::i;:::-;;;;;;;:19;;;8418:13;:35;;;;:::i;:::-;8402:51;;360:13:120;8530::77;:48;8526:84;;;8587:23;;-1:-1:-1;;;8587:23:77;;;;;;;;;;;8526:84;8619:26;8692:7;8700:2;8692:11;;;;;;;;:::i;:::-;;;;;;;:25;;;8688:53;;;-1:-1:-1;8740:1:77;8688:53;8794:7;8802:2;8794:11;;;;;;;;:::i;:::-;;;;;;;:30;;;8790:64;;;8848:6;8826:28;8790:64;8938:1;8915:7;8923:2;8915:11;;;;;;;;:::i;:::-;;;;;;;:19;;;:24;;8893:46;;;;9028:2;9003:7;9011:2;9003:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:27;;8981:49;;;;9151:2;9121:7;9129:2;9121:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:23;;;9199:32;;;;:20;:32;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;-1:-1:-1;;;;;9097:50:77;;;:56;;;9075:78;;;;9199:74;;;;9369:11;;9075:78;;9199:32;9369:7;;9249:2;;9369:11;;;;;;:::i;:::-;;;;;;;:23;;;:27;:85;;;;9451:1;-1:-1:-1;;;;;9400:54:77;:7;9408:2;9400:11;;;;;;;;:::i;:::-;;;;;;;:21;;;-1:-1:-1;;;;;9400:54:77;;;9369:85;9365:814;;;9546:16;9520:42;;:7;9528:2;9520:11;;;;;;;;:::i;:::-;;;;;;;:23;;;:42;9516:77;;;9571:22;;-1:-1:-1;;;9571:22:77;;;;;;;;;;;9516:77;9641:26;9677:7;9685:2;9677:11;;;;;;;;:::i;:::-;;;;;;;:23;;;9641:60;;;;9822:2;9794:7;9802:2;9794:11;;;;;;;;:::i;:::-;;;;;;;;;;;;:21;;;9875:32;;;;:20;:32;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;;-1:-1:-1;;;;;9770:48:77;;;:54;;;9748:76;;;;9875:74;;9365:814;;;10108:1;10052:32;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;;:57;10048:131;;10126:32;;;;:20;:32;;;;;;;;:41;;;;;;;;:49;;;;;;;;:53;;;;;;;;10119:60;10048:131;10223:6;10214:7;10202:10;10193:62;10231:7;10239:2;10231:11;;;;;;;;:::i;:::-;;;;;;;10244:10;10193:62;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;10284:4:77;;8076:2227;;;-1:-1:-1;10350:13:77;:25;;;;;;;;;;;:34;;;;;;;;;:42;;;;;;;-1:-1:-1;;;10350:42:77;;;;:58;;;;-1:-1:-1;7132:3281:77:o;10693:868::-;10894:14;;10807:4;;;10915:623;10937:15;10932:2;:20;10915:623;;;11029:12;:20;;;11006:7;11014:2;11006:11;;;;;;;;:::i;:::-;;;;;;;:19;;;:43;:106;;;;;11088:12;:24;;;-1:-1:-1;;;;;11061:51:77;:7;11069:2;11061:11;;;;;;;;:::i;:::-;;;;;;;:23;;;-1:-1:-1;;;;;11061:51:77;;11006:106;:165;;;;;11149:12;:22;;;-1:-1:-1;;;;;11124:47:77;:7;11132:2;11124:11;;;;;;;;:::i;:::-;;;;;;;:21;;;-1:-1:-1;;;;;11124:47:77;;11006:165;:224;;;;;11208:12;:22;;;11183:7;11191:2;11183:11;;;;;;;;:::i;:::-;;;;;;;:21;;;:47;11006:224;:291;;;;;11271:12;:26;;;11242:55;;:7;11250:2;11242:11;;;;;;;;:::i;:::-;;;;;;;:25;;;:55;;;11006:291;:368;;;;;11343:12;:31;;;11309:65;;:7;11317:2;11309:11;;;;;;;;:::i;:::-;;;;;;;:30;;;:65;;;11006:368;:464;;;;;11446:12;:24;;;11419:7;11427:2;11419:11;;;;;;;;:::i;:::-;;;;;;;:23;;;:51;;11006:464;10993:497;;;11486:4;11479:11;;;;;;10993:497;11519:4;;10915:623;;;;11551:5;11544:12;;;10693:868;;;;;:::o;14:316:197:-;91:6;99;107;160:2;148:9;139:7;135:23;131:32;128:52;;;176:1;173;166:12;128:52;-1:-1:-1;;199:23:197;;;269:2;254:18;;241:32;;-1:-1:-1;320:2:197;305:18;;;292:32;;14:316;-1:-1:-1;14:316:197:o;335:557::-;422:12;;415:20;408:28;396:41;;500:4;489:16;;;483:23;476:31;469:39;453:14;;;446:63;558:4;547:16;;;541:23;525:14;;;518:47;614:4;603:16;;;597:23;581:14;;;574:47;667:4;656:16;;;650:23;-1:-1:-1;;;;;743:21:197;;;727:14;;;720:45;;;;700:3;803:16;;;797:23;781:14;;;774:47;874:4;863:16;;;857:23;853:32;837:14;;830:56;335:557::o;897:705::-;1120:2;1172:21;;;1242:13;;1145:18;;;1264:22;;;1091:4;;1120:2;1343:15;;;;1317:2;1302:18;;;1091:4;1386:190;1400:6;1397:1;1394:13;1386:190;;;1449:45;1490:3;1481:6;1475:13;1449:45;:::i;:::-;1551:15;;;;1523:4;1514:14;;;;;1422:1;1415:9;1386:190;;;-1:-1:-1;1593:3:197;;897:705;-1:-1:-1;;;;;;897:705:197:o;2300:787::-;2440:6;2448;2456;2464;2517:2;2505:9;2496:7;2492:23;2488:32;2485:52;;;2533:1;2530;2523:12;2485:52;2569:9;2556:23;2546:33;;2626:2;2615:9;2611:18;2598:32;2588:42;;2681:2;2670:9;2666:18;2653:32;2704:18;2745:2;2737:6;2734:14;2731:34;;;2761:1;2758;2751:12;2731:34;2799:6;2788:9;2784:22;2774:32;;2844:7;2837:4;2833:2;2829:13;2825:27;2815:55;;2866:1;2863;2856:12;2815:55;2906:2;2893:16;2932:2;2924:6;2921:14;2918:34;;;2948:1;2945;2938:12;2918:34;3001:7;2996:2;2986:6;2983:1;2979:14;2975:2;2971:23;2967:32;2964:45;2961:65;;;3022:1;3019;3012:12;2961:65;2300:787;;;;-1:-1:-1;;3053:2:197;3045:11;;-1:-1:-1;;;2300:787:197:o;3274:131::-;-1:-1:-1;;;;;3349:31:197;;3339:42;;3329:70;;3395:1;3392;3385:12;3329:70;3274:131;:::o;3410:251::-;3480:6;3533:2;3521:9;3512:7;3508:23;3504:32;3501:52;;;3549:1;3546;3539:12;3501:52;3581:9;3575:16;3600:31;3625:5;3600:31;:::i;:::-;3650:5;3410:251;-1:-1:-1;;;3410:251:197:o;3666:127::-;3727:10;3722:3;3718:20;3715:1;3708:31;3758:4;3755:1;3748:15;3782:4;3779:1;3772:15;3798:333;3900:4;3958:11;3945:25;4052:2;4048:7;4037:8;4021:14;4017:29;4013:43;3993:18;3989:68;3979:96;;4071:1;4068;4061:12;3979:96;4092:33;;;;;3798:333;-1:-1:-1;;3798:333:197:o;4136:127::-;4197:10;4192:3;4188:20;4185:1;4178:31;4228:4;4225:1;4218:15;4252:4;4249:1;4242:15;4268:257;4340:4;4334:11;;;4372:17;;4419:18;4404:34;;4440:22;;;4401:62;4398:88;;;4466:18;;:::i;:::-;4502:4;4495:24;4268:257;:::o;4530:253::-;4602:2;4596:9;4644:4;4632:17;;4679:18;4664:34;;4700:22;;;4661:62;4658:88;;;4726:18;;:::i;4788:275::-;4859:2;4853:9;4924:2;4905:13;;-1:-1:-1;;4901:27:197;4889:40;;4959:18;4944:34;;4980:22;;;4941:62;4938:88;;;5006:18;;:::i;:::-;5042:2;5035:22;4788:275;;-1:-1:-1;4788:275:197:o;5068:118::-;5154:5;5147:13;5140:21;5133:5;5130:32;5120:60;;5176:1;5173;5166:12;5191:2217;5311:9;5345:4;5393;5385:5;5369:14;5365:26;5361:37;5358:57;;;5411:1;5408;5401:12;5358:57;5439:22;;:::i;:::-;5499:5;5486:19;5477:7;5470:36;5525:2;5574;5567:5;5563:14;5550:28;5597:18;5638:2;5630:6;5627:14;5624:34;;;5654:1;5651;5644:12;5624:34;5677:18;;;;5733:14;5726:4;5718:13;;5714:34;5704:62;;5762:1;5759;5752:12;5704:62;5798:2;5785:16;5820:2;5816;5813:10;5810:36;;;5826:18;;:::i;:::-;5866:36;5898:2;5893;5890:1;5886:10;5882:19;5866:36;:::i;:::-;5936:15;;;5967:12;;;;-1:-1:-1;5998:4:197;6037:13;;;6029:22;;6025:31;;;6079:14;6068:26;;6065:46;;;6107:1;6104;6097:12;6065:46;6131:11;;;;6151:1182;6167:6;6162:3;6159:15;6151:1182;;;6254:2;6248:3;6232:14;6228:24;6224:33;6221:123;;;6298:1;6327:2;6323;6316:14;6221:123;6372:22;;:::i;:::-;6435:3;6422:17;6452:30;6474:7;6452:30;:::i;:::-;6495:24;;6560:12;;;6547:26;6586:30;6547:26;6586:30;:::i;:::-;6636:16;;;6629:33;6713:12;;;6700:26;6682:16;;;6675:52;6750:2;6803:12;;;6790:26;6772:16;;;6765:52;6840:3;6884:12;;;6871:26;6910:33;6871:26;6910:33;:::i;:::-;6963:16;;;6956:33;7013:3;7068:13;;;7055:27;7036:17;;;7029:54;7107:3;7151:13;;;7138:27;7178:33;7138:27;7178:33;:::i;:::-;7231:17;;;7224:34;7271:20;;6184:12;;;;7311;;;;6151:1182;;;-1:-1:-1;7349:16:197;;;7342:31;;;;-1:-1:-1;7353:7:197;;5191:2217;-1:-1:-1;;;;;5191:2217:197:o;7865:245::-;7932:6;7985:2;7973:9;7964:7;7960:23;7956:32;7953:52;;;8001:1;7998;7991:12;7953:52;8033:9;8027:16;8052:28;8074:5;8052:28;:::i;8575:222::-;8640:9;;;8661:10;;;8658:133;;;8713:10;8708:3;8704:20;8701:1;8694:31;8748:4;8745:1;8738:15;8776:4;8773:1;8766:15;8802:347;9016:3;9001:19;;9029:44;9005:9;9055:6;9029:44;:::i;:::-;-1:-1:-1;;;;;9110:32:197;;;;9104:3;9089:19;;;;9082:61;8802:347;;-1:-1:-1;8802:347:197:o","linkReferences":{},"immutableReferences":{"78979":[{"start":138,"length":32},{"start":338,"length":32}],"78984":[{"start":240,"length":32},{"start":490,"length":32}],"80830":[{"start":201,"length":32},{"start":1243,"length":32},{"start":1410,"length":32}]}},"methodIdentifiers":{"directory()":"c41c2f24","operatorStore()":"ad007d63","projects()":"8b79543c","set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":"f2da44b6","splitsOf(uint256,uint256,uint256)":"69e11cc5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"INVALID_LOCKED_UNTIL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PROJECT_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_SPLIT_PERCENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOTAL_PERCENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"indexed\":false,\"internalType\":\"struct JBSplit\",\"name\":\"split\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetSplit\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"_groupedSplits\",\"type\":\"tuple[]\"}],\"name\":\"set\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_domain\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_group\",\"type\":\"uint256\"}],\"name\":\"splitsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])\":{\"details\":\"Only the owner or operator of a project, or the current controller contract of the project, can set its splits.The new splits must include any currently set splits that are locked.\",\"params\":{\"_domain\":\"An identifier within which the splits should be considered active.\",\"_groupedSplits\":\"An array of splits to set for any number of groups.\",\"_projectId\":\"The ID of the project for which splits are being added.\"}},\"splitsOf(uint256,uint256,uint256)\":{\"params\":{\"_domain\":\"An identifier within which the returned splits should be considered active.\",\"_group\":\"The identifying group of the splits.\",\"_projectId\":\"The ID of the project to get splits for.\"},\"returns\":{\"_0\":\"An array of all splits for the project.\"}}},\"stateVariables\":{\"_packedSplitParts1Of\":{\"custom:param\":\"_projectId The ID of the project to get packed splits data for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits._index The indexed order that the split was set at.\"},\"_packedSplitParts2Of\":{\"custom:param\":\"_projectId The ID of the project to get packed splits data for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits._index The indexed order that the split was set at.\",\"details\":\"This packed data is often 0.\"},\"_splitCountOf\":{\"custom:param\":\"_projectId The ID of the project to get the split count for._domain An identifier within which the returned splits should be considered active._group The identifying group of the splits.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers.\"},\"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])\":{\"notice\":\"Sets a project's splits.\"},\"splitsOf(uint256,uint256,uint256)\":{\"notice\":\"Get all splits for the specified project ID, within the specified domain, for the specified group.\"}},\"notice\":\"Stores splits for each project.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":\"JBSplitsStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":{\"keccak256\":\"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9\",\"dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBDirectory","name":"_directory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"INVALID_LOCKED_UNTIL"},{"inputs":[],"type":"error","name":"INVALID_PROJECT_ID"},{"inputs":[],"type":"error","name":"INVALID_SPLIT_PERCENT"},{"inputs":[],"type":"error","name":"INVALID_TOTAL_PERCENT"},{"inputs":[],"type":"error","name":"PREVIOUS_LOCKED_SPLITS_NOT_INCLUDED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"domain","type":"uint256","indexed":true},{"internalType":"uint256","name":"group","type":"uint256","indexed":true},{"internalType":"struct JBSplit","name":"split","type":"tuple","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetSplit","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"_groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"stateMutability":"nonpayable","type":"function","name":"set"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_domain","type":"uint256"},{"internalType":"uint256","name":"_group","type":"uint256"}],"stateMutability":"view","type":"function","name":"splitsOf","outputs":[{"internalType":"struct JBSplit[]","name":"","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project.","_operatorStore":"A contract storing operator assignments.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":{"details":"Only the owner or operator of a project, or the current controller contract of the project, can set its splits.The new splits must include any currently set splits that are locked.","params":{"_domain":"An identifier within which the splits should be considered active.","_groupedSplits":"An array of splits to set for any number of groups.","_projectId":"The ID of the project for which splits are being added."}},"splitsOf(uint256,uint256,uint256)":{"params":{"_domain":"An identifier within which the returned splits should be considered active.","_group":"The identifying group of the splits.","_projectId":"The ID of the project to get splits for."},"returns":{"_0":"An array of all splits for the project."}}},"version":1},"userdoc":{"kind":"user","methods":{"directory()":{"notice":"The directory of terminals and controllers for projects."},"operatorStore()":{"notice":"A contract storing operator assignments."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers."},"set(uint256,uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[])":{"notice":"Sets a project's splits."},"splitsOf(uint256,uint256,uint256)":{"notice":"Get all splits for the specified project ID, within the specified domain, for the specified group."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":"JBSplitsStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":{"keccak256":"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f","urls":["bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9","dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":77} \ No newline at end of file diff --git a/out/JBTiered721Delegate.sol/JBTiered721Delegate.json b/out/JBTiered721Delegate.sol/JBTiered721Delegate.json index cb32f147..d2607da5 100644 --- a/out/JBTiered721Delegate.sol/JBTiered721Delegate.json +++ b/out/JBTiered721Delegate.sol/JBTiered721Delegate.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_payMetadataDelegateId","type":"bytes4","internalType":"bytes4"},{"name":"_redeemMetadataDelegateId","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"adjustTiers","inputs":[{"name":"_tiersToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"_tierIdsToRemove","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"codeOrigin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"creditsOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"didPay","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidPayData3_1_1","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"payerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"didRedeem","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidRedeemData3_1_1","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"redeemerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"firstOwnerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"_baseUri","type":"string","internalType":"string"},{"name":"_tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"_contractUri","type":"string","internalType":"string"},{"name":"_pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"_store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"_flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"jbOwner","inputs":[],"outputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectId","type":"uint88","internalType":"uint88"},{"name":"permissionIndex","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mintFor","inputs":[{"name":"_tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"_beneficiary","type":"address","internalType":"address"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"_mintReservesForTiersData","type":"tuple[]","internalType":"struct JBTiered721MintReservesForTiersData[]","components":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_count","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"payParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBPayParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"payer","type":"address","internalType":"address"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBPayDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBPayDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"pricingContext","inputs":[],"outputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"redeemParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBRedemptionDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadata","inputs":[{"name":"_baseUri","type":"string","internalType":"string"},{"name":"_contractUri","type":"string","internalType":"string"},{"name":"_tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"_encodedIPFSUriTierId","type":"uint256","internalType":"uint256"},{"name":"_encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPermissionIndex","inputs":[{"name":"_permissionIndex","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateStore"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnershipToProject","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AddTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JB721TierParams","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"totalAmountContributed","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintReservedToken","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionIndexChanged","inputs":[{"name":"newIndex","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RemoveTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetBaseUri","inputs":[{"name":"baseUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetContractUri","inputs":[{"name":"contractUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetEncodedIPFSUri","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"newResolver","type":"address","indexed":true,"internalType":"contract IJB721TokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UseCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_NEW_OWNER","inputs":[{"name":"ownerAddress","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID_PAYMENT_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_METADATA","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"OVERSPENDING","inputs":[]},{"type":"error","name":"PRBMath_MulDiv_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RESERVED_TOKEN_MINTING_PAUSED","inputs":[]},{"type":"error","name":"TRANSFERS_PAUSED","inputs":[]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UNAUTHORIZED_TOKEN","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED","inputs":[]}],"bytecode":{"object":"0x6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c63430008170033","sourceMap":"2497:27959:0:-:0;;;10069:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10267:10;10279:22;10303:25;10214:10;-1:-1:-1;;;;;10214:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2823:30:154;;;;;2863:20;;;;10237:14:0;632:9:153;10237:14:0;2894:30:154;2913:10;2894:18;:30::i;:::-;-1:-1:-1;;;;;;;;10205:22:6;;;;;-1:-1:-1;;;;;;10237:46:6;;;;;10293:52;;;-1:-1:-1;;10340:10:0::2;:26:::0;;-1:-1:-1;;;;;;10340:26:0::2;10361:4;10340:26;::::0;;-1:-1:-1;2497:27959:0;;-1:-1:-1;;2497:27959:0;8138:113:154;8212:32;8231:9;8242:1;8212:18;:32::i;:::-;8138:113;:::o;8594:1038::-;-1:-1:-1;;;;;8767:15:154;;;;;;:42;;-1:-1:-1;;;;;;8786:23:154;;;;8767:42;8763:107;;;8830:40;;-1:-1:-1;;;8830:40:154;;-1:-1:-1;;;;;1461:32:197;;8830:40:154;;;1443:51:197;-1:-1:-1;;;;;1530:31:197;;1510:18;;;1503:59;1416:18;;8830:40:154;;;;;;;8763:107;8925:35;;;;;;;;-1:-1:-1;8925:35:154;;-1:-1:-1;;;;;8925:35:154;;;;-1:-1:-1;;;8925:35:154;;-1:-1:-1;;;;;8925:35:154;;;;;;;-1:-1:-1;;;8925:35:154;;;;;;;;;;;;;;9048:25;:94;;9104:8;;9121:20;;;;9104:38;;-1:-1:-1;;;9104:38:154;;-1:-1:-1;;;;;1736:31:197;;;9104:38:154;;;1718:50:197;-1:-1:-1;;;;;9104:16:154;;;;;;1691:18:197;;9104:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9048:94;;;9085:16;;9048:94;9313:116;;;;;;;;-1:-1:-1;;;;;9313:116:154;;;;;-1:-1:-1;;;;;9313:116:154;;;;;;;;-1:-1:-1;9313:116:154;;;;;;;9303:126;;;;;-1:-1:-1;;;9303:126:154;;;-1:-1:-1;;;;;9303:126:154;;;9028:114;;-1:-1:-1;9536:89:154;;9028:114;;9566:15;:58;;9596:8;;:28;;-1:-1:-1;;;9596:28:154;;-1:-1:-1;;;;;1736:31:197;;9596:28:154;;;1718:50:197;-1:-1:-1;;;;;9596:16:154;;;;;;1691:18:197;;9596:28:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9536:18;:89::i;9566:58::-;9584:9;9536:18;:89::i;:::-;8677:955;;8594:1038;;:::o;873:190:153:-;1047:8;-1:-1:-1;;;;;1011:45:153;1032:13;-1:-1:-1;;;;;1011:45:153;;;;;;;;;;;873:190;;:::o;14:145:197:-;-1:-1:-1;;;;;103:31:197;;93:42;;83:70;;149:1;146;139:12;164:177;242:13;;-1:-1:-1;;;;;;284:32:197;;274:43;;264:71;;331:1;328;321:12;264:71;164:177;;;:::o;346:628::-;489:6;497;505;513;566:3;554:9;545:7;541:23;537:33;534:53;;;583:1;580;573:12;534:53;615:9;609:16;634:45;673:5;634:45;:::i;:::-;748:2;733:18;;727:25;698:5;;-1:-1:-1;761:47:197;727:25;761:47;:::i;:::-;827:7;-1:-1:-1;853:48:197;897:2;882:18;;853:48;:::i;:::-;843:58;;920:48;964:2;953:9;949:18;920:48;:::i;:::-;910:58;;346:628;;;;;;;:::o;979:286::-;1070:6;1123:2;1111:9;1102:7;1098:23;1094:32;1091:52;;;1139:1;1136;1129:12;1091:52;1171:9;1165:16;1190:45;1229:5;1190:45;:::i;:::-;1254:5;979:286;-1:-1:-1;;;979:286:197:o;1779:265::-;2497:27959:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212202be358550403616506e45e338a0c899f8dcd4021d76c49d16bf814ecd32b4f9864736f6c63430008170033","sourceMap":"2497:27959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9262:203;;;;;;;;;;-1:-1:-1;9262:203:0;;;;;:::i;:::-;;:::i;:::-;;;661:14:197;;654:22;636:41;;624:2;609:18;9262:203:0;;;;;;;;3042:98:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4461:167::-;;;;;;;;;;-1:-1:-1;4461:167:5;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1902:32:197;;;1884:51;;1872:2;1857:18;4461:167:5;1738:203:197;6129:534:0;;;;;;;;;;-1:-1:-1;6327:21:0;;6129:534;;;6413:24;;;;2167:25:197;;6537:2:0;6526:13;;;6511:30;2223:2:197;2208:18;;2201:34;6651:2:0;6640:13;;;2251:18:197;;;2244:60;;;;2140:18;6129:534:0;1946:364:197;4039:361:5;;;;;;;;;;-1:-1:-1;4039:361:5;;;;;:::i;:::-;;:::i;:::-;;12210:1568:6;;;;;;:::i;:::-;;:::i;17876:1258:0:-;;;;;;;;;;-1:-1:-1;17876:1258:0;;;;;:::i;:::-;;:::i;4047:34::-;;;;;;;;;;-1:-1:-1;4047:34:0;;;;-1:-1:-1;;;;;4047:34:0;;;5138:282:5;;;;;;;;;;-1:-1:-1;5138:282:5;;;;;:::i;:::-;;:::i;4564:53:0:-;;;;;;;;;;-1:-1:-1;4564:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5559:25:197;;;5547:2;5532:18;4564:53:0;5413:177:197;15063:654:0;;;;;;;;;;-1:-1:-1;15063:654:0;;;;;:::i;:::-;;:::i;3667:33:6:-;;;;;;;;;;;;;;;;5486:149:5;;;;;;;;;;-1:-1:-1;5486:149:5;;;;;:::i;:::-;;:::i;3144:54:6:-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6433:33:197;;;6415:52;;6403:2;6388:18;3144:54:6;6271:202:197;3286:57:6;;;;;;;;;;;;;;;5437:424:0;;;;;;;;;;-1:-1:-1;5437:424:0;;;;;:::i;:::-;;:::i;4297:54::-;;;;;;;;;;-1:-1:-1;4297:54:0;;;;-1:-1:-1;;;;;4297:54:0;;;7132:144:154;;;;;;;;;;-1:-1:-1;7132:144:154;;;;;:::i;:::-;;:::i;2768:212:5:-;;;;;;;;;;-1:-1:-1;2768:212:5;;;;;:::i;:::-;;:::i;13843:1021:0:-;;;;;;;;;;-1:-1:-1;13843:1021:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11349:547:6:-;;;;;;:::i;:::-;;:::i;4742:30:0:-;;;;;;;;;;;;;:::i;7128:144::-;;;;;;;;;;-1:-1:-1;7128:144:0;;;;;:::i;:::-;;:::i;5840:117:154:-;;;;;;;;;;;;;:::i;8502:250:0:-;;;;;;;;;;-1:-1:-1;8502:250:0;;;;;:::i;:::-;;:::i;16054:1398::-;;;;;;;;;;-1:-1:-1;16054:1398:0;;;;;:::i;:::-;;:::i;1943:37:154:-;;;;;;;;;;;;;;;5243:239;;;;;;;;;;;;;:::i;8879:173:0:-;;;;;;;;;;-1:-1:-1;8879:173:0;;;;;:::i;:::-;;:::i;3204:102:5:-;;;;;;;;;;;;;:::i;4172:47:0:-;;;;;;;;;;-1:-1:-1;4172:47:0;;;;-1:-1:-1;;;;;4172:47:0;;;11372:1997;;;;;;;;;;-1:-1:-1;11372:1997:0;;;;;:::i;:::-;;:::i;6625:285:154:-;;;;;;;;;;-1:-1:-1;6625:285:154;;;;;:::i;:::-;;:::i;4695:153:5:-;;;;;;;;;;-1:-1:-1;4695:153:5;;;;;:::i;:::-;;:::i;5410:2106:6:-;;;;;;;;;;-1:-1:-1;5410:2106:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;19626:1273:0:-;;;;;;;;;;-1:-1:-1;19626:1273:0;;;;;:::i;:::-;;:::i;1796:47:154:-;;;;;;;;;;;;;;;5701:262:5;;;;;;;;;;-1:-1:-1;5701:262:5;;;;;:::i;:::-;;:::i;2284:31:154:-;;;;;;;;;;-1:-1:-1;2284:31:154;;;;-1:-1:-1;;;;;2284:31:154;;;-1:-1:-1;;;2284:31:154;;-1:-1:-1;;;;;2284:31:154;;-1:-1:-1;;;2284:31:154;;;;;;;;;;-1:-1:-1;;;;;23844:32:197;;;23826:51;;-1:-1:-1;;;;;23913:37:197;;;23908:2;23893:18;;23886:65;23999:4;23987:17;23967:18;;;23960:45;23814:2;23799:18;2284:31:154;23630:381:197;3011:48:6;;;;;;;;;;;;;;;7641:592:0;;;;;;;;;;-1:-1:-1;7641:592:0;;;;;:::i;:::-;;:::i;4441:535:6:-;;;;;;;;;;-1:-1:-1;4441:535:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4898:34:0:-;;;;;;;;;;;;;:::i;4914:162:5:-;;;;;;;;;;-1:-1:-1;4914:162:5;;;;;:::i;:::-;-1:-1:-1;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4914:162;6182:234:154;;;;;;;;;;-1:-1:-1;6182:234:154;;;;;:::i;:::-;;:::i;9262:203:0:-;9340:4;-1:-1:-1;;;;;;9363:54:0;;-1:-1:-1;;;9363:54:0;;:95;;;9421:37;9445:12;9421:23;:37::i;:::-;9356:102;9262:203;-1:-1:-1;;9262:203:0:o;3042:98:5:-;3096:13;3128:5;3121:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3042:98;:::o;4461:167::-;4537:7;4556:23;4571:7;4556:14;:23::i;:::-;-1:-1:-1;4597:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4597:24:5;;4461:167::o;4039:361::-;4119:13;4135:23;4150:7;4135:14;:23::i;:::-;4119:39;;4179:5;-1:-1:-1;;;;;4173:11:5;:2;-1:-1:-1;;;;;4173:11:5;;4169:51;;4193:27;;-1:-1:-1;;;4193:27:5;;;;;;;;;;;4169:51;719:10:181;-1:-1:-1;;;;;4235:21:5;;;;;;:63;;-1:-1:-1;4261:37:5;4278:5;719:10:181;4914:162:5;:::i;4261:37::-;4260:38;4235:63;4231:131;;;4321:30;;-1:-1:-1;;;4321:30:5;;;;;;;;;;;4231:131;4372:21;4381:2;4385:7;4372:8;:21::i;:::-;4109:291;4039:361;;:::o;12210:1568:6:-;12475:9;:14;;;:84;;-1:-1:-1;12517:9:6;;12494:65;;-1:-1:-1;;;12494:65:6;;;;;27002:25:197;;;;12547:10:6;27043:18:197;;;27036:60;12494:9:6;-1:-1:-1;;;;;12494:22:6;;;;26975:18:197;;12494:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12493:66;12475:84;:132;;;;12598:9;;12579:5;:15;;;:28;;12475:132;12458:193;;;12625:26;;-1:-1:-1;;;12625:26:6;;;;;;;;;;;12458:193;12725:11;;12764:83;12798:24;12824:22;;;;:5;:22;:::i;:::-;12764:33;:83::i;:::-;12724:123;;;;12858:33;12938:6;12934:65;;;12976:9;12965:34;;;;;;;;;;;;:::i;:::-;12946:53;;12934:65;13107:23;;13079:25;;13310:399;13332:17;13327:2;:22;13310:399;;;13412:16;13429:2;13412:20;;;;;;;;:::i;:::-;;;;;;;13401:31;;13527:5;:12;;;;;;;;;;:::i;:::-;13506:17;;;;:7;:17;;;;;;-1:-1:-1;;;;;13506:17:6;;;:33;;;13502:74;;13548:28;;-1:-1:-1;;;13548:28:6;;;;;5559:25:197;;;5532:18;;13548:28:6;;;;;;;;13502:74;13622:15;13628:8;13622:5;:15::i;:::-;13680:4;;13310:399;;;;13745:26;13754:16;13745:8;:26::i;:::-;12300:1478;;;;;12210:1568;:::o;17876:1258:0:-;18133:7;:5;:7::i;:::-;18142:9;;364:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;18200:27:0;;18196:166:::1;;18282:7;:18;18292:8:::0;;18282:7;:18:::1;:::i;:::-;;18330:8;;18319:32;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;18340:10:::1;1884:51:197::0;;18319:32:0;::::1;::::0;1872:2:197;1857:18;18319:32:0::1;;;;;;;18196:166;18375:31:::0;;18371:190:::1;;18465:11;:26;18479:12:::0;;18465:11;:26:::1;:::i;:::-;;18525:12;;18510:40;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;18539:10:::1;1884:51:197::0;;18510:40:0;::::1;::::0;1872:2:197;1857:18;18510:40:0::1;;;;;;;18371:190;-1:-1:-1::0;;;;;18574:58:0;::::1;18626:4;18574:58;18570:252;;18691:5;::::0;:50:::1;::::0;-1:-1:-1;;;18691:50:0;;-1:-1:-1;;;;;1902:32:197;;;18691:50:0::1;::::0;::::1;1884:51:197::0;18691:5:0;;::::1;::::0;:31:::1;::::0;1857:18:197;;18691:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;18761:50:0::1;::::0;18800:10:::1;1884:51:197::0;;-1:-1:-1;;;;;18761:50:0;::::1;::::0;-1:-1:-1;18761:50:0::1;::::0;-1:-1:-1;1872:2:197;1857:18;18761:50:0::1;;;;;;;18570:252;18835:26:::0;;;::::1;::::0;:59:::1;;-1:-1:-1::0;18865:29:0;;::::1;18835:59;18831:297;;;18957:5;::::0;:71:::1;::::0;-1:-1:-1;;;18957:71:0;;::::1;::::0;::::1;31938:25:197::0;;;31979:18;;;31972:34;;;-1:-1:-1;;;;;18957:5:0;;::::1;::::0;:31:::1;::::0;31911:18:197;;18957:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;19048:69:0::1;::::0;;27002:25:197;;;19106:10:0::1;27058:2:197::0;27043:18;;27036:60;19066:21:0;;-1:-1:-1;19048:69:0::1;::::0;-1:-1:-1;26975:18:197;19048:69:0::1;;;;;;;18831:297;17876:1258:::0;;;;;;;;;;:::o;5138:282:5:-;5294:41;719:10:181;5327:7:5;5294:18;:41::i;:::-;5289:85;;5344:30;;-1:-1:-1;;;5344:30:5;;;;;;;;;;;5289:85;5385:28;5395:4;5401:2;5405:7;5385:9;:28::i;15063:654:0:-;15308:25;15283:22;15351:360;15373:14;15368:2;:19;15351:360;;;15468:48;15519:25;;15545:2;15519:29;;;;;;;:::i;:::-;;;;;;15468:80;;;;;;;;;;:::i;:::-;;;15597:42;15613:5;:12;;;15627:5;:11;;;15597:15;:42::i;:::-;-1:-1:-1;15682:4:0;;15351:360;;;;15200:517;15063:654;;:::o;5486:149:5:-;5589:39;5606:4;5612:2;5616:7;5589:39;;;;;;;;;;;;:16;:39::i;5437:424:0:-;5509:7;5603:23;;;:13;:23;;;;;;-1:-1:-1;;;;;5603:23:0;5697:31;;5693:61;;5737:17;5437:424;-1:-1:-1;;5437:424:0:o;5693:61::-;-1:-1:-1;;5837:17:0;;;;:7;:17;;;;;;-1:-1:-1;;;;;5837:17:0;;5437:424::o;7132:144:154:-;7209:13;:11;:13::i;:::-;7232:37;7252:16;7232:19;:37::i;:::-;7132:144;:::o;2768:212:5:-;2840:7;2875:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2875:16:5;;2901:50;;2933:18;;-1:-1:-1;;;2933:18:5;;;;;;;;;;;13843:1021:0;14029:25;13970:7;:5;:7::i;:::-;13979:9;;403:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;14171:5:0::1;::::0;:132:::1;::::0;-1:-1:-1;;;14171:132:0;;-1:-1:-1;;;;;14171:5:0;;::::1;::::0;:16:::1;::::0;:132:::1;::::0;-1:-1:-1;;14201:17:0;14251:8;;;;14171:5;;:132:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;14171:132:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;14157:146:0;-1:-1:-1;14406:8:0;14380:23:::1;::::0;14524:334:::1;14546:15;14541:2;:20;14524:334;;;14622:8;14631:2;14622:12;;;;;;;;:::i;:::-;;;;;;;14611:23;;14680:29;14686:12;14700:8;14680:5;:29::i;:::-;14758:12;-1:-1:-1::0;;;;;14729:57:0::1;14744:8;;14753:2;14744:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14729:57;::::0;;14772:1:::1;27002:25:197::0;;14775:10:0::1;27058:2:197::0;27043:18;;27036:60;14729:57:0::1;::::0;;;::::1;::::0;14734:8;;14729:57:::1;::::0;26975:18:197;14729:57:0::1;;;;;;;14829:4;;14524:334;;;;14060:804;;13843:1021:::0;;;;;;;;:::o;11349:547:6:-;11464:9;;11649;:14;;;:85;;-1:-1:-1;11668:66:6;;-1:-1:-1;;;11668:66:6;;;;;27002:25:197;;;11722:10:6;27043:18:197;;;27036:60;11668:9:6;-1:-1:-1;;;;;11668:22:6;;;;26975:18:197;;11668:66:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11667:67;11649:85;:134;;;;11773:10;11754:5;:15;;;:29;;11649:134;11632:192;;;11801:23;;-1:-1:-1;;;11801:23:6;;;;;;;;;;;11632:192;11867:22;11883:5;11867:15;:22::i;:::-;11433:463;11349:547;:::o;4742:30:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7128:144::-;7227:5;;:38;;-1:-1:-1;;;7227:38:0;;7251:4;7227:38;;;34954:34:197;-1:-1:-1;;;;;35024:15:197;;;35004:18;;;34997:43;7193:15:0;;7227:5;;:15;;34889:18:197;;7227:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5840:117:154:-;5894:13;:11;:13::i;:::-;5917:33;5944:1;5948;5917:18;:33::i;:::-;5840:117::o;8502:250:0:-;8695:5;;:50;;-1:-1:-1;;;8695:50:0;;8665:7;;-1:-1:-1;;;;;8695:5:0;;:24;;:50;;8728:4;;8735:9;;8695:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8688:57;8502:250;-1:-1:-1;;;8502:250:0:o;16054:1398::-;16212:7;:5;:7::i;:::-;16221:9;;314:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;16369:11:0;16496:16;16563:27;;16559:407:::1;;16647:5;::::0;:43:::1;::::0;-1:-1:-1;;;16647:43:0;;-1:-1:-1;;;;;16647:5:0;;::::1;::::0;:25:::1;::::0;:43:::1;::::0;16673:16;;;;16647:43:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16760:10;16755:201;16777:22;16772:2;:27;16755:201;;;16836:16;;16853:2;16836:20;;;;;;;:::i;:::-;16825:44;::::0;16858:10:::1;1884:51:197::0;;16836:20:0::1;::::0;;::::1;::::0;;;::::1;;::::0;16825:44:::1;::::0;-1:-1:-1;1857:18:197;16825:44:0::1;;;;;;;16919:4;;16755:201;;;;16559:407;17006:24:::0;;17002:444:::1;;17131:5;::::0;:33:::1;::::0;-1:-1:-1;;;17131:33:0;;17098:30:::1;::::0;-1:-1:-1;;;;;17131:5:0::1;::::0;:20:::1;::::0;:33:::1;::::0;17152:11;;;;17131:33:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;17131:33:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;17098:66;;17232:10;17227:209;17249:19;17244:2;:24;17227:209;;;17302:13;17316:2;17302:17;;;;;;;;:::i;:::-;;;;;;;17294:55;17321:11;;17333:2;17321:15;;;;;;;:::i;:::-;;;;;;17338:10;17294:55;;;;;;;:::i;:::-;;;;;;;;17399:4;;17227:209;;;;17032:414;17002:444;16266:1186;;16054:1398:::0;;;;;;;:::o;5243:239:154:-;5308:35;;;;;;;;-1:-1:-1;5308:35:154;;-1:-1:-1;;;;;5308:35:154;;;;-1:-1:-1;;;5308:35:154;;-1:-1:-1;;;;;5308:35:154;;;;;;;-1:-1:-1;;;5308:35:154;;;;;;;;;;;;-1:-1:-1;5357:25:154;;5354:65;;5403:16;;5243:239;-1:-1:-1;5243:239:154:o;5354:65::-;5454:20;;;;5437:38;;-1:-1:-1;;;5437:38:154;;-1:-1:-1;;;;;38987:37:197;;;5437:38:154;;;38969:56:197;5437:8:154;-1:-1:-1;;;;;5437:16:154;;;;38942:18:197;;5437:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5430:45;;;5243:239;:::o;8879:173:0:-;9003:5;;:42;;-1:-1:-1;;;9003:42:0;;9039:4;9003:42;;;1884:51:197;8977:7:0;;-1:-1:-1;;;;;9003:5:0;;:27;;1857:18:197;;9003:42:0;1738:203:197;3204:102:5;3260:13;3292:7;3285:14;;;;;:::i;11372:1997:0:-;11852:5;;-1:-1:-1;;;;;11852:5:0;11844:28;11840:42;;11874:8;;;11840:42;11931:53;11957:10;11969:5;11976:7;11931:25;:53::i;:::-;11995:17;:38;;-1:-1:-1;;;;;11995:38:0;;;-1:-1:-1;;;;;;11995:38:0;;;;;;;12043:5;:14;;;;;;;;;;;;;;;12156:17;;;;12256;;;;12401:2;12379:15;;;;-1:-1:-1;;12355:48:0;;;12248:32;12278:2;12248:32;;;;;;;;12148:26;;;;12237:43;;;;12344:59;12448:21;:31;;;12537:22;;:27;12533:51;;12566:7;:18;12576:8;12566:7;:18;:::i;:::-;;12533:51;12644:26;;:31;12640:63;;12677:11;:26;12691:12;12677:11;:26;:::i;:::-;;12640:63;-1:-1:-1;;;;;12769:55:0;;;12765:137;;12840:51;;-1:-1:-1;;;12840:51:0;;-1:-1:-1;;;;;1902:32:197;;;12840:51:0;;;1884::197;12840:32:0;;;;;1857:18:197;;12840:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12765:137;12961:14;;:21;:26;12957:69;;13011:14;;12989:37;;-1:-1:-1;;;12989:37:0;;-1:-1:-1;;;;;12989:21:0;;;;;:37;;13011:14;12989:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12989:37:0;;;;;;;;;;;;:::i;:::-;;12957:69;13090:31;;;:63;;;13125:6;:28;;;13090:63;:98;;;;13157:6;:31;;;13090:98;:144;;;;13208:6;:26;;;13090:144;13073:198;;;13245:26;;;-1:-1:-1;;;13245:26:0;;43095:13:197;;43088:21;43081:29;13245:26:0;;;43063:48:197;43181:4;43169:17;;43163:24;43156:32;43149:40;43127:20;;;43120:70;43248:17;;;43242:24;43235:32;43228:40;43206:20;;;43199:70;43339:4;43327:17;;43321:24;43314:32;43307:40;43285:20;;;43278:70;-1:-1:-1;;;;;13245:18:0;;;;;43035:19:197;;13245:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13073:198;13332:30;13351:10;13332:18;:30::i;6625:285:154:-;6706:13;:11;:13::i;:::-;6732:15;;;:48;;-1:-1:-1;;;;;;6751:29:154;;6732:48;6729:113;;;6801:41;;-1:-1:-1;;;6801:41:154;;6827:1;6801:41;;;43533:51:197;43600:18;;;43593:34;;;43506:18;;6801:41:154;43359:274:197;6729:113:154;6853:50;6880:1;6891:10;6853:18;:50::i;4695:153:5:-;4789:52;719:10:181;4822:8:5;4832;4789:18;:52::i;5410:2106:6:-;5545:21;5568:18;;5745:16;;;;:20;5741:60;;5774:27;;-1:-1:-1;;;5774:27:6;;;;;;;;;;;5741:60;5875:11;;5914:75;5948:24;5974:14;;;;:5;:14;:::i;5914:75::-;6101:44;;;6143:1;6101:44;;;;;;;;;5874:115;;-1:-1:-1;5874:115:6;;-1:-1:-1;6101:44:6;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;6101:44:6;;;;;;;;;;;;;;;6079:66;;6180:55;;;;;;;;6216:4;-1:-1:-1;;;;;6180:55:6;;;;;6222:1;6180:55;;;;6225:9;;;;;;;;;;;;6180:55;;;6155:19;6175:1;6155:22;;;;;;;;:::i;:::-;;;;;;:80;;;;6246:33;6325:6;6321:65;;;6363:9;6352:34;;;;;;;;;;;;:::i;:::-;6333:53;;6321:65;6471:25;6499:43;6518:16;6536:5;6499:18;:43::i;:::-;6471:71;;6612:14;6629:28;6651:5;6629:21;:28::i;:::-;6612:45;;6721:13;6737:49;6744:5;:14;;;6760:17;6779:6;6737;:49::i;:::-;6721:65;;242:6:120;6930:5:6;:20;;;:55;6926:133;;7009:5;7016:10;;;;:5;:10;:::i;:::-;7028:19;7001:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;;;;;;;;;;;7001:47:6;6926:133;7196:246;7220:5;7286:89;7293:17;7312:54;7346:20;;;;242:6:120;7312:54:6;:::i;:::-;7368:6;7286;:89::i;:::-;7243:132;;:20;;;;:132;:::i;:::-;242:6:120;7196::6;:246::i;:::-;7456:10;;;;:5;:10;:::i;:::-;7480:19;7175:334;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7175:334:6;;-1:-1:-1;7175:334:6;;-1:-1:-1;7175:334:6;;-1:-1:-1;;;;;;;;;;;;5410:2106:6;;;;;;:::o;19626:1273:0:-;19815:17;;19843:9;;19815:38;;-1:-1:-1;;;19815:38:0;;;;;5559:25:197;;;;19777:35:0;;-1:-1:-1;;;;;19815:17:0;;:27;;5532:18:197;;19815:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3772:22:123;;;;;;-1:-1:-1;555:10:30;;564:1;554:16;;;553:23;19918:215:0;;20102:31;;-1:-1:-1;;;20102:31:0;;;;;;;;;;;19918:215;20223:5;;:44;;-1:-1:-1;;;20223:44:0;;;;;31938:25:197;;;31979:18;;;31972:34;;;20194:26:0;;-1:-1:-1;;;;;20223:5:0;;:27;;31911:18:197;;20223:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20223:44:0;;;;;;;;;;;;:::i;:::-;20377:5;;:56;;-1:-1:-1;;;20377:56:0;;20418:4;20377:56;;;43533:51:197;43600:18;;;43593:34;;;20194:73:0;;-1:-1:-1;20341:33:0;;-1:-1:-1;;;;;20377:5:0;;;;:32;;43506:18:197;;20377:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20341:92;;20509:16;20541:10;20536:357;20558:6;20553:2;:11;20536:357;;;20625:9;20635:2;20625:13;;;;;;;;:::i;:::-;;;;;;;20614:24;;20684:42;20690:25;20717:8;20684:5;:42::i;:::-;20746:75;;20810:10;1884:51:197;;-1:-1:-1;;;;;20746:75:0;;;20774:7;;20764:8;;20746:75;;1872:2:197;1857:18;20746:75:0;;;;;;;20864:4;;20536:357;;;;19700:1199;;;;19626:1273;;:::o;5701:262:5:-;5828:41;719:10:181;5861:7:5;5828:18;:41::i;:::-;5823:85;;5878:30;;-1:-1:-1;;;5878:30:5;;;;;;;;;;;5823:85;5918:38;5932:4;5938:2;5942:7;5951:4;5918:13;:38::i;7641:592:0:-;7827:5;;:39;;-1:-1:-1;;;7827:39:0;;7860:4;7827:39;;;1884:51:197;7715:13:0;;7792:32;;-1:-1:-1;;;;;7827:5:0;;;;:24;;1857:18:197;;7827:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7792:74;-1:-1:-1;;;;;;7960:32:0;;;7956:90;;8001:45;;-1:-1:-1;;;8001:45:0;;8030:4;8001:45;;;43533:51:197;43600:18;;;43593:34;;;-1:-1:-1;;;;;8001:20:0;;;;;43506:18:197;;8001:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8001:45:0;;;;;;;;;;;;:::i;7956:90::-;8144:82;8165:7;8144:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8174:5:0;;:51;;-1:-1:-1;;;8174:51:0;;8209:4;8174:51;;;43533::197;43600:18;;;43593:34;;;-1:-1:-1;;;;;8174:5:0;;;;-1:-1:-1;8174:26:0;;-1:-1:-1;43506:18:197;;;-1:-1:-1;8174:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8144:20;:82::i;4441:535:6:-;4778:12;;;;4586:18;;4807:10;;;;4778:5;4807:10;:::i;:::-;4800:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4800:17:6;;-1:-1:-1;4884:1:6;;-1:-1:-1;4849:37:6;;-1:-1:-1;;4849:37:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4849:37:6;;;;;;;;;;;;;;;;4827:59;;4921:48;;;;;;;;4950:4;-1:-1:-1;;;;;4921:48:6;;;;;4956:1;4921:48;;;;4959:9;;;;;;;;;;;;4921:48;;;4896:19;4916:1;4896:22;;;;;;;;:::i;:::-;;;;;;:73;;;;4441:535;;;;;:::o;4898:34:0:-;;;;;;;:::i;6182:234:154:-;6253:13;:11;:13::i;:::-;-1:-1:-1;;;;;6279:23:154;;6276:78;;6323:31;;-1:-1:-1;;;6323:31:154;;-1:-1:-1;;;;;43551:32:197;;6323:31:154;;;43533:51:197;6352:1:154;43600:18:197;;;43593:34;43506:18;;6323:31:154;43359:274:197;6276:78:154;6377:32;6396:9;6407:1;6377:18;:32::i;9072:493:6:-;9175:4;-1:-1:-1;;;;;;9198:48:6;;-1:-1:-1;;;9198:48:6;;:128;;-1:-1:-1;;;;;;;9262:64:6;;-1:-1:-1;;;9262:64:6;9198:128;:197;;;-1:-1:-1;;;;;;;9342:53:6;;-1:-1:-1;;;9342:53:6;9198:197;:261;;;-1:-1:-1;;;;;;;9399:60:6;;-1:-1:-1;;;9399:60:6;9198:261;:319;;;-1:-1:-1;;;;;;;9475:42:6;;-1:-1:-1;;;9475:42:6;9198:319;:360;;;;9521:37;9545:12;9521:23;:37::i;10690:128:5:-;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;10763:48;;10793:18;;-1:-1:-1;;;10793:18:5;;;;;;;;;;;10028:171;10102:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;10102:29:5;-1:-1:-1;;;;;10102:29:5;;;;;;;;:24;;10155:23;10102:24;10155:14;:23::i;:::-;-1:-1:-1;;;;;10146:46:5;;;;;;;;;;;10028:171;;:::o;1657:1472:150:-;1739:11;1752:28;684:2:148;1871:39:150;;1867:63;;-1:-1:-1;;1912:18:150;;;;;;;;;1920:5;1912:18;;;1920:5;1912:18;;1867:63;2029:20;2058:9;;2068:23;121:1:148;623:2;2068:23:150;:::i;:::-;2058:34;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;623:2:148;;-1:-1:-1;2196:927:150;2263:1;2229:9;;2239:12;121:1:148;2239:2:150;:12;:::i;:::-;2229:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;2229:36:150;;;;:69;;;;-1:-1:-1;2274:24:150;190:2:148;2274:12:150;:24;:::i;:::-;2269:2;:29;2229:69;2196:927;;;2315:22;2354:9;;2364:12;121:1:148;2364:2:150;:12;:::i;:::-;2354:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;2424:41:150;;2431:9;2441:2;2431:9;2444:12;121:1:148;2441:2:150;2444:12;:::i;:::-;2431:26;;;;;;;:::i;:::-;2424:34;;;:::i;:::-;-1:-1:-1;;;;;;2424:41:150;;2420:618;;2706:12;2751:24;190:2:148;2751:12:150;:24;:::i;:::-;2722:25;511:1:148;2722:2:150;:25;:::i;:::-;:53;;:98;;;-1:-1:-1;2779:9:150;;2789:25;511:1:148;2789:2:150;:25;:::i;:::-;2779:36;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;2779:36:150;:41;;-1:-1:-1;2722:98:150;2721:226;;190:2:148;2897:9:150;;2907:25;511:1:148;2907:2:150;:25;:::i;:::-;2897:36;;;;;;;:::i;:::-;2883:64;;;2897:36;;;;;-1:-1:-1;2883:64:150;:::i;:::-;2721:226;;;2844:9;2721:226;2706:241;-1:-1:-1;2974:4:150;2980:9;;2990:26;190:2:148;2990:14:150;:26;:::i;:::-;2980:42;;3017:4;;2980:42;;:::i;:::-;2966:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2966:57:150;;-1:-1:-1;2966:57:150;;-1:-1:-1;2966:57:150;;-1:-1:-1;;;;;;;;;2966:57:150;2420:618;-1:-1:-1;305:1:148;3079:19:150;2196:927;;;;1782:1347;1657:1472;;;;;;;:::o;8730:375:5:-;8789:13;8805:23;8820:7;8805:14;:23::i;:::-;8789:39;;8839:48;8860:5;8875:1;8879:7;8839:20;:48::i;:::-;8925:29;8942:1;8946:7;8925:8;:29::i;:::-;8972:16;;;;:7;:16;;;;;;8965:23;;-1:-1:-1;;;;;;8965:23:5;;;9004:36;8980:7;;8972:16;-1:-1:-1;;;;;9004:36:5;;;;;8972:16;;9004:36;9051:47;9071:5;9086:1;9090:7;9051:19;:47::i;25857:150:0:-;25973:5;;:27;;-1:-1:-1;;;25973:27:0;;-1:-1:-1;;;;;25973:5:0;;;;:16;;:27;;25990:9;;25973:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25857:150;:::o;10622:518:154:-;719:10:181;-1:-1:-1;;;;;10830:19:154;;;;;;;:187;;-1:-1:-1;10866:151:154;;-1:-1:-1;;;10866:151:154;;-1:-1:-1;;;;;48305:15:197;;;10866:151:154;;;48287:34:197;48357:15;;;48337:18;;;48330:43;48389:18;;;48382:34;;;48432:18;;;48425:34;;;10866:13:154;:27;;;;48221:19:197;;10866:151:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10865:152;10830:187;:271;;;;-1:-1:-1;11034:67:154;;-1:-1:-1;;;11034:67:154;;-1:-1:-1;;;;;48305:15:197;;;11034:67:154;;;48287:34:197;48357:15;;;48337:18;;;48330:43;11081:1:154;48389:18:197;;;48382:34;48432:18;;;48425:34;;;11034:13:154;:27;;;;48221:19:197;;11034:67:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11033:68;10830:271;10813:320;;;11119:14;;-1:-1:-1;;;11119:14:154;;;;;;;;;;;7657:261:5;7750:4;7766:13;7782:23;7797:7;7782:14;:23::i;:::-;7766:39;;7834:5;-1:-1:-1;;;;;7823:16:5;:7;-1:-1:-1;;;;;7823:16:5;;:52;;;-1:-1:-1;;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7843:32;7823:87;;;;7903:7;-1:-1:-1;;;;;7879:31:5;:20;7891:7;7879:11;:20::i;:::-;-1:-1:-1;;;;;7879:31:5;;7823:87;7815:96;7657:261;-1:-1:-1;;;;7657:261:5:o;9429:487::-;9549:4;-1:-1:-1;;;;;9522:31:5;:23;9537:7;9522:14;:23::i;:::-;-1:-1:-1;;;;;9522:31:5;;9518:61;;9562:17;;-1:-1:-1;;;9562:17:5;;;;;;;;;;;9518:61;-1:-1:-1;;;;;9593:16:5;;9589:55;;9618:26;;-1:-1:-1;;;9618:26:5;;;;;;;;;;;9589:55;9655:39;9676:4;9682:2;9686:7;9655:20;:39::i;:::-;9756:29;9773:1;9777:7;9756:8;:29::i;:::-;9796:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9796:21:5;-1:-1:-1;;;;;9796:21:5;;;;;;;;;9833:27;;9796:16;;9833:27;;;;;;;9871:38;9891:4;9897:2;9901:7;9871:19;:38::i;9940:314:154:-;9995:35;;;;;;;;-1:-1:-1;9995:35:154;;-1:-1:-1;;;;;9995:35:154;;;;-1:-1:-1;;;9995:35:154;;-1:-1:-1;;;;;9995:35:154;;;;;;;-1:-1:-1;;;9995:35:154;;;;;;;;;;;;;;10058:25;:94;;10131:20;;;;10114:38;;-1:-1:-1;;;10114:38:154;;-1:-1:-1;;;;;38987:37:197;;;10114:38:154;;;38969:56:197;10114:8:154;-1:-1:-1;;;;;10114:16:154;;;;38942:18:197;;10114:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10058:94;;;10095:16;;10058:94;10041:111;;10171:76;10190:6;10198:10;:20;;;-1:-1:-1;;;;;10171:76:154;10220:10;:26;;;10171:76;;:18;:76::i;7784:184::-;7864:7;:42;;-1:-1:-1;;;;;7864:42:154;-1:-1:-1;;;7864:42:154;;;;;;;;;;;;;7921:40;;49072:36:197;;;7921:40:154;;49060:2:197;49045:18;7921:40:154;;;;;;;7784:184;:::o;8146:367:5:-;-1:-1:-1;;;;;8221:16:5;;8217:43;;8246:14;;-1:-1:-1;;;8246:14:5;;;;;;;;;;;8217:43;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;:30;8270:44;;8299:15;;-1:-1:-1;;;8299:15:5;;;;;;;;;;;8270:44;8325:45;8354:1;8358:2;8362:7;8325:20;:45::i;:::-;8381:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;8381:21:5;-1:-1:-1;;;;;8381:21:5;;;;;;;;8418:33;;8381:16;;;8418:33;;8381:16;;8418:33;8462:44;8490:1;8494:2;8498:7;8462:19;:44::i;21285:4425:0:-;21472:21;;21415:14;;21590:24;;;21632:21;;;;:41;;;21628:789;;21702:18;;;;;-1:-1:-1;21628:789:0;;;21869:2;21858:13;;;21896:32;;21892:511;;22044:30;22070:2;22059:13;;;22044:30;22105:226;22137:18;;;;22181:22;22044:30;22181:2;:22;:::i;:::-;22287:21;22229:80;-1:-1:-1;;;22229:80:0;;22246:21;;;;22229:80;;;50689:25:197;50730:18;;;50723:34;;;22287:21:0;;;;50773:18:197;;;50766:34;-1:-1:-1;;;;;22229:16:0;;;;;50662:18:197;;22229:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22105:6;:226::i;:::-;22096:235;;21930:420;21741:676;21628:789;-1:-1:-1;22519:16:0;;-1:-1:-1;22538:9:0;22519:16;22548:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22538:28:0;;;;;;;;;;;;-1:-1:-1;22538:28:0;;;;;-1:-1:-1;22718:6:0;;22942:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22927:32:0;:11;;;;:5;:11;:::i;:::-;-1:-1:-1;;;;;22927:32:0;;22923:189;;23003:27;;;;22923:189;;;-1:-1:-1;23093:8:0;22923:189;23333:23;;;23469:77;23503:21;23526:19;;;;:5;:19;:::i;23469:77::-;23429:117;;;;23569:6;23565:799;;;23648:30;23795:9;23784:39;;;;;;;;;;;;:::i;:::-;23729:94;;-1:-1:-1;23729:94:0;-1:-1:-1;23729:94:0;23905:70;;;;-1:-1:-1;23927:5:0;;:28;;-1:-1:-1;;;23927:28:0;;23949:4;23927:28;;;1884:51:197;-1:-1:-1;;;;;23927:5:0;;;;:13;;1857:18:197;;23927:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;;23905:70;23901:135;;;24016:5;23995:26;;23901:135;24104:21;;:26;24100:143;;24168:60;24177:15;24194:14;24210:17;;;;;;;;:::i;:::-;24168:8;:60::i;:::-;24150:78;;24100:143;23577:676;23565:799;;;24264:5;;:28;;-1:-1:-1;;;24264:28:0;;24286:4;24264:28;;;1884:51:197;-1:-1:-1;;;;;24264:5:0;;;;:13;;1857:18:197;;24264:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;;24259:105;;24349:4;24328:25;;24259:105;24474:20;;24470:1234;;24614:18;24609:46;;24641:14;;-1:-1:-1;;;24641:14:0;;;;;;;;;;;24609:46;24832:33;;;24935:22;;;24931:310;;;25034:17;;;;;;;;:::i;:::-;24986:78;;25053:10;1884:51:197;;-1:-1:-1;;;;;24986:78:0;;;;;25021:11;;24997:22;;;;24986:78;;1872:2:197;1857:18;24986:78:0;;;;;;;24931:310;;;25104:11;25093:8;:22;25089:152;;;25192:17;;;;;;;;:::i;:::-;25144:78;;25211:10;1884:51:197;;-1:-1:-1;;;;;25144:78:0;;;;;25179:11;;25155:22;;;;25144:78;;1872:2:197;1857:18;25144:78:0;;;;;;;25089:152;25332:11;25301:9;:28;25311:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25301:28:0;;;;;;;;;;;;-1:-1:-1;25301:28:0;:42;-1:-1:-1;24470:1234:0;;;25429:15;25417:8;:27;25413:291;;25564:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25508:86:0;25547:15;25519:26;25547:15;25519:8;:26;:::i;:::-;25508:86;;25583:10;1884:51:197;;25508:86:0;;1872:2:197;1857:18;25508:86:0;;;;;;;25678:15;25647:9;:28;25657:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25647:28:0;;;;;;;;;;;;-1:-1:-1;25647:28:0;:46;25413:291;21370:4340;;;;;;;21285:4425;:::o;8594:1038:154:-;-1:-1:-1;;;;;8767:15:154;;;;;;:42;;-1:-1:-1;;;;;;8786:23:154;;;;8767:42;8763:107;;;8830:40;;-1:-1:-1;;;8830:40:154;;-1:-1:-1;;;;;52841:32:197;;8830:40:154;;;52823:51:197;-1:-1:-1;;;;;52910:37:197;;52890:18;;;52883:65;52796:18;;8830:40:154;52650:304:197;8763:107:154;8925:35;;;;;;;;-1:-1:-1;8925:35:154;;-1:-1:-1;;;;;8925:35:154;;;;-1:-1:-1;;;8925:35:154;;-1:-1:-1;;;;;8925:35:154;;;;;;;-1:-1:-1;;;8925:35:154;;;;;;;;;;;;;;9048:25;:94;;9121:20;;;;9104:38;;-1:-1:-1;;;9104:38:154;;-1:-1:-1;;;;;38987:37:197;;;9104:38:154;;;38969:56:197;9104:8:154;-1:-1:-1;;;;;9104:16:154;;;;38942:18:197;;9104:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9048:94;;;9085:16;;9048:94;9313:116;;;;;;;;-1:-1:-1;;;;;9313:116:154;;;;;-1:-1:-1;;;;;9313:116:154;;;;;;;;-1:-1:-1;9313:116:154;;;;;;;9303:126;;-1:-1:-1;;;;;;9303:126:154;;-1:-1:-1;;;9303:126:154;;;-1:-1:-1;;;;;9303:126:154;;;9028:114;;-1:-1:-1;9536:89:154;;9028:114;;9566:15;:58;;9596:28;;-1:-1:-1;;;9596:28:154;;-1:-1:-1;;;;;38987:37:197;;9596:28:154;;;38969:56:197;9596:8:154;-1:-1:-1;;;;;9596:16:154;;;;38942:18:197;;9596:28:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9536:18;:89::i;9566:58::-;9584:9;9536:18;:89::i;10638:189:6:-;10754:34;10773:5;10780:7;10754:18;:34::i;:::-;-1:-1:-1;;10798:9:6;:22;10638:189::o;10335:271:5:-;10451:8;-1:-1:-1;;;;;10442:17:5;:5;-1:-1:-1;;;;;10442:17:5;;10438:49;;10468:19;;-1:-1:-1;;;10468:19:5;;;;;;;;;;;10438:49;-1:-1:-1;;;;;10497:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;10497:46:5;;;;;;;;;;10558:41;;636::197;;;10558::5;;609:18:197;10558:41:5;;;;;;;10335:271;;;:::o;14476:4121:195:-;14549:14;;;-1:-1:-1;;15026:1:195;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;-1:-1:-1;;;15404:42:195;;;;;50689:25:197;;;50730:18;;;50723:34;;;50773:18;;;50766:34;;;50662:18;;15404:42:195;50487:319:197;15361:92:195;15725:17;15872:11;15869:1;15866;15859:25;17578:1;17559;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:15;;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;14476:4121;-1:-1:-1;;;;14476:4121:195:o;6824:247:5:-;6936:28;6946:4;6952:2;6956:7;6936:9;:28::i;:::-;6979:47;7002:4;7008:2;7012:7;7021:4;6979:22;:47::i;:::-;6974:90;;7035:29;;-1:-1:-1;;;7035:29:5;;;;;;;;;;;793:487:29;1018:44;;-1:-1:-1;;;1018:44:29;;;53246:41:197;53303:11;;;53296:27;;;876:13:29;;985:30;;53339:12:197;;1018:44:29;;;;;;;;;;;;985:77;;1117:22;1142:28;1152:17;1142:9;:28::i;:::-;1117:53;;1253:8;1263;1236:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1222:51;;;;793:487;;;;:::o;2227:276:5:-;2329:4;-1:-1:-1;;;;;;2352:40:5;;-1:-1:-1;;;2352:40:5;;:92;;-1:-1:-1;;;;;;;2396:48:5;;-1:-1:-1;;;2396:48:5;2352:92;:144;;;-1:-1:-1;;;;;;;;;;937:40:188;;;2460:36:5;829:155:188;27766:1193:0;-1:-1:-1;;;;;27953:19:0;;;27949:945;;28057:5;;:51;;-1:-1:-1;;;28057:51:0;;28085:4;28057:51;;;54059::197;54126:18;;;54119:34;;;28032:22:0;54169:18:197;;;54162:50;;;28032:22:0;-1:-1:-1;;;;;28057:5:0;;:19;;54032:18:197;;28057:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28057:51:0;;;;;;;;;;;;:::i;:::-;28032:76;;28184:5;:23;;;28180:513;;;28340:17;;28368:9;;28340:38;;-1:-1:-1;;;28340:38:0;;;;;5559:25:197;;;;28302:35:0;;-1:-1:-1;;;;;28340:17:0;;:27;;5532:18:197;;28340:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28302:76;-1:-1:-1;;;;;;28422:17:0;;;;;;:212;;-1:-1:-1;3772:22:123;;;;3798:3;3772:29;441:1:30;433:9;;;432:16;28467:167:0;28397:281;;;28660:18;;-1:-1:-1;;;28660:18:0;;;;;;;;;;;28397:281;28209:484;28180:513;28848:1;28813:23;;;:13;:23;;;;;;-1:-1:-1;;;;;28813:23:0;28809:74;;28852:23;;;;:13;:23;;;;;:31;;-1:-1:-1;;;;;;28852:31:0;-1:-1:-1;;;;;28852:31:0;;;;;27974:920;4109:291:5;4039:361;;:::o;29215:569:0:-;29391:5;;:51;;-1:-1:-1;;;29391:51:0;;29419:4;29391:51;;;54059::197;54126:18;;;54119:34;;;29366:22:0;54169:18:197;;;54162:50;;;29366:22:0;-1:-1:-1;;;;;29391:5:0;;:19;;54032:18:197;;29391:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29391:51:0;;;;;;;;;;;;:::i;:::-;29485:5;;29513:8;;29485:49;;-1:-1:-1;;;29485:49:0;;;;;55775:25:197;;;;-1:-1:-1;;;;;55874:15:197;;;55854:18;;;55847:43;55926:15;;;55906:18;;;55899:43;29513:8:0;;-1:-1:-1;29485:5:0;;;:27;;55748:18:197;;29485:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29730:47;4039:361:5;26387:1098:0;26744:5;;:113;;-1:-1:-1;;;26744:113:0;;26508:22;;26591:26;;-1:-1:-1;;;;;26744:5:0;;;;:16;;:113;;26774:7;;26795:12;;26508:22;;26744:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26744:113:0;;;;;;;;;;;;:::i;:::-;26942:16;;26714:143;;-1:-1:-1;26714:143:0;;-1:-1:-1;26919:20:0;;27107:372;27129:12;27124:2;:17;27107:372;;;27231:9;27241:2;27231:13;;;;;;;;:::i;:::-;;;;;;;27220:24;;27291:29;27297:12;27311:8;27291:5;:29::i;:::-;27373:12;-1:-1:-1;;;;;27340:67:0;27355:12;27368:2;27355:16;;;;;;;;:::i;:::-;;;;;;;27340:67;;27345:8;27340:67;27387:7;27396:10;27340:67;;;;;;27002:25:197;;;-1:-1:-1;;;;;27063:32:197;27058:2;27043:18;;27036:60;26990:2;26975:18;;26800:302;27340:67:0;;;;;;;;27450:4;;27107:372;;;;26536:949;;;26387:1098;;;;;:::o;873:190:153:-;1047:8;-1:-1:-1;;;;;1011:45:153;1032:13;-1:-1:-1;;;;;1011:45:153;;;;;;;;;;;873:190;;:::o;2029:131:5:-;2113:5;:13;2121:5;2113;:13;:::i;:::-;-1:-1:-1;2136:7:5;:17;2146:7;2136;:17;:::i;11370:789::-;11497:4;-1:-1:-1;;;;;11521:13:5;;1702:19:179;:23;11517:636:5;;11556:71;;-1:-1:-1;;;11556:71:5;;-1:-1:-1;;;;;11556:36:5;;;;;:71;;719:10:181;;11607:4:5;;11613:7;;11622:4;;11556:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11556:71:5;;;;;;;;-1:-1:-1;;11556:71:5;;;;;;;;;;;;:::i;:::-;;;11552:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11794:6;:13;11811:1;11794:18;11790:297;;11843:29;;-1:-1:-1;;;11843:29:5;;;;;;;;;;;11790:297;12039:6;12033:13;12024:6;12020:2;12016:15;12009:38;11552:549;-1:-1:-1;;;;;;11677:51:5;-1:-1:-1;;;11677:51:5;;-1:-1:-1;11670:58:5;;11517:636;-1:-1:-1;12138:4:5;11370:789;;;;;;:::o;1390:1065:29:-;1453:13;1482:7;:14;1500:1;1482:19;1478:45;;-1:-1:-1;;1510:13:29;;;1521:1;1510:13;;;;;;;;;1390:1065::o;1478:45::-;1558:15;;;1570:2;1558:15;;;;;;;;;1534:21;;1558:15;;;;;;;;;;-1:-1:-1;1558:15:29;1534:39;;1625:1;1613:6;1620:1;1613:9;;;;;;;;:::i;:::-;:13;;;;:9;;;;;;;;;;;:13;1692:14;;1657:1;;1637:17;1717:654;1737:13;1733:1;:17;1717:654;;;1767:13;1789:7;1797:1;1789:10;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;1820:9:29;1815:265;1835:11;1831:15;;:1;:15;1815:265;;;1898:1;1884:6;1891:1;1884:9;;;;;;;;:::i;:::-;;;;;;;1876:18;;:23;;1867:32;;;;;:::i;:::-;;-1:-1:-1;1946:10:29;1954:2;1867:32;1946:10;:::i;:::-;1928:6;1935:1;1928:9;;;;;;;;:::i;:::-;:29;;;;:9;;;;;;;;;;;:29;1983:10;1991:2;1983:5;:10;:::i;:::-;1975:18;-1:-1:-1;2044:3:29;;1815:265;;;;2094:207;2101:9;;2094:207;;2158:10;2166:2;2158:5;:10;:::i;:::-;2130:6;2137:11;2130:19;;;;;;;;;;:::i;:::-;:39;;;;:19;;;;;;;;;;;:39;2219:13;;;;;2276:10;2284:2;2276:5;:10;:::i;:::-;2268:18;;2094:207;;;-1:-1:-1;2343:3:29;;1717:654;;;;2394:53;2406:40;2415:30;2425:6;2433:11;2415:9;:30::i;:::-;2406:8;:40::i;:::-;2394:11;:53::i;:::-;2380:68;1390:1065;-1:-1:-1;;;;;1390:1065:29:o;2461:324::-;2540:14;2566:21;2602:7;2590:20;;-1:-1:-1;;;;;2590:20:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2590:20:29;;2566:44;;2625:9;2620:136;2640:7;2636:11;;:1;:11;2620:136;;;2676:6;2683:1;2676:9;;;;;;;;:::i;:::-;;;;;;;2664:6;2671:1;2664:9;;;;;;;;:::i;:::-;:21;;;;:9;;;;;;;;;;;:21;2728:3;;2620:136;;;-1:-1:-1;2772:6:29;2461:324;-1:-1:-1;;;2461:324:29:o;2791:387::-;2903:13;;2854:14;;2880:20;2903:13;-1:-1:-1;;;;;2950:25:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2950:25:29;;2926:49;;2990:9;2985:164;3005:12;3001:1;:16;2985:164;;;3074:6;3101:1;3097;3081:6;:13;:17;:21;3074:29;;;;;;;;:::i;:::-;;;;;;;3062:6;3069:1;3062:9;;;;;;;;:::i;:::-;:41;;;;:9;;;;;;;;;;;:41;3121:3;;2985:164;;3184:384;3301:15;;3252:12;;3276:22;3301:15;-1:-1:-1;;;;;3348:25:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3348:25:29;;3326:47;;3388:9;3383:156;3403:14;3399:1;:18;3383:156;;;3446:9;;;;;;;;;;;;;;;;;3456:8;3465:1;3456:11;;;;;;;;:::i;:::-;;;;;;;3446:22;;;;;;;;;;:::i;:::-;;;;;;;;;3434:6;3441:1;3434:9;;;;;;;;:::i;:::-;;;;:34;-1:-1:-1;;;;;3434:34:29;;;;;;;;-1:-1:-1;3511:3:29;;3383:156;;14:131:197;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;688:250::-;773:1;783:113;797:6;794:1;791:13;783:113;;;873:11;;;867:18;854:11;;;847:39;819:2;812:10;783:113;;;-1:-1:-1;;930:1:197;912:16;;905:27;688:250::o;943:271::-;985:3;1023:5;1017:12;1050:6;1045:3;1038:19;1066:76;1135:6;1128:4;1123:3;1119:14;1112:4;1105:5;1101:16;1066:76;:::i;:::-;1196:2;1175:15;-1:-1:-1;;1171:29:197;1162:39;;;;1203:4;1158:50;;943:271;-1:-1:-1;;943:271:197:o;1219:220::-;1368:2;1357:9;1350:21;1331:4;1388:45;1429:2;1418:9;1414:18;1406:6;1388:45;:::i;1444:180::-;1503:6;1556:2;1544:9;1535:7;1531:23;1527:32;1524:52;;;1572:1;1569;1562:12;1524:52;-1:-1:-1;1595:23:197;;1444:180;-1:-1:-1;1444:180:197:o;2315:131::-;-1:-1:-1;;;;;2390:31:197;;2380:42;;2370:70;;2436:1;2433;2426:12;2451:134;2519:20;;2548:31;2519:20;2548:31;:::i;:::-;2451:134;;;:::o;2590:315::-;2658:6;2666;2719:2;2707:9;2698:7;2694:23;2690:32;2687:52;;;2735:1;2732;2725:12;2687:52;2774:9;2761:23;2793:31;2818:5;2793:31;:::i;:::-;2843:5;2895:2;2880:18;;;;2867:32;;-1:-1:-1;;;2590:315:197:o;2910:401::-;3010:6;3063:2;3051:9;3042:7;3038:23;3034:32;3031:52;;;3079:1;3076;3069:12;3031:52;3119:9;3106:23;-1:-1:-1;;;;;3144:6:197;3141:30;3138:50;;;3184:1;3181;3174:12;3138:50;3207:22;;3263:3;3245:16;;;3241:26;3238:46;;;3280:1;3277;3270:12;3316:348;3368:8;3378:6;3432:3;3425:4;3417:6;3413:17;3409:27;3399:55;;3450:1;3447;3440:12;3399:55;-1:-1:-1;3473:20:197;;-1:-1:-1;;;;;3505:30:197;;3502:50;;;3548:1;3545;3538:12;3502:50;3585:4;3577:6;3573:17;3561:29;;3637:3;3630:4;3621:6;3613;3609:19;3605:30;3602:39;3599:59;;;3654:1;3651;3644:12;3599:59;3316:348;;;;;:::o;3669:1026::-;3820:6;3828;3836;3844;3852;3860;3868;3921:3;3909:9;3900:7;3896:23;3892:33;3889:53;;;3938:1;3935;3928:12;3889:53;3978:9;3965:23;-1:-1:-1;;;;;4048:2:197;4040:6;4037:14;4034:34;;;4064:1;4061;4054:12;4034:34;4103:59;4154:7;4145:6;4134:9;4130:22;4103:59;:::i;:::-;4181:8;;-1:-1:-1;4077:85:197;-1:-1:-1;4269:2:197;4254:18;;4241:32;;-1:-1:-1;4285:16:197;;;4282:36;;;4314:1;4311;4304:12;4282:36;;4353:61;4406:7;4395:8;4384:9;4380:24;4353:61;:::i;:::-;4433:8;;-1:-1:-1;4327:87:197;-1:-1:-1;;4518:2:197;4503:18;;4490:32;4531:31;4490:32;4531:31;:::i;:::-;3669:1026;;;;-1:-1:-1;3669:1026:197;;;;4581:5;4633:2;4618:18;;4605:32;;-1:-1:-1;4684:3:197;4669:19;;;4656:33;;3669:1026;-1:-1:-1;;3669:1026:197:o;4700:456::-;4777:6;4785;4793;4846:2;4834:9;4825:7;4821:23;4817:32;4814:52;;;4862:1;4859;4852:12;4814:52;4901:9;4888:23;4920:31;4945:5;4920:31;:::i;:::-;4970:5;-1:-1:-1;5027:2:197;5012:18;;4999:32;5040:33;4999:32;5040:33;:::i;:::-;4700:456;;5092:7;;-1:-1:-1;;;5146:2:197;5131:18;;;;5118:32;;4700:456::o;5161:247::-;5220:6;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5328:9;5315:23;5347:31;5372:5;5347:31;:::i;5595:671::-;5737:6;5745;5798:2;5786:9;5777:7;5773:23;5769:32;5766:52;;;5814:1;5811;5804:12;5766:52;5854:9;5841:23;-1:-1:-1;;;;;5924:2:197;5916:6;5913:14;5910:34;;;5940:1;5937;5930:12;5910:34;5978:6;5967:9;5963:22;5953:32;;6023:7;6016:4;6012:2;6008:13;6004:27;5994:55;;6045:1;6042;6035:12;5994:55;6085:2;6072:16;6111:2;6103:6;6100:14;6097:34;;;6127:1;6124;6117:12;6097:34;6180:7;6175:2;6165:6;6162:1;6158:14;6154:2;6150:23;6146:32;6143:45;6140:65;;;6201:1;6198;6191:12;6140:65;6232:2;6224:11;;;;;6254:6;;-1:-1:-1;5595:671:197;;-1:-1:-1;;;;5595:671:197:o;6716:269::-;6773:6;6826:2;6814:9;6805:7;6801:23;6797:32;6794:52;;;6842:1;6839;6832:12;6794:52;6881:9;6868:23;6931:4;6924:5;6920:16;6913:5;6910:27;6900:55;;6951:1;6948;6941:12;6990:366;7052:8;7062:6;7116:3;7109:4;7101:6;7097:17;7093:27;7083:55;;7134:1;7131;7124:12;7083:55;-1:-1:-1;7157:20:197;;-1:-1:-1;;;;;7189:30:197;;7186:50;;;7232:1;7229;7222:12;7186:50;7269:4;7261:6;7257:17;7245:29;;7329:3;7322:4;7312:6;7309:1;7305:14;7297:6;7293:27;7289:38;7286:47;7283:67;;;7346:1;7343;7336:12;7361:570;7455:6;7463;7471;7524:2;7512:9;7503:7;7499:23;7495:32;7492:52;;;7540:1;7537;7530:12;7492:52;7580:9;7567:23;-1:-1:-1;;;;;7605:6:197;7602:30;7599:50;;;7645:1;7642;7635:12;7599:50;7684:69;7745:7;7736:6;7725:9;7721:22;7684:69;:::i;:::-;7772:8;;-1:-1:-1;7658:95:197;-1:-1:-1;;7857:2:197;7842:18;;7829:32;7870:31;7829:32;7870:31;:::i;:::-;7920:5;7910:15;;;7361:570;;;;;:::o;7936:439::-;7989:3;8027:5;8021:12;8054:6;8049:3;8042:19;8080:4;8109;8104:3;8100:14;8093:21;;8148:4;8141:5;8137:16;8171:1;8181:169;8195:6;8192:1;8189:13;8181:169;;;8256:13;;8244:26;;8290:12;;;;8325:15;;;;8217:1;8210:9;8181:169;;;-1:-1:-1;8366:3:197;;7936:439;-1:-1:-1;;;;;7936:439:197:o;8380:261::-;8559:2;8548:9;8541:21;8522:4;8579:56;8631:2;8620:9;8616:18;8608:6;8579:56;:::i;8646:398::-;8743:6;8796:2;8784:9;8775:7;8771:23;8767:32;8764:52;;;8812:1;8809;8802:12;8764:52;8852:9;8839:23;-1:-1:-1;;;;;8877:6:197;8874:30;8871:50;;;8917:1;8914;8907:12;8871:50;8940:22;;8996:3;8978:16;;;8974:26;8971:46;;;9013:1;9010;9003:12;9049:127;9110:10;9105:3;9101:20;9098:1;9091:31;9141:4;9138:1;9131:15;9165:4;9162:1;9155:15;9181:253;9253:2;9247:9;9295:4;9283:17;;-1:-1:-1;;;;;9315:34:197;;9351:22;;;9312:62;9309:88;;;9377:18;;:::i;:::-;9413:2;9406:22;9181:253;:::o;9439:255::-;9511:2;9505:9;9553:6;9541:19;;-1:-1:-1;;;;;9575:34:197;;9611:22;;;9572:62;9569:88;;;9637:18;;:::i;9699:252::-;9771:2;9765:9;9813:3;9801:16;;-1:-1:-1;;;;;9832:34:197;;9868:22;;;9829:62;9826:88;;;9894:18;;:::i;9956:255::-;10028:2;10022:9;10070:6;10058:19;;-1:-1:-1;;;;;10092:34:197;;10128:22;;;10089:62;10086:88;;;10154:18;;:::i;10216:275::-;10287:2;10281:9;10352:2;10333:13;;-1:-1:-1;;10329:27:197;10317:40;;-1:-1:-1;;;;;10372:34:197;;10408:22;;;10369:62;10366:88;;;10434:18;;:::i;:::-;10470:2;10463:22;10216:275;;-1:-1:-1;10216:275:197:o;10496:183::-;10556:4;-1:-1:-1;;;;;10581:6:197;10578:30;10575:56;;;10611:18;;:::i;:::-;-1:-1:-1;10656:1:197;10652:14;10668:4;10648:25;;10496:183::o;10684:167::-;10755:5;10800:3;10791:6;10786:3;10782:16;10778:26;10775:46;;;10817:1;10814;10807:12;10775:46;-1:-1:-1;10839:6:197;10684:167;-1:-1:-1;10684:167:197:o;10856:1171::-;10988:6;10996;11049:2;11037:9;11028:7;11024:23;11020:32;11017:52;;;11065:1;11062;11055:12;11017:52;11105:9;11092:23;-1:-1:-1;;;;;11175:2:197;11167:6;11164:14;11161:34;;;11191:1;11188;11181:12;11161:34;11229:6;11218:9;11214:22;11204:32;;11274:7;11267:4;11263:2;11259:13;11255:27;11245:55;;11296:1;11293;11286:12;11245:55;11332:2;11319:16;11354:4;11378:60;11394:43;11434:2;11394:43;:::i;:::-;11378:60;:::i;:::-;11472:15;;;11554:1;11550:10;;;;11542:19;;11538:28;;;11503:12;;;;11578:19;;;11575:39;;;11610:1;11607;11600:12;11575:39;11634:11;;;;11654:142;11670:6;11665:3;11662:15;11654:142;;;11736:17;;11724:30;;11687:12;;;;11774;;;;11654:142;;;11815:5;-1:-1:-1;;11858:18:197;;11845:32;;-1:-1:-1;;11889:16:197;;;11886:36;;;11918:1;11915;11908:12;11886:36;;11941:80;12013:7;12002:8;11991:9;11987:24;11941:80;:::i;:::-;11931:90;;;10856:1171;;;;;:::o;12032:976::-;12190:6;12198;12206;12214;12267:2;12255:9;12246:7;12242:23;12238:32;12235:52;;;12283:1;12280;12273:12;12235:52;12323:9;12310:23;-1:-1:-1;;;;;12393:2:197;12385:6;12382:14;12379:34;;;12409:1;12406;12399:12;12379:34;12447:6;12436:9;12432:22;12422:32;;12492:7;12485:4;12481:2;12477:13;12473:27;12463:55;;12514:1;12511;12504:12;12463:55;12554:2;12541:16;12580:2;12572:6;12569:14;12566:34;;;12596:1;12593;12586:12;12566:34;12656:7;12649:4;12639:6;12631;12627:19;12623:2;12619:28;12615:39;12612:52;12609:72;;;12677:1;12674;12667:12;12609:72;12708:4;12700:13;;;;-1:-1:-1;12732:6:197;-1:-1:-1;12776:20:197;;;12763:34;;12809:16;;;12806:36;;;12838:1;12835;12828:12;12806:36;;12877:71;12940:7;12929:8;12918:9;12914:24;12877:71;:::i;:::-;12032:976;;;;-1:-1:-1;12967:8:197;-1:-1:-1;;;;12032:976:197:o;13242:379::-;13340:6;13393:2;13381:9;13372:7;13368:23;13364:32;13361:52;;;13409:1;13406;13399:12;13361:52;13449:9;13436:23;-1:-1:-1;;;;;13474:6:197;13471:30;13468:50;;;13514:1;13511;13504:12;13468:50;13537:78;13607:7;13598:6;13587:9;13583:22;13537:78;:::i;13869:187::-;13918:4;-1:-1:-1;;;;;13943:6:197;13940:30;13937:56;;;13973:18;;:::i;:::-;-1:-1:-1;14039:2:197;14018:15;-1:-1:-1;;14014:29:197;14045:4;14010:40;;13869:187::o;14061:338::-;14126:5;14155:53;14171:36;14200:6;14171:36;:::i;14155:53::-;14146:62;;14231:6;14224:5;14217:21;14271:3;14262:6;14257:3;14253:16;14250:25;14247:45;;;14288:1;14285;14278:12;14247:45;14337:6;14332:3;14325:4;14318:5;14314:16;14301:43;14391:1;14384:4;14375:6;14368:5;14364:18;14360:29;14353:40;14061:338;;;;;:::o;14404:222::-;14447:5;14500:3;14493:4;14485:6;14481:17;14477:27;14467:55;;14518:1;14515;14508:12;14467:55;14540:80;14616:3;14607:6;14594:20;14587:4;14579:6;14575:17;14540:80;:::i;14631:182::-;14699:20;;-1:-1:-1;;;;;14748:40:197;;14738:51;;14728:79;;14803:1;14800;14793:12;14818:163;14885:20;;14945:10;14934:22;;14924:33;;14914:61;;14971:1;14968;14961:12;14986:117;15071:6;15064:5;15060:18;15053:5;15050:29;15040:57;;15093:1;15090;15083:12;15108:132;15175:20;;15204:30;15175:20;15204:30;:::i;15245:161::-;15312:20;;15372:8;15361:20;;15351:31;;15341:59;;15396:1;15393;15386:12;15411:118;15497:5;15490:13;15483:21;15476:5;15473:32;15463:60;;15519:1;15516;15509:12;15534:128;15599:20;;15628:28;15599:20;15628:28;:::i;15667:167::-;15734:20;;15794:14;15783:26;;15773:37;;15763:65;;15824:1;15821;15814:12;15839:2295;15904:5;15934:4;15975;15963:9;15958:3;15954:19;15950:30;15947:50;;;15993:1;15990;15983:12;15947:50;16015:22;;:::i;:::-;16006:31;;16073:9;16060:23;-1:-1:-1;;;;;16098:6:197;16095:30;16092:50;;;16138:1;16135;16128:12;16092:50;16161:22;;16214:4;16206:13;;16202:23;-1:-1:-1;16192:51:197;;16239:1;16236;16229:12;16192:51;16275:2;16262:16;16297:4;16321:60;16337:43;16377:2;16337:43;:::i;16321:60::-;16415:15;;;16477:6;16518:11;;;16510:20;;16506:29;;;16446:12;;;;16403:3;16547:15;;;16544:35;;;16575:1;16572;16565:12;16544:35;16599:11;;;;16619:1269;16635:6;16630:3;16627:15;16619:1269;;;16711:2;16705:3;16700;16696:13;16692:22;16689:112;;;16755:1;16784:2;16780;16773:14;16689:112;16829:22;;:::i;:::-;16880:23;16899:3;16880:23;:::i;:::-;16871:7;16864:40;16942:31;16969:2;16964:3;16960:12;16942:31;:::i;:::-;16937:2;16928:7;16924:16;16917:57;16997:2;17037:31;17064:2;17059:3;17055:12;17037:31;:::i;:::-;17019:16;;;17012:57;17092:2;17132:31;17150:12;;;17132:31;:::i;:::-;17114:16;;;17107:57;17202:32;17221:12;;;17202:32;:::i;:::-;17184:16;;;17177:58;17258:3;17312:12;;;17299:26;17281:16;;;17274:52;17350:3;17392:32;17410:13;;;17392:32;:::i;:::-;17373:17;;;17366:59;17449:3;17491:30;17507:13;;;17491:30;:::i;:::-;17472:17;;;17465:57;17546:3;17588:30;17604:13;;;17588:30;:::i;:::-;17569:17;;;17562:57;17643:3;17685:30;17701:13;;;17685:30;:::i;:::-;17666:17;;;17659:57;17740:3;17782:30;17798:13;;;17782:30;:::i;:::-;17763:17;;;17756:57;17826:20;;16652:12;;;;17866;;;;16619:1269;;;-1:-1:-1;17897:20:197;;-1:-1:-1;17949:37:197;17967:18;;;17949:37;:::i;:::-;17944:2;17937:5;17933:14;17926:61;;;;;18019:37;18052:2;18041:9;18037:18;18019:37;:::i;:::-;18014:2;18007:5;18003:14;17996:61;18089:38;18123:2;18112:9;18108:18;18089:38;:::i;:::-;18084:2;18077:5;18073:14;18066:62;15839:2295;;;;:::o;18139:701::-;18202:5;18250:4;18238:9;18233:3;18229:19;18225:30;18222:50;;;18268:1;18265;18258:12;18222:50;18290:22;;:::i;:::-;18281:31;;18349:9;18336:23;18368:30;18390:7;18368:30;:::i;:::-;18407:22;;18481:2;18466:18;;18453:32;18494:30;18453:32;18494:30;:::i;:::-;18551:2;18540:14;;18533:31;18616:2;18601:18;;18588:32;18629:30;18588:32;18629:30;:::i;:::-;18686:2;18675:14;;18668:31;18751:2;18736:18;;18723:32;18764:30;18723:32;18764:30;:::i;18845:1717::-;19194:6;19202;19210;19218;19226;19234;19242;19250;19258;19266;19319:3;19307:9;19298:7;19294:23;19290:33;19287:53;;;19336:1;19333;19326:12;19287:53;19372:9;19359:23;19349:33;;19433:2;19422:9;19418:18;19405:32;-1:-1:-1;;;;;19497:2:197;19489:6;19486:14;19483:34;;;19513:1;19510;19503:12;19483:34;19536:50;19578:7;19569:6;19558:9;19554:22;19536:50;:::i;:::-;19526:60;;19639:2;19628:9;19624:18;19611:32;19595:48;;19668:2;19658:8;19655:16;19652:36;;;19684:1;19681;19674:12;19652:36;19707:52;19751:7;19740:8;19729:9;19725:24;19707:52;:::i;:::-;19697:62;;19778:38;19812:2;19801:9;19797:18;19778:38;:::i;:::-;19768:48;;19869:3;19858:9;19854:19;19841:33;19825:49;;19899:2;19889:8;19886:16;19883:36;;;19915:1;19912;19905:12;19883:36;19938:52;19982:7;19971:8;19960:9;19956:24;19938:52;:::i;:::-;19928:62;;20009:39;20043:3;20032:9;20028:19;20009:39;:::i;:::-;19999:49;;20101:3;20090:9;20086:19;20073:33;20057:49;;20131:2;20121:8;20118:16;20115:36;;;20147:1;20144;20137:12;20115:36;20170:52;20214:7;20203:8;20192:9;20188:24;20170:52;:::i;:::-;20160:62;;20275:3;20264:9;20260:19;20247:33;20231:49;;20305:2;20295:8;20292:16;20289:36;;;20321:1;20318;20311:12;20289:36;;20344:71;20407:7;20396:8;20385:9;20381:24;20344:71;:::i;:::-;20334:81;;;20434:39;20468:3;20457:9;20453:19;20434:39;:::i;:::-;20424:49;;20492:64;20548:7;20542:3;20531:9;20527:19;20492:64;:::i;:::-;20482:74;;18845:1717;;;;;;;;;;;;;:::o;20567:382::-;20632:6;20640;20693:2;20681:9;20672:7;20668:23;20664:32;20661:52;;;20709:1;20706;20699:12;20661:52;20748:9;20735:23;20767:31;20792:5;20767:31;:::i;:::-;20817:5;-1:-1:-1;20874:2:197;20859:18;;20846:32;20887:30;20846:32;20887:30;:::i;:::-;20936:7;20926:17;;;20567:382;;;;;:::o;20954:1384::-;21280:4;21309:2;21338:6;21327:9;21320:25;21364:2;21402;21397;21386:9;21382:18;21375:30;21428:45;21469:2;21458:9;21454:18;21446:6;21428:45;:::i;:::-;21492:2;21542:9;21534:6;21530:22;21525:2;21514:9;21510:18;21503:50;21573:6;21608;21602:13;21639:6;21631;21624:22;21674:2;21666:6;21662:15;21655:22;;21733:2;21723:6;21720:1;21716:14;21708:6;21704:27;21700:36;21771:2;21763:6;21759:15;21792:1;21802:507;21816:6;21813:1;21810:13;21802:507;;;21881:19;;;-1:-1:-1;;21877:33:197;21865:46;;21934:13;;21979:9;;-1:-1:-1;;;;;21975:35:197;21960:51;;22054:11;;;22048:18;22031:15;;;22024:43;22106:11;;22100:18;22138:15;;;22131:27;;;22181:48;22213:15;;;22100:18;22181:48;:::i;:::-;22287:12;;;;22171:58;-1:-1:-1;;22252:15:197;;;;21838:1;21831:9;21802:507;;;-1:-1:-1;22326:6:197;;20954:1384;-1:-1:-1;;;;;;;;;;;;20954:1384:197:o;22343:248::-;22411:6;22419;22472:2;22460:9;22451:7;22447:23;22443:32;22440:52;;;22488:1;22485;22478:12;22440:52;-1:-1:-1;;22511:23:197;;;22581:2;22566:18;;;22553:32;;-1:-1:-1;22343:248:197:o;22830:795::-;22925:6;22933;22941;22949;23002:3;22990:9;22981:7;22977:23;22973:33;22970:53;;;23019:1;23016;23009:12;22970:53;23058:9;23045:23;23077:31;23102:5;23077:31;:::i;:::-;23127:5;-1:-1:-1;23184:2:197;23169:18;;23156:32;23197:33;23156:32;23197:33;:::i;:::-;23249:7;-1:-1:-1;23303:2:197;23288:18;;23275:32;;-1:-1:-1;23358:2:197;23343:18;;23330:32;-1:-1:-1;;;;;23374:30:197;;23371:50;;;23417:1;23414;23407:12;23371:50;23440:22;;23493:4;23485:13;;23481:27;-1:-1:-1;23471:55:197;;23522:1;23519;23512:12;23471:55;23545:74;23611:7;23606:2;23593:16;23588:2;23584;23580:11;23545:74;:::i;:::-;23535:84;;;22830:795;;;;;;;:::o;24246:396::-;24341:6;24394:2;24382:9;24373:7;24369:23;24365:32;24362:52;;;24410:1;24407;24400:12;24362:52;24450:9;24437:23;-1:-1:-1;;;;;24475:6:197;24472:30;24469:50;;;24515:1;24512;24505:12;24469:50;24538:22;;24594:3;24576:16;;;24572:26;24569:46;;;24611:1;24608;24601:12;24647:1370;24959:4;24988:2;25017:6;25006:9;24999:25;25043:2;25081;25076;25065:9;25061:18;25054:30;25107:45;25148:2;25137:9;25133:18;25125:6;25107:45;:::i;:::-;25171:2;25221:9;25213:6;25209:22;25204:2;25193:9;25189:18;25182:50;25252:6;25287;25281:13;25318:6;25310;25303:22;25353:2;25345:6;25341:15;25334:22;;25412:2;25402:6;25399:1;25395:14;25387:6;25383:27;25379:36;25450:2;25442:6;25438:15;25471:1;25481:507;25495:6;25492:1;25489:13;25481:507;;;25560:19;;;-1:-1:-1;;25556:33:197;25544:46;;25613:13;;25658:9;;-1:-1:-1;;;;;25654:35:197;25639:51;;25733:11;;;25727:18;25710:15;;;25703:43;25785:11;;25779:18;25817:15;;;25810:27;;;25860:48;25892:15;;;25779:18;25860:48;:::i;:::-;25966:12;;;;25850:58;-1:-1:-1;;25931:15:197;;;;25517:1;25510:9;25481:507;;26022:388;26090:6;26098;26151:2;26139:9;26130:7;26126:23;26122:32;26119:52;;;26167:1;26164;26157:12;26119:52;26206:9;26193:23;26225:31;26250:5;26225:31;:::i;:::-;26275:5;-1:-1:-1;26332:2:197;26317:18;;26304:32;26345:33;26304:32;26345:33;:::i;26415:380::-;26494:1;26490:12;;;;26537;;;26558:61;;26612:4;26604:6;26600:17;26590:27;;26558:61;26665:2;26657:6;26654:14;26634:18;26631:38;26628:161;;26711:10;26706:3;26702:20;26699:1;26692:31;26746:4;26743:1;26736:15;26774:4;26771:1;26764:15;27107:132;27183:13;;27205:28;27183:13;27205:28;:::i;27244:245::-;27311:6;27364:2;27352:9;27343:7;27339:23;27335:32;27332:52;;;27380:1;27377;27370:12;27332:52;27412:9;27406:16;27431:28;27453:5;27431:28;:::i;27494:521::-;27571:4;27577:6;27637:11;27624:25;27731:2;27727:7;27716:8;27700:14;27696:29;27692:43;27672:18;27668:68;27658:96;;27750:1;27747;27740:12;27658:96;27777:33;;27829:20;;;-1:-1:-1;;;;;;27861:30:197;;27858:50;;;27904:1;27901;27894:12;27858:50;27937:4;27925:17;;-1:-1:-1;27968:14:197;27964:27;;;27954:38;;27951:58;;;28005:1;28002;27995:12;28020:665;28085:5;28138:3;28131:4;28123:6;28119:17;28115:27;28105:55;;28156:1;28153;28146:12;28105:55;28185:6;28179:13;28211:4;28235:60;28251:43;28291:2;28251:43;:::i;28235:60::-;28317:3;28341:2;28336:3;28329:15;28369:4;28364:3;28360:14;28353:21;;28426:4;28420:2;28417:1;28413:10;28405:6;28401:23;28397:34;28383:48;;28454:3;28446:6;28443:15;28440:35;;;28471:1;28468;28461:12;28440:35;28507:4;28499:6;28495:17;28521:135;28537:6;28532:3;28529:15;28521:135;;;28603:10;;28591:23;;28634:12;;;;28554;;28521:135;;;-1:-1:-1;28674:5:197;28020:665;-1:-1:-1;;;;;;28020:665:197:o;28690:363::-;28785:6;28838:2;28826:9;28817:7;28813:23;28809:32;28806:52;;;28854:1;28851;28844:12;28806:52;28887:9;28881:16;-1:-1:-1;;;;;28912:6:197;28909:30;28906:50;;;28952:1;28949;28942:12;28906:50;28975:72;29039:7;29030:6;29019:9;29015:22;28975:72;:::i;29058:127::-;29119:10;29114:3;29110:20;29107:1;29100:31;29150:4;29147:1;29140:15;29174:4;29171:1;29164:15;29316:543;29418:2;29413:3;29410:11;29407:446;;;29454:1;29478:5;29475:1;29468:16;29522:4;29519:1;29509:18;29592:2;29580:10;29576:19;29573:1;29569:27;29563:4;29559:38;29628:4;29616:10;29613:20;29610:47;;;-1:-1:-1;29651:4:197;29610:47;29706:2;29701:3;29697:12;29694:1;29690:20;29684:4;29680:31;29670:41;;29761:82;29779:2;29772:5;29769:13;29761:82;;;29824:17;;;29805:1;29794:13;29761:82;;30035:1206;-1:-1:-1;;;;;30154:3:197;30151:27;30148:53;;;30181:18;;:::i;:::-;30210:94;30300:3;30260:38;30292:4;30286:11;30260:38;:::i;:::-;30254:4;30210:94;:::i;:::-;30330:1;30355:2;30350:3;30347:11;30372:1;30367:616;;;;31027:1;31044:3;31041:93;;;-1:-1:-1;31100:19:197;;;31087:33;31041:93;-1:-1:-1;;29992:1:197;29988:11;;;29984:24;29980:29;29970:40;30016:1;30012:11;;;29967:57;31147:78;;30340:895;;30367:616;29263:1;29256:14;;;29300:4;29287:18;;-1:-1:-1;;30403:17:197;;;30504:9;30526:229;30540:7;30537:1;30534:14;30526:229;;;30629:19;;;30616:33;30601:49;;30736:4;30721:20;;;;30689:1;30677:14;;;;30556:12;30526:229;;;30530:3;30783;30774:7;30771:16;30768:159;;;30907:1;30903:6;30897:3;30891;30888:1;30884:11;30880:21;30876:34;30872:39;30859:9;30854:3;30850:19;30837:33;30833:79;30825:6;30818:95;30768:159;;;30970:1;30964:3;30961:1;30957:11;30953:19;30947:4;30940:33;30340:895;;30035:1206;;;:::o;31246:273::-;31431:6;31423;31418:3;31405:33;31387:3;31457:16;;31482:13;;;31457:16;31246:273;-1:-1:-1;31246:273:197:o;32296:533::-;32409:6;32462:2;32450:9;32441:7;32437:23;32433:32;32430:52;;;32478:1;32475;32468:12;32430:52;32511:2;32505:9;32553:2;32545:6;32541:15;32622:6;32610:10;32607:22;-1:-1:-1;;;;;32574:10:197;32571:34;32568:62;32565:88;;;32633:18;;:::i;:::-;32669:2;32662:22;32708:23;;32693:39;;32793:2;32778:18;;;32765:32;32748:15;;;32741:57;;;;-1:-1:-1;32700:6:197;32296:533;-1:-1:-1;32296:533:197:o;32929:842::-;33189:25;;;33177:2;33233;33251:18;;;33244:30;;;33162:18;;;33309:22;;;33129:4;;33389:6;;33362:3;33347:19;;33129:4;33423:263;33437:6;33434:1;33431:13;33423:263;;;33512:6;33499:20;33532:30;33556:5;33532:30;:::i;:::-;33598:6;33587:18;33575:31;;33661:15;;;;33626:12;;;;33459:1;33452:9;33423:263;;;33427:3;33703;33695:11;;;;;33756:6;33749:14;33742:22;33737:2;33726:9;33722:18;33715:50;32929:842;;;;;;;:::o;33776:424::-;33880:6;33888;33941:2;33929:9;33920:7;33916:23;33912:32;33909:52;;;33957:1;33954;33947:12;33909:52;33990:9;33984:16;-1:-1:-1;;;;;34015:6:197;34012:30;34009:50;;;34055:1;34052;34045:12;34009:50;34078:72;34142:7;34133:6;34122:9;34118:22;34078:72;:::i;:::-;34068:82;;;34190:2;34179:9;34175:18;34169:25;34159:35;;33776:424;;;;;:::o;34205:245::-;34263:6;34316:2;34304:9;34295:7;34291:23;34287:32;34284:52;;;34332:1;34329;34322:12;34284:52;34371:9;34358:23;34390:30;34414:5;34390:30;:::i;35051:184::-;35121:6;35174:2;35162:9;35153:7;35149:23;35145:32;35142:52;;;35190:1;35187;35180:12;35142:52;-1:-1:-1;35213:16:197;;35051:184;-1:-1:-1;35051:184:197:o;35240:358::-;-1:-1:-1;;;;;35447:32:197;;35429:51;;35516:2;35511;35496:18;;35489:30;;;-1:-1:-1;;35536:56:197;;35573:18;;35565:6;35536:56;:::i;35603:443::-;35792:2;35774:21;;;35811:18;;35804:34;;;-1:-1:-1;;;;;;35850:31:197;;35847:51;;;35894:1;35891;35884:12;35847:51;35928:6;35925:1;35921:14;35985:6;35977;35972:2;35961:9;35957:18;35944:48;36013:22;;;;36037:2;36009:31;;35603:443;-1:-1:-1;;;35603:443:197:o;36365:1358::-;36443:50;36489:3;36462:25;36481:5;36462:25;:::i;:::-;-1:-1:-1;;;;;36117:40:197;36105:53;;36051:113;36443:50;36522:35;36551:4;36544:5;36540:16;36522:35;:::i;:::-;36245:10;36234:22;36607:4;36598:14;;36222:35;36644;36673:4;36662:16;;36644:35;:::i;:::-;36245:10;36234:22;36731:4;36722:14;;36222:35;36768;36797:4;36786:16;;36768:35;:::i;:::-;32910:6;32899:18;36855:4;36846:14;;32887:31;36892:36;36922:4;36911:16;;36892:36;:::i;:::-;-1:-1:-1;;;;;1695:31:197;36981:4;36972:14;;1683:44;37043:4;37032:16;;;37019:30;37003:14;;;36996:54;37081:35;37110:4;37099:16;;37081:35;:::i;:::-;36344:8;36333:20;37168:4;37159:14;;36321:33;37205;37232:4;37221:16;;37205:33;:::i;:::-;470:13;463:21;37288:4;37279:14;;451:34;37313:6;37350:31;37366:14;;;37350:31;:::i;:::-;470:13;463:21;37422:12;;;451:34;37454:6;37491:31;37507:14;;;37491:31;:::i;:::-;470:13;463:21;37563:12;;;451:34;37595:6;37632:31;37648:14;;;37632:31;:::i;:::-;470:13;;463:21;37704:12;;;451:34;37672:45;400:91;37728:704;37998:2;38010:21;;;37983:18;;38066:22;;;37950:4;38145:6;38119:2;38104:18;;37950:4;38179:227;38193:6;38190:1;38187:13;38179:227;;;38242:55;38293:3;38285:6;38242:55;:::i;:::-;38320:6;38381:15;;;;38346:12;;;;;38215:1;38208:9;38179:227;;;-1:-1:-1;38423:3:197;37728:704;-1:-1:-1;;;;;37728:704:197:o;38437:382::-;38669:3;38654:19;;38682:61;38658:9;38725:6;38682:61;:::i;:::-;-1:-1:-1;;;;;38780:32:197;;;;38774:3;38759:19;;;;38752:61;38437:382;;-1:-1:-1;38437:382:197:o;39036:138::-;39115:13;;39137:31;39115:13;39137:31;:::i;39179:251::-;39249:6;39302:2;39290:9;39281:7;39277:23;39273:32;39270:52;;;39318:1;39315;39308:12;39270:52;39350:9;39344:16;39369:31;39394:5;39369:31;:::i;39435:1345::-;39561:3;39555:10;-1:-1:-1;;;;;39580:6:197;39577:30;39574:56;;;39610:18;;:::i;:::-;39639:97;39729:6;39689:38;39721:4;39715:11;39689:38;:::i;:::-;39683:4;39639:97;:::i;:::-;39791:4;;39848:2;39837:14;;39865:1;39860:663;;;;40567:1;40584:6;40581:89;;;-1:-1:-1;40636:19:197;;;40630:26;40581:89;-1:-1:-1;;29992:1:197;29988:11;;;29984:24;29980:29;29970:40;30016:1;30012:11;;;29967:57;40683:81;;39830:944;;39860:663;29263:1;29256:14;;;29300:4;29287:18;;-1:-1:-1;;39896:20:197;;;40014:236;40028:7;40025:1;40022:14;40014:236;;;40117:19;;;40111:26;40096:42;;40209:27;;;;40177:1;40165:14;;;;40044:19;;40014:236;;;40018:3;40278:6;40269:7;40266:19;40263:201;;;40339:19;;;40333:26;-1:-1:-1;;40422:1:197;40418:14;;;40434:3;40414:24;40410:37;40406:42;40391:58;40376:74;;40263:201;-1:-1:-1;;;;;40510:1:197;40494:14;;;40490:22;40477:36;;-1:-1:-1;39435:1345:197:o;40785:2056::-;41024:2;41076:21;;;41146:13;;41049:18;;;41168:22;;;40995:4;;41024:2;41209;;41227:18;;;;41268:15;;;40995:4;41311:1504;41325:6;41322:1;41319:13;41311:1504;;;41384:13;;41429:9;;-1:-1:-1;;;;;36117:40:197;36105:53;;41483:11;;;41477:18;36245:10;36234:22;;;41540:12;;;36222:35;41594:11;;;41588:18;36234:22;41653:12;;;36222:35;41689:4;41734:11;;;41728:18;32910:6;32899:18;41793:12;;;32887:31;41829:4;41874:11;;;41868:18;-1:-1:-1;;;;;1695:31:197;41934:12;;;1683:44;41970:4;42014:11;;;42008:18;41994:12;;;41987:40;42050:4;42095:11;;;42089:18;36344:8;36333:20;42154:12;;;36321:33;42190:4;42235:11;;;42229:18;470:13;463:21;42292:12;;;451:34;42328:6;42375:11;;;42369:18;470:13;463:21;42432:12;;;451:34;42469:6;42516:12;;;42510:19;470:13;463:21;42574:13;;;451:34;42612:6;42659:12;;;42653:19;470:13;463:21;42717:13;;;451:34;42760:6;42751:16;;;;42790:15;;;;41347:1;41340:9;41311:1504;;;-1:-1:-1;42832:3:197;;40785:2056;-1:-1:-1;;;;;;;40785:2056:197:o;44165:127::-;44226:10;44221:3;44217:20;44214:1;44207:31;44257:4;44254:1;44247:15;44281:4;44278:1;44271:15;44297:128;44364:9;;;44385:11;;;44382:37;;;44399:18;;:::i;44430:125::-;44495:9;;;44516:10;;;44513:36;;;44529:18;;:::i;44560:809::-;44663:6;44716:3;44704:9;44695:7;44691:23;44687:33;44684:53;;;44733:1;44730;44723:12;44684:53;44759:22;;:::i;:::-;44810:9;44804:16;44797:5;44790:31;44874:2;44863:9;44859:18;44853:25;44848:2;44841:5;44837:14;44830:49;44932:2;44921:9;44917:18;44911:25;44906:2;44899:5;44895:14;44888:49;44990:2;44979:9;44975:18;44969:25;44964:2;44957:5;44953:14;44946:49;45049:3;45038:9;45034:19;45028:26;45022:3;45015:5;45011:15;45004:51;45109:3;45098:9;45094:19;45088:26;45082:3;45075:5;45071:15;45064:51;45169:3;45158:9;45154:19;45148:26;45142:3;45135:5;45131:15;45124:51;45208:50;45253:3;45242:9;45238:19;45208:50;:::i;:::-;45202:3;45191:15;;45184:75;45278:3;45319:18;;;45313:25;45297:14;;;45290:49;;;;-1:-1:-1;45195:5:197;44560:809;-1:-1:-1;44560:809:197:o;45915:443::-;45969:5;46022:3;46015:4;46007:6;46003:17;45999:27;45989:55;;46040:1;46037;46030:12;45989:55;46069:6;46063:13;46100:49;46116:32;46145:2;46116:32;:::i;46100:49::-;46174:2;46165:7;46158:19;46220:3;46213:4;46208:2;46200:6;46196:15;46192:26;46189:35;46186:55;;;46237:1;46234;46227:12;46186:55;46250:77;46324:2;46317:4;46308:7;46304:18;46297:4;46289:6;46285:17;46250:77;:::i;46363:337::-;46443:6;46496:2;46484:9;46475:7;46471:23;46467:32;46464:52;;;46512:1;46509;46502:12;46464:52;46545:9;46539:16;-1:-1:-1;;;;;46570:6:197;46567:30;46564:50;;;46610:1;46607;46600:12;46564:50;46633:61;46686:7;46677:6;46666:9;46662:22;46633:61;:::i;47181:168::-;47254:9;;;47285;;47302:15;;;47296:22;;47282:37;47272:71;;47323:18;;:::i;47354:331::-;47459:9;47470;47512:8;47500:10;47497:24;47494:44;;;47534:1;47531;47524:12;47494:44;47563:6;47553:8;47550:20;47547:40;;;47583:1;47580;47573:12;47547:40;-1:-1:-1;;47609:23:197;;;47654:25;;;;;-1:-1:-1;47354:331:197:o;47690:323::-;-1:-1:-1;;;;;;47810:19:197;;47886:11;;;;47917:1;47909:10;;47906:101;;;47994:2;47988;47981:3;47978:1;47974:11;47971:1;47967:19;47963:28;47959:2;47955:37;47951:46;47942:55;;47906:101;;;47690:323;;;;:::o;49119:416::-;49208:1;49245:5;49208:1;49259:270;49280:7;49270:8;49267:21;49259:270;;;49339:4;49335:1;49331:6;49327:17;49321:4;49318:27;49315:53;;;49348:18;;:::i;:::-;49398:7;49388:8;49384:22;49381:55;;;49418:16;;;;49381:55;49497:22;;;;49457:15;;;;49259:270;;;49263:3;49119:416;;;;;:::o;49540:806::-;49589:5;49619:8;49609:80;;-1:-1:-1;49660:1:197;49674:5;;49609:80;49708:4;49698:76;;-1:-1:-1;49745:1:197;49759:5;;49698:76;49790:4;49808:1;49803:59;;;;49876:1;49871:130;;;;49783:218;;49803:59;49833:1;49824:10;;49847:5;;;49871:130;49908:3;49898:8;49895:17;49892:43;;;49915:18;;:::i;:::-;-1:-1:-1;;49971:1:197;49957:16;;49986:5;;49783:218;;50085:2;50075:8;50072:16;50066:3;50060:4;50057:13;50053:36;50047:2;50037:8;50034:16;50029:2;50023:4;50020:12;50016:35;50013:77;50010:159;;;-1:-1:-1;50122:19:197;;;50154:5;;50010:159;50201:34;50226:8;50220:4;50201:34;:::i;:::-;50271:6;50267:1;50263:6;50259:19;50250:7;50247:32;50244:58;;;50282:18;;:::i;:::-;50320:20;;49540:806;-1:-1:-1;;;49540:806:197:o;50351:131::-;50411:5;50440:36;50467:8;50461:4;50440:36;:::i;50811:1082::-;50911:6;50919;50972:2;50960:9;50951:7;50947:23;50943:32;50940:52;;;50988:1;50985;50978:12;50940:52;51020:9;51014:16;51039:28;51061:5;51039:28;:::i;:::-;51086:5;51076:15;;;51110:2;51156;51145:9;51141:18;51135:25;-1:-1:-1;;;;;51175:6:197;51172:30;51169:50;;;51215:1;51212;51205:12;51169:50;51238:22;;51291:4;51283:13;;51279:27;-1:-1:-1;51269:55:197;;51320:1;51317;51310:12;51269:55;51349:2;51343:9;51372:60;51388:43;51428:2;51388:43;:::i;51372:60::-;51466:15;;;51548:1;51544:10;;;;51536:19;;51532:28;;;51497:12;;;;51572:19;;;51569:39;;;51604:1;51601;51594:12;51569:39;51628:11;;;;51648:215;51664:6;51659:3;51656:15;51648:215;;;51739:3;51733:10;51756:32;51780:7;51756:32;:::i;:::-;51801:20;;51681:12;;;;51841;;;;51648:215;;;51882:5;51872:15;;;;;;;50811:1082;;;;;:::o;51898:747::-;52003:6;52056:3;52044:9;52035:7;52031:23;52027:33;52024:53;;;52073:1;52070;52063:12;52024:53;52099:22;;:::i;:::-;52151:9;52145:16;52170:30;52192:7;52170:30;:::i;:::-;52209:22;;52276:2;52261:18;;52255:25;52289:30;52255:25;52289:30;:::i;:::-;52346:2;52335:14;;52328:31;52404:2;52389:18;;52383:25;52417:30;52383:25;52417:30;:::i;:::-;52474:2;52463:14;;52456:31;52532:2;52517:18;;52511:25;52545:30;52511:25;52545:30;:::i;:::-;52602:2;52591:14;;52584:31;52595:5;51898:747;-1:-1:-1;;;51898:747:197:o;52959:127::-;53020:10;53015:3;53011:20;53008:1;53001:31;53051:4;53048:1;53041:15;53075:4;53072:1;53065:15;53362:496;53541:3;53579:6;53573:13;53595:66;53654:6;53649:3;53642:4;53634:6;53630:17;53595:66;:::i;:::-;53724:13;;53683:16;;;;53746:70;53724:13;53683:16;53793:4;53781:17;;53746:70;:::i;:::-;53832:20;;53362:496;-1:-1:-1;;;;53362:496:197:o;54223:1345::-;54321:6;54374:2;54362:9;54353:7;54349:23;54345:32;54342:52;;;54390:1;54387;54380:12;54342:52;54423:9;54417:16;-1:-1:-1;;;;;54493:2:197;54485:6;54482:14;54479:34;;;54509:1;54506;54499:12;54479:34;54532:22;;;;54588:6;54570:16;;;54566:29;54563:49;;;54608:1;54605;54598:12;54563:49;54634:22;;:::i;:::-;54685:2;54679:9;54672:5;54665:24;54735:2;54731;54727:11;54721:18;54716:2;54709:5;54705:14;54698:42;54786:2;54782;54778:11;54772:18;54767:2;54760:5;54756:14;54749:42;54837:2;54833;54829:11;54823:18;54818:2;54811:5;54807:14;54800:42;54889:3;54885:2;54881:12;54875:19;54869:3;54862:5;54858:15;54851:44;54942:3;54938:2;54934:12;54928:19;54922:3;54915:5;54911:15;54904:44;54981:43;55019:3;55015:2;55011:12;54981:43;:::i;:::-;54975:3;54968:5;54964:15;54957:68;55072:3;55068:2;55064:12;55058:19;55052:3;55045:5;55041:15;55034:44;55097:3;55146:2;55142;55138:11;55132:18;55127:2;55120:5;55116:14;55109:42;;55170:3;55205:39;55240:2;55236;55232:11;55205:39;:::i;:::-;55189:14;;;55182:63;55264:3;55299:39;55326:11;;;55299:39;:::i;:::-;55283:14;;;55276:63;55358:3;55392:11;;;55386:18;55416:16;;;55413:36;;;55445:1;55442;55435:12;55413:36;55481:56;55529:7;55518:8;55514:2;55510:17;55481:56;:::i;:::-;55465:14;;;55458:80;;;;-1:-1:-1;55469:5:197;54223:1345;-1:-1:-1;;;;;54223:1345:197:o;55953:796::-;56143:4;56191:2;56180:9;56176:18;56221:6;56210:9;56203:25;56247:2;56285;56280;56269:9;56265:18;56258:30;56308:6;56343;56337:13;56374:6;56366;56359:22;56412:3;56401:9;56397:19;56390:26;;56451:2;56443:6;56439:15;56425:29;;56472:1;56482:182;56496:6;56493:1;56490:13;56482:182;;;56561:13;;56576:6;56557:26;56545:39;;56639:15;;;;56604:12;;;;56518:1;56511:9;56482:182;;;56486:3;;56681;56673:11;;;;;56734:6;56727:14;56720:22;56715:2;56704:9;56700:18;56693:50;55953:796;;;;;;:::o;57033:489::-;-1:-1:-1;;;;;57302:15:197;;;57284:34;;57354:15;;57349:2;57334:18;;57327:43;57401:2;57386:18;;57379:34;;;57449:3;57444:2;57429:18;;57422:31;;;57227:4;;57470:46;;57496:19;;57488:6;57470:46;:::i;:::-;57462:54;57033:489;-1:-1:-1;;;;;;57033:489:197:o;57527:249::-;57596:6;57649:2;57637:9;57628:7;57624:23;57620:32;57617:52;;;57665:1;57662;57655:12;57617:52;57697:9;57691:16;57716:30;57740:5;57716:30;:::i;57781:112::-;57813:1;57839;57829:35;;57844:18;;:::i;:::-;-1:-1:-1;57878:9:197;;57781:112::o;57898:120::-;57938:1;57964;57954:35;;57969:18;;:::i;:::-;-1:-1:-1;58003:9:197;;57898:120::o","linkReferences":{},"immutableReferences":{"5442":[{"start":2132,"length":32},{"start":2780,"length":32},{"start":4468,"length":32}],"5446":[{"start":1147,"length":32},{"start":11268,"length":32}],"5450":[{"start":1224,"length":32},{"start":2952,"length":32},{"start":6600,"length":32}],"89113":[{"start":1939,"length":32},{"start":9712,"length":32},{"start":9881,"length":32}],"89117":[{"start":1606,"length":32},{"start":5665,"length":32},{"start":10474,"length":32},{"start":12292,"length":32},{"start":12540,"length":32}]}},"methodIdentifiers":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":"843d92ee","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","codeOrigin()":"1d153ca4","contractURI()":"e8a3d485","creditsOf(address)":"245a45b5","didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":"6b204943","didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":"0bf46e59","directory()":"c41c2f24","firstOwnerOf(uint256)":"54c6d1f5","fundingCycleStore()":"557e7155","getApproved(uint256)":"081812fc","initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":"a1250d7f","isApprovedForAll(address,address)":"e985e9c5","jbOwner()":"ba23c36e","mintFor(uint16[],address)":"6ac6d941","mintReservesFor((uint256,uint256)[])":"2a596e53","mintReservesFor(uint256,uint256)":"aa4fb15b","name()":"06fdde03","operatorStore()":"ad007d63","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","payMetadataDelegateId()":"46a6d981","payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":"d46cf171","pricingContext()":"08786b1a","projectId()":"3fafa127","projects()":"8b79543c","redeemMetadataDelegateId()":"4853f5e8","redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"a51cfd18","redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"7ba62bf9","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadata(string,string,address,uint256,bytes32)":"1435aad5","setPermissionIndex(uint8)":"61aec7a9","store()":"975057e7","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"9494bf72","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","transferOwnershipToProject(uint256)":"a220d696"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_payMetadataDelegateId\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemMetadataDelegateId\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"ownerAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"INVALID_NEW_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAYMENT_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OVERSPENDING\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESERVED_TOKEN_MINTING_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFERS_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"UNAUTHORIZED_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNEXPECTED_TOKEN_REDEEMED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddCredits\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct JB721TierParams\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmountContributed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintReservedToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"newIndex\",\"type\":\"uint8\"}],\"name\":\"PermissionIndexChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"RemoveTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetBaseUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetContractUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetEncodedIPFSUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UseCredits\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"_tiersToAdd\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_tierIdsToRemove\",\"type\":\"uint256[]\"}],\"name\":\"adjustTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codeOrigin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"creditsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"payerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"redeemerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"firstOwnerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"_pricing\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"_store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"_flags\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jbOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint88\",\"name\":\"projectId\",\"type\":\"uint88\"},{\"internalType\":\"uint8\",\"name\":\"permissionIndex\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16[]\",\"name\":\"_tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"address\",\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTiered721MintReservesForTiersData[]\",\"name\":\"_mintReservesForTiersData\",\"type\":\"tuple[]\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_count\",\"type\":\"uint256\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"payParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBPayDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricingContext\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redeemParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBRedemptionDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedemptionDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_contractUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_encodedIPFSUriTierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_permissionIndex\",\"type\":\"uint8\"}],\"name\":\"setPermissionIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"transferOwnershipToProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])\":{\"details\":\"Only the contract's owner or an operator with ADJUST_TIERS can adjust the tiers.\",\"params\":{\"_tierIdsToRemove\":\"An array of tier IDs to remove.\",\"_tiersToAdd\":\"An array of tier data to add.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"params\":{\"_owner\":\"The address to check the balance of.\"},\"returns\":{\"balance\":\"The number of tokens owned by the address across all tiers.\"}},\"constructor\":{\"params\":{\"_directory\":\"A directory of terminals and controllers for projects.\",\"_operatorStore\":\"A contract which stores operator assignments.\",\"_payMetadataDelegateId\":\"The 4bytes ID of this delegate, used for pay metadata parsing\",\"_redeemMetadataDelegateId\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"}},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project payment data.\"}},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"}},\"firstOwnerOf(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to get the first owner of.\"},\"returns\":{\"_0\":\"The first owner of the token.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))\":{\"params\":{\"_baseUri\":\"A URI to use as a base for full token URIs.\",\"_contractUri\":\"A URI where this contract's metadata can be found.\",\"_flags\":\"A set of flags that help to define how this contract works.\",\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_name\":\"The name of the NFT collection distributed through this contract.\",\"_pricing\":\"NFT tier pricing parameters according to which token distribution will be made. Must be sorted by contribution floor (from least to greatest).\",\"_projectId\":\"The ID of the project this contract's functionality applies to.\",\"_store\":\"The contract which stores the NFT's data.\",\"_symbol\":\"The symbol that the NFT collection should be represented by.\",\"_tokenUriResolver\":\"A contract responsible for resolving the token URI for each token ID.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mintFor(uint16[],address)\":{\"params\":{\"_beneficiary\":\"The address to mint to.\",\"_tierIds\":\"The IDs of the tiers to mint from.\"},\"returns\":{\"tokenIds\":\"The IDs of the newly minted tokens.\"}},\"mintReservesFor((uint256,uint256)[])\":{\"params\":{\"_mintReservesForTiersData\":\"Contains information about how many reserved tokens to mint for each tier.\"}},\"mintReservesFor(uint256,uint256)\":{\"details\":\"Only currently outstanding reserved tokens can be minted.\",\"params\":{\"_count\":\"The number of reserved tokens to mint.\",\"_tierId\":\"The ID of the tier to mint from.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"params\":{\"_data\":\"The Juicebox standard project payment data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of adding to local balance.\",\"memo\":\"A memo to be forwarded to the event.\",\"weight\":\"The weight that tokens should get minted in accordance with.\"}},\"pricingContext()\":{\"returns\":{\"currency\":\"The currency being used.\",\"decimals\":\"The amount of decimals being used.\",\"prices\":\"The prices contract being used to resolve currency discrepancies.\"}},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of being added to the beneficiary.\",\"memo\":\"A memo to be forwarded to the event.\",\"reclaimAmount\":\"Amount to be reclaimed from the treasury.\"}},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_tokenIds\":\"The IDs of the tokens to get the cumulative redemption weight of.\"},\"returns\":{\"_0\":\"The redemption weight of the _tokenIds.\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setMetadata(string,string,address,uint256,bytes32)\":{\"details\":\"Only the contract's owner can set the URI metadata.\",\"params\":{\"_baseUri\":\"The new base URI.\",\"_contractUri\":\"The new contract URI.\",\"_encodedIPFSUri\":\"The encoded IPFS URI to set.\",\"_encodedIPFSUriTierId\":\"The ID of the tier to set the encoded IPFS URI of.\",\"_tokenUriResolver\":\"The new URI resolver.\"}},\"setPermissionIndex(uint8)\":{\"params\":{\"_permissionIndex\":\"the permissionIndex to use for 'onlyOwner' calls\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherence to.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"Defer to the tokenUriResolver if it is set. Otherwise, use the tokenUri corresponding with the token's tier.\",\"params\":{\"_tokenId\":\"The ID of the token to get the metadata URI for.\"},\"returns\":{\"_0\":\"The token URI corresponding with the token's tier, or the tokenUriResolver URI if it is set.\"}},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"returns\":{\"_0\":\"The cumulative redemption weight.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"params\":{\"_newOwner\":\"the static address that should receive ownership\"}},\"transferOwnershipToProject(uint256)\":{\"details\":\"ProjectID is limited to a uint88\",\"params\":{\"_projectId\":\"the project that should receive ownership\"}}},\"stateVariables\":{\"_firstOwnerOf\":{\"custom:param\":\"_tokenId The ID of the token to get the stored first owner of.\"},\"baseURI\":{\"custom:param\":\"_nft The NFT for which the base URI applies.\"},\"contractURI\":{\"custom:param\":\"_nft The NFT for which the contract URI resolver applies.\"},\"creditsOf\":{\"custom:param\":\"_address The address to which the credits belong.\"}},\"title\":\"JBTiered721Delegate\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])\":{\"notice\":\"Adjust the tiers which are mintable through this contract, adhering to any locked tier constraints.\"},\"balanceOf(address)\":{\"notice\":\"The total number of tokens owned by an address across all tiers.\"},\"baseURI()\":{\"notice\":\"The common base for the tokenUris.\"},\"codeOrigin()\":{\"notice\":\"The address of the original JBTiered721Delegate - used in `initialize(...)` to check if this is the original JBTiered721Delegate, and to revert initialization if it is.\"},\"contractURI()\":{\"notice\":\"Contract metadata uri.\"},\"creditsOf(address)\":{\"notice\":\"The amount each address has paid which did not go towards minting an NFT. These credits can be redeemed to mint NFTs.\"},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"notice\":\"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate.\"},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"notice\":\"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"firstOwnerOf(uint256)\":{\"notice\":\"The first owner of each token ID, which corresponds to the address that originally contributed to the project to receive the NFT.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations.\"},\"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))\":{\"notice\":\"Initializes a cloned copy of the original JB721Delegate contract.\"},\"jbOwner()\":{\"notice\":\"the JBOwner information\"},\"mintFor(uint16[],address)\":{\"notice\":\"Manually mint NFTs from the provided tiers .\"},\"mintReservesFor((uint256,uint256)[])\":{\"notice\":\"Mint reserved tokens within the tier for the provided value.\"},\"mintReservesFor(uint256,uint256)\":{\"notice\":\"Mint reserved tokens within the provided tier.\"},\"operatorStore()\":{\"notice\":\" A contract storing operator assignments.\"},\"owner()\":{\"notice\":\"Returns the address of the current project owner.\"},\"payMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for pay metadata parsing\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource.\"},\"pricingContext()\":{\"notice\":\"Info that contextualizes the pricing of tiers.\"},\"projectId()\":{\"notice\":\"The Juicebox project ID this contract's functionality applies to.\"},\"projects()\":{\"notice\":\"The IJBProjects to use to get the owner of a project\"},\"redeemMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource.\"},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"The cumulative redemption weight the given token IDs have compared to the `_totalRedemptionWeight`.\"},\"renounceOwnership()\":{\"notice\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner`/`_checkOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setMetadata(string,string,address,uint256,bytes32)\":{\"notice\":\"Set a contract's URI metadata properties.\"},\"setPermissionIndex(uint8)\":{\"notice\":\"Sets the permission index that allows other callers to perform operations on behave of the project owner\"},\"store()\":{\"notice\":\"The contract that stores and manages data for this contract's NFTs.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tokenURI(uint256)\":{\"notice\":\"The metadata URI of the provided token ID.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"The cumulative redemption weight across all token IDs.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"transferOwnershipToProject(uint256)\":{\"notice\":\"Transfer ownershipt of the contract to a (Juicebox) project\"}},\"notice\":\"This delegate makes multiple NFT tiers with custom price floors available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets based on the price floors of those NFTs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721Delegate.sol\":\"JBTiered721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce\",\"dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"bytes4","name":"_payMetadataDelegateId","type":"bytes4"},{"internalType":"bytes4","name":"_redeemMetadataDelegateId","type":"bytes4"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"type":"error","name":"INVALID_NEW_OWNER"},{"inputs":[],"type":"error","name":"INVALID_PAYMENT_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_METADATA"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[],"type":"error","name":"OVERSPENDING"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv_Overflow"},{"inputs":[],"type":"error","name":"RESERVED_TOKEN_MINTING_PAUSED"},{"inputs":[],"type":"error","name":"TRANSFERS_PAUSED"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"UNAUTHORIZED_TOKEN"},{"inputs":[],"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED"},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddCredits","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"struct JB721TierParams","name":"data","type":"tuple","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTier","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"totalAmountContributed","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintReservedToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint8","name":"newIndex","type":"uint8","indexed":false}],"type":"event","name":"PermissionIndexChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"RemoveTier","anonymous":false},{"inputs":[{"internalType":"string","name":"baseUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetBaseUri","anonymous":false},{"inputs":[{"internalType":"string","name":"contractUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetContractUri","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetEncodedIPFSUri","anonymous":false},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"newResolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"UseCredits","anonymous":false},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"_tiersToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint256[]","name":"_tierIdsToRemove","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"adjustTiers"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"codeOrigin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"creditsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBDidPayData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"payerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"struct JBDidRedeemData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"redeemerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"firstOwnerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"},{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"_tokenUriResolver","type":"address"},{"internalType":"string","name":"_contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"_pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"contract IJBTiered721DelegateStore","name":"_store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"_flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"jbOwner","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint88","name":"projectId","type":"uint88"},{"internalType":"uint8","name":"permissionIndex","type":"uint8"}]},{"inputs":[{"internalType":"uint16[]","name":"_tierIds","type":"uint16[]"},{"internalType":"address","name":"_beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"struct JBTiered721MintReservesForTiersData[]","name":"_mintReservesForTiersData","type":"tuple[]","components":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBPayParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"payer","type":"address"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"payParams","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBPayDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBPayDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pricingContext","outputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redeemParams","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBRedemptionDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"struct JBRedeemParamsData","name":"","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"string","name":"_contractUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"_tokenUriResolver","type":"address"},{"internalType":"uint256","name":"_encodedIPFSUriTierId","type":"uint256"},{"internalType":"bytes32","name":"_encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setMetadata"},{"inputs":[{"internalType":"uint8","name":"_permissionIndex","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPermissionIndex"},{"inputs":[],"stateMutability":"view","type":"function","name":"store","outputs":[{"internalType":"contract IJBTiered721DelegateStore","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnershipToProject"}],"devdoc":{"kind":"dev","methods":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":{"details":"Only the contract's owner or an operator with ADJUST_TIERS can adjust the tiers.","params":{"_tierIdsToRemove":"An array of tier IDs to remove.","_tiersToAdd":"An array of tier data to add."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"params":{"_owner":"The address to check the balance of."},"returns":{"balance":"The number of tokens owned by the address across all tiers."}},"constructor":{"params":{"_directory":"A directory of terminals and controllers for projects.","_operatorStore":"A contract which stores operator assignments.","_payMetadataDelegateId":"The 4bytes ID of this delegate, used for pay metadata parsing","_redeemMetadataDelegateId":"The 4bytes ID of this delegate, used for redeem metadata parsing"}},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project payment data."}},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project redemption data."}},"firstOwnerOf(uint256)":{"params":{"_tokenId":"The ID of the token to get the first owner of."},"returns":{"_0":"The first owner of the token."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":{"params":{"_baseUri":"A URI to use as a base for full token URIs.","_contractUri":"A URI where this contract's metadata can be found.","_flags":"A set of flags that help to define how this contract works.","_fundingCycleStore":"A contract storing all funding cycle configurations.","_name":"The name of the NFT collection distributed through this contract.","_pricing":"NFT tier pricing parameters according to which token distribution will be made. Must be sorted by contribution floor (from least to greatest).","_projectId":"The ID of the project this contract's functionality applies to.","_store":"The contract which stores the NFT's data.","_symbol":"The symbol that the NFT collection should be represented by.","_tokenUriResolver":"A contract responsible for resolving the token URI for each token ID."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"mintFor(uint16[],address)":{"params":{"_beneficiary":"The address to mint to.","_tierIds":"The IDs of the tiers to mint from."},"returns":{"tokenIds":"The IDs of the newly minted tokens."}},"mintReservesFor((uint256,uint256)[])":{"params":{"_mintReservesForTiersData":"Contains information about how many reserved tokens to mint for each tier."}},"mintReservesFor(uint256,uint256)":{"details":"Only currently outstanding reserved tokens can be minted.","params":{"_count":"The number of reserved tokens to mint.","_tierId":"The ID of the tier to mint from."}},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"params":{"_data":"The Juicebox standard project payment data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of adding to local balance.","memo":"A memo to be forwarded to the event.","weight":"The weight that tokens should get minted in accordance with."}},"pricingContext()":{"returns":{"currency":"The currency being used.","decimals":"The amount of decimals being used.","prices":"The prices contract being used to resolve currency discrepancies."}},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of being added to the beneficiary.","memo":"A memo to be forwarded to the event.","reclaimAmount":"Amount to be reclaimed from the treasury."}},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_tokenIds":"The IDs of the tokens to get the cumulative redemption weight of."},"returns":{"_0":"The redemption weight of the _tokenIds."}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setMetadata(string,string,address,uint256,bytes32)":{"details":"Only the contract's owner can set the URI metadata.","params":{"_baseUri":"The new base URI.","_contractUri":"The new contract URI.","_encodedIPFSUri":"The encoded IPFS URI to set.","_encodedIPFSUriTierId":"The ID of the tier to set the encoded IPFS URI of.","_tokenUriResolver":"The new URI resolver."}},"setPermissionIndex(uint8)":{"params":{"_permissionIndex":"the permissionIndex to use for 'onlyOwner' calls"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherence to."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"Defer to the tokenUriResolver if it is set. Otherwise, use the tokenUri corresponding with the token's tier.","params":{"_tokenId":"The ID of the token to get the metadata URI for."},"returns":{"_0":"The token URI corresponding with the token's tier, or the tokenUriResolver URI if it is set."}},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"returns":{"_0":"The cumulative redemption weight."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"params":{"_newOwner":"the static address that should receive ownership"}},"transferOwnershipToProject(uint256)":{"details":"ProjectID is limited to a uint88","params":{"_projectId":"the project that should receive ownership"}}},"version":1},"userdoc":{"kind":"user","methods":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":{"notice":"Adjust the tiers which are mintable through this contract, adhering to any locked tier constraints."},"balanceOf(address)":{"notice":"The total number of tokens owned by an address across all tiers."},"baseURI()":{"notice":"The common base for the tokenUris."},"codeOrigin()":{"notice":"The address of the original JBTiered721Delegate - used in `initialize(...)` to check if this is the original JBTiered721Delegate, and to revert initialization if it is."},"contractURI()":{"notice":"Contract metadata uri."},"creditsOf(address)":{"notice":"The amount each address has paid which did not go towards minting an NFT. These credits can be redeemed to mint NFTs."},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"notice":"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate."},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"notice":"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"firstOwnerOf(uint256)":{"notice":"The first owner of each token ID, which corresponds to the address that originally contributed to the project to receive the NFT."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations."},"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":{"notice":"Initializes a cloned copy of the original JB721Delegate contract."},"jbOwner()":{"notice":"the JBOwner information"},"mintFor(uint16[],address)":{"notice":"Manually mint NFTs from the provided tiers ."},"mintReservesFor((uint256,uint256)[])":{"notice":"Mint reserved tokens within the tier for the provided value."},"mintReservesFor(uint256,uint256)":{"notice":"Mint reserved tokens within the provided tier."},"operatorStore()":{"notice":" A contract storing operator assignments."},"owner()":{"notice":"Returns the address of the current project owner."},"payMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for pay metadata parsing"},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"notice":"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource."},"pricingContext()":{"notice":"Info that contextualizes the pricing of tiers."},"projectId()":{"notice":"The Juicebox project ID this contract's functionality applies to."},"projects()":{"notice":"The IJBProjects to use to get the owner of a project"},"redeemMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for redeem metadata parsing"},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource."},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"The cumulative redemption weight the given token IDs have compared to the `_totalRedemptionWeight`."},"renounceOwnership()":{"notice":"Leaves the contract without owner. It will not be possible to call `onlyOwner`/`_checkOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setMetadata(string,string,address,uint256,bytes32)":{"notice":"Set a contract's URI metadata properties."},"setPermissionIndex(uint8)":{"notice":"Sets the permission index that allows other callers to perform operations on behave of the project owner"},"store()":{"notice":"The contract that stores and manages data for this contract's NFTs."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"tokenURI(uint256)":{"notice":"The metadata URI of the provided token ID."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"The cumulative redemption weight across all token IDs."},"transferOwnership(address)":{"notice":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"transferOwnershipToProject(uint256)":{"notice":"Transfer ownershipt of the contract to a (Juicebox) project"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721Delegate.sol":"JBTiered721Delegate"},"libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3","urls":["bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce","dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/JBTiered721Delegate.sol","id":1483,"exportedSymbols":{"IJB721TokenUriResolver":[27803],"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBOperatorStore":[85400],"IJBPrices":[86000],"IJBProjects":[86082],"IJBTiered721Delegate":[28042],"IJBTiered721DelegateStore":[28458],"JB721Delegate":[5936],"JB721Operations":[28471],"JB721PricingParams":[29385],"JB721Tier":[29413],"JB721TierParams":[29439],"JBDelegateMetadataLib":[88669],"JBDidPayData3_1_1":[87691],"JBFundingCycle":[87801],"JBFundingCycleMetadataResolver":[87442],"JBIpfsDecoder":[28952],"JBOwnable":[89080],"JBRedeemParamsData":[87977],"JBTiered721Delegate":[1482],"JBTiered721Flags":[29646],"JBTiered721FundingCycleMetadataResolver":[29036],"JBTiered721MintReservesForTiersData":[29671],"mulDiv":[100830]},"nodeType":"SourceUnit","src":"32:30425:0","nodes":[{"id":1,"nodeType":"PragmaDirective","src":"32:24:0","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":3,"nodeType":"ImportDirective","src":"58:50:0","nodes":[],"absolutePath":"node_modules/@prb/math/src/Common.sol","file":"@prb/math/src/Common.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":101249,"symbolAliases":[{"foreign":{"id":2,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"67:6:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5,"nodeType":"ImportDirective","src":"109:104:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":4,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"118:16:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":7,"nodeType":"ImportDirective","src":"214:74:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol","file":"@jbx-protocol/juice-ownable/src/JBOwnable.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":89081,"symbolAliases":[{"foreign":{"id":6,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"223:9:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":9,"nodeType":"ImportDirective","src":"289:137:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":87443,"symbolAliases":[{"foreign":{"id":8,"name":"JBFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87442,"src":"298:30:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":11,"nodeType":"ImportDirective","src":"427:118:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":10,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"436:20:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":13,"nodeType":"ImportDirective","src":"546:96:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":86001,"symbolAliases":[{"foreign":{"id":12,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"555:9:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":15,"nodeType":"ImportDirective","src":"643:100:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":14,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"652:11:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":17,"nodeType":"ImportDirective","src":"744:102:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":16,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"753:12:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":19,"nodeType":"ImportDirective","src":"847:111:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":87978,"symbolAliases":[{"foreign":{"id":18,"name":"JBRedeemParamsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87977,"src":"856:18:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":21,"nodeType":"ImportDirective","src":"959:109:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":87692,"symbolAliases":[{"foreign":{"id":20,"name":"JBDidPayData3_1_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87691,"src":"968:17:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":23,"nodeType":"ImportDirective","src":"1069:103:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":22,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"1078:14:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":25,"nodeType":"ImportDirective","src":"1174:61:0","nodes":[],"absolutePath":"contracts/abstract/JB721Delegate.sol","file":"./abstract/JB721Delegate.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":5937,"symbolAliases":[{"foreign":{"id":24,"name":"JB721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"1183:13:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":27,"nodeType":"ImportDirective","src":"1236:77:0","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721Delegate.sol","file":"./interfaces/IJBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":28043,"symbolAliases":[{"foreign":{"id":26,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"1245:20:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29,"nodeType":"ImportDirective","src":"1314:81:0","nodes":[],"absolutePath":"contracts/interfaces/IJB721TokenUriResolver.sol","file":"./interfaces/IJB721TokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":27804,"symbolAliases":[{"foreign":{"id":28,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"1323:22:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":31,"nodeType":"ImportDirective","src":"1396:87:0","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateStore.sol","file":"./interfaces/IJBTiered721DelegateStore.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":28459,"symbolAliases":[{"foreign":{"id":30,"name":"IJBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28458,"src":"1405:25:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":33,"nodeType":"ImportDirective","src":"1484:66:0","nodes":[],"absolutePath":"contracts/libraries/JB721Operations.sol","file":"./libraries/JB721Operations.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":28472,"symbolAliases":[{"foreign":{"id":32,"name":"JB721Operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28471,"src":"1493:15:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":35,"nodeType":"ImportDirective","src":"1551:61:0","nodes":[],"absolutePath":"contracts/libraries/JBIpfsDecoder.sol","file":"./libraries/JBIpfsDecoder.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":28953,"symbolAliases":[{"foreign":{"id":34,"name":"JBIpfsDecoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28952,"src":"1560:13:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":37,"nodeType":"ImportDirective","src":"1613:113:0","nodes":[],"absolutePath":"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol","file":"./libraries/JBTiered721FundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29037,"symbolAliases":[{"foreign":{"id":36,"name":"JBTiered721FundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29036,"src":"1622:39:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":39,"nodeType":"ImportDirective","src":"1727:64:0","nodes":[],"absolutePath":"contracts/structs/JB721TierParams.sol","file":"./structs/JB721TierParams.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29440,"symbolAliases":[{"foreign":{"id":38,"name":"JB721TierParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29439,"src":"1736:15:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41,"nodeType":"ImportDirective","src":"1792:52:0","nodes":[],"absolutePath":"contracts/structs/JB721Tier.sol","file":"./structs/JB721Tier.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29414,"symbolAliases":[{"foreign":{"id":40,"name":"JB721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29413,"src":"1801:9:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":43,"nodeType":"ImportDirective","src":"1845:66:0","nodes":[],"absolutePath":"contracts/structs/JBTiered721Flags.sol","file":"./structs/JBTiered721Flags.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29647,"symbolAliases":[{"foreign":{"id":42,"name":"JBTiered721Flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29646,"src":"1854:16:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":45,"nodeType":"ImportDirective","src":"1912:70:0","nodes":[],"absolutePath":"contracts/structs/JB721PricingParams.sol","file":"./structs/JB721PricingParams.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29386,"symbolAliases":[{"foreign":{"id":44,"name":"JB721PricingParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29385,"src":"1921:18:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47,"nodeType":"ImportDirective","src":"1983:104:0","nodes":[],"absolutePath":"contracts/structs/JBTiered721MintReservesForTiersData.sol","file":"./structs/JBTiered721MintReservesForTiersData.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":29672,"symbolAliases":[{"foreign":{"id":46,"name":"JBTiered721MintReservesForTiersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29671,"src":"1992:35:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":49,"nodeType":"ImportDirective","src":"2088:112:0","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol","file":"@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol","nameLocation":"-1:-1:-1","scope":1483,"sourceUnit":88670,"symbolAliases":[{"foreign":{"id":48,"name":"JBDelegateMetadataLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88669,"src":"2097:21:0","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1482,"nodeType":"ContractDefinition","src":"2497:27959:0","nodes":[{"id":58,"nodeType":"ErrorDefinition","src":"2817:21:0","nodes":[],"errorSelector":"6d5e09a4","name":"OVERSPENDING","nameLocation":"2823:12:0","parameters":{"id":57,"nodeType":"ParameterList","parameters":[],"src":"2835:2:0"}},{"id":60,"nodeType":"ErrorDefinition","src":"2843:38:0","nodes":[],"errorSelector":"e96092b8","name":"RESERVED_TOKEN_MINTING_PAUSED","nameLocation":"2849:29:0","parameters":{"id":59,"nodeType":"ParameterList","parameters":[],"src":"2878:2:0"}},{"id":62,"nodeType":"ErrorDefinition","src":"2886:25:0","nodes":[],"errorSelector":"18cdaf97","name":"TRANSFERS_PAUSED","nameLocation":"2892:16:0","parameters":{"id":61,"nodeType":"ParameterList","parameters":[],"src":"2908:2:0"}},{"id":67,"nodeType":"VariableDeclaration","src":"3317:50:0","nodes":[],"constant":false,"documentation":{"id":63,"nodeType":"StructuredDocumentation","src":"3152:160:0","text":"@notice The first owner of each token ID, stored on first transfer out.\n @custom:param _tokenId The ID of the token to get the stored first owner of."},"mutability":"mutable","name":"_firstOwnerOf","nameLocation":"3354:13:0","scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"typeName":{"id":66,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":64,"name":"uint256","nodeType":"ElementaryTypeName","src":"3325:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3317:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"internal"},{"id":70,"nodeType":"VariableDeclaration","src":"3582:38:0","nodes":[],"constant":false,"documentation":{"id":68,"nodeType":"StructuredDocumentation","src":"3374:203:0","text":"@notice Info that contextualizes the pricing of tiers, packed into a uint256: currency in bits 0-47 (48 bits), pricing decimals in bits 48-95 (48 bits), and prices contract in bits 96-255 (160 bits)."},"mutability":"mutable","name":"_packedPricingContext","nameLocation":"3599:21:0","scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69,"name":"uint256","nodeType":"ElementaryTypeName","src":"3582:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":74,"nodeType":"VariableDeclaration","src":"4047:34:0","nodes":[],"baseFunctions":[27918],"constant":false,"documentation":{"id":71,"nodeType":"StructuredDocumentation","src":"3862:180:0","text":"@notice The address of the original JBTiered721Delegate - used in `initialize(...)` to check if this is the original JBTiered721Delegate, and to revert initialization if it is."},"functionSelector":"1d153ca4","mutability":"mutable","name":"codeOrigin","nameLocation":"4071:10:0","overrides":{"id":73,"nodeType":"OverrideSpecifier","overrides":[],"src":"4062:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":72,"name":"address","nodeType":"ElementaryTypeName","src":"4047:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":79,"nodeType":"VariableDeclaration","src":"4172:47:0","nodes":[],"baseFunctions":[27924],"constant":false,"documentation":{"id":75,"nodeType":"StructuredDocumentation","src":"4088:79:0","text":"@notice The contract that stores and manages data for this contract's NFTs."},"functionSelector":"975057e7","mutability":"mutable","name":"store","nameLocation":"4214:5:0","overrides":{"id":78,"nodeType":"OverrideSpecifier","overrides":[],"src":"4205:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"},"typeName":{"id":77,"nodeType":"UserDefinedTypeName","pathNode":{"id":76,"name":"IJBTiered721DelegateStore","nameLocations":["4172:25:0"],"nodeType":"IdentifierPath","referencedDeclaration":28458,"src":"4172:25:0"},"referencedDeclaration":28458,"src":"4172:25:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"visibility":"public"},{"id":84,"nodeType":"VariableDeclaration","src":"4297:54:0","nodes":[],"baseFunctions":[27930],"constant":false,"documentation":{"id":80,"nodeType":"StructuredDocumentation","src":"4226:66:0","text":"@notice The contract storing all funding cycle configurations."},"functionSelector":"557e7155","mutability":"mutable","name":"fundingCycleStore","nameLocation":"4334:17:0","overrides":{"id":83,"nodeType":"OverrideSpecifier","overrides":[],"src":"4325:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":82,"nodeType":"UserDefinedTypeName","pathNode":{"id":81,"name":"IJBFundingCycleStore","nameLocations":["4297:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"4297:20:0"},"referencedDeclaration":85310,"src":"4297:20:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"public"},{"id":90,"nodeType":"VariableDeclaration","src":"4564:53:0","nodes":[],"baseFunctions":[27947],"constant":false,"documentation":{"id":85,"nodeType":"StructuredDocumentation","src":"4358:201:0","text":"@notice The amount each address has paid which did not go towards minting an NFT. These credits can be redeemed to mint NFTs.\n @custom:param _address The address to which the credits belong."},"functionSelector":"245a45b5","mutability":"mutable","name":"creditsOf","nameLocation":"4608:9:0","overrides":{"id":89,"nodeType":"OverrideSpecifier","overrides":[],"src":"4599:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":88,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":86,"name":"address","nodeType":"ElementaryTypeName","src":"4572:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4564:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":87,"name":"uint256","nodeType":"ElementaryTypeName","src":"4583:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":94,"nodeType":"VariableDeclaration","src":"4742:30:0","nodes":[],"baseFunctions":[27959],"constant":false,"documentation":{"id":91,"nodeType":"StructuredDocumentation","src":"4624:113:0","text":"@notice The common base for the tokenUris.\n @custom:param _nft The NFT for which the base URI applies."},"functionSelector":"6c0360eb","mutability":"mutable","name":"baseURI","nameLocation":"4765:7:0","overrides":{"id":93,"nodeType":"OverrideSpecifier","overrides":[],"src":"4756:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":92,"name":"string","nodeType":"ElementaryTypeName","src":"4742:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":98,"nodeType":"VariableDeclaration","src":"4898:34:0","nodes":[],"baseFunctions":[27964],"constant":false,"documentation":{"id":95,"nodeType":"StructuredDocumentation","src":"4779:114:0","text":"@notice Contract metadata uri.\n @custom:param _nft The NFT for which the contract URI resolver applies."},"functionSelector":"e8a3d485","mutability":"mutable","name":"contractURI","nameLocation":"4921:11:0","overrides":{"id":97,"nodeType":"OverrideSpecifier","overrides":[],"src":"4912:8:0"},"scope":1482,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":96,"name":"string","nodeType":"ElementaryTypeName","src":"4898:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"public"},{"id":127,"nodeType":"FunctionDefinition","src":"5437:424:0","nodes":[],"body":{"id":126,"nodeType":"Block","src":"5518:343:0","nodes":[],"statements":[{"assignments":[108],"declarations":[{"constant":false,"id":108,"mutability":"mutable","name":"_storedFirstOwner","nameLocation":"5583:17:0","nodeType":"VariableDeclaration","scope":126,"src":"5575:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":107,"name":"address","nodeType":"ElementaryTypeName","src":"5575:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":112,"initialValue":{"baseExpression":{"id":109,"name":"_firstOwnerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"5603:13:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":111,"indexExpression":{"id":110,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5617:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5603:23:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5575:51:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":113,"name":"_storedFirstOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5697:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5718:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":114,"name":"address","nodeType":"ElementaryTypeName","src":"5718:7:0","typeDescriptions":{}}},"id":117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5718:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5697:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":121,"nodeType":"IfStatement","src":"5693:61:0","trueBody":{"expression":{"id":119,"name":"_storedFirstOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"5737:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":106,"id":120,"nodeType":"Return","src":"5730:24:0"}},{"expression":{"baseExpression":{"id":122,"name":"_owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4619,"src":"5837:7:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":124,"indexExpression":{"id":123,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101,"src":"5845:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5837:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":106,"id":125,"nodeType":"Return","src":"5830:24:0"}]},"baseFunctions":[27954],"documentation":{"id":99,"nodeType":"StructuredDocumentation","src":"5174:258:0","text":"@notice The first owner of each token ID, which corresponds to the address that originally contributed to the project to receive the NFT.\n @param _tokenId The ID of the token to get the first owner of.\n @return The first owner of the token."},"functionSelector":"54c6d1f5","implemented":true,"kind":"function","modifiers":[],"name":"firstOwnerOf","nameLocation":"5446:12:0","overrides":{"id":103,"nodeType":"OverrideSpecifier","overrides":[],"src":"5491:8:0"},"parameters":{"id":102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"mutability":"mutable","name":"_tokenId","nameLocation":"5467:8:0","nodeType":"VariableDeclaration","scope":127,"src":"5459:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":100,"name":"uint256","nodeType":"ElementaryTypeName","src":"5459:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5458:18:0"},"returnParameters":{"id":106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":127,"src":"5509:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":104,"name":"address","nodeType":"ElementaryTypeName","src":"5509:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5508:9:0"},"scope":1482,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":180,"nodeType":"FunctionDefinition","src":"6129:534:0","nodes":[],"body":{"id":179,"nodeType":"Block","src":"6241:422:0","nodes":[],"statements":[{"assignments":[140],"declarations":[{"constant":false,"id":140,"mutability":"mutable","name":"_packed","nameLocation":"6317:7:0","nodeType":"VariableDeclaration","scope":179,"src":"6309:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":139,"name":"uint256","nodeType":"ElementaryTypeName","src":"6309:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":142,"initialValue":{"id":141,"name":"_packedPricingContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"6327:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6309:39:0"},{"expression":{"id":151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":143,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132,"src":"6402:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":148,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"6428:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":147,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6421:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":146,"name":"uint48","nodeType":"ElementaryTypeName","src":"6421:6:0","typeDescriptions":{}}},"id":149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6421:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":145,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6413:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":144,"name":"uint256","nodeType":"ElementaryTypeName","src":"6413:7:0","typeDescriptions":{}}},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6413:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6402:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":152,"nodeType":"ExpressionStatement","src":"6402:35:0"},{"expression":{"id":163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":153,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134,"src":"6500:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":158,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"6526:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3438","id":159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6537:2:0","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"6526:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6519:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":156,"name":"uint48","nodeType":"ElementaryTypeName","src":"6519:6:0","typeDescriptions":{}}},"id":161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6519:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6511:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":154,"name":"uint256","nodeType":"ElementaryTypeName","src":"6511:7:0","typeDescriptions":{}}},"id":162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6511:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6500:41:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":164,"nodeType":"ExpressionStatement","src":"6500:41:0"},{"expression":{"id":177,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":165,"name":"prices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"6605:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":171,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"6640:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3936","id":172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6651:2:0","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"6640:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":170,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6632:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":169,"name":"uint160","nodeType":"ElementaryTypeName","src":"6632:7:0","typeDescriptions":{}}},"id":174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6632:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":168,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6624:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":167,"name":"address","nodeType":"ElementaryTypeName","src":"6624:7:0","typeDescriptions":{}}},"id":175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6624:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":166,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"6614:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPrices_$86000_$","typeString":"type(contract IJBPrices)"}},"id":176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6614:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"src":"6605:51:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"id":178,"nodeType":"ExpressionStatement","src":"6605:51:0"}]},"baseFunctions":[27940],"documentation":{"id":128,"nodeType":"StructuredDocumentation","src":"5867:257:0","text":"@notice Info that contextualizes the pricing of tiers.\n @return currency The currency being used.\n @return decimals The amount of decimals being used.\n @return prices The prices contract being used to resolve currency discrepancies."},"functionSelector":"08786b1a","implemented":true,"kind":"function","modifiers":[],"name":"pricingContext","nameLocation":"6138:14:0","overrides":{"id":130,"nodeType":"OverrideSpecifier","overrides":[],"src":"6169:8:0"},"parameters":{"id":129,"nodeType":"ParameterList","parameters":[],"src":"6152:2:0"},"returnParameters":{"id":138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":132,"mutability":"mutable","name":"currency","nameLocation":"6195:8:0","nodeType":"VariableDeclaration","scope":180,"src":"6187:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":131,"name":"uint256","nodeType":"ElementaryTypeName","src":"6187:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":134,"mutability":"mutable","name":"decimals","nameLocation":"6213:8:0","nodeType":"VariableDeclaration","scope":180,"src":"6205:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":133,"name":"uint256","nodeType":"ElementaryTypeName","src":"6205:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":137,"mutability":"mutable","name":"prices","nameLocation":"6233:6:0","nodeType":"VariableDeclaration","scope":180,"src":"6223:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"},"typeName":{"id":136,"nodeType":"UserDefinedTypeName","pathNode":{"id":135,"name":"IJBPrices","nameLocations":["6223:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":86000,"src":"6223:9:0"},"referencedDeclaration":86000,"src":"6223:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"visibility":"internal"}],"src":"6186:54:0"},"scope":1482,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":199,"nodeType":"FunctionDefinition","src":"7128:144:0","nodes":[],"body":{"id":198,"nodeType":"Block","src":"7210:62:0","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":193,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7251:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":192,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7243:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":191,"name":"address","nodeType":"ElementaryTypeName","src":"7243:7:0","typeDescriptions":{}}},"id":194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7243:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":195,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":183,"src":"7258:6:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":189,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"7227:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7233:9:0","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":28187,"src":"7227:15:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7227:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":188,"id":197,"nodeType":"Return","src":"7220:45:0"}]},"baseFunctions":[4691],"documentation":{"id":181,"nodeType":"StructuredDocumentation","src":"6904:219:0","text":"@notice The total number of tokens owned by an address across all tiers.\n @param _owner The address to check the balance of.\n @return balance The number of tokens owned by the address across all tiers."},"functionSelector":"70a08231","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"7137:9:0","overrides":{"id":185,"nodeType":"OverrideSpecifier","overrides":[],"src":"7175:8:0"},"parameters":{"id":184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":183,"mutability":"mutable","name":"_owner","nameLocation":"7155:6:0","nodeType":"VariableDeclaration","scope":199,"src":"7147:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":182,"name":"address","nodeType":"ElementaryTypeName","src":"7147:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7146:16:0"},"returnParameters":{"id":188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":187,"mutability":"mutable","name":"balance","nameLocation":"7201:7:0","nodeType":"VariableDeclaration","scope":199,"src":"7193:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":186,"name":"uint256","nodeType":"ElementaryTypeName","src":"7193:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7192:17:0"},"scope":1482,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":252,"nodeType":"FunctionDefinition","src":"7641:592:0","nodes":[],"body":{"id":251,"nodeType":"Block","src":"7730:503:0","nodes":[],"statements":[{"assignments":[210],"declarations":[{"constant":false,"id":210,"mutability":"mutable","name":"_resolver","nameLocation":"7815:9:0","nodeType":"VariableDeclaration","scope":251,"src":"7792:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":209,"nodeType":"UserDefinedTypeName","pathNode":{"id":208,"name":"IJB721TokenUriResolver","nameLocations":["7792:22:0"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"7792:22:0"},"referencedDeclaration":27803,"src":"7792:22:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"}],"id":218,"initialValue":{"arguments":[{"arguments":[{"id":215,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"7860:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":214,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7852:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":213,"name":"address","nodeType":"ElementaryTypeName","src":"7852:7:0","typeDescriptions":{}}},"id":216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7852:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":211,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"7827:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7833:18:0","memberName":"tokenUriResolverOf","nodeType":"MemberAccess","referencedDeclaration":28368,"src":"7827:24:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_contract$_IJB721TokenUriResolver_$27803_$","typeString":"function (address) view external returns (contract IJB721TokenUriResolver)"}},"id":217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7827:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"nodeType":"VariableDeclarationStatement","src":"7792:74:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":221,"name":"_resolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"7968:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}],"id":220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7960:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":219,"name":"address","nodeType":"ElementaryTypeName","src":"7960:7:0","typeDescriptions":{}}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7960:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7990:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7982:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":223,"name":"address","nodeType":"ElementaryTypeName","src":"7982:7:0","typeDescriptions":{}}},"id":226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7982:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7960:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":237,"nodeType":"IfStatement","src":"7956:90:0","trueBody":{"expression":{"arguments":[{"arguments":[{"id":232,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8030:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":231,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8022:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":230,"name":"address","nodeType":"ElementaryTypeName","src":"8022:7:0","typeDescriptions":{}}},"id":233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8022:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":234,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"8037:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":228,"name":"_resolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":210,"src":"8001:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"id":229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8011:10:0","memberName":"tokenUriOf","nodeType":"MemberAccess","referencedDeclaration":27802,"src":"8001:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (address,uint256) view external returns (string memory)"}},"id":235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8001:45:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":207,"id":236,"nodeType":"Return","src":"7994:52:0"}},{"expression":{"arguments":[{"id":240,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"8165:7:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"arguments":[{"arguments":[{"id":245,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8209:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8201:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":243,"name":"address","nodeType":"ElementaryTypeName","src":"8201:7:0","typeDescriptions":{}}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8201:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":247,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"8216:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":241,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"8174:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8180:20:0","memberName":"encodedTierIPFSUriOf","nodeType":"MemberAccess","referencedDeclaration":28377,"src":"8174:26:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) view external returns (bytes32)"}},"id":248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8174:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":238,"name":"JBIpfsDecoder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28952,"src":"8144:13:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBIpfsDecoder_$28952_$","typeString":"type(library JBIpfsDecoder)"}},"id":239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8158:6:0","memberName":"decode","nodeType":"MemberAccess","referencedDeclaration":28664,"src":"8144:20:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$_t_bytes32_$returns$_t_string_memory_ptr_$","typeString":"function (string memory,bytes32) pure returns (string memory)"}},"id":249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8144:82:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":207,"id":250,"nodeType":"Return","src":"8137:89:0"}]},"baseFunctions":[4778],"documentation":{"id":200,"nodeType":"StructuredDocumentation","src":"7278:358:0","text":"@notice The metadata URI of the provided token ID.\n @dev Defer to the tokenUriResolver if it is set. Otherwise, use the tokenUri corresponding with the token's tier.\n @param _tokenId The ID of the token to get the metadata URI for.\n @return The token URI corresponding with the token's tier, or the tokenUriResolver URI if it is set."},"functionSelector":"c87b56dd","implemented":true,"kind":"function","modifiers":[],"name":"tokenURI","nameLocation":"7650:8:0","overrides":{"id":204,"nodeType":"OverrideSpecifier","overrides":[],"src":"7697:8:0"},"parameters":{"id":203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":202,"mutability":"mutable","name":"_tokenId","nameLocation":"7667:8:0","nodeType":"VariableDeclaration","scope":252,"src":"7659:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":201,"name":"uint256","nodeType":"ElementaryTypeName","src":"7659:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7658:18:0"},"returnParameters":{"id":207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":206,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":252,"src":"7715:13:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":205,"name":"string","nodeType":"ElementaryTypeName","src":"7715:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7714:15:0"},"scope":1482,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":275,"nodeType":"FunctionDefinition","src":"8502:250:0","nodes":[],"body":{"id":274,"nodeType":"Block","src":"8678:74:0","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":269,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"8728:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8720:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":267,"name":"address","nodeType":"ElementaryTypeName","src":"8720:7:0","typeDescriptions":{}}},"id":270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8720:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":271,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":256,"src":"8735:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":265,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"8695:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8701:18:0","memberName":"redemptionWeightOf","nodeType":"MemberAccess","referencedDeclaration":28273,"src":"8695:24:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256[] memory) view external returns (uint256)"}},"id":272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8695:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":264,"id":273,"nodeType":"Return","src":"8688:57:0"}]},"baseFunctions":[5656],"documentation":{"id":253,"nodeType":"StructuredDocumentation","src":"8239:258:0","text":"@notice The cumulative redemption weight the given token IDs have compared to the `_totalRedemptionWeight`.\n @param _tokenIds The IDs of the tokens to get the cumulative redemption weight of.\n @return The redemption weight of the _tokenIds."},"functionSelector":"7ba62bf9","implemented":true,"kind":"function","modifiers":[],"name":"redemptionWeightOf","nameLocation":"8511:18:0","overrides":{"id":261,"nodeType":"OverrideSpecifier","overrides":[],"src":"8639:8:0"},"parameters":{"id":260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":256,"mutability":"mutable","name":"_tokenIds","nameLocation":"8547:9:0","nodeType":"VariableDeclaration","scope":275,"src":"8530:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":254,"name":"uint256","nodeType":"ElementaryTypeName","src":"8530:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":255,"nodeType":"ArrayTypeName","src":"8530:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":259,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":275,"src":"8558:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData"},"typeName":{"id":258,"nodeType":"UserDefinedTypeName","pathNode":{"id":257,"name":"JBRedeemParamsData","nameLocations":["8558:18:0"],"nodeType":"IdentifierPath","referencedDeclaration":87977,"src":"8558:18:0"},"referencedDeclaration":87977,"src":"8558:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_storage_ptr","typeString":"struct JBRedeemParamsData"}},"visibility":"internal"}],"src":"8529:57:0"},"returnParameters":{"id":264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":263,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":275,"src":"8665:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":262,"name":"uint256","nodeType":"ElementaryTypeName","src":"8665:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8664:9:0"},"scope":1482,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":294,"nodeType":"FunctionDefinition","src":"8879:173:0","nodes":[],"body":{"id":293,"nodeType":"Block","src":"8986:66:0","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":289,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"9039:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9031:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":287,"name":"address","nodeType":"ElementaryTypeName","src":"9031:7:0","typeDescriptions":{}}},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9031:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":285,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"9003:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9009:21:0","memberName":"totalRedemptionWeight","nodeType":"MemberAccess","referencedDeclaration":28280,"src":"9003:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9003:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":284,"id":292,"nodeType":"Return","src":"8996:49:0"}]},"baseFunctions":[5670],"documentation":{"id":276,"nodeType":"StructuredDocumentation","src":"8758:116:0","text":"@notice The cumulative redemption weight across all token IDs.\n @return The cumulative redemption weight."},"functionSelector":"9494bf72","implemented":true,"kind":"function","modifiers":[],"name":"totalRedemptionWeight","nameLocation":"8888:21:0","overrides":{"id":281,"nodeType":"OverrideSpecifier","overrides":[],"src":"8959:8:0"},"parameters":{"id":280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":279,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":294,"src":"8910:27:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_calldata_ptr","typeString":"struct JBRedeemParamsData"},"typeName":{"id":278,"nodeType":"UserDefinedTypeName","pathNode":{"id":277,"name":"JBRedeemParamsData","nameLocations":["8910:18:0"],"nodeType":"IdentifierPath","referencedDeclaration":87977,"src":"8910:18:0"},"referencedDeclaration":87977,"src":"8910:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBRedeemParamsData_$87977_storage_ptr","typeString":"struct JBRedeemParamsData"}},"visibility":"internal"}],"src":"8909:29:0"},"returnParameters":{"id":284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":283,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":294,"src":"8977:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":282,"name":"uint256","nodeType":"ElementaryTypeName","src":"8977:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8976:9:0"},"scope":1482,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":316,"nodeType":"FunctionDefinition","src":"9262:203:0","nodes":[],"body":{"id":315,"nodeType":"Block","src":"9346:119:0","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":303,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"9363:12:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":305,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"9384:20:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"type(contract IJBTiered721Delegate)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"type(contract IJBTiered721Delegate)"}],"id":304,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9379:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9379:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_contract$_IJBTiered721Delegate_$28042","typeString":"type(contract IJBTiered721Delegate)"}},"id":307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9406:11:0","memberName":"interfaceId","nodeType":"MemberAccess","src":"9379:38:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"9363:54:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":311,"name":"_interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"9445:12:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":309,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"9421:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBTiered721Delegate_$1482_$","typeString":"type(contract super JBTiered721Delegate)"}},"id":310,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9427:17:0","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":5722,"src":"9421:23:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9421:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9363:95:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":302,"id":314,"nodeType":"Return","src":"9356:102:0"}]},"baseFunctions":[5722],"documentation":{"id":295,"nodeType":"StructuredDocumentation","src":"9058:199:0","text":"@notice Indicates if this contract adheres to the specified interface.\n @dev See {IERC165-supportsInterface}.\n @param _interfaceId The ID of the interface to check for adherence to."},"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"9271:17:0","overrides":{"id":299,"nodeType":"OverrideSpecifier","overrides":[],"src":"9322:8:0"},"parameters":{"id":298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":297,"mutability":"mutable","name":"_interfaceId","nameLocation":"9296:12:0","nodeType":"VariableDeclaration","scope":316,"src":"9289:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":296,"name":"bytes4","nodeType":"ElementaryTypeName","src":"9289:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"9288:21:0"},"returnParameters":{"id":302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":301,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":316,"src":"9340:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":300,"name":"bool","nodeType":"ElementaryTypeName","src":"9340:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9339:6:0"},"scope":1482,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":349,"nodeType":"FunctionDefinition","src":"10069:304:0","nodes":[],"body":{"id":348,"nodeType":"Block","src":"10330:43:0","nodes":[],"statements":[{"expression":{"id":346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":341,"name":"codeOrigin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"10340:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":344,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"10361:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":343,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10353:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":342,"name":"address","nodeType":"ElementaryTypeName","src":"10353:7:0","typeDescriptions":{}}},"id":345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10353:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"10340:26:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":347,"nodeType":"ExpressionStatement","src":"10340:26:0"}]},"documentation":{"id":317,"nodeType":"StructuredDocumentation","src":"9706:358:0","text":"@param _directory A directory of terminals and controllers for projects.\n @param _operatorStore A contract which stores operator assignments.\n @param _payMetadataDelegateId The 4bytes ID of this delegate, used for pay metadata parsing\n @param _redeemMetadataDelegateId The 4bytes ID of this delegate, used for redeem metadata parsing"},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":330,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"10214:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10225:8:0","memberName":"projects","nodeType":"MemberAccess","referencedDeclaration":84958,"src":"10214:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IJBProjects_$86082_$","typeString":"function () view external returns (contract IJBProjects)"}},"id":332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10214:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},{"id":333,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":323,"src":"10237:14:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":334,"kind":"baseConstructorSpecifier","modifierName":{"id":329,"name":"JBOwnable","nameLocations":["10204:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":89080,"src":"10204:9:0"},"nodeType":"ModifierInvocation","src":"10204:48:0"},{"arguments":[{"id":336,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":320,"src":"10267:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},{"id":337,"name":"_payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":325,"src":"10279:22:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":338,"name":"_redeemMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":327,"src":"10303:25:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"id":339,"kind":"baseConstructorSpecifier","modifierName":{"id":335,"name":"JB721Delegate","nameLocations":["10253:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":5936,"src":"10253:13:0"},"nodeType":"ModifierInvocation","src":"10253:76:0"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":320,"mutability":"mutable","name":"_directory","nameLocation":"10094:10:0","nodeType":"VariableDeclaration","scope":349,"src":"10081:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":319,"nodeType":"UserDefinedTypeName","pathNode":{"id":318,"name":"IJBDirectory","nameLocations":["10081:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"10081:12:0"},"referencedDeclaration":85041,"src":"10081:12:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"constant":false,"id":323,"mutability":"mutable","name":"_operatorStore","nameLocation":"10123:14:0","nodeType":"VariableDeclaration","scope":349,"src":"10106:31:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":322,"nodeType":"UserDefinedTypeName","pathNode":{"id":321,"name":"IJBOperatorStore","nameLocations":["10106:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"10106:16:0"},"referencedDeclaration":85400,"src":"10106:16:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"constant":false,"id":325,"mutability":"mutable","name":"_payMetadataDelegateId","nameLocation":"10146:22:0","nodeType":"VariableDeclaration","scope":349,"src":"10139:29:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":324,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10139:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":327,"mutability":"mutable","name":"_redeemMetadataDelegateId","nameLocation":"10177:25:0","nodeType":"VariableDeclaration","scope":349,"src":"10170:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":326,"name":"bytes4","nodeType":"ElementaryTypeName","src":"10170:6:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"10080:123:0"},"returnParameters":{"id":340,"nodeType":"ParameterList","parameters":[],"src":"10330:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":526,"nodeType":"FunctionDefinition","src":"11372:1997:0","nodes":[],"body":{"id":525,"nodeType":"Block","src":"11795:1574:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":381,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"11852:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}],"id":380,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11844:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":379,"name":"address","nodeType":"ElementaryTypeName","src":"11844:7:0","typeDescriptions":{}}},"id":382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11844:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11870:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11862:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":383,"name":"address","nodeType":"ElementaryTypeName","src":"11862:7:0","typeDescriptions":{}}},"id":386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11862:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"11844:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":391,"nodeType":"IfStatement","src":"11840:42:0","trueBody":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":388,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"11874:6:0","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11874:8:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":390,"nodeType":"ExpressionStatement","src":"11874:8:0"}},{"expression":{"arguments":[{"id":395,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":352,"src":"11957:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":396,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"11969:5:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":397,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":356,"src":"11976:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":392,"name":"JB721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5936,"src":"11931:13:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JB721Delegate_$5936_$","typeString":"type(contract JB721Delegate)"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11945:11:0","memberName":"_initialize","nodeType":"MemberAccess","referencedDeclaration":5768,"src":"11931:25:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory,string memory)"}},"id":398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11931:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":399,"nodeType":"ExpressionStatement","src":"11931:53:0"},{"expression":{"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":400,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"11995:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":401,"name":"_fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"12015:18:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"src":"11995:38:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":403,"nodeType":"ExpressionStatement","src":"11995:38:0"},{"expression":{"id":406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":404,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"12043:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":405,"name":"_store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"12051:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"src":"12043:14:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":407,"nodeType":"ExpressionStatement","src":"12043:14:0"},{"assignments":[409],"declarations":[{"constant":false,"id":409,"mutability":"mutable","name":"_packed","nameLocation":"12076:7:0","nodeType":"VariableDeclaration","scope":525,"src":"12068:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":408,"name":"uint256","nodeType":"ElementaryTypeName","src":"12068:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":410,"nodeType":"VariableDeclarationStatement","src":"12068:15:0"},{"expression":{"id":417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":411,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":409,"src":"12137:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"arguments":[{"expression":{"id":414,"name":"_pricing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"12156:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},"id":415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12165:8:0","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":29379,"src":"12156:17:0","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12148:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":412,"name":"uint256","nodeType":"ElementaryTypeName","src":"12148:7:0","typeDescriptions":{}}},"id":416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12148:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12137:37:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":418,"nodeType":"ExpressionStatement","src":"12137:37:0"},{"expression":{"id":427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":419,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":409,"src":"12237:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"expression":{"id":422,"name":"_pricing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"12256:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},"id":423,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12265:8:0","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":29381,"src":"12256:17:0","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":421,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12248:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":420,"name":"uint256","nodeType":"ElementaryTypeName","src":"12248:7:0","typeDescriptions":{}}},"id":424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12248:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3438","id":425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12278:2:0","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"12248:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12237:43:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":428,"nodeType":"ExpressionStatement","src":"12237:43:0"},{"expression":{"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":429,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":409,"src":"12344:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"arguments":[{"expression":{"id":436,"name":"_pricing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"12379:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},"id":437,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12388:6:0","memberName":"prices","nodeType":"MemberAccess","referencedDeclaration":29384,"src":"12379:15:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}],"id":435,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12371:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":434,"name":"address","nodeType":"ElementaryTypeName","src":"12371:7:0","typeDescriptions":{}}},"id":438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12371:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12363:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":432,"name":"uint160","nodeType":"ElementaryTypeName","src":"12363:7:0","typeDescriptions":{}}},"id":439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12363:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":431,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12355:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":430,"name":"uint256","nodeType":"ElementaryTypeName","src":"12355:7:0","typeDescriptions":{}}},"id":440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12355:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"3936","id":441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12401:2:0","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"12355:48:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12344:59:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":444,"nodeType":"ExpressionStatement","src":"12344:59:0"},{"expression":{"id":447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":445,"name":"_packedPricingContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"12448:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":446,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":409,"src":"12472:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12448:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":448,"nodeType":"ExpressionStatement","src":"12448:31:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":451,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"12543:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12537:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":449,"name":"bytes","nodeType":"ElementaryTypeName","src":"12537:5:0","typeDescriptions":{}}},"id":452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12537:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12553:6:0","memberName":"length","nodeType":"MemberAccess","src":"12537:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12563:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12537:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":460,"nodeType":"IfStatement","src":"12533:51:0","trueBody":{"expression":{"id":458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":456,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"12566:7:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":457,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":361,"src":"12576:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12566:18:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":459,"nodeType":"ExpressionStatement","src":"12566:18:0"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":463,"name":"_contractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"12650:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12644:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":461,"name":"bytes","nodeType":"ElementaryTypeName","src":"12644:5:0","typeDescriptions":{}}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12644:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12664:6:0","memberName":"length","nodeType":"MemberAccess","src":"12644:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12674:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12644:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":472,"nodeType":"IfStatement","src":"12640:63:0","trueBody":{"expression":{"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":468,"name":"contractURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"12677:11:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":469,"name":"_contractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":366,"src":"12691:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"12677:26:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":471,"nodeType":"ExpressionStatement","src":"12677:26:0"}},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"id":480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":473,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"12769:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12821:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12813:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":475,"name":"address","nodeType":"ElementaryTypeName","src":"12813:7:0","typeDescriptions":{}}},"id":478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12813:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":474,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"12790:22:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJB721TokenUriResolver_$27803_$","typeString":"type(contract IJB721TokenUriResolver)"}},"id":479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12790:34:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"src":"12769:55:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":488,"nodeType":"IfStatement","src":"12765:137:0","trueBody":{"id":487,"nodeType":"Block","src":"12826:76:0","statements":[{"expression":{"arguments":[{"id":484,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":364,"src":"12873:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}],"expression":{"id":481,"name":"_store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"12840:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12847:25:0","memberName":"recordSetTokenUriResolver","nodeType":"MemberAccess","referencedDeclaration":28439,"src":"12840:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IJB721TokenUriResolver_$27803_$returns$__$","typeString":"function (contract IJB721TokenUriResolver) external"}},"id":485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12840:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":486,"nodeType":"ExpressionStatement","src":"12840:51:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":489,"name":"_pricing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"12961:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},"id":490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12970:5:0","memberName":"tiers","nodeType":"MemberAccess","referencedDeclaration":29377,"src":"12961:14:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721TierParams memory[] memory"}},"id":491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12976:6:0","memberName":"length","nodeType":"MemberAccess","src":"12961:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":492,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12986:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12961:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":501,"nodeType":"IfStatement","src":"12957:69:0","trueBody":{"expression":{"arguments":[{"expression":{"id":497,"name":"_pricing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"13011:8:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},"id":498,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13020:5:0","memberName":"tiers","nodeType":"MemberAccess","referencedDeclaration":29377,"src":"13011:14:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721TierParams memory[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721TierParams memory[] memory"}],"expression":{"id":494,"name":"_store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"12989:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12996:14:0","memberName":"recordAddTiers","nodeType":"MemberAccess","referencedDeclaration":28387,"src":"12989:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (struct JB721TierParams memory[] memory) external returns (uint256[] memory)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12989:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":500,"nodeType":"ExpressionStatement","src":"12989:37:0"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":502,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"13090:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13097:24:0","memberName":"lockReservedTokenChanges","nodeType":"MemberAccess","referencedDeclaration":29639,"src":"13090:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"expression":{"id":504,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"13125:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":505,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13132:21:0","memberName":"lockVotingUnitChanges","nodeType":"MemberAccess","referencedDeclaration":29641,"src":"13125:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13090:63:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"expression":{"id":507,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"13157:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13164:24:0","memberName":"lockManualMintingChanges","nodeType":"MemberAccess","referencedDeclaration":29643,"src":"13157:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13090:98:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"expression":{"id":510,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"13208:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":511,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13215:19:0","memberName":"preventOverspending","nodeType":"MemberAccess","referencedDeclaration":29645,"src":"13208:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13090:144:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":519,"nodeType":"IfStatement","src":"13073:198:0","trueBody":{"expression":{"arguments":[{"id":516,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":375,"src":"13264:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}],"expression":{"id":513,"name":"_store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"13245:6:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13252:11:0","memberName":"recordFlags","nodeType":"MemberAccess","referencedDeclaration":28452,"src":"13245:18:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_struct$_JBTiered721Flags_$29646_memory_ptr_$returns$__$","typeString":"function (struct JBTiered721Flags memory) external"}},"id":517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13245:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":518,"nodeType":"ExpressionStatement","src":"13245:26:0"}},{"expression":{"arguments":[{"expression":{"id":521,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13351:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13355:6:0","memberName":"sender","nodeType":"MemberAccess","src":"13351:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":520,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[89370,89436],"referencedDeclaration":89370,"src":"13332:18:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13332:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":524,"nodeType":"ExpressionStatement","src":"13332:30:0"}]},"baseFunctions":[28041],"documentation":{"id":350,"nodeType":"StructuredDocumentation","src":"10379:988:0","text":"@notice Initializes a cloned copy of the original JB721Delegate contract.\n @param _projectId The ID of the project this contract's functionality applies to.\n @param _name The name of the NFT collection distributed through this contract.\n @param _symbol The symbol that the NFT collection should be represented by.\n @param _fundingCycleStore A contract storing all funding cycle configurations.\n @param _baseUri A URI to use as a base for full token URIs.\n @param _tokenUriResolver A contract responsible for resolving the token URI for each token ID.\n @param _contractUri A URI where this contract's metadata can be found.\n @param _pricing NFT tier pricing parameters according to which token distribution will be made. Must be sorted by contribution floor (from least to greatest).\n @param _store The contract which stores the NFT's data.\n @param _flags A set of flags that help to define how this contract works."},"functionSelector":"a1250d7f","implemented":true,"kind":"function","modifiers":[],"name":"initialize","nameLocation":"11381:10:0","overrides":{"id":377,"nodeType":"OverrideSpecifier","overrides":[],"src":"11786:8:0"},"parameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":352,"mutability":"mutable","name":"_projectId","nameLocation":"11409:10:0","nodeType":"VariableDeclaration","scope":526,"src":"11401:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":351,"name":"uint256","nodeType":"ElementaryTypeName","src":"11401:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":354,"mutability":"mutable","name":"_name","nameLocation":"11443:5:0","nodeType":"VariableDeclaration","scope":526,"src":"11429:19:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":353,"name":"string","nodeType":"ElementaryTypeName","src":"11429:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":356,"mutability":"mutable","name":"_symbol","nameLocation":"11472:7:0","nodeType":"VariableDeclaration","scope":526,"src":"11458:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":355,"name":"string","nodeType":"ElementaryTypeName","src":"11458:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":359,"mutability":"mutable","name":"_fundingCycleStore","nameLocation":"11510:18:0","nodeType":"VariableDeclaration","scope":526,"src":"11489:39:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":358,"nodeType":"UserDefinedTypeName","pathNode":{"id":357,"name":"IJBFundingCycleStore","nameLocations":["11489:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"11489:20:0"},"referencedDeclaration":85310,"src":"11489:20:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"},{"constant":false,"id":361,"mutability":"mutable","name":"_baseUri","nameLocation":"11552:8:0","nodeType":"VariableDeclaration","scope":526,"src":"11538:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":360,"name":"string","nodeType":"ElementaryTypeName","src":"11538:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":364,"mutability":"mutable","name":"_tokenUriResolver","nameLocation":"11593:17:0","nodeType":"VariableDeclaration","scope":526,"src":"11570:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":363,"nodeType":"UserDefinedTypeName","pathNode":{"id":362,"name":"IJB721TokenUriResolver","nameLocations":["11570:22:0"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"11570:22:0"},"referencedDeclaration":27803,"src":"11570:22:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":366,"mutability":"mutable","name":"_contractUri","nameLocation":"11634:12:0","nodeType":"VariableDeclaration","scope":526,"src":"11620:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":365,"name":"string","nodeType":"ElementaryTypeName","src":"11620:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":369,"mutability":"mutable","name":"_pricing","nameLocation":"11682:8:0","nodeType":"VariableDeclaration","scope":526,"src":"11656:34:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams"},"typeName":{"id":368,"nodeType":"UserDefinedTypeName","pathNode":{"id":367,"name":"JB721PricingParams","nameLocations":["11656:18:0"],"nodeType":"IdentifierPath","referencedDeclaration":29385,"src":"11656:18:0"},"referencedDeclaration":29385,"src":"11656:18:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_storage_ptr","typeString":"struct JB721PricingParams"}},"visibility":"internal"},{"constant":false,"id":372,"mutability":"mutable","name":"_store","nameLocation":"11726:6:0","nodeType":"VariableDeclaration","scope":526,"src":"11700:32:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"},"typeName":{"id":371,"nodeType":"UserDefinedTypeName","pathNode":{"id":370,"name":"IJBTiered721DelegateStore","nameLocations":["11700:25:0"],"nodeType":"IdentifierPath","referencedDeclaration":28458,"src":"11700:25:0"},"referencedDeclaration":28458,"src":"11700:25:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"visibility":"internal"},{"constant":false,"id":375,"mutability":"mutable","name":"_flags","nameLocation":"11766:6:0","nodeType":"VariableDeclaration","scope":526,"src":"11742:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":374,"nodeType":"UserDefinedTypeName","pathNode":{"id":373,"name":"JBTiered721Flags","nameLocations":["11742:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":29646,"src":"11742:16:0"},"referencedDeclaration":29646,"src":"11742:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"11391:387:0"},"returnParameters":{"id":378,"nodeType":"ParameterList","parameters":[],"src":"11795:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":603,"nodeType":"FunctionDefinition","src":"13843:1021:0","nodes":[],"body":{"id":602,"nodeType":"Block","src":"14060:804:0","nodes":[],"statements":[{"expression":{"id":558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":546,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":544,"src":"14158:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},null],"id":547,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"14157:11:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$__$","typeString":"tuple(uint256[] memory,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"arguments":[{"id":552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14206:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":551,"name":"uint256","nodeType":"ElementaryTypeName","src":"14206:7:0","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"id":550,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14201:4:0","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14201:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint256","typeString":"type(uint256)"}},"id":554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14215:3:0","memberName":"max","nodeType":"MemberAccess","src":"14201:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":555,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"14251:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"}},{"hexValue":"74727565","id":556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"14273:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":548,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"14171:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":549,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14177:10:0","memberName":"recordMint","nodeType":"MemberAccess","referencedDeclaration":28418,"src":"14171:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_uint16_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (uint256,uint16[] memory,bool) external returns (uint256[] memory,uint256)"}},"id":557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14171:132:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(uint256[] memory,uint256)"}},"src":"14157:146:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":559,"nodeType":"ExpressionStatement","src":"14157:146:0"},{"assignments":[561],"declarations":[{"constant":false,"id":561,"mutability":"mutable","name":"_numberOfTokens","nameLocation":"14388:15:0","nodeType":"VariableDeclaration","scope":602,"src":"14380:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":560,"name":"uint256","nodeType":"ElementaryTypeName","src":"14380:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":564,"initialValue":{"expression":{"id":562,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"14406:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14415:6:0","memberName":"length","nodeType":"MemberAccess","src":"14406:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14380:41:0"},{"assignments":[566],"declarations":[{"constant":false,"id":566,"mutability":"mutable","name":"_tokenId","nameLocation":"14505:8:0","nodeType":"VariableDeclaration","scope":602,"src":"14497:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":565,"name":"uint256","nodeType":"ElementaryTypeName","src":"14497:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":567,"nodeType":"VariableDeclarationStatement","src":"14497:16:0"},{"body":{"id":600,"nodeType":"Block","src":"14564:294:0","statements":[{"expression":{"id":578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":574,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"14611:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":575,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":544,"src":"14622:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":577,"indexExpression":{"id":576,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"14631:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14622:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14611:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":579,"nodeType":"ExpressionStatement","src":"14611:23:0"},{"expression":{"arguments":[{"id":581,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":532,"src":"14686:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":582,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"14700:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":580,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"14680:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14680:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":584,"nodeType":"ExpressionStatement","src":"14680:29:0"},{"eventCall":{"arguments":[{"id":586,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":566,"src":"14734:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":587,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"14744:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"}},"id":589,"indexExpression":{"id":588,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"14753:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14744:12:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":590,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":532,"src":"14758:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14772:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"expression":{"id":592,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14775:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14779:6:0","memberName":"sender","nodeType":"MemberAccess","src":"14775:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_address","typeString":"address"}],"id":585,"name":"Mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27841,"src":"14729:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,uint256,address)"}},"id":594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14729:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":595,"nodeType":"EmitStatement","src":"14724:62:0"},{"id":599,"nodeType":"UncheckedBlock","src":"14801:47:0","statements":[{"expression":{"id":597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"14829:4:0","subExpression":{"id":596,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"14831:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":598,"nodeType":"ExpressionStatement","src":"14829:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":571,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":569,"src":"14541:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":572,"name":"_numberOfTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":561,"src":"14546:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14541:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":601,"initializationExpression":{"assignments":[569],"declarations":[{"constant":false,"id":569,"mutability":"mutable","name":"_i","nameLocation":"14537:2:0","nodeType":"VariableDeclaration","scope":601,"src":"14529:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":568,"name":"uint256","nodeType":"ElementaryTypeName","src":"14529:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":570,"nodeType":"VariableDeclarationStatement","src":"14529:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"14524:334:0"}]},"baseFunctions":[27999],"documentation":{"id":527,"nodeType":"StructuredDocumentation","src":"13610:228:0","text":"@notice Manually mint NFTs from the provided tiers .\n @param _tierIds The IDs of the tiers to mint from.\n @param _beneficiary The address to mint to.\n @return tokenIds The IDs of the newly minted tokens."},"functionSelector":"6ac6d941","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":536,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89243,"src":"13970:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13970:7:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":538,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"13979:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":539,"name":"JB721Operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28471,"src":"13990:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JB721Operations_$28471_$","typeString":"type(library JB721Operations)"}},"id":540,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14006:4:0","memberName":"MINT","nodeType":"MemberAccess","referencedDeclaration":28470,"src":"13990:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":541,"kind":"modifierInvocation","modifierName":{"id":535,"name":"requirePermission","nameLocations":["13952:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":89163,"src":"13952:17:0"},"nodeType":"ModifierInvocation","src":"13952:59:0"}],"name":"mintFor","nameLocation":"13852:7:0","overrides":{"id":534,"nodeType":"OverrideSpecifier","overrides":[],"src":"13935:8:0"},"parameters":{"id":533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":530,"mutability":"mutable","name":"_tierIds","nameLocation":"13878:8:0","nodeType":"VariableDeclaration","scope":603,"src":"13860:26:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":528,"name":"uint16","nodeType":"ElementaryTypeName","src":"13860:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":529,"nodeType":"ArrayTypeName","src":"13860:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"},{"constant":false,"id":532,"mutability":"mutable","name":"_beneficiary","nameLocation":"13896:12:0","nodeType":"VariableDeclaration","scope":603,"src":"13888:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":531,"name":"address","nodeType":"ElementaryTypeName","src":"13888:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13859:50:0"},"returnParameters":{"id":545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":544,"mutability":"mutable","name":"tokenIds","nameLocation":"14046:8:0","nodeType":"VariableDeclaration","scope":603,"src":"14029:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":542,"name":"uint256","nodeType":"ElementaryTypeName","src":"14029:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":543,"nodeType":"ArrayTypeName","src":"14029:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"14028:27:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":644,"nodeType":"FunctionDefinition","src":"15063:654:0","nodes":[],"body":{"id":643,"nodeType":"Block","src":"15200:517:0","nodes":[],"statements":[{"assignments":[613],"declarations":[{"constant":false,"id":613,"mutability":"mutable","name":"_numberOfTiers","nameLocation":"15291:14:0","nodeType":"VariableDeclaration","scope":643,"src":"15283:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":612,"name":"uint256","nodeType":"ElementaryTypeName","src":"15283:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":616,"initialValue":{"expression":{"id":614,"name":"_mintReservesForTiersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"15308:25:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBTiered721MintReservesForTiersData calldata[] calldata"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15334:6:0","memberName":"length","nodeType":"MemberAccess","src":"15308:32:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15283:57:0"},{"body":{"id":641,"nodeType":"Block","src":"15390:321:0","statements":[{"assignments":[625],"declarations":[{"constant":false,"id":625,"mutability":"mutable","name":"_data","nameLocation":"15511:5:0","nodeType":"VariableDeclaration","scope":641,"src":"15468:48:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_memory_ptr","typeString":"struct JBTiered721MintReservesForTiersData"},"typeName":{"id":624,"nodeType":"UserDefinedTypeName","pathNode":{"id":623,"name":"JBTiered721MintReservesForTiersData","nameLocations":["15468:35:0"],"nodeType":"IdentifierPath","referencedDeclaration":29671,"src":"15468:35:0"},"referencedDeclaration":29671,"src":"15468:35:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_storage_ptr","typeString":"struct JBTiered721MintReservesForTiersData"}},"visibility":"internal"}],"id":629,"initialValue":{"baseExpression":{"id":626,"name":"_mintReservesForTiersData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"15519:25:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBTiered721MintReservesForTiersData calldata[] calldata"}},"id":628,"indexExpression":{"id":627,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"15545:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15519:29:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_calldata_ptr","typeString":"struct JBTiered721MintReservesForTiersData calldata"}},"nodeType":"VariableDeclarationStatement","src":"15468:80:0"},{"expression":{"arguments":[{"expression":{"id":631,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":625,"src":"15613:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_memory_ptr","typeString":"struct JBTiered721MintReservesForTiersData memory"}},"id":632,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15619:6:0","memberName":"tierId","nodeType":"MemberAccess","referencedDeclaration":29668,"src":"15613:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":633,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":625,"src":"15627:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_memory_ptr","typeString":"struct JBTiered721MintReservesForTiersData memory"}},"id":634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15633:5:0","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":29670,"src":"15627:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":630,"name":"mintReservesFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":939,"src":"15597:15:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15597:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":636,"nodeType":"ExpressionStatement","src":"15597:42:0"},{"id":640,"nodeType":"UncheckedBlock","src":"15654:47:0","statements":[{"expression":{"id":638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"15682:4:0","subExpression":{"id":637,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"15684:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":639,"nodeType":"ExpressionStatement","src":"15682:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":620,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"15368:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":621,"name":"_numberOfTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":613,"src":"15373:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15368:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":642,"initializationExpression":{"assignments":[618],"declarations":[{"constant":false,"id":618,"mutability":"mutable","name":"_i","nameLocation":"15364:2:0","nodeType":"VariableDeclaration","scope":642,"src":"15356:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":617,"name":"uint256","nodeType":"ElementaryTypeName","src":"15356:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":619,"nodeType":"VariableDeclarationStatement","src":"15356:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"15351:360:0"}]},"baseFunctions":[27981],"documentation":{"id":604,"nodeType":"StructuredDocumentation","src":"14870:188:0","text":"@notice Mint reserved tokens within the tier for the provided value.\n @param _mintReservesForTiersData Contains information about how many reserved tokens to mint for each tier."},"functionSelector":"2a596e53","implemented":true,"kind":"function","modifiers":[],"name":"mintReservesFor","nameLocation":"15072:15:0","overrides":{"id":610,"nodeType":"OverrideSpecifier","overrides":[],"src":"15187:8:0"},"parameters":{"id":609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":608,"mutability":"mutable","name":"_mintReservesForTiersData","nameLocation":"15135:25:0","nodeType":"VariableDeclaration","scope":644,"src":"15088:72:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JBTiered721MintReservesForTiersData[]"},"typeName":{"baseType":{"id":606,"nodeType":"UserDefinedTypeName","pathNode":{"id":605,"name":"JBTiered721MintReservesForTiersData","nameLocations":["15088:35:0"],"nodeType":"IdentifierPath","referencedDeclaration":29671,"src":"15088:35:0"},"referencedDeclaration":29671,"src":"15088:35:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721MintReservesForTiersData_$29671_storage_ptr","typeString":"struct JBTiered721MintReservesForTiersData"}},"id":607,"nodeType":"ArrayTypeName","src":"15088:37:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBTiered721MintReservesForTiersData_$29671_storage_$dyn_storage_ptr","typeString":"struct JBTiered721MintReservesForTiersData[]"}},"visibility":"internal"}],"src":"15087:74:0"},"returnParameters":{"id":611,"nodeType":"ParameterList","parameters":[],"src":"15200:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":743,"nodeType":"FunctionDefinition","src":"16054:1398:0","nodes":[],"body":{"id":742,"nodeType":"Block","src":"16266:1186:0","nodes":[],"statements":[{"assignments":[664],"declarations":[{"constant":false,"id":664,"mutability":"mutable","name":"_numberOfTiersToAdd","nameLocation":"16347:19:0","nodeType":"VariableDeclaration","scope":742,"src":"16339:27:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":663,"name":"uint256","nodeType":"ElementaryTypeName","src":"16339:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":667,"initialValue":{"expression":{"id":665,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":649,"src":"16369:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}},"id":666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16381:6:0","memberName":"length","nodeType":"MemberAccess","src":"16369:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16339:48:0"},{"assignments":[669],"declarations":[{"constant":false,"id":669,"mutability":"mutable","name":"_numberOfTiersToRemove","nameLocation":"16471:22:0","nodeType":"VariableDeclaration","scope":742,"src":"16463:30:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":668,"name":"uint256","nodeType":"ElementaryTypeName","src":"16463:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":672,"initialValue":{"expression":{"id":670,"name":"_tierIdsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"16496:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16513:6:0","memberName":"length","nodeType":"MemberAccess","src":"16496:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16463:56:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":673,"name":"_numberOfTiersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"16563:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":674,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16589:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16563:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":703,"nodeType":"IfStatement","src":"16559:407:0","trueBody":{"id":702,"nodeType":"Block","src":"16592:374:0","statements":[{"expression":{"arguments":[{"id":679,"name":"_tierIdsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"16673:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}],"expression":{"id":676,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"16647:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16653:19:0","memberName":"recordRemoveTierIds","nodeType":"MemberAccess","referencedDeclaration":28433,"src":"16647:25:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory) external"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16647:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"ExpressionStatement","src":"16647:43:0"},{"body":{"id":700,"nodeType":"Block","src":"16802:154:0","statements":[{"eventCall":{"arguments":[{"baseExpression":{"id":689,"name":"_tierIdsToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":652,"src":"16836:16:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":691,"indexExpression":{"id":690,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"16853:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16836:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":692,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16858:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16862:6:0","memberName":"sender","nodeType":"MemberAccess","src":"16858:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":688,"name":"RemoveTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27866,"src":"16825:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16825:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":695,"nodeType":"EmitStatement","src":"16820:49:0"},{"id":699,"nodeType":"UncheckedBlock","src":"16887:55:0","statements":[{"expression":{"id":697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"16919:4:0","subExpression":{"id":696,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"16921:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":698,"nodeType":"ExpressionStatement","src":"16919:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":685,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"16772:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":686,"name":"_numberOfTiersToRemove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":669,"src":"16777:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16772:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":701,"initializationExpression":{"assignments":[683],"declarations":[{"constant":false,"id":683,"mutability":"mutable","name":"_i","nameLocation":"16768:2:0","nodeType":"VariableDeclaration","scope":701,"src":"16760:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":682,"name":"uint256","nodeType":"ElementaryTypeName","src":"16760:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":684,"nodeType":"VariableDeclarationStatement","src":"16760:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"16755:201:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":704,"name":"_numberOfTiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"17006:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17029:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17006:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":741,"nodeType":"IfStatement","src":"17002:444:0","trueBody":{"id":740,"nodeType":"Block","src":"17032:414:0","statements":[{"assignments":[711],"declarations":[{"constant":false,"id":711,"mutability":"mutable","name":"_tierIdsAdded","nameLocation":"17115:13:0","nodeType":"VariableDeclaration","scope":740,"src":"17098:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":709,"name":"uint256","nodeType":"ElementaryTypeName","src":"17098:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":710,"nodeType":"ArrayTypeName","src":"17098:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":716,"initialValue":{"arguments":[{"id":714,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":649,"src":"17152:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}],"expression":{"id":712,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"17131:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17137:14:0","memberName":"recordAddTiers","nodeType":"MemberAccess","referencedDeclaration":28387,"src":"17131:20:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_struct$_JB721TierParams_$29439_memory_ptr_$dyn_memory_ptr_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (struct JB721TierParams memory[] memory) external returns (uint256[] memory)"}},"id":715,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17131:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"17098:66:0"},{"body":{"id":738,"nodeType":"Block","src":"17271:165:0","statements":[{"eventCall":{"arguments":[{"baseExpression":{"id":724,"name":"_tierIdsAdded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"17302:13:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":726,"indexExpression":{"id":725,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"17316:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17302:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":727,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":649,"src":"17321:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}},"id":729,"indexExpression":{"id":728,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"17333:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17321:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_calldata_ptr","typeString":"struct JB721TierParams calldata"}},{"expression":{"id":730,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"17338:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17342:6:0","memberName":"sender","nodeType":"MemberAccess","src":"17338:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JB721TierParams_$29439_calldata_ptr","typeString":"struct JB721TierParams calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":723,"name":"AddTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27860,"src":"17294:7:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_struct$_JB721TierParams_$29439_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,struct JB721TierParams memory,address)"}},"id":732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17294:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":733,"nodeType":"EmitStatement","src":"17289:60:0"},{"id":737,"nodeType":"UncheckedBlock","src":"17367:55:0","statements":[{"expression":{"id":735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"17399:4:0","subExpression":{"id":734,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"17401:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":736,"nodeType":"ExpressionStatement","src":"17399:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":720,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"17244:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":721,"name":"_numberOfTiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":664,"src":"17249:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17244:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":739,"initializationExpression":{"assignments":[718],"declarations":[{"constant":false,"id":718,"mutability":"mutable","name":"_i","nameLocation":"17240:2:0","nodeType":"VariableDeclaration","scope":739,"src":"17232:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":717,"name":"uint256","nodeType":"ElementaryTypeName","src":"17232:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":719,"nodeType":"VariableDeclarationStatement","src":"17232:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"17227:209:0"}]}}]},"baseFunctions":[27974],"documentation":{"id":645,"nodeType":"StructuredDocumentation","src":"15723:326:0","text":"@notice Adjust the tiers which are mintable through this contract, adhering to any locked tier constraints.\n @dev Only the contract's owner or an operator with ADJUST_TIERS can adjust the tiers.\n @param _tiersToAdd An array of tier data to add.\n @param _tierIdsToRemove An array of tier IDs to remove."},"functionSelector":"843d92ee","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":656,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89243,"src":"16212:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16212:7:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":658,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"16221:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":659,"name":"JB721Operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28471,"src":"16232:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JB721Operations_$28471_$","typeString":"type(library JB721Operations)"}},"id":660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16248:12:0","memberName":"ADJUST_TIERS","nodeType":"MemberAccess","referencedDeclaration":28464,"src":"16232:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":661,"kind":"modifierInvocation","modifierName":{"id":655,"name":"requirePermission","nameLocations":["16194:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":89163,"src":"16194:17:0"},"nodeType":"ModifierInvocation","src":"16194:67:0"}],"name":"adjustTiers","nameLocation":"16063:11:0","overrides":{"id":654,"nodeType":"OverrideSpecifier","overrides":[],"src":"16177:8:0"},"parameters":{"id":653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":649,"mutability":"mutable","name":"_tiersToAdd","nameLocation":"16102:11:0","nodeType":"VariableDeclaration","scope":743,"src":"16075:38:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams[]"},"typeName":{"baseType":{"id":647,"nodeType":"UserDefinedTypeName","pathNode":{"id":646,"name":"JB721TierParams","nameLocations":["16075:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":29439,"src":"16075:15:0"},"referencedDeclaration":29439,"src":"16075:15:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29439_storage_ptr","typeString":"struct JB721TierParams"}},"id":648,"nodeType":"ArrayTypeName","src":"16075:17:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29439_storage_$dyn_storage_ptr","typeString":"struct JB721TierParams[]"}},"visibility":"internal"},{"constant":false,"id":652,"mutability":"mutable","name":"_tierIdsToRemove","nameLocation":"16134:16:0","nodeType":"VariableDeclaration","scope":743,"src":"16115:35:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":650,"name":"uint256","nodeType":"ElementaryTypeName","src":"16115:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":651,"nodeType":"ArrayTypeName","src":"16115:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"16074:77:0"},"returnParameters":{"id":662,"nodeType":"ParameterList","parameters":[],"src":"16266:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":853,"nodeType":"FunctionDefinition","src":"17876:1258:0","nodes":[],"body":{"id":852,"nodeType":"Block","src":"18186:948:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":768,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"18206:8:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":767,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18200:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":766,"name":"bytes","nodeType":"ElementaryTypeName","src":"18200:5:0","typeDescriptions":{}}},"id":769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18200:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18216:6:0","memberName":"length","nodeType":"MemberAccess","src":"18200:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18226:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18200:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":784,"nodeType":"IfStatement","src":"18196:166:0","trueBody":{"id":783,"nodeType":"Block","src":"18229:133:0","statements":[{"expression":{"id":775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":773,"name":"baseURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94,"src":"18282:7:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":774,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"18292:8:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"18282:18:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":776,"nodeType":"ExpressionStatement","src":"18282:18:0"},{"eventCall":{"arguments":[{"id":778,"name":"_baseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"18330:8:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"id":779,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18340:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18344:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18340:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":777,"name":"SetBaseUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27880,"src":"18319:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18319:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":782,"nodeType":"EmitStatement","src":"18314:37:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":791,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":787,"name":"_contractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"18381:12:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18375:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":785,"name":"bytes","nodeType":"ElementaryTypeName","src":"18375:5:0","typeDescriptions":{}}},"id":788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18375:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":789,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18395:6:0","memberName":"length","nodeType":"MemberAccess","src":"18375:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18405:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18375:31:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":803,"nodeType":"IfStatement","src":"18371:190:0","trueBody":{"id":802,"nodeType":"Block","src":"18408:153:0","statements":[{"expression":{"id":794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":792,"name":"contractURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"18465:11:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":793,"name":"_contractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"18479:12:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},"src":"18465:26:0","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":795,"nodeType":"ExpressionStatement","src":"18465:26:0"},{"eventCall":{"arguments":[{"id":797,"name":"_contractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":748,"src":"18525:12:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"id":798,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18539:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18543:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18539:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":796,"name":"SetContractUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27886,"src":"18510:14:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18510:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":801,"nodeType":"EmitStatement","src":"18505:45:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"id":811,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":804,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":751,"src":"18574:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":808,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"18626:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18618:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":806,"name":"address","nodeType":"ElementaryTypeName","src":"18618:7:0","typeDescriptions":{}}},"id":809,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18618:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":805,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27803,"src":"18595:22:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJB721TokenUriResolver_$27803_$","typeString":"type(contract IJB721TokenUriResolver)"}},"id":810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18595:37:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"src":"18574:58:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":825,"nodeType":"IfStatement","src":"18570:252:0","trueBody":{"id":824,"nodeType":"Block","src":"18634:188:0","statements":[{"expression":{"arguments":[{"id":815,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":751,"src":"18723:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}],"expression":{"id":812,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"18691:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":814,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18697:25:0","memberName":"recordSetTokenUriResolver","nodeType":"MemberAccess","referencedDeclaration":28439,"src":"18691:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_contract$_IJB721TokenUriResolver_$27803_$returns$__$","typeString":"function (contract IJB721TokenUriResolver) external"}},"id":816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18691:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":817,"nodeType":"ExpressionStatement","src":"18691:50:0"},{"eventCall":{"arguments":[{"id":819,"name":"_tokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":751,"src":"18781:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},{"expression":{"id":820,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"18800:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18804:6:0","memberName":"sender","nodeType":"MemberAccess","src":"18800:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},{"typeIdentifier":"t_address","typeString":"address"}],"id":818,"name":"SetTokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27893,"src":"18761:19:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_contract$_IJB721TokenUriResolver_$27803_$_t_address_$returns$__$","typeString":"function (contract IJB721TokenUriResolver,address)"}},"id":822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18761:50:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":823,"nodeType":"EmitStatement","src":"18756:55:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":826,"name":"_encodedIPFSUriTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"18835:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18860:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18835:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":829,"name":"_encodedIPFSUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"18865:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18892:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18884:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":830,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18884:7:0","typeDescriptions":{}}},"id":833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18884:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18865:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"18835:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":851,"nodeType":"IfStatement","src":"18831:297:0","trueBody":{"id":850,"nodeType":"Block","src":"18896:232:0","statements":[{"expression":{"arguments":[{"id":839,"name":"_encodedIPFSUriTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"18989:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":840,"name":"_encodedIPFSUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"19012:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":836,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"18957:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18963:25:0","memberName":"recordSetEncodedIPFSUriOf","nodeType":"MemberAccess","referencedDeclaration":28446,"src":"18957:31:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (uint256,bytes32) external"}},"id":841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18957:71:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":842,"nodeType":"ExpressionStatement","src":"18957:71:0"},{"eventCall":{"arguments":[{"id":844,"name":"_encodedIPFSUriTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"19066:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":845,"name":"_encodedIPFSUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":755,"src":"19089:15:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":846,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"19106:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19110:6:0","memberName":"sender","nodeType":"MemberAccess","src":"19106:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":843,"name":"SetEncodedIPFSUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27874,"src":"19048:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_bytes32_$_t_address_$returns$__$","typeString":"function (uint256,bytes32,address)"}},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19048:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":849,"nodeType":"EmitStatement","src":"19043:74:0"}]}}]},"baseFunctions":[28013],"documentation":{"id":744,"nodeType":"StructuredDocumentation","src":"17458:413:0","text":"@notice Set a contract's URI metadata properties.\n @dev Only the contract's owner can set the URI metadata.\n @param _baseUri The new base URI.\n @param _contractUri The new contract URI.\n @param _tokenUriResolver The new URI resolver.\n @param _encodedIPFSUriTierId The ID of the tier to set the encoded IPFS URI of.\n @param _encodedIPFSUri The encoded IPFS URI to set."},"functionSelector":"1435aad5","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":759,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89243,"src":"18133:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18133:7:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":761,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"18142:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":762,"name":"JB721Operations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28471,"src":"18153:15:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JB721Operations_$28471_$","typeString":"type(library JB721Operations)"}},"id":763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18169:15:0","memberName":"UPDATE_METADATA","nodeType":"MemberAccess","referencedDeclaration":28467,"src":"18153:31:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":764,"kind":"modifierInvocation","modifierName":{"id":758,"name":"requirePermission","nameLocations":["18115:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":89163,"src":"18115:17:0"},"nodeType":"ModifierInvocation","src":"18115:70:0"}],"name":"setMetadata","nameLocation":"17885:11:0","overrides":{"id":757,"nodeType":"OverrideSpecifier","overrides":[],"src":"18106:8:0"},"parameters":{"id":756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":746,"mutability":"mutable","name":"_baseUri","nameLocation":"17922:8:0","nodeType":"VariableDeclaration","scope":853,"src":"17906:24:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":745,"name":"string","nodeType":"ElementaryTypeName","src":"17906:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":748,"mutability":"mutable","name":"_contractUri","nameLocation":"17956:12:0","nodeType":"VariableDeclaration","scope":853,"src":"17940:28:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":747,"name":"string","nodeType":"ElementaryTypeName","src":"17940:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":751,"mutability":"mutable","name":"_tokenUriResolver","nameLocation":"18001:17:0","nodeType":"VariableDeclaration","scope":853,"src":"17978:40:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":750,"nodeType":"UserDefinedTypeName","pathNode":{"id":749,"name":"IJB721TokenUriResolver","nameLocations":["17978:22:0"],"nodeType":"IdentifierPath","referencedDeclaration":27803,"src":"17978:22:0"},"referencedDeclaration":27803,"src":"17978:22:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"},{"constant":false,"id":753,"mutability":"mutable","name":"_encodedIPFSUriTierId","nameLocation":"18036:21:0","nodeType":"VariableDeclaration","scope":853,"src":"18028:29:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":752,"name":"uint256","nodeType":"ElementaryTypeName","src":"18028:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":755,"mutability":"mutable","name":"_encodedIPFSUri","nameLocation":"18075:15:0","nodeType":"VariableDeclaration","scope":853,"src":"18067:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18067:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17896:200:0"},"returnParameters":{"id":765,"nodeType":"ParameterList","parameters":[],"src":"18186:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":939,"nodeType":"FunctionDefinition","src":"19626:1273:0","nodes":[],"body":{"id":938,"nodeType":"Block","src":"19700:1199:0","nodes":[],"statements":[{"assignments":[864],"declarations":[{"constant":false,"id":864,"mutability":"mutable","name":"_fundingCycle","nameLocation":"19799:13:0","nodeType":"VariableDeclaration","scope":938,"src":"19777:35:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":863,"nodeType":"UserDefinedTypeName","pathNode":{"id":862,"name":"JBFundingCycle","nameLocations":["19777:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"19777:14:0"},"referencedDeclaration":87801,"src":"19777:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":869,"initialValue":{"arguments":[{"id":867,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"19843:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":865,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"19815:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19833:9:0","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"19815:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19815:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"19777:76:0"},{"condition":{"arguments":[{"components":[{"arguments":[{"id":874,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":864,"src":"20055:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"expression":{"id":872,"name":"JBFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87442,"src":"20015:30:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBFundingCycleMetadataResolver_$87442_$","typeString":"type(library JBFundingCycleMetadataResolver)"}},"id":873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20046:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87189,"src":"20015:39:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20015:54:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":876,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20014:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":870,"name":"JBTiered721FundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29036,"src":"19935:39:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721FundingCycleMetadataResolver_$29036_$","typeString":"type(library JBTiered721FundingCycleMetadataResolver)"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19975:21:0","memberName":"mintingReservesPaused","nodeType":"MemberAccess","referencedDeclaration":28990,"src":"19935:61:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19935:149:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":881,"nodeType":"IfStatement","src":"19918:215:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":878,"name":"RESERVED_TOKEN_MINTING_PAUSED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":60,"src":"20102:29:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20102:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":880,"nodeType":"RevertStatement","src":"20095:38:0"}},{"assignments":[886],"declarations":[{"constant":false,"id":886,"mutability":"mutable","name":"_tokenIds","nameLocation":"20211:9:0","nodeType":"VariableDeclaration","scope":938,"src":"20194:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":884,"name":"uint256","nodeType":"ElementaryTypeName","src":"20194:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":885,"nodeType":"ArrayTypeName","src":"20194:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":892,"initialValue":{"arguments":[{"id":889,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":856,"src":"20251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":890,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"20260:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":887,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"20223:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20229:21:0","memberName":"recordMintReservesFor","nodeType":"MemberAccess","referencedDeclaration":28397,"src":"20223:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256,uint256) external returns (uint256[] memory)"}},"id":891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20223:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"20194:73:0"},{"assignments":[894],"declarations":[{"constant":false,"id":894,"mutability":"mutable","name":"_reservedTokenBeneficiary","nameLocation":"20349:25:0","nodeType":"VariableDeclaration","scope":938,"src":"20341:33:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":893,"name":"address","nodeType":"ElementaryTypeName","src":"20341:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":903,"initialValue":{"arguments":[{"arguments":[{"id":899,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"20418:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20410:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":897,"name":"address","nodeType":"ElementaryTypeName","src":"20410:7:0","typeDescriptions":{}}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20410:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":901,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":856,"src":"20425:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":895,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"20377:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20383:26:0","memberName":"reservedTokenBeneficiaryOf","nodeType":"MemberAccess","referencedDeclaration":28360,"src":"20377:32:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view external returns (address)"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20377:56:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"20341:92:0"},{"assignments":[905],"declarations":[{"constant":false,"id":905,"mutability":"mutable","name":"_tokenId","nameLocation":"20517:8:0","nodeType":"VariableDeclaration","scope":938,"src":"20509:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":904,"name":"uint256","nodeType":"ElementaryTypeName","src":"20509:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":906,"nodeType":"VariableDeclarationStatement","src":"20509:16:0"},{"body":{"id":936,"nodeType":"Block","src":"20567:326:0","statements":[{"expression":{"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":913,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"20614:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":914,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":886,"src":"20625:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":916,"indexExpression":{"id":915,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":908,"src":"20635:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"20625:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20614:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":918,"nodeType":"ExpressionStatement","src":"20614:24:0"},{"expression":{"arguments":[{"id":920,"name":"_reservedTokenBeneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"20690:25:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":921,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"20717:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":919,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"20684:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20684:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":923,"nodeType":"ExpressionStatement","src":"20684:42:0"},{"eventCall":{"arguments":[{"id":925,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"20764:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":926,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":856,"src":"20774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":927,"name":"_reservedTokenBeneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":894,"src":"20783:25:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":928,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"20810:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":929,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"20814:6:0","memberName":"sender","nodeType":"MemberAccess","src":"20810:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":924,"name":"MintReservedToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27851,"src":"20746:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,address)"}},"id":930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20746:75:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":931,"nodeType":"EmitStatement","src":"20741:80:0"},{"id":935,"nodeType":"UncheckedBlock","src":"20836:47:0","statements":[{"expression":{"id":933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"20864:4:0","subExpression":{"id":932,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":908,"src":"20866:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":934,"nodeType":"ExpressionStatement","src":"20864:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":910,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":908,"src":"20553:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":911,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"20558:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20553:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":937,"initializationExpression":{"assignments":[908],"declarations":[{"constant":false,"id":908,"mutability":"mutable","name":"_i","nameLocation":"20549:2:0","nodeType":"VariableDeclaration","scope":937,"src":"20541:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":907,"name":"uint256","nodeType":"ElementaryTypeName","src":"20541:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":909,"nodeType":"VariableDeclarationStatement","src":"20541:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"20536:357:0"}]},"baseFunctions":[27988],"documentation":{"id":854,"nodeType":"StructuredDocumentation","src":"19375:246:0","text":"@notice Mint reserved tokens within the provided tier.\n @dev Only currently outstanding reserved tokens can be minted.\n @param _tierId The ID of the tier to mint from.\n @param _count The number of reserved tokens to mint."},"functionSelector":"aa4fb15b","implemented":true,"kind":"function","modifiers":[],"name":"mintReservesFor","nameLocation":"19635:15:0","overrides":{"id":860,"nodeType":"OverrideSpecifier","overrides":[],"src":"19691:8:0"},"parameters":{"id":859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":856,"mutability":"mutable","name":"_tierId","nameLocation":"19659:7:0","nodeType":"VariableDeclaration","scope":939,"src":"19651:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":855,"name":"uint256","nodeType":"ElementaryTypeName","src":"19651:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":858,"mutability":"mutable","name":"_count","nameLocation":"19676:6:0","nodeType":"VariableDeclaration","scope":939,"src":"19668:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":857,"name":"uint256","nodeType":"ElementaryTypeName","src":"19668:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19650:33:0"},"returnParameters":{"id":861,"nodeType":"ParameterList","parameters":[],"src":"19700:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1235,"nodeType":"FunctionDefinition","src":"21285:4425:0","nodes":[],"body":{"id":1234,"nodeType":"Block","src":"21370:4340:0","nodes":[],"statements":[{"assignments":[948],"declarations":[{"constant":false,"id":948,"mutability":"mutable","name":"_value","nameLocation":"21423:6:0","nodeType":"VariableDeclaration","scope":1234,"src":"21415:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":947,"name":"uint256","nodeType":"ElementaryTypeName","src":"21415:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":949,"nodeType":"VariableDeclarationStatement","src":"21415:14:0"},{"id":1038,"nodeType":"Block","src":"21440:987:0","statements":[{"assignments":[951],"declarations":[{"constant":false,"id":951,"mutability":"mutable","name":"_packed","nameLocation":"21462:7:0","nodeType":"VariableDeclaration","scope":1038,"src":"21454:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":950,"name":"uint256","nodeType":"ElementaryTypeName","src":"21454:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":953,"initialValue":{"id":952,"name":"_packedPricingContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70,"src":"21472:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21454:39:0"},{"assignments":[955],"declarations":[{"constant":false,"id":955,"mutability":"mutable","name":"_pricingCurrency","nameLocation":"21571:16:0","nodeType":"VariableDeclaration","scope":1038,"src":"21563:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":954,"name":"uint256","nodeType":"ElementaryTypeName","src":"21563:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":963,"initialValue":{"arguments":[{"arguments":[{"id":960,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"21605:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21598:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":958,"name":"uint48","nodeType":"ElementaryTypeName","src":"21598:6:0","typeDescriptions":{}}},"id":961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21598:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21590:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":956,"name":"uint256","nodeType":"ElementaryTypeName","src":"21590:7:0","typeDescriptions":{}}},"id":962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21590:24:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"21563:51:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"expression":{"id":964,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"21632:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21638:6:0","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":87675,"src":"21632:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTokenAmount_$88042_calldata_ptr","typeString":"struct JBTokenAmount calldata"}},"id":966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21645:8:0","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":88041,"src":"21632:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":967,"name":"_pricingCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"21657:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21632:41:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1036,"nodeType":"Block","src":"21741:676:0","statements":[{"assignments":[978],"declarations":[{"constant":false,"id":978,"mutability":"mutable","name":"_prices","nameLocation":"21822:7:0","nodeType":"VariableDeclaration","scope":1036,"src":"21812:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"},"typeName":{"id":977,"nodeType":"UserDefinedTypeName","pathNode":{"id":976,"name":"IJBPrices","nameLocations":["21812:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":86000,"src":"21812:9:0"},"referencedDeclaration":86000,"src":"21812:9:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"visibility":"internal"}],"id":990,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":984,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"21858:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3936","id":985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21869:2:0","typeDescriptions":{"typeIdentifier":"t_rational_96_by_1","typeString":"int_const 96"},"value":"96"},"src":"21858:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":983,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21850:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":982,"name":"uint160","nodeType":"ElementaryTypeName","src":"21850:7:0","typeDescriptions":{}}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21850:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21842:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":980,"name":"address","nodeType":"ElementaryTypeName","src":"21842:7:0","typeDescriptions":{}}},"id":988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21842:31:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":979,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"21832:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPrices_$86000_$","typeString":"type(contract IJBPrices)"}},"id":989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21832:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"nodeType":"VariableDeclarationStatement","src":"21812:62:0"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"},"id":998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":991,"name":"_prices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":978,"src":"21896:7:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21925:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21917:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":993,"name":"address","nodeType":"ElementaryTypeName","src":"21917:7:0","typeDescriptions":{}}},"id":996,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21917:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":992,"name":"IJBPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86000,"src":"21907:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBPrices_$86000_$","typeString":"type(contract IJBPrices)"}},"id":997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21907:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"src":"21896:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1034,"nodeType":"Block","src":"22356:47:0","statements":[{"functionReturnParameters":946,"id":1033,"nodeType":"Return","src":"22378:7:0"}]},"id":1035,"nodeType":"IfStatement","src":"21892:511:0","trueBody":{"id":1032,"nodeType":"Block","src":"21930:420:0","statements":[{"assignments":[1000],"declarations":[{"constant":false,"id":1000,"mutability":"mutable","name":"_pricingDecimals","nameLocation":"22025:16:0","nodeType":"VariableDeclaration","scope":1032,"src":"22017:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":999,"name":"uint256","nodeType":"ElementaryTypeName","src":"22017:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1010,"initialValue":{"arguments":[{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1005,"name":"_packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":951,"src":"22059:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3438","id":1006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22070:2:0","typeDescriptions":{"typeIdentifier":"t_rational_48_by_1","typeString":"int_const 48"},"value":"48"},"src":"22059:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22052:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":1003,"name":"uint48","nodeType":"ElementaryTypeName","src":"22052:6:0","typeDescriptions":{}}},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22052:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"id":1002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22044:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1001,"name":"uint256","nodeType":"ElementaryTypeName","src":"22044:7:0","typeDescriptions":{}}},"id":1009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22044:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22017:57:0"},{"expression":{"id":1030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1011,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"22096:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"expression":{"id":1013,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22137:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22143:6:0","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":87675,"src":"22137:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTokenAmount_$88042_calldata_ptr","typeString":"struct JBTokenAmount calldata"}},"id":1015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22150:5:0","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":88037,"src":"22137:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":1016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22181:2:0","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":1017,"name":"_pricingDecimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1000,"src":"22187:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22181:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"expression":{"expression":{"id":1021,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22246:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22252:6:0","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":87675,"src":"22246:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTokenAmount_$88042_calldata_ptr","typeString":"struct JBTokenAmount calldata"}},"id":1023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22259:8:0","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":88041,"src":"22246:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1024,"name":"_pricingCurrency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":955,"src":"22269:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1025,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22287:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22293:6:0","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":87675,"src":"22287:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTokenAmount_$88042_calldata_ptr","typeString":"struct JBTokenAmount calldata"}},"id":1027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22300:8:0","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":88039,"src":"22287:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1019,"name":"_prices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":978,"src":"22229:7:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPrices_$86000","typeString":"contract IJBPrices"}},"id":1020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22237:8:0","memberName":"priceFor","nodeType":"MemberAccess","referencedDeclaration":85989,"src":"22229:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) view external returns (uint256)"}},"id":1028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22229:80:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1012,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"22105:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":1029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22105:226:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22096:235:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1031,"nodeType":"ExpressionStatement","src":"22096:235:0"}]}}]},"id":1037,"nodeType":"IfStatement","src":"21628:789:0","trueBody":{"id":975,"nodeType":"Block","src":"21675:60:0","statements":[{"expression":{"id":973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":969,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"21693:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"expression":{"id":970,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"21702:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21708:6:0","memberName":"amount","nodeType":"MemberAccess","referencedDeclaration":87675,"src":"21702:12:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBTokenAmount_$88042_calldata_ptr","typeString":"struct JBTokenAmount calldata"}},"id":972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"21715:5:0","memberName":"value","nodeType":"MemberAccess","referencedDeclaration":88037,"src":"21702:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"21693:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":974,"nodeType":"ExpressionStatement","src":"21693:27:0"}]}}]},{"assignments":[1040],"declarations":[{"constant":false,"id":1040,"mutability":"mutable","name":"_credits","nameLocation":"22527:8:0","nodeType":"VariableDeclaration","scope":1234,"src":"22519:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1039,"name":"uint256","nodeType":"ElementaryTypeName","src":"22519:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1045,"initialValue":{"baseExpression":{"id":1041,"name":"creditsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"22538:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":1044,"indexExpression":{"expression":{"id":1042,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22548:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22554:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"22548:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22538:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22519:47:0"},{"assignments":[1047],"declarations":[{"constant":false,"id":1047,"mutability":"mutable","name":"_leftoverAmount","nameLocation":"22700:15:0","nodeType":"VariableDeclaration","scope":1234,"src":"22692:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1046,"name":"uint256","nodeType":"ElementaryTypeName","src":"22692:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1049,"initialValue":{"id":1048,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":948,"src":"22718:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22692:32:0"},{"assignments":[1051],"declarations":[{"constant":false,"id":1051,"mutability":"mutable","name":"_stashedCredits","nameLocation":"22898:15:0","nodeType":"VariableDeclaration","scope":1234,"src":"22890:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1050,"name":"uint256","nodeType":"ElementaryTypeName","src":"22890:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1052,"nodeType":"VariableDeclarationStatement","src":"22890:23:0"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1053,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22927:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22933:5:0","memberName":"payer","nodeType":"MemberAccess","referencedDeclaration":87668,"src":"22927:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1055,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"22942:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22948:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"22942:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"22927:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1068,"nodeType":"Block","src":"23061:51:0","statements":[{"expression":{"id":1066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1064,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"23075:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1065,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"23093:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23075:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1067,"nodeType":"ExpressionStatement","src":"23075:26:0"}]},"id":1069,"nodeType":"IfStatement","src":"22923:189:0","trueBody":{"id":1063,"nodeType":"Block","src":"22961:94:0","statements":[{"id":1062,"nodeType":"UncheckedBlock","src":"22975:70:0","statements":[{"expression":{"id":1060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1058,"name":"_leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"23003:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1059,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"23022:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23003:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1061,"nodeType":"ExpressionStatement","src":"23003:27:0"}]}]}},{"assignments":[1071],"declarations":[{"constant":false,"id":1071,"mutability":"mutable","name":"_allowOverspending","nameLocation":"23338:18:0","nodeType":"VariableDeclaration","scope":1234,"src":"23333:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1070,"name":"bool","nodeType":"ElementaryTypeName","src":"23333:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1072,"nodeType":"VariableDeclarationStatement","src":"23333:23:0"},{"assignments":[1074,1076],"declarations":[{"constant":false,"id":1074,"mutability":"mutable","name":"_found","nameLocation":"23435:6:0","nodeType":"VariableDeclaration","scope":1234,"src":"23430:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1073,"name":"bool","nodeType":"ElementaryTypeName","src":"23430:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1076,"mutability":"mutable","name":"_metadata","nameLocation":"23456:9:0","nodeType":"VariableDeclaration","scope":1234,"src":"23443:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1075,"name":"bytes","nodeType":"ElementaryTypeName","src":"23443:5:0","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1083,"initialValue":{"arguments":[{"id":1079,"name":"payMetadataDelegateId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5446,"src":"23503:21:0","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"expression":{"id":1080,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"23526:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23532:13:0","memberName":"payerMetadata","nodeType":"MemberAccess","referencedDeclaration":87690,"src":"23526:19:0","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":1077,"name":"JBDelegateMetadataLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88669,"src":"23469:21:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBDelegateMetadataLib_$88669_$","typeString":"type(library JBDelegateMetadataLib)"}},"id":1078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23491:11:0","memberName":"getMetadata","nodeType":"MemberAccess","referencedDeclaration":88415,"src":"23469:33:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes4_$_t_bytes_calldata_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes4,bytes calldata) pure returns (bool,bytes memory)"}},"id":1082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23469:77:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"23429:117:0"},{"condition":{"id":1084,"name":"_found","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1074,"src":"23569:6:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"id":1146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24263:49:0","subExpression":{"expression":{"arguments":[{"arguments":[{"id":1142,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"24286:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":1141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24278:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1140,"name":"address","nodeType":"ElementaryTypeName","src":"24278:7:0","typeDescriptions":{}}},"id":1143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24278:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1138,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"24264:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24270:7:0","memberName":"flagsOf","nodeType":"MemberAccess","referencedDeclaration":28324,"src":"24264:13:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_JBTiered721Flags_$29646_memory_ptr_$","typeString":"function (address) view external returns (struct JBTiered721Flags memory)"}},"id":1144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24264:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":1145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24293:19:0","memberName":"preventOverspending","nodeType":"MemberAccess","referencedDeclaration":29645,"src":"24264:48:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1152,"nodeType":"IfStatement","src":"24259:105:0","trueBody":{"id":1151,"nodeType":"Block","src":"24314:50:0","statements":[{"expression":{"id":1149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1147,"name":"_allowOverspending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"24328:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24349:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"24328:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1150,"nodeType":"ExpressionStatement","src":"24328:25:0"}]}},"id":1153,"nodeType":"IfStatement","src":"23565:799:0","trueBody":{"id":1137,"nodeType":"Block","src":"23577:676:0","statements":[{"assignments":[1089],"declarations":[{"constant":false,"id":1089,"mutability":"mutable","name":"_tierIdsToMint","nameLocation":"23664:14:0","nodeType":"VariableDeclaration","scope":1137,"src":"23648:30:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":1087,"name":"uint16","nodeType":"ElementaryTypeName","src":"23648:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":1088,"nodeType":"ArrayTypeName","src":"23648:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"}],"id":1090,"nodeType":"VariableDeclarationStatement","src":"23648:30:0"},{"expression":{"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1091,"name":"_allowOverspending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"23730:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":1092,"name":"_tierIdsToMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"23750:14:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"}}],"id":1093,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"23729:36:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_array$_t_uint16_$dyn_memory_ptr_$","typeString":"tuple(bool,uint16[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1096,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1076,"src":"23795:9:0","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":1098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23807:4:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":1097,"name":"bool","nodeType":"ElementaryTypeName","src":"23807:4:0","typeDescriptions":{}}},{"baseExpression":{"id":1100,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23813:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":1099,"name":"uint16","nodeType":"ElementaryTypeName","src":"23813:6:0","typeDescriptions":{}}},"id":1101,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"23813:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint16_$dyn_memory_ptr_$","typeString":"type(uint16[] memory)"}}],"id":1102,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"23806:16:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bool_$_$_t_type$_t_array$_t_uint16_$dyn_memory_ptr_$_$","typeString":"tuple(type(bool),type(uint16[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_bool_$_$_t_type$_t_array$_t_uint16_$dyn_memory_ptr_$_$","typeString":"tuple(type(bool),type(uint16[] memory))"}],"expression":{"id":1094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23784:3:0","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23788:6:0","memberName":"decode","nodeType":"MemberAccess","src":"23784:10:0","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23784:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_array$_t_uint16_$dyn_memory_ptr_$","typeString":"tuple(bool,uint16[] memory)"}},"src":"23729:94:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1105,"nodeType":"ExpressionStatement","src":"23729:94:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1106,"name":"_allowOverspending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"23905:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"arguments":[{"arguments":[{"id":1111,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"23949:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":1110,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23941:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1109,"name":"address","nodeType":"ElementaryTypeName","src":"23941:7:0","typeDescriptions":{}}},"id":1112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23941:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1107,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"23927:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23933:7:0","memberName":"flagsOf","nodeType":"MemberAccess","referencedDeclaration":28324,"src":"23927:13:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_struct$_JBTiered721Flags_$29646_memory_ptr_$","typeString":"function (address) view external returns (struct JBTiered721Flags memory)"}},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23927:28:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":1114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23956:19:0","memberName":"preventOverspending","nodeType":"MemberAccess","referencedDeclaration":29645,"src":"23927:48:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"23905:70:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1121,"nodeType":"IfStatement","src":"23901:135:0","trueBody":{"id":1120,"nodeType":"Block","src":"23977:59:0","statements":[{"expression":{"id":1118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1116,"name":"_allowOverspending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"23995:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"24016:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"23995:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1119,"nodeType":"ExpressionStatement","src":"23995:26:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1122,"name":"_tierIdsToMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"24104:14:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"}},"id":1123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24119:6:0","memberName":"length","nodeType":"MemberAccess","src":"24104:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":1124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24129:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24104:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1136,"nodeType":"IfStatement","src":"24100:143:0","trueBody":{"id":1135,"nodeType":"Block","src":"24132:111:0","statements":[{"expression":{"id":1133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1126,"name":"_leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"24150:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1128,"name":"_leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"24177:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1129,"name":"_tierIdsToMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"24194:14:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"}},{"expression":{"id":1130,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"24210:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"24216:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"24210:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1127,"name":"_mintAll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1323,"src":"24168:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_array$_t_uint16_$dyn_memory_ptr_$_t_address_$returns$_t_uint256_$","typeString":"function (uint256,uint16[] memory,address) returns (uint256)"}},"id":1132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24168:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24150:78:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1134,"nodeType":"ExpressionStatement","src":"24150:78:0"}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1154,"name":"_leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"24474:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":1155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24493:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24474:20:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1210,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"25417:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1211,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"25429:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25417:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1232,"nodeType":"IfStatement","src":"25413:291:0","trueBody":{"id":1231,"nodeType":"Block","src":"25446:258:0","statements":[{"eventCall":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1214,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"25519:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1215,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"25530:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25519:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1217,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"25547:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1218,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"25564:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25570:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"25564:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1220,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25583:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25587:6:0","memberName":"sender","nodeType":"MemberAccess","src":"25583:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1213,"name":"UseCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27913,"src":"25508:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,address)"}},"id":1222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25508:86:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1223,"nodeType":"EmitStatement","src":"25503:91:0"},{"expression":{"id":1229,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1224,"name":"creditsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"25647:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":1227,"indexExpression":{"expression":{"id":1225,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"25657:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25663:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"25657:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25647:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1228,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"25678:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25647:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1230,"nodeType":"ExpressionStatement","src":"25647:46:0"}]}},"id":1233,"nodeType":"IfStatement","src":"24470:1234:0","trueBody":{"id":1209,"nodeType":"Block","src":"24496:911:0","statements":[{"condition":{"id":1158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24613:19:0","subExpression":{"id":1157,"name":"_allowOverspending","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1071,"src":"24614:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1162,"nodeType":"IfStatement","src":"24609:46:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1159,"name":"OVERSPENDING","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"24641:12:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24641:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1161,"nodeType":"RevertStatement","src":"24634:21:0"}},{"id":1208,"nodeType":"UncheckedBlock","src":"24716:642:0","statements":[{"assignments":[1164],"declarations":[{"constant":false,"id":1164,"mutability":"mutable","name":"_newCredits","nameLocation":"24818:11:0","nodeType":"VariableDeclaration","scope":1208,"src":"24810:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1163,"name":"uint256","nodeType":"ElementaryTypeName","src":"24810:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1168,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1165,"name":"_leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"24832:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":1166,"name":"_stashedCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"24850:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24832:33:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"24810:55:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1169,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"24935:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1170,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"24949:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24935:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1184,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"25093:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1185,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"25104:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25093:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1199,"nodeType":"IfStatement","src":"25089:152:0","trueBody":{"id":1198,"nodeType":"Block","src":"25117:124:0","statements":[{"eventCall":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1188,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"25155:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1189,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"25166:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25155:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1191,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"25179:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1192,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"25192:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25198:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"25192:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1194,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25211:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25215:6:0","memberName":"sender","nodeType":"MemberAccess","src":"25211:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1187,"name":"UseCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27913,"src":"25144:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,address)"}},"id":1196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25144:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1197,"nodeType":"EmitStatement","src":"25139:83:0"}]}},"id":1200,"nodeType":"IfStatement","src":"24931:310:0","trueBody":{"id":1183,"nodeType":"Block","src":"24959:124:0","statements":[{"eventCall":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1173,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"24997:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1174,"name":"_credits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1040,"src":"25011:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24997:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1176,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"25021:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1177,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"25034:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25040:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"25034:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1179,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25053:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25057:6:0","memberName":"sender","nodeType":"MemberAccess","src":"25053:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1172,"name":"AddCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27903,"src":"24986:10:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,address)"}},"id":1181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24986:78:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1182,"nodeType":"EmitStatement","src":"24981:83:0"}]}},{"expression":{"id":1206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1201,"name":"creditsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90,"src":"25301:9:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":1204,"indexExpression":{"expression":{"id":1202,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":943,"src":"25311:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1 calldata"}},"id":1203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25317:11:0","memberName":"beneficiary","nodeType":"MemberAccess","referencedDeclaration":87682,"src":"25311:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25301:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1205,"name":"_newCredits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1164,"src":"25332:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25301:42:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1207,"nodeType":"ExpressionStatement","src":"25301:42:0"}]}]}}]},"baseFunctions":[5925],"documentation":{"id":940,"nodeType":"StructuredDocumentation","src":"21140:140:0","text":"@notice Mints for a given contribution to the beneficiary.\n @param _data The standard data passed when paying a Juicebox project."},"implemented":true,"kind":"function","modifiers":[],"name":"_processPayment","nameLocation":"21294:15:0","overrides":{"id":945,"nodeType":"OverrideSpecifier","overrides":[],"src":"21361:8:0"},"parameters":{"id":944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":943,"mutability":"mutable","name":"_data","nameLocation":"21337:5:0","nodeType":"VariableDeclaration","scope":1235,"src":"21310:32:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_calldata_ptr","typeString":"struct JBDidPayData3_1_1"},"typeName":{"id":942,"nodeType":"UserDefinedTypeName","pathNode":{"id":941,"name":"JBDidPayData3_1_1","nameLocations":["21310:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":87691,"src":"21310:17:0"},"referencedDeclaration":87691,"src":"21310:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBDidPayData3_1_1_$87691_storage_ptr","typeString":"struct JBDidPayData3_1_1"}},"visibility":"internal"}],"src":"21309:34:0"},"returnParameters":{"id":946,"nodeType":"ParameterList","parameters":[],"src":"21370:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1250,"nodeType":"FunctionDefinition","src":"25857:150:0","nodes":[],"body":{"id":1249,"nodeType":"Block","src":"25929:78:0","nodes":[],"statements":[{"expression":{"arguments":[{"id":1246,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1239,"src":"25990:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}],"expression":{"id":1243,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"25973:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25979:10:0","memberName":"recordBurn","nodeType":"MemberAccess","referencedDeclaration":28403,"src":"25973:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$","typeString":"function (uint256[] memory) external"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25973:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1248,"nodeType":"ExpressionStatement","src":"25973:27:0"}]},"baseFunctions":[5935],"documentation":{"id":1236,"nodeType":"StructuredDocumentation","src":"25716:136:0","text":"@notice A function that runs when tokens are burned via redemption.\n @param _tokenIds The IDs of the tokens that were burned."},"implemented":true,"kind":"function","modifiers":[],"name":"_didBurn","nameLocation":"25866:8:0","overrides":{"id":1241,"nodeType":"OverrideSpecifier","overrides":[],"src":"25920:8:0"},"parameters":{"id":1240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1239,"mutability":"mutable","name":"_tokenIds","nameLocation":"25892:9:0","nodeType":"VariableDeclaration","scope":1250,"src":"25875:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1237,"name":"uint256","nodeType":"ElementaryTypeName","src":"25875:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1238,"nodeType":"ArrayTypeName","src":"25875:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"25874:28:0"},"returnParameters":{"id":1242,"nodeType":"ParameterList","parameters":[],"src":"25929:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1323,"nodeType":"FunctionDefinition","src":"26387:1098:0","nodes":[],"body":{"id":1322,"nodeType":"Block","src":"26536:949:0","nodes":[],"statements":[{"assignments":[1267],"declarations":[{"constant":false,"id":1267,"mutability":"mutable","name":"_tokenIds","nameLocation":"26608:9:0","nodeType":"VariableDeclaration","scope":1322,"src":"26591:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1265,"name":"uint256","nodeType":"ElementaryTypeName","src":"26591:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1266,"nodeType":"ArrayTypeName","src":"26591:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":1268,"nodeType":"VariableDeclarationStatement","src":"26591:26:0"},{"expression":{"id":1278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"components":[{"id":1269,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"26715:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"id":1270,"name":"leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1261,"src":"26726:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1271,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"26714:27:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(uint256[] memory,uint256)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1274,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1253,"src":"26774:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1275,"name":"_mintTierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1256,"src":"26795:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"}},{"hexValue":"66616c7365","id":1276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"26821:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1272,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"26744:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26750:10:0","memberName":"recordMint","nodeType":"MemberAccess","referencedDeclaration":28418,"src":"26744:16:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_array$_t_uint16_$dyn_memory_ptr_$_t_bool_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"function (uint256,uint16[] memory,bool) external returns (uint256[] memory,uint256)"}},"id":1277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26744:113:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$","typeString":"tuple(uint256[] memory,uint256)"}},"src":"26714:143:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1279,"nodeType":"ExpressionStatement","src":"26714:143:0"},{"assignments":[1281],"declarations":[{"constant":false,"id":1281,"mutability":"mutable","name":"_mintsLength","nameLocation":"26927:12:0","nodeType":"VariableDeclaration","scope":1322,"src":"26919:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1280,"name":"uint256","nodeType":"ElementaryTypeName","src":"26919:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1284,"initialValue":{"expression":{"id":1282,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"26942:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1283,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26952:6:0","memberName":"length","nodeType":"MemberAccess","src":"26942:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"26919:39:0"},{"assignments":[1286],"declarations":[{"constant":false,"id":1286,"mutability":"mutable","name":"_tokenId","nameLocation":"27040:8:0","nodeType":"VariableDeclaration","scope":1322,"src":"27032:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1285,"name":"uint256","nodeType":"ElementaryTypeName","src":"27032:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1287,"nodeType":"VariableDeclarationStatement","src":"27032:16:0"},{"body":{"id":1320,"nodeType":"Block","src":"27144:335:0","statements":[{"expression":{"id":1298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1294,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1286,"src":"27220:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":1295,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1267,"src":"27231:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":1297,"indexExpression":{"id":1296,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"27241:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27231:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27220:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1299,"nodeType":"ExpressionStatement","src":"27220:24:0"},{"expression":{"arguments":[{"id":1301,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"27297:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1302,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1286,"src":"27311:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1300,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5104,"src":"27291:5:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":1303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27291:29:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1304,"nodeType":"ExpressionStatement","src":"27291:29:0"},{"eventCall":{"arguments":[{"id":1306,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1286,"src":"27345:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"id":1307,"name":"_mintTierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1256,"src":"27355:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[] memory"}},"id":1309,"indexExpression":{"id":1308,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"27368:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27355:16:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":1310,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"27373:12:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1311,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1253,"src":"27387:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1312,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27396:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27400:6:0","memberName":"sender","nodeType":"MemberAccess","src":"27396:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1305,"name":"Mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27841,"src":"27340:4:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address,uint256,address)"}},"id":1314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27340:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1315,"nodeType":"EmitStatement","src":"27335:72:0"},{"id":1319,"nodeType":"UncheckedBlock","src":"27422:47:0","statements":[{"expression":{"id":1317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"27450:4:0","subExpression":{"id":1316,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"27452:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1318,"nodeType":"ExpressionStatement","src":"27450:4:0"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1291,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1289,"src":"27124:2:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1292,"name":"_mintsLength","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"27129:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27124:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1321,"initializationExpression":{"assignments":[1289],"declarations":[{"constant":false,"id":1289,"mutability":"mutable","name":"_i","nameLocation":"27120:2:0","nodeType":"VariableDeclaration","scope":1321,"src":"27112:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1288,"name":"uint256","nodeType":"ElementaryTypeName","src":"27112:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1290,"nodeType":"VariableDeclarationStatement","src":"27112:10:0"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"27107:372:0"}]},"documentation":{"id":1251,"nodeType":"StructuredDocumentation","src":"26013:369:0","text":"@notice Mints a token in all provided tiers.\n @param _amount The amount to base the mints on. The combined price floors of all tokens to be minted must fit within this amount.\n @param _mintTierIds An array of tier IDs to be minted.\n @param _beneficiary The address to mint for.\n @return leftoverAmount The amount leftover after the mint."},"implemented":true,"kind":"function","modifiers":[],"name":"_mintAll","nameLocation":"26396:8:0","parameters":{"id":1259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1253,"mutability":"mutable","name":"_amount","nameLocation":"26413:7:0","nodeType":"VariableDeclaration","scope":1323,"src":"26405:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1252,"name":"uint256","nodeType":"ElementaryTypeName","src":"26405:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1256,"mutability":"mutable","name":"_mintTierIds","nameLocation":"26438:12:0","nodeType":"VariableDeclaration","scope":1323,"src":"26422:28:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_memory_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":1254,"name":"uint16","nodeType":"ElementaryTypeName","src":"26422:6:0","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":1255,"nodeType":"ArrayTypeName","src":"26422:8:0","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"},{"constant":false,"id":1258,"mutability":"mutable","name":"_beneficiary","nameLocation":"26460:12:0","nodeType":"VariableDeclaration","scope":1323,"src":"26452:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1257,"name":"address","nodeType":"ElementaryTypeName","src":"26452:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26404:69:0"},"returnParameters":{"id":1262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1261,"mutability":"mutable","name":"leftoverAmount","nameLocation":"26516:14:0","nodeType":"VariableDeclaration","scope":1323,"src":"26508:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1260,"name":"uint256","nodeType":"ElementaryTypeName","src":"26508:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26507:24:0"},"scope":1482,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":1410,"nodeType":"FunctionDefinition","src":"27766:1193:0","nodes":[],"body":{"id":1409,"nodeType":"Block","src":"27868:1091:0","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1334,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"27953:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27970:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27962:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1335,"name":"address","nodeType":"ElementaryTypeName","src":"27962:7:0","typeDescriptions":{}}},"id":1338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27962:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"27953:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1400,"nodeType":"IfStatement","src":"27949:945:0","trueBody":{"id":1399,"nodeType":"Block","src":"27974:920:0","statements":[{"assignments":[1342],"declarations":[{"constant":false,"id":1342,"mutability":"mutable","name":"_tier","nameLocation":"28049:5:0","nodeType":"VariableDeclaration","scope":1399,"src":"28032:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":1341,"nodeType":"UserDefinedTypeName","pathNode":{"id":1340,"name":"JB721Tier","nameLocations":["28032:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"28032:9:0"},"referencedDeclaration":29413,"src":"28032:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"id":1352,"initialValue":{"arguments":[{"arguments":[{"id":1347,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"28085:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":1346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28077:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1345,"name":"address","nodeType":"ElementaryTypeName","src":"28077:7:0","typeDescriptions":{}}},"id":1348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28077:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1349,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1330,"src":"28092:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":1350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"28102:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1343,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"28057:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28063:13:0","memberName":"tierOfTokenId","nodeType":"MemberAccess","referencedDeclaration":28247,"src":"28057:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_struct$_JB721Tier_$29413_memory_ptr_$","typeString":"function (address,uint256,bool) view external returns (struct JB721Tier memory)"}},"id":1351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28057:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}},"nodeType":"VariableDeclarationStatement","src":"28032:76:0"},{"condition":{"expression":{"id":1353,"name":"_tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1342,"src":"28184:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}},"id":1354,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"28190:17:0","memberName":"transfersPausable","nodeType":"MemberAccess","referencedDeclaration":29410,"src":"28184:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1383,"nodeType":"IfStatement","src":"28180:513:0","trueBody":{"id":1382,"nodeType":"Block","src":"28209:484:0","statements":[{"assignments":[1357],"declarations":[{"constant":false,"id":1357,"mutability":"mutable","name":"_fundingCycle","nameLocation":"28324:13:0","nodeType":"VariableDeclaration","scope":1382,"src":"28302:35:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":1356,"nodeType":"UserDefinedTypeName","pathNode":{"id":1355,"name":"JBFundingCycle","nameLocations":["28302:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"28302:14:0"},"referencedDeclaration":87801,"src":"28302:14:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":1362,"initialValue":{"arguments":[{"id":1360,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5454,"src":"28368:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1358,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84,"src":"28340:17:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":1359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28358:9:0","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"28340:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":1361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28340:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"28302:76:0"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1363,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"28422:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1366,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28437:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28429:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1364,"name":"address","nodeType":"ElementaryTypeName","src":"28429:7:0","typeDescriptions":{}}},"id":1367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28429:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"28422:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"components":[{"arguments":[{"id":1373,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1357,"src":"28593:13:0","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}],"expression":{"id":1371,"name":"JBFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87442,"src":"28553:30:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBFundingCycleMetadataResolver_$87442_$","typeString":"type(library JBFundingCycleMetadataResolver)"}},"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28584:8:0","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":87189,"src":"28553:39:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_uint256_$","typeString":"function (struct JBFundingCycle memory) pure returns (uint256)"}},"id":1374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28553:54:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1375,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"28552:56:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1369,"name":"JBTiered721FundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29036,"src":"28467:39:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBTiered721FundingCycleMetadataResolver_$29036_$","typeString":"type(library JBTiered721FundingCycleMetadataResolver)"}},"id":1370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28507:15:0","memberName":"transfersPaused","nodeType":"MemberAccess","referencedDeclaration":28972,"src":"28467:55:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":1376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28467:167:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28422:212:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1381,"nodeType":"IfStatement","src":"28397:281:0","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1378,"name":"TRANSFERS_PAUSED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":62,"src":"28660:16:0","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28660:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1380,"nodeType":"RevertStatement","src":"28653:25:0"}}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":1384,"name":"_firstOwnerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"28813:13:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":1386,"indexExpression":{"id":1385,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1330,"src":"28827:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28813:23:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1389,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28848:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28840:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1387,"name":"address","nodeType":"ElementaryTypeName","src":"28840:7:0","typeDescriptions":{}}},"id":1390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28840:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"28813:37:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1398,"nodeType":"IfStatement","src":"28809:74:0","trueBody":{"expression":{"id":1396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1392,"name":"_firstOwnerOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"28852:13:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":1394,"indexExpression":{"id":1393,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1330,"src":"28866:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28852:23:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1395,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"28878:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"28852:31:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1397,"nodeType":"ExpressionStatement","src":"28852:31:0"}}]}},{"expression":{"arguments":[{"id":1404,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1326,"src":"28931:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1405,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1328,"src":"28938:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1406,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1330,"src":"28943:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1401,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"28904:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBTiered721Delegate_$1482_$","typeString":"type(contract super JBTiered721Delegate)"}},"id":1403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28910:20:0","memberName":"_beforeTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":5364,"src":"28904:26:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":1407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28904:48:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1408,"nodeType":"ExpressionStatement","src":"28904:48:0"}]},"baseFunctions":[5364],"documentation":{"id":1324,"nodeType":"StructuredDocumentation","src":"27491:270:0","text":"@notice Hook to register a token's first owner (if necessary) before transferring it.\n @param _from The address to transfer the token from.\n @param _to The address to transfer the token to.\n @param _tokenId The ID of the token being transferred."},"implemented":true,"kind":"function","modifiers":[],"name":"_beforeTokenTransfer","nameLocation":"27775:20:0","overrides":{"id":1332,"nodeType":"OverrideSpecifier","overrides":[],"src":"27859:8:0"},"parameters":{"id":1331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1326,"mutability":"mutable","name":"_from","nameLocation":"27804:5:0","nodeType":"VariableDeclaration","scope":1410,"src":"27796:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1325,"name":"address","nodeType":"ElementaryTypeName","src":"27796:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1328,"mutability":"mutable","name":"_to","nameLocation":"27819:3:0","nodeType":"VariableDeclaration","scope":1410,"src":"27811:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1327,"name":"address","nodeType":"ElementaryTypeName","src":"27811:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1330,"mutability":"mutable","name":"_tokenId","nameLocation":"27832:8:0","nodeType":"VariableDeclaration","scope":1410,"src":"27824:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1329,"name":"uint256","nodeType":"ElementaryTypeName","src":"27824:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27795:46:0"},"returnParameters":{"id":1333,"nodeType":"ParameterList","parameters":[],"src":"27868:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1459,"nodeType":"FunctionDefinition","src":"29215:569:0","nodes":[],"body":{"id":1458,"nodeType":"Block","src":"29316:468:0","nodes":[],"statements":[{"assignments":[1423],"declarations":[{"constant":false,"id":1423,"mutability":"mutable","name":"_tier","nameLocation":"29383:5:0","nodeType":"VariableDeclaration","scope":1458,"src":"29366:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":1422,"nodeType":"UserDefinedTypeName","pathNode":{"id":1421,"name":"JB721Tier","nameLocations":["29366:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"29366:9:0"},"referencedDeclaration":29413,"src":"29366:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"id":1433,"initialValue":{"arguments":[{"arguments":[{"id":1428,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"29419:4:0","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":1427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29411:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1426,"name":"address","nodeType":"ElementaryTypeName","src":"29411:7:0","typeDescriptions":{}}},"id":1429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29411:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1430,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"29426:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"66616c7365","id":1431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"29436:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":1424,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"29391:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29397:13:0","memberName":"tierOfTokenId","nodeType":"MemberAccess","referencedDeclaration":28247,"src":"29391:19:0","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_bool_$returns$_t_struct$_JB721Tier_$29413_memory_ptr_$","typeString":"function (address,uint256,bool) view external returns (struct JB721Tier memory)"}},"id":1432,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29391:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}},"nodeType":"VariableDeclarationStatement","src":"29366:76:0"},{"expression":{"arguments":[{"expression":{"id":1437,"name":"_tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"29513:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}},"id":1438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"29519:2:0","memberName":"id","nodeType":"MemberAccess","referencedDeclaration":29390,"src":"29513:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1439,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"29523:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1440,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"29530:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1434,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79,"src":"29485:5:0","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},"id":1436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29491:21:0","memberName":"recordTransferForTier","nodeType":"MemberAccess","referencedDeclaration":28427,"src":"29485:27:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$__$","typeString":"function (uint256,address,address) external"}},"id":1441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29485:49:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1442,"nodeType":"ExpressionStatement","src":"29485:49:0"},{"expression":{"arguments":[{"id":1444,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"29691:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1445,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"29698:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1446,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"29703:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1447,"name":"_tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1423,"src":"29713:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}],"id":1443,"name":"_afterTokenTransferAccounting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1481,"src":"29661:29:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_struct$_JB721Tier_$29413_memory_ptr_$returns$__$","typeString":"function (address,address,uint256,struct JB721Tier memory)"}},"id":1448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29661:58:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1449,"nodeType":"ExpressionStatement","src":"29661:58:0"},{"expression":{"arguments":[{"id":1453,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1413,"src":"29756:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1454,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1415,"src":"29763:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1455,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"29768:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1450,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"29730:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBTiered721Delegate_$1482_$","typeString":"type(contract super JBTiered721Delegate)"}},"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29736:19:0","memberName":"_afterTokenTransfer","nodeType":"MemberAccess","referencedDeclaration":5375,"src":"29730:25:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":1456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29730:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1457,"nodeType":"ExpressionStatement","src":"29730:47:0"}]},"baseFunctions":[5375],"documentation":{"id":1411,"nodeType":"StructuredDocumentation","src":"28965:245:0","text":"@notice Transfer voting units after the transfer of a token.\n @param _from The address to transfer the token from.\n @param _to The address to transfer the token to.\n @param _tokenId The ID of the token being transferred."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransfer","nameLocation":"29224:19:0","overrides":{"id":1419,"nodeType":"OverrideSpecifier","overrides":[],"src":"29307:8:0"},"parameters":{"id":1418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1413,"mutability":"mutable","name":"_from","nameLocation":"29252:5:0","nodeType":"VariableDeclaration","scope":1459,"src":"29244:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1412,"name":"address","nodeType":"ElementaryTypeName","src":"29244:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1415,"mutability":"mutable","name":"_to","nameLocation":"29267:3:0","nodeType":"VariableDeclaration","scope":1459,"src":"29259:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1414,"name":"address","nodeType":"ElementaryTypeName","src":"29259:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1417,"mutability":"mutable","name":"_tokenId","nameLocation":"29280:8:0","nodeType":"VariableDeclaration","scope":1459,"src":"29272:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1416,"name":"uint256","nodeType":"ElementaryTypeName","src":"29272:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29243:46:0"},"returnParameters":{"id":1420,"nodeType":"ParameterList","parameters":[],"src":"29316:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":1481,"nodeType":"FunctionDefinition","src":"30184:270:0","nodes":[],"body":{"id":1480,"nodeType":"Block","src":"30330:124:0","nodes":[],"statements":[{"expression":{"id":1472,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1462,"src":"30340:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1473,"nodeType":"ExpressionStatement","src":"30340:5:0"},{"expression":{"id":1474,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1464,"src":"30411:3:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1475,"nodeType":"ExpressionStatement","src":"30411:3:0"},{"expression":{"id":1476,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1466,"src":"30424:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1477,"nodeType":"ExpressionStatement","src":"30424:8:0"},{"expression":{"id":1478,"name":"_tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1469,"src":"30442:5:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier memory"}},"id":1479,"nodeType":"ExpressionStatement","src":"30442:5:0"}]},"documentation":{"id":1460,"nodeType":"StructuredDocumentation","src":"29790:389:0","text":"@notice Custom hook to handle token/tier accounting, this way we can reuse the '_tier' instead of fetching it again.\n @param _from The address to transfer voting units from.\n @param _to The address to transfer voting units to.\n @param _tokenId The ID of the token for which voting units are being transferred.\n @param _tier The tier the token ID is part of."},"implemented":true,"kind":"function","modifiers":[],"name":"_afterTokenTransferAccounting","nameLocation":"30193:29:0","parameters":{"id":1470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1462,"mutability":"mutable","name":"_from","nameLocation":"30231:5:0","nodeType":"VariableDeclaration","scope":1481,"src":"30223:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1461,"name":"address","nodeType":"ElementaryTypeName","src":"30223:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1464,"mutability":"mutable","name":"_to","nameLocation":"30246:3:0","nodeType":"VariableDeclaration","scope":1481,"src":"30238:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1463,"name":"address","nodeType":"ElementaryTypeName","src":"30238:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1466,"mutability":"mutable","name":"_tokenId","nameLocation":"30259:8:0","nodeType":"VariableDeclaration","scope":1481,"src":"30251:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1465,"name":"uint256","nodeType":"ElementaryTypeName","src":"30251:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1469,"mutability":"mutable","name":"_tier","nameLocation":"30286:5:0","nodeType":"VariableDeclaration","scope":1481,"src":"30269:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":1468,"nodeType":"UserDefinedTypeName","pathNode":{"id":1467,"name":"JB721Tier","nameLocations":["30269:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":29413,"src":"30269:9:0"},"referencedDeclaration":29413,"src":"30269:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29413_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"30222:70:0"},"returnParameters":{"id":1471,"nodeType":"ParameterList","parameters":[],"src":"30330:0:0"},"scope":1482,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":51,"name":"JBOwnable","nameLocations":["2529:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":89080,"src":"2529:9:0"},"id":52,"nodeType":"InheritanceSpecifier","src":"2529:9:0"},{"baseName":{"id":53,"name":"JB721Delegate","nameLocations":["2540:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":5936,"src":"2540:13:0"},"id":54,"nodeType":"InheritanceSpecifier","src":"2540:13:0"},{"baseName":{"id":55,"name":"IJBTiered721Delegate","nameLocations":["2555:20:0"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"2555:20:0"},"id":56,"nodeType":"InheritanceSpecifier","src":"2555:20:0"}],"canonicalName":"JBTiered721Delegate","contractDependencies":[],"contractKind":"contract","documentation":{"id":50,"nodeType":"StructuredDocumentation","src":"2202:295:0","text":"@title JBTiered721Delegate\n @notice This delegate makes multiple NFT tiers with custom price floors available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets based on the price floors of those NFTs.\n @custom:version 3.3"},"fullyImplemented":true,"linearizedBaseContracts":[1482,28042,5936,86116,85434,85211,27791,5376,93680,93582,96799,97005,89080,89540,85331,89566,95576],"name":"JBTiered721Delegate","nameLocation":"2506:19:0","scope":1483,"usedErrors":[58,60,62,4595,4597,4599,4601,4603,4605,4607,4609,4611,5427,5429,5433,5435,5437,89103,89109,99531],"usedEvents":[27841,27851,27860,27866,27874,27880,27886,27893,27903,27913,89042,89546,93481,93490,93499]}],"license":"MIT"},"id":0} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_payMetadataDelegateId","type":"bytes4","internalType":"bytes4"},{"name":"_redeemMetadataDelegateId","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"adjustTiers","inputs":[{"name":"_tiersToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"_tierIdsToRemove","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"baseURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"codeOrigin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"contractURI","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"creditsOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"didPay","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidPayData3_1_1","components":[{"name":"payer","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"preferClaimedTokens","type":"bool","internalType":"bool"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"payerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"didRedeem","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBDidRedeemData3_1_1","components":[{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"projectTokenCount","type":"uint256","internalType":"uint256"},{"name":"reclaimedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"forwardedAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"memo","type":"string","internalType":"string"},{"name":"dataSourceMetadata","type":"bytes","internalType":"bytes"},{"name":"redeemerMetadata","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"firstOwnerOf","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"_baseUri","type":"string","internalType":"string"},{"name":"_tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"_contractUri","type":"string","internalType":"string"},{"name":"_pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"_store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"_flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"jbOwner","inputs":[],"outputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"projectId","type":"uint88","internalType":"uint88"},{"name":"permissionIndex","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"mintFor","inputs":[{"name":"_tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"_beneficiary","type":"address","internalType":"address"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"_mintReservesForTiersData","type":"tuple[]","internalType":"struct JBTiered721MintReservesForTiersData[]","components":[{"name":"tierId","type":"uint256","internalType":"uint256"},{"name":"count","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mintReservesFor","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_count","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"payMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"payParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBPayParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"payer","type":"address","internalType":"address"},{"name":"amount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBPayDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBPayDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"pricingContext","inputs":[],"outputs":[{"name":"currency","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}],"stateMutability":"view"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"redeemMetadataDelegateId","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"redeemParams","inputs":[{"name":"_data","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"reclaimAmount","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"delegateAllocations","type":"tuple[]","internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","components":[{"name":"delegate","type":"address","internalType":"contract IJBRedemptionDelegate3_1_1"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMetadata","inputs":[{"name":"_baseUri","type":"string","internalType":"string"},{"name":"_contractUri","type":"string","internalType":"string"},{"name":"_tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"_encodedIPFSUriTierId","type":"uint256","internalType":"uint256"},{"name":"_encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPermissionIndex","inputs":[{"name":"_permissionIndex","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateStore"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"_interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"","type":"tuple","internalType":"struct JBRedeemParamsData","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"holder","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"currentFundingCycleConfiguration","type":"uint256","internalType":"uint256"},{"name":"tokenCount","type":"uint256","internalType":"uint256"},{"name":"totalSupply","type":"uint256","internalType":"uint256"},{"name":"overflow","type":"uint256","internalType":"uint256"},{"name":"reclaimAmount","type":"tuple","internalType":"struct JBTokenAmount","components":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"currency","type":"uint256","internalType":"uint256"}]},{"name":"useTotalOverflow","type":"bool","internalType":"bool"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"memo","type":"string","internalType":"string"},{"name":"metadata","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"_newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnershipToProject","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AddCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AddTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"data","type":"tuple","indexed":false,"internalType":"struct JB721TierParams","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"totalAmountContributed","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MintReservedToken","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionIndexChanged","inputs":[{"name":"newIndex","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"RemoveTier","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetBaseUri","inputs":[{"name":"baseUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetContractUri","inputs":[{"name":"contractUri","type":"string","indexed":true,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetEncodedIPFSUri","inputs":[{"name":"tierId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"encodedIPFSUri","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetTokenUriResolver","inputs":[{"name":"newResolver","type":"address","indexed":true,"internalType":"contract IJB721TokenUriResolver"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UseCredits","inputs":[{"name":"changeAmount","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newTotalCredits","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALEADY_MINTED","inputs":[]},{"type":"error","name":"APPROVAL_TO_CURRENT_OWNER","inputs":[]},{"type":"error","name":"APPROVE_TO_CALLER","inputs":[]},{"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED","inputs":[]},{"type":"error","name":"INCORRECT_OWNER","inputs":[]},{"type":"error","name":"INVALID_NEW_OWNER","inputs":[{"name":"ownerAddress","type":"address","internalType":"address"},{"name":"projectId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"INVALID_PAYMENT_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_EVENT","inputs":[]},{"type":"error","name":"INVALID_REDEMPTION_METADATA","inputs":[]},{"type":"error","name":"INVALID_TOKEN_ID","inputs":[]},{"type":"error","name":"MINT_TO_ZERO","inputs":[]},{"type":"error","name":"OVERSPENDING","inputs":[]},{"type":"error","name":"PRBMath_MulDiv_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"},{"name":"denominator","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"RESERVED_TOKEN_MINTING_PAUSED","inputs":[]},{"type":"error","name":"TRANSFERS_PAUSED","inputs":[]},{"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER","inputs":[]},{"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]},{"type":"error","name":"UNAUTHORIZED_TOKEN","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED","inputs":[]}],"bytecode":{"object":"0x6101206040523480156200001257600080fd5b5060405162005c4f38038062005c4f8339810160408190526200003591620003bd565b838282866001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000077573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009d91906200041f565b6001600160a01b03808816608052811660a052868181620000be3362000101565b5050506001600160a01b0390931660c0526001600160e01b031991821660e05216610100525050600980546001600160a01b031916301790555062000446915050565b6200010e81600062000111565b50565b6001600160581b038116158015906200013257506001600160a01b03821615155b156200016f576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b038216602482015260440160405180910390fd5b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156200023e5760a05160208301516040516331a9108f60e11b81526001600160581b0390911660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa15801562000212573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023891906200041f565b62000241565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281547fff000000000000000000000000000000000000000000000000000000000000001617600160a01b8302176001600160f81b031690559091506200033f90829015620003385760a0516040516331a9108f60e11b81526001600160581b03871660048201526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156200030c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200033291906200041f565b62000345565b8562000345565b50505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600160a01b03811681146200010e57600080fd5b80516001600160e01b031981168114620003b857600080fd5b919050565b60008060008060808587031215620003d457600080fd5b8451620003e18162000389565b6020860151909450620003f48162000389565b925062000404604086016200039f565b915062000414606086016200039f565b905092959194509250565b6000602082840312156200043257600080fd5b81516200043f8162000389565b9392505050565b60805160a05160c05160e05161010051615777620004d8600039600081816104c801528181610b8801526119c801526000818161047b0152612c0401526000818161085401528181610adc015261117401526000818161064601528181611621015281816128ea0152818161300401526130fc015260008181610793015281816125f0015261269901526157776000f3fe6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c63430008170033","sourceMap":"2497:27959:0:-:0;;;10069:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10267:10;10279:22;10303:25;10214:10;-1:-1:-1;;;;;10214:19:0;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2823:30:154;;;;;2863:20;;;;10237:14:0;632:9:153;10237:14:0;2894:30:154;2913:10;2894:18;:30::i;:::-;-1:-1:-1;;;;;;;;10205:22:6;;;;;-1:-1:-1;;;;;;10237:46:6;;;;;10293:52;;;-1:-1:-1;;10340:10:0::2;:26:::0;;-1:-1:-1;;;;;;10340:26:0::2;10361:4;10340:26;::::0;;-1:-1:-1;2497:27959:0;;-1:-1:-1;;2497:27959:0;8360:113:154;8434:32;8453:9;8464:1;8434:18;:32::i;:::-;8360:113;:::o;8816:1038::-;-1:-1:-1;;;;;8989:15:154;;;;;;:42;;-1:-1:-1;;;;;;9008:23:154;;;;8989:42;8985:107;;;9052:40;;-1:-1:-1;;;9052:40:154;;-1:-1:-1;;;;;1461:32:197;;9052:40:154;;;1443:51:197;-1:-1:-1;;;;;1530:31:197;;1510:18;;;1503:59;1416:18;;9052:40:154;;;;;;;8985:107;9147:35;;;;;;;;-1:-1:-1;9147:35:154;;-1:-1:-1;;;;;9147:35:154;;;;-1:-1:-1;;;9147:35:154;;-1:-1:-1;;;;;9147:35:154;;;;;;;-1:-1:-1;;;9147:35:154;;;;;;;;;;;;;;9270:25;:94;;9326:8;;9343:20;;;;9326:38;;-1:-1:-1;;;9326:38:154;;-1:-1:-1;;;;;1736:31:197;;;9326:38:154;;;1718:50:197;-1:-1:-1;;;;;9326:16:154;;;;;;1691:18:197;;9326:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9270:94;;;9307:16;;9270:94;9535:116;;;;;;;;-1:-1:-1;;;;;9535:116:154;;;;;-1:-1:-1;;;;;9535:116:154;;;;;;;;-1:-1:-1;9535:116:154;;;;;;;9525:126;;;;;-1:-1:-1;;;9525:126:154;;;-1:-1:-1;;;;;9525:126:154;;;9250:114;;-1:-1:-1;9758:89:154;;9250:114;;9788:15;:58;;9818:8;;:28;;-1:-1:-1;;;9818:28:154;;-1:-1:-1;;;;;1736:31:197;;9818:28:154;;;1718:50:197;-1:-1:-1;;;;;9818:16:154;;;;;;1691:18:197;;9818:28:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9758:18;:89::i;9788:58::-;9806:9;9758:18;:89::i;:::-;8899:955;;8816:1038;;:::o;873:190:153:-;1047:8;-1:-1:-1;;;;;1011:45:153;1032:13;-1:-1:-1;;;;;1011:45:153;;;;;;;;;;;873:190;;:::o;14:145:197:-;-1:-1:-1;;;;;103:31:197;;93:42;;83:70;;149:1;146;139:12;164:177;242:13;;-1:-1:-1;;;;;;284:32:197;;274:43;;264:71;;331:1;328;321:12;264:71;164:177;;;:::o;346:628::-;489:6;497;505;513;566:3;554:9;545:7;541:23;537:33;534:53;;;583:1;580;573:12;534:53;615:9;609:16;634:45;673:5;634:45;:::i;:::-;748:2;733:18;;727:25;698:5;;-1:-1:-1;761:47:197;727:25;761:47;:::i;:::-;827:7;-1:-1:-1;853:48:197;897:2;882:18;;853:48;:::i;:::-;843:58;;920:48;964:2;953:9;949:18;920:48;:::i;:::-;910:58;;346:628;;;;;;;:::o;979:286::-;1070:6;1123:2;1111:9;1102:7;1098:23;1094:32;1091:52;;;1139:1;1136;1129:12;1091:52;1171:9;1165:16;1190:45;1229:5;1190:45;:::i;:::-;1254:5;979:286;-1:-1:-1;;;979:286:197:o;1779:265::-;2497:27959:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106102725760003560e01c806370a082311161014f578063a22cb465116100c1578063c41c2f241161007a578063c41c2f2414610842578063c87b56dd14610876578063d46cf17114610896578063e8a3d485146108c5578063e985e9c5146108da578063f2fde38b1461092357600080fd5b8063a22cb46514610712578063a51cfd1814610732578063aa4fb15b14610761578063ad007d6314610781578063b88d4fde146107b5578063ba23c36e146107d557600080fd5b80638da5cb5b116101135780638da5cb5b146106685780639494bf721461067d57806395d89b411461069d578063975057e7146106b2578063a1250d7f146106d2578063a220d696146106f257600080fd5b806370a08231146105bf578063715018a6146105df5780637ba62bf9146105f4578063843d92ee146106145780638b79543c1461063457600080fd5b80633fafa127116101e8578063557e7155116101ac578063557e71551461050a57806361aec7a91461052a5780636352211e1461054a5780636ac6d9411461056a5780636b204943146105975780636c0360eb146105aa57600080fd5b80633fafa1271461043357806342842e0e1461044957806346a6d981146104695780634853f5e8146104b657806354c6d1f5146104ea57600080fd5b80630bf46e591161023a5780630bf46e59146103655780631435aad5146103785780631d153ca41461039857806323b872dd146103b8578063245a45b5146103d85780632a596e531461041357600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce57806308786b1a14610306578063095ea7b314610343575b600080fd5b34801561028357600080fd5b50610297610292366004613cec565b610943565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161096e565b6040516102a39190613d59565b3480156102da57600080fd5b506102ee6102e9366004613d6c565b610a00565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b506008546040805165ffffffffffff8084168252603084901c166020820152606092831c91810191909152016102a3565b34801561034f57600080fd5b5061036361035e366004613daa565b610a27565b005b610363610373366004613dd6565b610ab3565b34801561038457600080fd5b50610363610393366004613e59565b610c7f565b3480156103a457600080fd5b506009546102ee906001600160a01b031681565b3480156103c457600080fd5b506103636103d3366004613eee565b610ec2565b3480156103e457600080fd5b506104056103f3366004613f2f565b600c6020526000908152604090205481565b6040519081526020016102a3565b34801561041f57600080fd5b5061036361042e366004613f4c565b610ef4565b34801561043f57600080fd5b5061040560065481565b34801561045557600080fd5b50610363610464366004613eee565b610f4d565b34801561047557600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160e01b031990911681526020016102a3565b3480156104c257600080fd5b5061049d7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f657600080fd5b506102ee610505366004613d6c565b610f68565b34801561051657600080fd5b50600b546102ee906001600160a01b031681565b34801561053657600080fd5b50610363610545366004613fc0565b610fa9565b34801561055657600080fd5b506102ee610565366004613d6c565b610fbd565b34801561057657600080fd5b5061058a610585366004614027565b610ff3565b6040516102a391906140b9565b6103636105a53660046140cc565b61114c565b3480156105b657600080fd5b506102c1611223565b3480156105cb57600080fd5b506104056105da366004613f2f565b6112b1565b3480156105eb57600080fd5b50610363611327565b34801561060057600080fd5b5061040561060f36600461421a565b61133c565b34801561062057600080fd5b5061036361062f3660046142d7565b6113b7565b34801561064057600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561067457600080fd5b506102ee6115ad565b34801561068957600080fd5b50610405610698366004614371565b61169a565b3480156106a957600080fd5b506102c16116cb565b3480156106be57600080fd5b50600a546102ee906001600160a01b031681565b3480156106de57600080fd5b506103636106ed36600461469e565b6116da565b3480156106fe57600080fd5b5061036361070d366004613d6c565b61193f565b34801561071e57600080fd5b5061036361072d3660046147be565b61198d565b34801561073e57600080fd5b5061075261074d366004614371565b611998565b6040516102a3939291906147f7565b34801561076d57600080fd5b5061036361077c366004614898565b611bde565b34801561078d57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107c157600080fd5b506103636107d03660046148ba565b611dfb565b3480156107e157600080fd5b50600054610812906001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b03909216602084015260ff16908201526060016102a3565b34801561084e57600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000000081565b34801561088257600080fd5b506102c1610891366004613d6c565b611e2e565b3480156108a257600080fd5b506108b66108b1366004614939565b61202b565b6040516102a393929190614974565b3480156108d157600080fd5b506102c161212b565b3480156108e657600080fd5b506102976108f5366004614a03565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561092f57600080fd5b5061036361093e366004613f2f565b612138565b60006001600160e01b0319821663f882622f60e01b1480610968575061096882612184565b92915050565b60606001805461097d90614a31565b80601f01602080910402602001604051908101604052809291908181526020018280546109a990614a31565b80156109f65780601f106109cb576101008083540402835291602001916109f6565b820191906000526020600020905b8154815290600101906020018083116109d957829003601f168201915b5050505050905090565b6000610a0b82612215565b506000908152600460205260409020546001600160a01b031690565b6000610a3282610fbd565b9050806001600160a01b0316836001600160a01b031603610a665760405163133f8be960e01b815260040160405180910390fd5b336001600160a01b03821614801590610a865750610a8481336108f5565b155b15610aa45760405163e5fa0e3560e01b815260040160405180910390fd5b610aae838361224a565b505050565b34151580610b515750600654604051636e49181f60e01b815260048101919091523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015610b2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4f9190614a70565b155b80610b625750600654816020013514155b15610b8057604051633efca5c360e11b815260040160405180910390fd5b600080610bba7f0000000000000000000000000000000000000000000000000000000000000000610bb56101e0860186614a8d565b6122b8565b9150915060608215610bdd5781806020019051810190610bda9190614b3d565b90505b80516000805b82811015610c6d57838181518110610bfd57610bfd614b71565b60200260200101519150866000016020810190610c1a9190613f2f565b6000838152600360205260409020546001600160a01b03908116911614610c5c57604051635caf197560e01b8152600481018390526024015b60405180910390fd5b610c65826124c0565b600101610be3565b50610c7783612541565b505050505050565b610c876115ad565b6006546016610c978383836125a6565b8815610cf657600d610caa8a8c83614bcf565b508989604051610cbb929190614c8e565b604051908190038120338252907f7bc9110d5de090dd59e07912d2b93a5a27ac70a60c8d8e324db4f9ee8b8b5c139060200160405180910390a25b8615610d5557600e610d09888a83614bcf565b508787604051610d1a929190614c8e565b604051908190038120338252907fd36dc0c1a06103fdcaf15f3f6fb797d1a97997514c78de073640c8b5005454b89060200160405180910390a25b6001600160a01b0386163014610e0357600a5460405163036129cb60e61b81526001600160a01b0388811660048301529091169063d84a72c090602401600060405180830381600087803b158015610dac57600080fd5b505af1158015610dc0573d6000803e3d6000fd5b50506040513381526001600160a01b03891692507fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c16915060200160405180910390a25b8415801590610e1157508315155b15610eb657600a546040516324de8d6360e11b815260048101879052602481018690526001600160a01b03909116906349bd1ac690604401600060405180830381600087803b158015610e6357600080fd5b505af1158015610e77573d6000803e3d6000fd5b5050604080518781523360208201528893507f677da4fed654db8e604791fa2582f342e2001aa217e27f6985eb3e0f67e5a7fc92500160405180910390a25b50505050505050505050565b610ecc3382612724565b610ee95760405163e5fa0e3560e01b815260040160405180910390fd5b610aae8383836127a3565b8060005b81811015610f47576000848483818110610f1457610f14614b71565b905060400201803603810190610f2a9190614c9e565b9050610f3e81600001518260200151611bde565b50600101610ef8565b50505050565b610aae83838360405180602001604052806000815250611dfb565b6000818152600760205260408120546001600160a01b03168015610f8c5792915050565b50506000908152600360205260409020546001600160a01b031690565b610fb161287c565b610fba81612986565b50565b6000818152600360205260408120546001600160a01b0316806109685760405163b49aa3b560e01b815260040160405180910390fd5b6060610ffd6115ad565b600654601761100d8383836125a6565b600a5460405163eaa19ab360e01b81526001600160a01b039091169063eaa19ab39061104690600019908b908b90600190600401614cec565b6000604051808303816000875af1158015611065573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261108d9190810190614d4b565b509350856000805b8281101561113f578681815181106110af576110af614b71565b602002602001015191506110c388836129dc565b876001600160a01b03168a8a838181106110df576110df614b71565b90506020020160208101906110f49190614d91565b604080516000815233602082015261ffff929092169185917f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d6910160405180910390a4600101611095565b5050505050509392505050565b600654341515806111e95750604051636e49181f60e01b8152600481018290523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e79190614a70565b155b806111f8575080826020013514155b15611216576040516331c57b1b60e21b815260040160405180910390fd5b61121f82612aa6565b5050565b600d805461123090614a31565b80601f016020809104026020016040519081016040528092919081815260200182805461125c90614a31565b80156112a95780601f1061127e576101008083540402835291602001916112a9565b820191906000526020600020905b81548152906001019060200180831161128c57829003601f168201915b505050505081565b600a54604051633de222bb60e21b81523060048201526001600160a01b038381166024830152600092169063f7888aec906044015b602060405180830381865afa158015611303573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109689190614dae565b61132f61287c565b61133a600080612f3e565b565b600a5460405163051330b560e21b81526000916001600160a01b03169063144cc2d49061136f9030908790600401614dc7565b602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b09190614dae565b9392505050565b6113bf6115ad565b60065460156113cf8383836125a6565b8584801561149f57600a546040516320512ba160e01b81526001600160a01b03909116906320512ba190611409908a908a90600401614deb565b600060405180830381600087803b15801561142357600080fd5b505af1158015611437573d6000803e3d6000fd5b5050505060005b8181101561149d5787878281811061145857611458614b71565b60405133815260209182029390930135927f832d89d991be5351d793c20faf4b7dd44f8aa9ce39e3cb160c6317de6fbba72992500160405180910390a260010161143e565b505b81156115a257600a54604051638da5e32b60e01b81526000916001600160a01b031690638da5e32b906114d8908d908d90600401614f10565b6000604051808303816000875af11580156114f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151f9190810190614b3d565b905060005b8381101561159f5781818151811061153e5761153e614b71565b60200260200101517f1af6ad8cdb16b4d1fbc75701ef89105100ac32fb4fcd841b47adf8c03e04455d8c8c8481811061157957611579614b71565b905061016002013360405161158f929190614f53565b60405180910390a2600101611524565b50505b505050505050505050565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529182036115fd5751919050565b60208101516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611670573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116949190614f86565b91505090565b600a54604051631572f24960e11b81523060048201526000916001600160a01b031690632ae5e492906024016112e6565b60606002805461097d90614a31565b600a546001600160a01b0316156116f057600080fd5b6116fb8a8a8a61317a565b600b80546001600160a01b03808a166001600160a01b031992831617909255600a805492851692909116919091179055602083015160408401516060808601516bffffffffffffffffffffffff19911b166bffffffffffff00000000000060309290921b9190911665ffffffffffff9092169190911717600881905586511561178c57600d61178a8882614fa3565b505b8451156117a157600e61179f8682614fa3565b505b6001600160a01b0386161561180c5760405163036129cb60e61b81526001600160a01b03878116600483015284169063d84a72c090602401600060405180830381600087803b1580156117f357600080fd5b505af1158015611807573d6000803e3d6000fd5b505050505b8351511561188a578351604051638da5e32b60e01b81526001600160a01b03851691638da5e32b916118419190600401615062565b6000604051808303816000875af1158015611860573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118889190810190614b3d565b505b815180611898575081602001515b806118a4575081604001515b806118b0575081606001515b1561193657604080516365c13f1960e11b815283511515600482015260208401511515602482015290830151151560448201526060830151151560648201526001600160a01b0384169063cb827e3290608401600060405180830381600087803b15801561191d57600080fd5b505af1158015611931573d6000803e3d6000fd5b505050505b61159f33612179565b61194761287c565b80158061195a57506001600160581b0381115b15611982576040516324abfd1160e11b81526000600482015260248101829052604401610c53565b610fba600082612f3e565b61121f33838361318b565b60006060806080840135156119c0576040516309f82f1b60e31b815260040160405180910390fd5b6000806119f57f0000000000000000000000000000000000000000000000000000000000000000610bb56101c0890189614a8d565b604080516001808252818301909252929450909250816020015b60408051606080820183526000808352602083015291810191909152815260200190600190039081611a0f5790505092506040518060600160405280306001600160a01b03168152602001600081526020016040518060200160405280600081525081525083600081518110611a8757611a87614b71565b602002602001018190525060608215611ab15781806020019051810190611aae9190614b3d565b90505b6000611abd828961133c565b90506000611aca8961169a565b90506000611add8a60c00135848461322a565b90506127108a610180013503611b4a5780611afc6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b50611bd79a5050505050505050505050565b611b8081611b6985611b636101808f0135612710615152565b8661322a565b611b78906101808e0135615165565b61271061322a565b611b8e6101a08c018c614a8d565b8982828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969f50919d50919b5050505050505050505050505b9193909250565b600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa158015611c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c519190615178565b61010081015190915060f51c600190811603611c8057604051631d2c125760e31b815260040160405180910390fd5b600a54604051635d53f40760e11b815260048101859052602481018490526000916001600160a01b03169063baa7e80e906044016000604051808303816000875af1158015611cd3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611cfb9190810190614b3d565b600a546040516304db994760e21b8152306004820152602481018790529192506000916001600160a01b039091169063136e651c90604401602060405180830381865afa158015611d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d749190614f86565b90506000805b85811015611df257838181518110611d9457611d94614b71565b60200260200101519150611da883836129dc565b6040513381526001600160a01b03841690889084907f031e1988c95a91ec4d655ff63a8f87a80bc9daf28d95ae10ee08c0022cfb5c8b9060200160405180910390a4600101611d7a565b50505050505050565b611e053383612724565b611e225760405163e5fa0e3560e01b815260040160405180910390fd5b610f47848484846132fd565b600a54604051630fab094760e01b81523060048201526060916000916001600160a01b0390911690630fab094790602401602060405180830381865afa158015611e7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ea09190614f86565b90506001600160a01b03811615611f2457604051635e703e7160e01b8152306004820152602481018490526001600160a01b03821690635e703e7190604401600060405180830381865afa158015611efc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113b0919081019061523d565b6113b0600d8054611f3490614a31565b80601f0160208091040260200160405190810160405280929190818152602001828054611f6090614a31565b8015611fad5780601f10611f8257610100808354040283529160200191611fad565b820191906000526020600020905b815481529060010190602001808311611f9057829003601f168201915b5050600a54604051630c8df17160e41b8152306004820152602481018a90526001600160a01b03909116935063c8df171092506044019050602060405180830381865afa158015612002573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120269190614dae565b613331565b610120810135606080612042610160850185614a8d565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945060019250612082915050565b6040519080825280602002602001820160405280156120cf57816020015b604080516060808201835260008083526020830152918101919091528152602001906001900390816120a05790505b5090506040518060600160405280306001600160a01b0316815260200160008152602001604051806020016040528060008152508152508160008151811061211957612119614b71565b60200260200101819052509193909250565b600e805461123090614a31565b61214061287c565b6001600160a01b038116612179576040516324abfd1160e11b81526001600160a01b038216600482015260006024820152604401610c53565b610fba816000612f3e565b60006001600160e01b03198216637aa3513560e11b14806121b557506001600160e01b031982166371700c6960e01b145b806121d057506001600160e01b03198216636b20494360e01b145b806121eb57506001600160e01b03198216630bf46e5960e01b145b8061220657506001600160e01b0319821663152a902d60e11b145b80610968575061096882613398565b6000818152600360205260409020546001600160a01b0316610fba5760405163b49aa3b560e01b815260040160405180910390fd5b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061227f82610fbd565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006060602583116122dc57505060408051602081019091526000808252906124b8565b600084846122ec60046020615165565b8181106122fb576122fb614b71565b919091013560f81c9150602090505b60008686612319600485615165565b81811061232857612328614b71565b9050013560f81c60f81b6001600160f81b031916141580156123535750612350602083615271565b81105b156124b55760008686612367600485615165565b81811061237657612376614b71565b919091013560f81c9150506001600160e01b0319881687838861239a600483615165565b926123a793929190615288565b6123b0916152b2565b6001600160e01b031916036124ac5760006123cc602085615271565b6123d7600985615165565b10158061240d575087876123ec600986615165565b8181106123fb576123fb614b71565b909101356001600160f81b0319161590505b6124455760208888612420600987615165565b81811061242f5761242f614b71565b6124409392013560f81c9050615271565b612447565b865b905060018888612458602086615271565b61246492859290615288565b81818080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250959b509199506124b898505050505050505050565b5060050161230a565b50505b935093915050565b60006124cb82610fbd565b90506124d9816000846133e8565b6124e460008361224a565b60008281526003602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461121f81600084613584565b600a546040516386bc2be360e01b81526001600160a01b03909116906386bc2be3906125719084906004016140b9565b600060405180830381600087803b15801561258b57600080fd5b505af115801561259f573d6000803e3d6000fd5b5050505050565b336001600160a01b038416811480159061265d575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015612637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265b9190614a70565b155b8015612706575060405163c161c93f60e01b81526001600160a01b038281166004830152858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156126e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127049190614a70565b155b15610f475760405163075fd2b160e01b815260040160405180910390fd5b60008061273083610fbd565b9050806001600160a01b0316846001600160a01b0316148061277757506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061279b5750836001600160a01b031661279084610a00565b6001600160a01b0316145b949350505050565b826001600160a01b03166127b682610fbd565b6001600160a01b0316146127dd5760405163a195bc5360e01b815260040160405180910390fd5b6001600160a01b03821661280457604051632c95542760e01b815260040160405180910390fd5b61280f8383836133e8565b61281a60008261224a565b60008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aae838383613584565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff16938301939093529091156129625760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015612939573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295d9190614f86565b612965565b81515b905061121f8183602001516001600160581b0316846040015160ff166125a6565b600080546001600160f81b0316600160f81b60ff8416908102919091179091556040519081527f197cbe84f592e417694036927858418efc958896363c034f9aaa25af88953beb9060200160405180910390a150565b6001600160a01b038216612a0357604051633904578f60e11b815260040160405180910390fd5b6000818152600360205260409020546001600160a01b031615612a3957604051632eb5f0c360e21b815260040160405180910390fd5b612a45600083836133e8565b60008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461121f60008383613584565b60085460009065ffffffffffff811660c0840135819003612acd5760808401359250612b7f565b606082901c801561259f5765ffffffffffff603084901c16612b7a6080870135612af883600a6153c6565b604051635268657960e11b815260c08a013560048201526024810187905260a08a013560448201526001600160a01b0386169063a4d0caf290606401602060405180830381865afa158015612b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b759190614dae565b61322a565b945050505b5060009050600c81612b996101a086016101808701613f2f565b6001600160a01b03168152602081019190915260400160009081205491508290612bcb6101a086016101808701613f2f565b6001600160a01b0316612be16020870187613f2f565b6001600160a01b031603612bf85790820190612bfb565b50815b60008080612c317f0000000000000000000000000000000000000000000000000000000000000000610bb56102008b018b614a8d565b915091508115612d0557606081806020019051810190612c5191906153d2565b9094509050838015612ccf5750600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca9190615482565b606001515b15612cd957600093505b805115612cff57612cfc8682612cf76101a08d016101808e01613f2f565b61367b565b95505b50612d7e565b600a54604051634228826f60e11b81523060048201526001600160a01b039091169063845104de90602401608060405180830381865afa158015612d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d719190615482565b60600151612d7e57600192505b8415612ea25782612da257604051631b57826960e21b815260040160405180910390fd5b84840186811115612e0a57612dbf6101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290898203907f2fb2733fb01b76e3290fa8b695d18e026ddd19c0a265ab90e95152e57da303369060200160405180910390a4612e6b565b80871115612e6b57612e246101a08a016101808b01613f2f565b6040513381526001600160a01b0391909116908290818a03907fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a45b80600c6000612e826101a08d016101808e01613f2f565b6001600160a01b0316815260208101919091526040016000205550612f34565b838614612f3457612ebb6101a089016101808a01613f2f565b6001600160a01b031684612ecf8189615152565b6040513381527fe0e7c81cf67a96dd0e39bcf11521b1f4c0098cc1dbe8c30750a11d9ebfc3ed4d9060200160405180910390a483600c6000612f196101a08c016101808d01613f2f565b6001600160a01b031681526020810191909152604001600020555b5050505050505050565b6001600160581b03811615801590612f5e57506001600160a01b03821615155b15612f96576040516324abfd1160e11b81526001600160a01b03831660048201526001600160581b0382166024820152604401610c53565b60408051606081018252600080546001600160a01b0381168352600160a01b81046001600160581b031660208401819052600160f81b90910460ff169383019390935290911561307c5760208201516040516331a9108f60e11b81526001600160581b0390911660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015613053573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130779190614f86565b61307f565b81515b604080516060810182526001600160a01b0387168082526001600160581b0387166020830181905260009290930182905281546001600160f81b03191617600160a01b8302176001600160f81b03169055909150610f4790829015613174576040516331a9108f60e11b81526001600160581b03861660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561314b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061316f9190614f86565b6137bd565b856137bd565b6131848282613801565b5050600655565b816001600160a01b0316836001600160a01b0316036131bd576040516306f8139d60e11b815260040160405180910390fd5b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008080600019858709858702925082811083820303915050806000036132645783828161325a5761325a6154e9565b04925050506113b0565b83811061329557604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610c53565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6133088484846127a3565b6133148484848461381a565b610f47576040516336f57c1b60e11b815260040160405180910390fd5b604051609160f51b6020820152602281018290526060906000906042016040516020818303038152906040529050600061336a8261391c565b9050848160405160200161337f9291906154ff565b6040516020818303038152906040529250505092915050565b60006001600160e01b031982166380ac58cd60e01b14806133c957506001600160e01b03198216635b5e139f60e01b145b8061096857506301ffc9a760e01b6001600160e01b0319831614610968565b6001600160a01b03831615610aae57600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa15801561344e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613476919081019061552e565b90508061014001511561353b57600b546006546040516321d1336160e11b815260048101919091526000916001600160a01b0316906343a266c29060240161012060405180830381865afa1580156134d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f69190615178565b90506001600160a01b0384161580159061351b575061010081015160f41c6001908116145b15613539576040516318cdaf9760e01b815260040160405180910390fd5b505b6000828152600760205260409020546001600160a01b0316610f4757600082815260076020526040902080546001600160a01b0319166001600160a01b03861617905550505050565b600a5460405163c44a8e6d60e01b815230600482015260248101839052600060448201819052916001600160a01b03169063c44a8e6d90606401600060405180830381865afa1580156135db573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613603919081019061552e565b600a5481516040516330b157e560e21b815260048101919091526001600160a01b038781166024830152868116604483015292935091169063c2c55f9490606401600060405180830381600087803b15801561365e57600080fd5b505af1158015613672573d6000803e3d6000fd5b50505050610f47565b600a5460405163eaa19ab360e01b81526000916060916001600160a01b039091169063eaa19ab3906136b590889088908790600401615626565b6000604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526136fc9190810190614d4b565b81519093509091506000805b828110156137b25783818151811061372257613722614b71565b6020026020010151915061373686836129dc565b856001600160a01b031687828151811061375257613752614b71565b602002602001015161ffff16837f598baf7bf150ca2f42be9e9f8f55e81d45f5715c3ff22bf46d697fabec7f31d68b336040516137a29291909182526001600160a01b0316602082015260400190565b60405180910390a4600101613708565b505050509392505050565b806001600160a01b0316826001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600161380d8382614fa3565b506002610aae8282614fa3565b60006001600160a01b0384163b1561391157604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061385e903390899088908890600401615685565b6020604051808303816000875af1925050508015613899575060408051601f3d908101601f19168201909252613896918101906156c2565b60015b6138f7573d8080156138c7576040519150601f19603f3d011682016040523d82523d6000602084013e6138cc565b606091505b5080516000036138ef576040516336f57c1b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061279b565b506001949350505050565b6060815160000361393b57505060408051600081526020810190915290565b60408051602e8082526105e08201909252600091602082016105c08036833701905050905060008160008151811061397557613975614b71565b60ff90921660209283029190910190910152825160019060005b81811015613a905760008682815181106139ab576139ab614b71565b016020015160f81c905060005b8460ff16811015613a355760088682815181106139d7576139d7614b71565b602002602001015160ff16901b826139ef9190615165565b91506139fc603a836156df565b868281518110613a0e57613a0e614b71565b60ff90921660209283029190910190910152613a2b603a836156f3565b91506001016139b8565b505b8015613a8757613a48603a826156df565b858560ff1681518110613a5d57613a5d614b71565b60ff90921660209283029190910190910152600190930192613a80603a826156f3565b9050613a37565b5060010161398f565b50613aab613aa6613aa18585613ab4565b613b5b565b613bfd565b95945050505050565b606060008260ff166001600160401b03811115613ad357613ad3614107565b604051908082528060200260200182016040528015613afc578160200160208202803683370190505b50905060005b8360ff16811015613b5357848181518110613b1f57613b1f614b71565b6020026020010151828281518110613b3957613b39614b71565b60ff90921660209283029190910190910152600101613b02565b509392505050565b80516060906000816001600160401b03811115613b7a57613b7a614107565b604051908082528060200260200182016040528015613ba3578160200160208202803683370190505b50905060005b82811015613b5357848160018751030381518110613bc957613bc9614b71565b6020026020010151828281518110613be357613be3614b71565b60ff90921660209283029190910190910152600101613ba9565b80516060906000816001600160401b03811115613c1c57613c1c614107565b6040519080825280601f01601f191660200182016040528015613c46576020820181803683370190505b50905060005b82811015613b53576040518060600160405280603a8152602001615708603a9139858281518110613c7f57613c7f614b71565b602002602001015160ff1681518110613c9a57613c9a614b71565b602001015160f81c60f81b828281518110613cb757613cb7614b71565b60200101906001600160f81b031916908160001a905350600101613c4c565b6001600160e01b031981168114610fba57600080fd5b600060208284031215613cfe57600080fd5b81356113b081613cd6565b60005b83811015613d24578181015183820152602001613d0c565b50506000910152565b60008151808452613d45816020860160208601613d09565b601f01601f19169290920160200192915050565b6020815260006113b06020830184613d2d565b600060208284031215613d7e57600080fd5b5035919050565b6001600160a01b0381168114610fba57600080fd5b8035613da581613d85565b919050565b60008060408385031215613dbd57600080fd5b8235613dc881613d85565b946020939093013593505050565b600060208284031215613de857600080fd5b81356001600160401b03811115613dfe57600080fd5b820161020081850312156113b057600080fd5b60008083601f840112613e2357600080fd5b5081356001600160401b03811115613e3a57600080fd5b602083019150836020828501011115613e5257600080fd5b9250929050565b600080600080600080600060a0888a031215613e7457600080fd5b87356001600160401b0380821115613e8b57600080fd5b613e978b838c01613e11565b909950975060208a0135915080821115613eb057600080fd5b50613ebd8a828b01613e11565b9096509450506040880135613ed181613d85565b969995985093969295946060840135945060809093013592915050565b600080600060608486031215613f0357600080fd5b8335613f0e81613d85565b92506020840135613f1e81613d85565b929592945050506040919091013590565b600060208284031215613f4157600080fd5b81356113b081613d85565b60008060208385031215613f5f57600080fd5b82356001600160401b0380821115613f7657600080fd5b818501915085601f830112613f8a57600080fd5b813581811115613f9957600080fd5b8660208260061b8501011115613fae57600080fd5b60209290920196919550909350505050565b600060208284031215613fd257600080fd5b813560ff811681146113b057600080fd5b60008083601f840112613ff557600080fd5b5081356001600160401b0381111561400c57600080fd5b6020830191508360208260051b8501011115613e5257600080fd5b60008060006040848603121561403c57600080fd5b83356001600160401b0381111561405257600080fd5b61405e86828701613fe3565b909450925050602084013561407281613d85565b809150509250925092565b60008151808452602080850194506020840160005b838110156140ae57815187529582019590820190600101614092565b509495945050505050565b6020815260006113b0602083018461407d565b6000602082840312156140de57600080fd5b81356001600160401b038111156140f457600080fd5b820161022081850312156113b057600080fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561413f5761413f614107565b60405290565b60405161016081016001600160401b038111828210171561413f5761413f614107565b60405161012081016001600160401b038111828210171561413f5761413f614107565b60405161018081016001600160401b038111828210171561413f5761413f614107565b604051601f8201601f191681016001600160401b03811182821017156141d6576141d6614107565b604052919050565b60006001600160401b038211156141f7576141f7614107565b5060051b60200190565b60006101e0828403121561421457600080fd5b50919050565b6000806040838503121561422d57600080fd5b82356001600160401b038082111561424457600080fd5b818501915085601f83011261425857600080fd5b8135602061426d614268836141de565b6141ae565b82815260059290921b8401810191818101908984111561428c57600080fd5b948201945b838610156142aa57853582529482019490820190614291565b965050860135925050808211156142c057600080fd5b506142cd85828601614201565b9150509250929050565b600080600080604085870312156142ed57600080fd5b84356001600160401b038082111561430457600080fd5b818701915087601f83011261431857600080fd5b81358181111561432757600080fd5b8860206101608302850101111561433d57600080fd5b60209283019650945090860135908082111561435857600080fd5b5061436587828801613fe3565b95989497509550505050565b60006020828403121561438357600080fd5b81356001600160401b0381111561439957600080fd5b61279b84828501614201565b60006001600160401b038211156143be576143be614107565b50601f01601f191660200190565b60006143da614268846143a5565b90508281528383830111156143ee57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261441657600080fd5b6113b0838335602085016143cc565b80356001600160681b0381168114613da557600080fd5b803563ffffffff81168114613da557600080fd5b61ffff81168114610fba57600080fd5b8035613da581614450565b803562ffffff81168114613da557600080fd5b8015158114610fba57600080fd5b8035613da58161447e565b803565ffffffffffff81168114613da557600080fd5b600060808083850312156144c057600080fd5b6144c861411d565b915082356001600160401b038111156144e057600080fd5b8301601f810185136144f157600080fd5b80356020614501614268836141de565b828152610160928302840182019282820191908985111561452157600080fd5b948301945b848610156146025780868b03121561453e5760008081fd5b614546614145565b61454f87614425565b815261455c85880161443c565b85820152604061456d81890161443c565b90820152606061457e888201614460565b9082015261458d878901613d9a565b8189015260a0878101359082015260c06145a881890161446b565b9082015260e06145b988820161448c565b908201526101006145cb88820161448c565b908201526101206145dd88820161448c565b908201526101406145ef88820161448c565b9082015283529485019491830191614526565b50865250614611868201614497565b818601525050505061462560408301614497565b604082015261463660608301613d9a565b606082015292915050565b60006080828403121561465357600080fd5b61465b61411d565b905081356146688161447e565b815260208201356146788161447e565b6020820152604082013561468b8161447e565b604082015260608201356146368161447e565b6000806000806000806000806000806101a08b8d0312156146be57600080fd5b8a35995060208b01356001600160401b03808211156146dc57600080fd5b6146e88e838f01614405565b9a5060408d01359150808211156146fe57600080fd5b61470a8e838f01614405565b995061471860608e01613d9a565b985060808d013591508082111561472e57600080fd5b61473a8e838f01614405565b975061474860a08e01613d9a565b965060c08d013591508082111561475e57600080fd5b61476a8e838f01614405565b955060e08d013591508082111561478057600080fd5b5061478d8d828e016144ad565b93505061479d6101008c01613d9a565b91506147ad8c6101208d01614641565b90509295989b9194979a5092959850565b600080604083850312156147d157600080fd5b82356147dc81613d85565b915060208301356147ec8161447e565b809150509250929050565b6000606085835260206060818501526148136060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526148738a850182613d2d565b9589019593505090870190600101614836565b50909c9b505050505050505050505050565b600080604083850312156148ab57600080fd5b50508035926020909101359150565b600080600080608085870312156148d057600080fd5b84356148db81613d85565b935060208501356148eb81613d85565b92506040850135915060608501356001600160401b0381111561490d57600080fd5b8501601f8101871361491e57600080fd5b61492d878235602084016143cc565b91505092959194509250565b60006020828403121561494b57600080fd5b81356001600160401b0381111561496157600080fd5b82016101a081850312156113b057600080fd5b6000606085835260206060818501526149906060850187613d2d565b604085820360408701528187518084528484019150848160051b850101858a0160005b8381101561488657868303601f19018552815180516001600160a01b0316845288810151898501528601518684018a90526149f08a850182613d2d565b95890195935050908701906001016149b3565b60008060408385031215614a1657600080fd5b8235614a2181613d85565b915060208301356147ec81613d85565b600181811c90821680614a4557607f821691505b60208210810361421457634e487b7160e01b600052602260045260246000fd5b8051613da58161447e565b600060208284031215614a8257600080fd5b81516113b08161447e565b6000808335601e19843603018112614aa457600080fd5b8301803591506001600160401b03821115614abe57600080fd5b602001915036819003821315613e5257600080fd5b600082601f830112614ae457600080fd5b81516020614af4614268836141de565b8083825260208201915060208460051b870101935086841115614b1657600080fd5b602086015b84811015614b325780518352918301918301614b1b565b509695505050505050565b600060208284031215614b4f57600080fd5b81516001600160401b03811115614b6557600080fd5b61279b84828501614ad3565b634e487b7160e01b600052603260045260246000fd5b601f821115610aae576000816000526020600020601f850160051c81016020861015614bb05750805b601f850160051c820191505b81811015610c7757828155600101614bbc565b6001600160401b03831115614be657614be6614107565b614bfa83614bf48354614a31565b83614b87565b6000601f841160018114614c2e5760008515614c165750838201355b600019600387901b1c1916600186901b17835561259f565b600083815260209020601f19861690835b82811015614c5f5786850135825560209485019460019092019101614c3f565b5086821015614c7c5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8183823760009101908152919050565b600060408284031215614cb057600080fd5b604051604081018181106001600160401b0382111715614cd257614cd2614107565b604052823581526020928301359281019290925250919050565b84815260606020808301829052908201849052600090859060808401835b87811015614d33578335614d1d81614450565b61ffff1682529282019290820190600101614d0a565b50809350505050821515604083015295945050505050565b60008060408385031215614d5e57600080fd5b82516001600160401b03811115614d7457600080fd5b614d8085828601614ad3565b925050602083015190509250929050565b600060208284031215614da357600080fd5b81356113b081614450565b600060208284031215614dc057600080fd5b5051919050565b6001600160a01b038316815260406020820181905260009061279b9083018461407d565b6020808252810182905260006001600160fb1b03831115614e0b57600080fd5b8260051b80856040850137919091016040019392505050565b614e3e82614e3183614425565b6001600160681b03169052565b614e4a6020820161443c565b63ffffffff166020830152614e616040820161443c565b63ffffffff166040830152614e7860608201614460565b61ffff166060830152614e8d60808201613d9a565b6001600160a01b0316608083015260a08181013590830152614eb160c0820161446b565b62ffffff1660c0830152614ec760e0820161448c565b151560e0830152610100614edc82820161448c565b151590830152610120614ef082820161448c565b151590830152610140614f0482820161448c565b80151584830152610f47565b6020808252810182905260008360408301825b85811015614f4957614f358284614e24565b610160928301929190910190600101614f23565b5095945050505050565b6101808101614f628285614e24565b6001600160a01b03929092166101609190910152919050565b8051613da581613d85565b600060208284031215614f9857600080fd5b81516113b081613d85565b81516001600160401b03811115614fbc57614fbc614107565b614fd081614fca8454614a31565b84614b87565b602080601f8311600181146150055760008415614fed5750858301515b600019600386901b1c1916600185901b178555610c77565b600085815260208120601f198616915b8281101561503457888601518255948401946001909101908401615015565b50858210156150525787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602080825282518282018190526000919060409081850190868401855b8281101561512f57815180516001600160681b031685528681015163ffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516001600160a01b03169086015260a0808201519086015260c08082015162ffffff169086015260e080820151151590860152610100808201511515908601526101208082015115159086015261014090810151151590850152610160909301929085019060010161507f565b5091979650505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156109685761096861513c565b808201808211156109685761096861513c565b6000610120828403121561518b57600080fd5b615193614168565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526151df60e08401614f7b565b60e0820152610100928301519281019290925250919050565b600082601f83011261520957600080fd5b8151615217614268826143a5565b81815284602083860101111561522c57600080fd5b61279b826020830160208701613d09565b60006020828403121561524f57600080fd5b81516001600160401b0381111561526557600080fd5b61279b848285016151f8565b80820281158282048414176109685761096861513c565b6000808585111561529857600080fd5b838611156152a557600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156152da5780818660040360031b1b83161692505b505092915050565b600181815b8085111561531d5781600019048211156153035761530361513c565b8085161561531057918102915b93841c93908002906152e7565b509250929050565b60008261533457506001610968565b8161534157506000610968565b816001811461535757600281146153615761537d565b6001915050610968565b60ff8411156153725761537261513c565b50506001821b610968565b5060208310610133831016604e8410600b84101617156153a0575081810a610968565b6153aa83836152e2565b80600019048211156153be576153be61513c565b029392505050565b60006113b08383615325565b600080604083850312156153e557600080fd5b82516153f08161447e565b809250506020808401516001600160401b0381111561540e57600080fd5b8401601f8101861361541f57600080fd5b805161542d614268826141de565b81815260059190911b8201830190838101908883111561544c57600080fd5b928401925b8284101561547357835161546481614450565b82529284019290840190615451565b80955050505050509250929050565b60006080828403121561549457600080fd5b61549c61411d565b82516154a78161447e565b815260208301516154b78161447e565b602082015260408301516154ca8161447e565b604082015260608301516154dd8161447e565b60608201529392505050565b634e487b7160e01b600052601260045260246000fd5b60008351615511818460208801613d09565b835190830190615525818360208801613d09565b01949350505050565b60006020828403121561554057600080fd5b81516001600160401b038082111561555757600080fd5b90830190610180828603121561556c57600080fd5b61557461418b565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201526155b660c08401614f7b565b60c082015260e083015160e08201526101008084015181830152506101206155df818501614a65565b908201526101406155f1848201614a65565b90820152610160838101518381111561560957600080fd5b615615888287016151f8565b918301919091525095945050505050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b8181101561566d57845161ffff168352938301939183019160010161564d565b50508093505050508215156040830152949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906156b890830184613d2d565b9695505050505050565b6000602082840312156156d457600080fd5b81516113b081613cd6565b6000826156ee576156ee6154e9565b500690565b600082615702576157026154e9565b50049056fe31323334353637383941424344454647484a4b4c4d4e505152535455565758595a6162636465666768696a6b6d6e6f707172737475767778797aa26469706673582212201192e22c4703cde93a2008f36203660cb97e2a9768e5fcb83e7d1fd37f6a099464736f6c63430008170033","sourceMap":"2497:27959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9262:203;;;;;;;;;;-1:-1:-1;9262:203:0;;;;;:::i;:::-;;:::i;:::-;;;661:14:197;;654:22;636:41;;624:2;609:18;9262:203:0;;;;;;;;3042:98:5;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4461:167::-;;;;;;;;;;-1:-1:-1;4461:167:5;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1902:32:197;;;1884:51;;1872:2;1857:18;4461:167:5;1738:203:197;6129:534:0;;;;;;;;;;-1:-1:-1;6327:21:0;;6129:534;;;6413:24;;;;2167:25:197;;6537:2:0;6526:13;;;6511:30;2223:2:197;2208:18;;2201:34;6651:2:0;6640:13;;;2251:18:197;;;2244:60;;;;2140:18;6129:534:0;1946:364:197;4039:361:5;;;;;;;;;;-1:-1:-1;4039:361:5;;;;;:::i;:::-;;:::i;:::-;;12210:1568:6;;;;;;:::i;:::-;;:::i;17876:1258:0:-;;;;;;;;;;-1:-1:-1;17876:1258:0;;;;;:::i;:::-;;:::i;4047:34::-;;;;;;;;;;-1:-1:-1;4047:34:0;;;;-1:-1:-1;;;;;4047:34:0;;;5138:282:5;;;;;;;;;;-1:-1:-1;5138:282:5;;;;;:::i;:::-;;:::i;4564:53:0:-;;;;;;;;;;-1:-1:-1;4564:53:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5559:25:197;;;5547:2;5532:18;4564:53:0;5413:177:197;15063:654:0;;;;;;;;;;-1:-1:-1;15063:654:0;;;;;:::i;:::-;;:::i;3667:33:6:-;;;;;;;;;;;;;;;;5486:149:5;;;;;;;;;;-1:-1:-1;5486:149:5;;;;;:::i;:::-;;:::i;3144:54:6:-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6433:33:197;;;6415:52;;6403:2;6388:18;3144:54:6;6271:202:197;3286:57:6;;;;;;;;;;;;;;;5437:424:0;;;;;;;;;;-1:-1:-1;5437:424:0;;;;;:::i;:::-;;:::i;4297:54::-;;;;;;;;;;-1:-1:-1;4297:54:0;;;;-1:-1:-1;;;;;4297:54:0;;;7354:144:154;;;;;;;;;;-1:-1:-1;7354:144:154;;;;;:::i;:::-;;:::i;2768:212:5:-;;;;;;;;;;-1:-1:-1;2768:212:5;;;;;:::i;:::-;;:::i;13843:1021:0:-;;;;;;;;;;-1:-1:-1;13843:1021:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11349:547:6:-;;;;;;:::i;:::-;;:::i;4742:30:0:-;;;;;;;;;;;;;:::i;7128:144::-;;;;;;;;;;-1:-1:-1;7128:144:0;;;;;:::i;:::-;;:::i;6062:117:154:-;;;;;;;;;;;;;:::i;8502:250:0:-;;;;;;;;;;-1:-1:-1;8502:250:0;;;;;:::i;:::-;;:::i;16054:1398::-;;;;;;;;;;-1:-1:-1;16054:1398:0;;;;;:::i;:::-;;:::i;1943:37:154:-;;;;;;;;;;;;;;;5465:239;;;;;;;;;;;;;:::i;8879:173:0:-;;;;;;;;;;-1:-1:-1;8879:173:0;;;;;:::i;:::-;;:::i;3204:102:5:-;;;;;;;;;;;;;:::i;4172:47:0:-;;;;;;;;;;-1:-1:-1;4172:47:0;;;;-1:-1:-1;;;;;4172:47:0;;;11372:1997;;;;;;;;;;-1:-1:-1;11372:1997:0;;;;;:::i;:::-;;:::i;6847:285:154:-;;;;;;;;;;-1:-1:-1;6847:285:154;;;;;:::i;:::-;;:::i;4695:153:5:-;;;;;;;;;;-1:-1:-1;4695:153:5;;;;;:::i;:::-;;:::i;5410:2106:6:-;;;;;;;;;;-1:-1:-1;5410:2106:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;19626:1273:0:-;;;;;;;;;;-1:-1:-1;19626:1273:0;;;;;:::i;:::-;;:::i;1796:47:154:-;;;;;;;;;;;;;;;5701:262:5;;;;;;;;;;-1:-1:-1;5701:262:5;;;;;:::i;:::-;;:::i;2284:31:154:-;;;;;;;;;;-1:-1:-1;2284:31:154;;;;-1:-1:-1;;;;;2284:31:154;;;-1:-1:-1;;;2284:31:154;;-1:-1:-1;;;;;2284:31:154;;-1:-1:-1;;;2284:31:154;;;;;;;;;;-1:-1:-1;;;;;23844:32:197;;;23826:51;;-1:-1:-1;;;;;23913:37:197;;;23908:2;23893:18;;23886:65;23999:4;23987:17;23967:18;;;23960:45;23814:2;23799:18;2284:31:154;23630:381:197;3011:48:6;;;;;;;;;;;;;;;7641:592:0;;;;;;;;;;-1:-1:-1;7641:592:0;;;;;:::i;:::-;;:::i;4441:535:6:-;;;;;;;;;;-1:-1:-1;4441:535:6;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4898:34:0:-;;;;;;;;;;;;;:::i;4914:162:5:-;;;;;;;;;;-1:-1:-1;4914:162:5;;;;;:::i;:::-;-1:-1:-1;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;4914:162;6404:234:154;;;;;;;;;;-1:-1:-1;6404:234:154;;;;;:::i;:::-;;:::i;9262:203:0:-;9340:4;-1:-1:-1;;;;;;9363:54:0;;-1:-1:-1;;;9363:54:0;;:95;;;9421:37;9445:12;9421:23;:37::i;:::-;9356:102;9262:203;-1:-1:-1;;9262:203:0:o;3042:98:5:-;3096:13;3128:5;3121:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3042:98;:::o;4461:167::-;4537:7;4556:23;4571:7;4556:14;:23::i;:::-;-1:-1:-1;4597:24:5;;;;:15;:24;;;;;;-1:-1:-1;;;;;4597:24:5;;4461:167::o;4039:361::-;4119:13;4135:23;4150:7;4135:14;:23::i;:::-;4119:39;;4179:5;-1:-1:-1;;;;;4173:11:5;:2;-1:-1:-1;;;;;4173:11:5;;4169:51;;4193:27;;-1:-1:-1;;;4193:27:5;;;;;;;;;;;4169:51;719:10:181;-1:-1:-1;;;;;4235:21:5;;;;;;:63;;-1:-1:-1;4261:37:5;4278:5;719:10:181;4914:162:5;:::i;4261:37::-;4260:38;4235:63;4231:131;;;4321:30;;-1:-1:-1;;;4321:30:5;;;;;;;;;;;4231:131;4372:21;4381:2;4385:7;4372:8;:21::i;:::-;4109:291;4039:361;;:::o;12210:1568:6:-;12475:9;:14;;;:84;;-1:-1:-1;12517:9:6;;12494:65;;-1:-1:-1;;;12494:65:6;;;;;27002:25:197;;;;12547:10:6;27043:18:197;;;27036:60;12494:9:6;-1:-1:-1;;;;;12494:22:6;;;;26975:18:197;;12494:65:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12493:66;12475:84;:132;;;;12598:9;;12579:5;:15;;;:28;;12475:132;12458:193;;;12625:26;;-1:-1:-1;;;12625:26:6;;;;;;;;;;;12458:193;12725:11;;12764:83;12798:24;12824:22;;;;:5;:22;:::i;:::-;12764:33;:83::i;:::-;12724:123;;;;12858:33;12938:6;12934:65;;;12976:9;12965:34;;;;;;;;;;;;:::i;:::-;12946:53;;12934:65;13107:23;;13079:25;;13310:399;13332:17;13327:2;:22;13310:399;;;13412:16;13429:2;13412:20;;;;;;;;:::i;:::-;;;;;;;13401:31;;13527:5;:12;;;;;;;;;;:::i;:::-;13506:17;;;;:7;:17;;;;;;-1:-1:-1;;;;;13506:17:6;;;:33;;;13502:74;;13548:28;;-1:-1:-1;;;13548:28:6;;;;;5559:25:197;;;5532:18;;13548:28:6;;;;;;;;13502:74;13622:15;13628:8;13622:5;:15::i;:::-;13680:4;;13310:399;;;;13745:26;13754:16;13745:8;:26::i;:::-;12300:1478;;;;;12210:1568;:::o;17876:1258:0:-;18133:7;:5;:7::i;:::-;18142:9;;364:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;18200:27:0;;18196:166:::1;;18282:7;:18;18292:8:::0;;18282:7;:18:::1;:::i;:::-;;18330:8;;18319:32;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;18340:10:::1;1884:51:197::0;;18319:32:0;::::1;::::0;1872:2:197;1857:18;18319:32:0::1;;;;;;;18196:166;18375:31:::0;;18371:190:::1;;18465:11;:26;18479:12:::0;;18465:11;:26:::1;:::i;:::-;;18525:12;;18510:40;;;;;;;:::i;:::-;;::::0;;;;::::1;::::0;;18539:10:::1;1884:51:197::0;;18510:40:0;::::1;::::0;1872:2:197;1857:18;18510:40:0::1;;;;;;;18371:190;-1:-1:-1::0;;;;;18574:58:0;::::1;18626:4;18574:58;18570:252;;18691:5;::::0;:50:::1;::::0;-1:-1:-1;;;18691:50:0;;-1:-1:-1;;;;;1902:32:197;;;18691:50:0::1;::::0;::::1;1884:51:197::0;18691:5:0;;::::1;::::0;:31:::1;::::0;1857:18:197;;18691:50:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;18761:50:0::1;::::0;18800:10:::1;1884:51:197::0;;-1:-1:-1;;;;;18761:50:0;::::1;::::0;-1:-1:-1;18761:50:0::1;::::0;-1:-1:-1;1872:2:197;1857:18;18761:50:0::1;;;;;;;18570:252;18835:26:::0;;;::::1;::::0;:59:::1;;-1:-1:-1::0;18865:29:0;;::::1;18835:59;18831:297;;;18957:5;::::0;:71:::1;::::0;-1:-1:-1;;;18957:71:0;;::::1;::::0;::::1;31938:25:197::0;;;31979:18;;;31972:34;;;-1:-1:-1;;;;;18957:5:0;;::::1;::::0;:31:::1;::::0;31911:18:197;;18957:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;19048:69:0::1;::::0;;27002:25:197;;;19106:10:0::1;27058:2:197::0;27043:18;;27036:60;19066:21:0;;-1:-1:-1;19048:69:0::1;::::0;-1:-1:-1;26975:18:197;19048:69:0::1;;;;;;;18831:297;17876:1258:::0;;;;;;;;;;:::o;5138:282:5:-;5294:41;719:10:181;5327:7:5;5294:18;:41::i;:::-;5289:85;;5344:30;;-1:-1:-1;;;5344:30:5;;;;;;;;;;;5289:85;5385:28;5395:4;5401:2;5405:7;5385:9;:28::i;15063:654:0:-;15308:25;15283:22;15351:360;15373:14;15368:2;:19;15351:360;;;15468:48;15519:25;;15545:2;15519:29;;;;;;;:::i;:::-;;;;;;15468:80;;;;;;;;;;:::i;:::-;;;15597:42;15613:5;:12;;;15627:5;:11;;;15597:15;:42::i;:::-;-1:-1:-1;15682:4:0;;15351:360;;;;15200:517;15063:654;;:::o;5486:149:5:-;5589:39;5606:4;5612:2;5616:7;5589:39;;;;;;;;;;;;:16;:39::i;5437:424:0:-;5509:7;5603:23;;;:13;:23;;;;;;-1:-1:-1;;;;;5603:23:0;5697:31;;5693:61;;5737:17;5437:424;-1:-1:-1;;5437:424:0:o;5693:61::-;-1:-1:-1;;5837:17:0;;;;:7;:17;;;;;;-1:-1:-1;;;;;5837:17:0;;5437:424::o;7354:144:154:-;7431:13;:11;:13::i;:::-;7454:37;7474:16;7454:19;:37::i;:::-;7354:144;:::o;2768:212:5:-;2840:7;2875:16;;;:7;:16;;;;;;-1:-1:-1;;;;;2875:16:5;;2901:50;;2933:18;;-1:-1:-1;;;2933:18:5;;;;;;;;;;;13843:1021:0;14029:25;13970:7;:5;:7::i;:::-;13979:9;;403:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;14171:5:0::1;::::0;:132:::1;::::0;-1:-1:-1;;;14171:132:0;;-1:-1:-1;;;;;14171:5:0;;::::1;::::0;:16:::1;::::0;:132:::1;::::0;-1:-1:-1;;14201:17:0;14251:8;;;;14171:5;;:132:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;14171:132:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;14157:146:0;-1:-1:-1;14406:8:0;14380:23:::1;::::0;14524:334:::1;14546:15;14541:2;:20;14524:334;;;14622:8;14631:2;14622:12;;;;;;;;:::i;:::-;;;;;;;14611:23;;14680:29;14686:12;14700:8;14680:5;:29::i;:::-;14758:12;-1:-1:-1::0;;;;;14729:57:0::1;14744:8;;14753:2;14744:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;14729:57;::::0;;14772:1:::1;27002:25:197::0;;14775:10:0::1;27058:2:197::0;27043:18;;27036:60;14729:57:0::1;::::0;;;::::1;::::0;14734:8;;14729:57:::1;::::0;26975:18:197;14729:57:0::1;;;;;;;14829:4;;14524:334;;;;14060:804;;13843:1021:::0;;;;;;;;:::o;11349:547:6:-;11464:9;;11649;:14;;;:85;;-1:-1:-1;11668:66:6;;-1:-1:-1;;;11668:66:6;;;;;27002:25:197;;;11722:10:6;27043:18:197;;;27036:60;11668:9:6;-1:-1:-1;;;;;11668:22:6;;;;26975:18:197;;11668:66:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11667:67;11649:85;:134;;;;11773:10;11754:5;:15;;;:29;;11649:134;11632:192;;;11801:23;;-1:-1:-1;;;11801:23:6;;;;;;;;;;;11632:192;11867:22;11883:5;11867:15;:22::i;:::-;11433:463;11349:547;:::o;4742:30:0:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7128:144::-;7227:5;;:38;;-1:-1:-1;;;7227:38:0;;7251:4;7227:38;;;34954:34:197;-1:-1:-1;;;;;35024:15:197;;;35004:18;;;34997:43;7193:15:0;;7227:5;;:15;;34889:18:197;;7227:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6062:117:154:-;6116:13;:11;:13::i;:::-;6139:33;6166:1;6170;6139:18;:33::i;:::-;6062:117::o;8502:250:0:-;8695:5;;:50;;-1:-1:-1;;;8695:50:0;;8665:7;;-1:-1:-1;;;;;8695:5:0;;:24;;:50;;8728:4;;8735:9;;8695:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8688:57;8502:250;-1:-1:-1;;;8502:250:0:o;16054:1398::-;16212:7;:5;:7::i;:::-;16221:9;;314:2:27;3620:55:154;3639:8;3649:7;3658:16;3620:18;:55::i;:::-;16369:11:0;16496:16;16563:27;;16559:407:::1;;16647:5;::::0;:43:::1;::::0;-1:-1:-1;;;16647:43:0;;-1:-1:-1;;;;;16647:5:0;;::::1;::::0;:25:::1;::::0;:43:::1;::::0;16673:16;;;;16647:43:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16760:10;16755:201;16777:22;16772:2;:27;16755:201;;;16836:16;;16853:2;16836:20;;;;;;;:::i;:::-;16825:44;::::0;16858:10:::1;1884:51:197::0;;16836:20:0::1;::::0;;::::1;::::0;;;::::1;;::::0;16825:44:::1;::::0;-1:-1:-1;1857:18:197;16825:44:0::1;;;;;;;16919:4;;16755:201;;;;16559:407;17006:24:::0;;17002:444:::1;;17131:5;::::0;:33:::1;::::0;-1:-1:-1;;;17131:33:0;;17098:30:::1;::::0;-1:-1:-1;;;;;17131:5:0::1;::::0;:20:::1;::::0;:33:::1;::::0;17152:11;;;;17131:33:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;17131:33:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;17098:66;;17232:10;17227:209;17249:19;17244:2;:24;17227:209;;;17302:13;17316:2;17302:17;;;;;;;;:::i;:::-;;;;;;;17294:55;17321:11;;17333:2;17321:15;;;;;;;:::i;:::-;;;;;;17338:10;17294:55;;;;;;;:::i;:::-;;;;;;;;17399:4;;17227:209;;;;17032:414;17002:444;16266:1186;;16054:1398:::0;;;;;;;:::o;5465:239:154:-;5530:35;;;;;;;;-1:-1:-1;5530:35:154;;-1:-1:-1;;;;;5530:35:154;;;;-1:-1:-1;;;5530:35:154;;-1:-1:-1;;;;;5530:35:154;;;;;;;-1:-1:-1;;;5530:35:154;;;;;;;;;;;;-1:-1:-1;5579:25:154;;5576:65;;5625:16;;5465:239;-1:-1:-1;5465:239:154:o;5576:65::-;5676:20;;;;5659:38;;-1:-1:-1;;;5659:38:154;;-1:-1:-1;;;;;38987:37:197;;;5659:38:154;;;38969:56:197;5659:8:154;-1:-1:-1;;;;;5659:16:154;;;;38942:18:197;;5659:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5652:45;;;5465:239;:::o;8879:173:0:-;9003:5;;:42;;-1:-1:-1;;;9003:42:0;;9039:4;9003:42;;;1884:51:197;8977:7:0;;-1:-1:-1;;;;;9003:5:0;;:27;;1857:18:197;;9003:42:0;1738:203:197;3204:102:5;3260:13;3292:7;3285:14;;;;;:::i;11372:1997:0:-;11852:5;;-1:-1:-1;;;;;11852:5:0;11844:28;11840:42;;11874:8;;;11840:42;11931:53;11957:10;11969:5;11976:7;11931:25;:53::i;:::-;11995:17;:38;;-1:-1:-1;;;;;11995:38:0;;;-1:-1:-1;;;;;;11995:38:0;;;;;;;12043:5;:14;;;;;;;;;;;;;;;12156:17;;;;12256;;;;12401:2;12379:15;;;;-1:-1:-1;;12355:48:0;;;12248:32;12278:2;12248:32;;;;;;;;12148:26;;;;12237:43;;;;12344:59;12448:21;:31;;;12537:22;;:27;12533:51;;12566:7;:18;12576:8;12566:7;:18;:::i;:::-;;12533:51;12644:26;;:31;12640:63;;12677:11;:26;12691:12;12677:11;:26;:::i;:::-;;12640:63;-1:-1:-1;;;;;12769:55:0;;;12765:137;;12840:51;;-1:-1:-1;;;12840:51:0;;-1:-1:-1;;;;;1902:32:197;;;12840:51:0;;;1884::197;12840:32:0;;;;;1857:18:197;;12840:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12765:137;12961:14;;:21;:26;12957:69;;13011:14;;12989:37;;-1:-1:-1;;;12989:37:0;;-1:-1:-1;;;;;12989:21:0;;;;;:37;;13011:14;12989:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12989:37:0;;;;;;;;;;;;:::i;:::-;;12957:69;13090:31;;;:63;;;13125:6;:28;;;13090:63;:98;;;;13157:6;:31;;;13090:98;:144;;;;13208:6;:26;;;13090:144;13073:198;;;13245:26;;;-1:-1:-1;;;13245:26:0;;43095:13:197;;43088:21;43081:29;13245:26:0;;;43063:48:197;43181:4;43169:17;;43163:24;43156:32;43149:40;43127:20;;;43120:70;43248:17;;;43242:24;43235:32;43228:40;43206:20;;;43199:70;43339:4;43327:17;;43321:24;43314:32;43307:40;43285:20;;;43278:70;-1:-1:-1;;;;;13245:18:0;;;;;43035:19:197;;13245:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13073:198;13332:30;13351:10;13332:18;:30::i;6847:285:154:-;6928:13;:11;:13::i;:::-;6954:15;;;:48;;-1:-1:-1;;;;;;6973:29:154;;6954:48;6951:113;;;7023:41;;-1:-1:-1;;;7023:41:154;;7049:1;7023:41;;;43533:51:197;43600:18;;;43593:34;;;43506:18;;7023:41:154;43359:274:197;6951:113:154;7075:50;7102:1;7113:10;7075:18;:50::i;4695:153:5:-;4789:52;719:10:181;4822:8:5;4832;4789:18;:52::i;5410:2106:6:-;5545:21;5568:18;;5745:16;;;;:20;5741:60;;5774:27;;-1:-1:-1;;;5774:27:6;;;;;;;;;;;5741:60;5875:11;;5914:75;5948:24;5974:14;;;;:5;:14;:::i;5914:75::-;6101:44;;;6143:1;6101:44;;;;;;;;;5874:115;;-1:-1:-1;5874:115:6;;-1:-1:-1;6101:44:6;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;6101:44:6;;;;;;;;;;;;;;;6079:66;;6180:55;;;;;;;;6216:4;-1:-1:-1;;;;;6180:55:6;;;;;6222:1;6180:55;;;;6225:9;;;;;;;;;;;;6180:55;;;6155:19;6175:1;6155:22;;;;;;;;:::i;:::-;;;;;;:80;;;;6246:33;6325:6;6321:65;;;6363:9;6352:34;;;;;;;;;;;;:::i;:::-;6333:53;;6321:65;6471:25;6499:43;6518:16;6536:5;6499:18;:43::i;:::-;6471:71;;6612:14;6629:28;6651:5;6629:21;:28::i;:::-;6612:45;;6721:13;6737:49;6744:5;:14;;;6760:17;6779:6;6737;:49::i;:::-;6721:65;;242:6:120;6930:5:6;:20;;;:55;6926:133;;7009:5;7016:10;;;;:5;:10;:::i;:::-;7028:19;7001:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;7001:47:6;;-1:-1:-1;;;;;;;;;;;7001:47:6;6926:133;7196:246;7220:5;7286:89;7293:17;7312:54;7346:20;;;;242:6:120;7312:54:6;:::i;:::-;7368:6;7286;:89::i;:::-;7243:132;;:20;;;;:132;:::i;:::-;242:6:120;7196::6;:246::i;:::-;7456:10;;;;:5;:10;:::i;:::-;7480:19;7175:334;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7175:334:6;;-1:-1:-1;7175:334:6;;-1:-1:-1;7175:334:6;;-1:-1:-1;;;;;;;;;;;;5410:2106:6;;;;;;:::o;19626:1273:0:-;19815:17;;19843:9;;19815:38;;-1:-1:-1;;;19815:38:0;;;;;5559:25:197;;;;19777:35:0;;-1:-1:-1;;;;;19815:17:0;;:27;;5532:18:197;;19815:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3772:22:123;;;;;;-1:-1:-1;555:10:30;;564:1;554:16;;;553:23;19918:215:0;;20102:31;;-1:-1:-1;;;20102:31:0;;;;;;;;;;;19918:215;20223:5;;:44;;-1:-1:-1;;;20223:44:0;;;;;31938:25:197;;;31979:18;;;31972:34;;;20194:26:0;;-1:-1:-1;;;;;20223:5:0;;:27;;31911:18:197;;20223:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20223:44:0;;;;;;;;;;;;:::i;:::-;20377:5;;:56;;-1:-1:-1;;;20377:56:0;;20418:4;20377:56;;;43533:51:197;43600:18;;;43593:34;;;20194:73:0;;-1:-1:-1;20341:33:0;;-1:-1:-1;;;;;20377:5:0;;;;:32;;43506:18:197;;20377:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20341:92;;20509:16;20541:10;20536:357;20558:6;20553:2;:11;20536:357;;;20625:9;20635:2;20625:13;;;;;;;;:::i;:::-;;;;;;;20614:24;;20684:42;20690:25;20717:8;20684:5;:42::i;:::-;20746:75;;20810:10;1884:51:197;;-1:-1:-1;;;;;20746:75:0;;;20774:7;;20764:8;;20746:75;;1872:2:197;1857:18;20746:75:0;;;;;;;20864:4;;20536:357;;;;19700:1199;;;;19626:1273;;:::o;5701:262:5:-;5828:41;719:10:181;5861:7:5;5828:18;:41::i;:::-;5823:85;;5878:30;;-1:-1:-1;;;5878:30:5;;;;;;;;;;;5823:85;5918:38;5932:4;5938:2;5942:7;5951:4;5918:13;:38::i;7641:592:0:-;7827:5;;:39;;-1:-1:-1;;;7827:39:0;;7860:4;7827:39;;;1884:51:197;7715:13:0;;7792:32;;-1:-1:-1;;;;;7827:5:0;;;;:24;;1857:18:197;;7827:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7792:74;-1:-1:-1;;;;;;7960:32:0;;;7956:90;;8001:45;;-1:-1:-1;;;8001:45:0;;8030:4;8001:45;;;43533:51:197;43600:18;;;43593:34;;;-1:-1:-1;;;;;8001:20:0;;;;;43506:18:197;;8001:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8001:45:0;;;;;;;;;;;;:::i;7956:90::-;8144:82;8165:7;8144:82;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8174:5:0;;:51;;-1:-1:-1;;;8174:51:0;;8209:4;8174:51;;;43533::197;43600:18;;;43593:34;;;-1:-1:-1;;;;;8174:5:0;;;;-1:-1:-1;8174:26:0;;-1:-1:-1;43506:18:197;;;-1:-1:-1;8174:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8144:20;:82::i;4441:535:6:-;4778:12;;;;4586:18;;4807:10;;;;4778:5;4807:10;:::i;:::-;4800:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4800:17:6;;-1:-1:-1;4884:1:6;;-1:-1:-1;4849:37:6;;-1:-1:-1;;4849:37:6;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;4849:37:6;;;;;;;;;;;;;;;;4827:59;;4921:48;;;;;;;;4950:4;-1:-1:-1;;;;;4921:48:6;;;;;4956:1;4921:48;;;;4959:9;;;;;;;;;;;;4921:48;;;4896:19;4916:1;4896:22;;;;;;;;:::i;:::-;;;;;;:73;;;;4441:535;;;;;:::o;4898:34:0:-;;;;;;;:::i;6404:234:154:-;6475:13;:11;:13::i;:::-;-1:-1:-1;;;;;6501:23:154;;6498:78;;6545:31;;-1:-1:-1;;;6545:31:154;;-1:-1:-1;;;;;43551:32:197;;6545:31:154;;;43533:51:197;6574:1:154;43600:18:197;;;43593:34;43506:18;;6545:31:154;43359:274:197;6498:78:154;6599:32;6618:9;6629:1;6599:18;:32::i;9072:493:6:-;9175:4;-1:-1:-1;;;;;;9198:48:6;;-1:-1:-1;;;9198:48:6;;:128;;-1:-1:-1;;;;;;;9262:64:6;;-1:-1:-1;;;9262:64:6;9198:128;:197;;;-1:-1:-1;;;;;;;9342:53:6;;-1:-1:-1;;;9342:53:6;9198:197;:261;;;-1:-1:-1;;;;;;;9399:60:6;;-1:-1:-1;;;9399:60:6;9198:261;:319;;;-1:-1:-1;;;;;;;9475:42:6;;-1:-1:-1;;;9475:42:6;9198:319;:360;;;;9521:37;9545:12;9521:23;:37::i;10690:128:5:-;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;10763:48;;10793:18;;-1:-1:-1;;;10793:18:5;;;;;;;;;;;10028:171;10102:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;10102:29:5;-1:-1:-1;;;;;10102:29:5;;;;;;;;:24;;10155:23;10102:24;10155:14;:23::i;:::-;-1:-1:-1;;;;;10146:46:5;;;;;;;;;;;10028:171;;:::o;1657:1472:150:-;1739:11;1752:28;684:2:148;1871:39:150;;1867:63;;-1:-1:-1;;1912:18:150;;;;;;;;;1920:5;1912:18;;;1920:5;1912:18;;1867:63;2029:20;2058:9;;2068:23;121:1:148;623:2;2068:23:150;:::i;:::-;2058:34;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;623:2:148;;-1:-1:-1;2196:927:150;2263:1;2229:9;;2239:12;121:1:148;2239:2:150;:12;:::i;:::-;2229:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;2229:36:150;;;;:69;;;;-1:-1:-1;2274:24:150;190:2:148;2274:12:150;:24;:::i;:::-;2269:2;:29;2229:69;2196:927;;;2315:22;2354:9;;2364:12;121:1:148;2364:2:150;:12;:::i;:::-;2354:23;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;;;2424:41:150;;2431:9;2441:2;2431:9;2444:12;121:1:148;2441:2:150;2444:12;:::i;:::-;2431:26;;;;;;;:::i;:::-;2424:34;;;:::i;:::-;-1:-1:-1;;;;;;2424:41:150;;2420:618;;2706:12;2751:24;190:2:148;2751:12:150;:24;:::i;:::-;2722:25;511:1:148;2722:2:150;:25;:::i;:::-;:53;;:98;;;-1:-1:-1;2779:9:150;;2789:25;511:1:148;2789:2:150;:25;:::i;:::-;2779:36;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;2779:36:150;:41;;-1:-1:-1;2722:98:150;2721:226;;190:2:148;2897:9:150;;2907:25;511:1:148;2907:2:150;:25;:::i;:::-;2897:36;;;;;;;:::i;:::-;2883:64;;;2897:36;;;;;-1:-1:-1;2883:64:150;:::i;:::-;2721:226;;;2844:9;2721:226;2706:241;-1:-1:-1;2974:4:150;2980:9;;2990:26;190:2:148;2990:14:150;:26;:::i;:::-;2980:42;;3017:4;;2980:42;;:::i;:::-;2966:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2966:57:150;;-1:-1:-1;2966:57:150;;-1:-1:-1;2966:57:150;;-1:-1:-1;;;;;;;;;2966:57:150;2420:618;-1:-1:-1;305:1:148;3079:19:150;2196:927;;;;1782:1347;1657:1472;;;;;;;:::o;8730:375:5:-;8789:13;8805:23;8820:7;8805:14;:23::i;:::-;8789:39;;8839:48;8860:5;8875:1;8879:7;8839:20;:48::i;:::-;8925:29;8942:1;8946:7;8925:8;:29::i;:::-;8972:16;;;;:7;:16;;;;;;8965:23;;-1:-1:-1;;;;;;8965:23:5;;;9004:36;8980:7;;8972:16;-1:-1:-1;;;;;9004:36:5;;;;;8972:16;;9004:36;9051:47;9071:5;9086:1;9090:7;9051:19;:47::i;25857:150:0:-;25973:5;;:27;;-1:-1:-1;;;25973:27:0;;-1:-1:-1;;;;;25973:5:0;;;;:16;;:27;;25990:9;;25973:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25857:150;:::o;10844:518:154:-;719:10:181;-1:-1:-1;;;;;11052:19:154;;;;;;;:187;;-1:-1:-1;11088:151:154;;-1:-1:-1;;;11088:151:154;;-1:-1:-1;;;;;48305:15:197;;;11088:151:154;;;48287:34:197;48357:15;;;48337:18;;;48330:43;48389:18;;;48382:34;;;48432:18;;;48425:34;;;11088:13:154;:27;;;;48221:19:197;;11088:151:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11087:152;11052:187;:271;;;;-1:-1:-1;11256:67:154;;-1:-1:-1;;;11256:67:154;;-1:-1:-1;;;;;48305:15:197;;;11256:67:154;;;48287:34:197;48357:15;;;48337:18;;;48330:43;11303:1:154;48389:18:197;;;48382:34;48432:18;;;48425:34;;;11256:13:154;:27;;;;48221:19:197;;11256:67:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11255:68;11052:271;11035:320;;;11341:14;;-1:-1:-1;;;11341:14:154;;;;;;;;;;;7657:261:5;7750:4;7766:13;7782:23;7797:7;7782:14;:23::i;:::-;7766:39;;7834:5;-1:-1:-1;;;;;7823:16:5;:7;-1:-1:-1;;;;;7823:16:5;;:52;;;-1:-1:-1;;;;;;5034:25:5;;;5011:4;5034:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;7843:32;7823:87;;;;7903:7;-1:-1:-1;;;;;7879:31:5;:20;7891:7;7879:11;:20::i;:::-;-1:-1:-1;;;;;7879:31:5;;7823:87;7815:96;7657:261;-1:-1:-1;;;;7657:261:5:o;9429:487::-;9549:4;-1:-1:-1;;;;;9522:31:5;:23;9537:7;9522:14;:23::i;:::-;-1:-1:-1;;;;;9522:31:5;;9518:61;;9562:17;;-1:-1:-1;;;9562:17:5;;;;;;;;;;;9518:61;-1:-1:-1;;;;;9593:16:5;;9589:55;;9618:26;;-1:-1:-1;;;9618:26:5;;;;;;;;;;;9589:55;9655:39;9676:4;9682:2;9686:7;9655:20;:39::i;:::-;9756:29;9773:1;9777:7;9756:8;:29::i;:::-;9796:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;9796:21:5;-1:-1:-1;;;;;9796:21:5;;;;;;;;;9833:27;;9796:16;;9833:27;;;;;;;9871:38;9891:4;9897:2;9901:7;9871:19;:38::i;10162:314:154:-;10217:35;;;;;;;;-1:-1:-1;10217:35:154;;-1:-1:-1;;;;;10217:35:154;;;;-1:-1:-1;;;10217:35:154;;-1:-1:-1;;;;;10217:35:154;;;;;;;-1:-1:-1;;;10217:35:154;;;;;;;;;;;;;;10280:25;:94;;10353:20;;;;10336:38;;-1:-1:-1;;;10336:38:154;;-1:-1:-1;;;;;38987:37:197;;;10336:38:154;;;38969:56:197;10336:8:154;-1:-1:-1;;;;;10336:16:154;;;;38942:18:197;;10336:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10280:94;;;10317:16;;10280:94;10263:111;;10393:76;10412:6;10420:10;:20;;;-1:-1:-1;;;;;10393:76:154;10442:10;:26;;;10393:76;;:18;:76::i;8006:184::-;8086:7;:42;;-1:-1:-1;;;;;8086:42:154;-1:-1:-1;;;8086:42:154;;;;;;;;;;;;;8143:40;;49072:36:197;;;8143:40:154;;49060:2:197;49045:18;8143:40:154;;;;;;;8006:184;:::o;8146:367:5:-;-1:-1:-1;;;;;8221:16:5;;8217:43;;8246:14;;-1:-1:-1;;;8246:14:5;;;;;;;;;;;8217:43;7439:4;7462:16;;;:7;:16;;;;;;-1:-1:-1;;;;;7462:16:5;:30;8270:44;;8299:15;;-1:-1:-1;;;8299:15:5;;;;;;;;;;;8270:44;8325:45;8354:1;8358:2;8362:7;8325:20;:45::i;:::-;8381:16;;;;:7;:16;;;;;;:21;;-1:-1:-1;;;;;;8381:21:5;-1:-1:-1;;;;;8381:21:5;;;;;;;;8418:33;;8381:16;;;8418:33;;8381:16;;8418:33;8462:44;8490:1;8494:2;8498:7;8462:19;:44::i;21285:4425:0:-;21472:21;;21415:14;;21590:24;;;21632:21;;;;:41;;;21628:789;;21702:18;;;;;-1:-1:-1;21628:789:0;;;21869:2;21858:13;;;21896:32;;21892:511;;22044:30;22070:2;22059:13;;;22044:30;22105:226;22137:18;;;;22181:22;22044:30;22181:2;:22;:::i;:::-;22287:21;22229:80;-1:-1:-1;;;22229:80:0;;22246:21;;;;22229:80;;;50689:25:197;50730:18;;;50723:34;;;22287:21:0;;;;50773:18:197;;;50766:34;-1:-1:-1;;;;;22229:16:0;;;;;50662:18:197;;22229:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;22105:6;:226::i;:::-;22096:235;;21930:420;21741:676;21628:789;-1:-1:-1;22519:16:0;;-1:-1:-1;22538:9:0;22519:16;22548:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22538:28:0;;;;;;;;;;;;-1:-1:-1;22538:28:0;;;;;-1:-1:-1;22718:6:0;;22942:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22927:32:0;:11;;;;:5;:11;:::i;:::-;-1:-1:-1;;;;;22927:32:0;;22923:189;;23003:27;;;;22923:189;;;-1:-1:-1;23093:8:0;22923:189;23333:23;;;23469:77;23503:21;23526:19;;;;:5;:19;:::i;23469:77::-;23429:117;;;;23569:6;23565:799;;;23648:30;23795:9;23784:39;;;;;;;;;;;;:::i;:::-;23729:94;;-1:-1:-1;23729:94:0;-1:-1:-1;23729:94:0;23905:70;;;;-1:-1:-1;23927:5:0;;:28;;-1:-1:-1;;;23927:28:0;;23949:4;23927:28;;;1884:51:197;-1:-1:-1;;;;;23927:5:0;;;;:13;;1857:18:197;;23927:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;;23905:70;23901:135;;;24016:5;23995:26;;23901:135;24104:21;;:26;24100:143;;24168:60;24177:15;24194:14;24210:17;;;;;;;;:::i;:::-;24168:8;:60::i;:::-;24150:78;;24100:143;23577:676;23565:799;;;24264:5;;:28;;-1:-1:-1;;;24264:28:0;;24286:4;24264:28;;;1884:51:197;-1:-1:-1;;;;;24264:5:0;;;;:13;;1857:18:197;;24264:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;;24259:105;;24349:4;24328:25;;24259:105;24474:20;;24470:1234;;24614:18;24609:46;;24641:14;;-1:-1:-1;;;24641:14:0;;;;;;;;;;;24609:46;24832:33;;;24935:22;;;24931:310;;;25034:17;;;;;;;;:::i;:::-;24986:78;;25053:10;1884:51:197;;-1:-1:-1;;;;;24986:78:0;;;;;25021:11;;24997:22;;;;24986:78;;1872:2:197;1857:18;24986:78:0;;;;;;;24931:310;;;25104:11;25093:8;:22;25089:152;;;25192:17;;;;;;;;:::i;:::-;25144:78;;25211:10;1884:51:197;;-1:-1:-1;;;;;25144:78:0;;;;;25179:11;;25155:22;;;;25144:78;;1872:2:197;1857:18;25144:78:0;;;;;;;25089:152;25332:11;25301:9;:28;25311:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25301:28:0;;;;;;;;;;;;-1:-1:-1;25301:28:0;:42;-1:-1:-1;24470:1234:0;;;25429:15;25417:8;:27;25413:291;;25564:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25508:86:0;25547:15;25519:26;25547:15;25519:8;:26;:::i;:::-;25508:86;;25583:10;1884:51:197;;25508:86:0;;1872:2:197;1857:18;25508:86:0;;;;;;;25678:15;25647:9;:28;25657:17;;;;;;;;:::i;:::-;-1:-1:-1;;;;;25647:28:0;;;;;;;;;;;;-1:-1:-1;25647:28:0;:46;25413:291;21370:4340;;;;;;;21285:4425;:::o;8816:1038:154:-;-1:-1:-1;;;;;8989:15:154;;;;;;:42;;-1:-1:-1;;;;;;9008:23:154;;;;8989:42;8985:107;;;9052:40;;-1:-1:-1;;;9052:40:154;;-1:-1:-1;;;;;52841:32:197;;9052:40:154;;;52823:51:197;-1:-1:-1;;;;;52910:37:197;;52890:18;;;52883:65;52796:18;;9052:40:154;52650:304:197;8985:107:154;9147:35;;;;;;;;-1:-1:-1;9147:35:154;;-1:-1:-1;;;;;9147:35:154;;;;-1:-1:-1;;;9147:35:154;;-1:-1:-1;;;;;9147:35:154;;;;;;;-1:-1:-1;;;9147:35:154;;;;;;;;;;;;;;9270:25;:94;;9343:20;;;;9326:38;;-1:-1:-1;;;9326:38:154;;-1:-1:-1;;;;;38987:37:197;;;9326:38:154;;;38969:56:197;9326:8:154;-1:-1:-1;;;;;9326:16:154;;;;38942:18:197;;9326:38:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9270:94;;;9307:16;;9270:94;9535:116;;;;;;;;-1:-1:-1;;;;;9535:116:154;;;;;-1:-1:-1;;;;;9535:116:154;;;;;;;;-1:-1:-1;9535:116:154;;;;;;;9525:126;;-1:-1:-1;;;;;;9525:126:154;;-1:-1:-1;;;9525:126:154;;;-1:-1:-1;;;;;9525:126:154;;;9250:114;;-1:-1:-1;9758:89:154;;9250:114;;9788:15;:58;;9818:28;;-1:-1:-1;;;9818:28:154;;-1:-1:-1;;;;;38987:37:197;;9818:28:154;;;38969:56:197;9818:8:154;-1:-1:-1;;;;;9818:16:154;;;;38942:18:197;;9818:28:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9758:18;:89::i;9788:58::-;9806:9;9758:18;:89::i;10638:189:6:-;10754:34;10773:5;10780:7;10754:18;:34::i;:::-;-1:-1:-1;;10798:9:6;:22;10638:189::o;10335:271:5:-;10451:8;-1:-1:-1;;;;;10442:17:5;:5;-1:-1:-1;;;;;10442:17:5;;10438:49;;10468:19;;-1:-1:-1;;;10468:19:5;;;;;;;;;;;10438:49;-1:-1:-1;;;;;10497:25:5;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;10497:46:5;;;;;;;;;;10558:41;;636::197;;;10558::5;;609:18:197;10558:41:5;;;;;;;10335:271;;;:::o;14476:4121:195:-;14549:14;;;-1:-1:-1;;15026:1:195;15023;15016:20;15061:1;15058;15054:9;15045:18;;15108:5;15104:2;15101:13;15093:5;15089:2;15085:14;15081:34;15072:43;;;15186:5;15195:1;15186:10;15182:93;;15247:11;15239:5;:19;;;;;:::i;:::-;;15232:26;;;;;;15182:93;15374:11;15365:5;:20;15361:92;;15404:42;;-1:-1:-1;;;15404:42:195;;;;;50689:25:197;;;50730:18;;;50723:34;;;50773:18;;;50766:34;;;50662:18;;15404:42:195;50487:319:197;15361:92:195;15725:17;15872:11;15869:1;15866;15859:25;17578:1;17559;16437;16422:12;;:16;;16407:32;;16592:25;;;;17559:15;;;17558:21;;17799;;;17795:25;;17784:36;17864:21;;;17860:25;;17849:36;17930:21;;;17926:25;;17915:36;17996:21;;;17992:25;;17981:36;18062:21;;;18058:25;;18047:36;18129:21;;;18125:25;;;18114:36;16389:15;17110;;;17106:29;;;17102:37;;;15970:20;;;15959:32;;;17216:22;;;;16009:21;;16688:19;;;;17207:31;;;;18573:15;;14476:4121;-1:-1:-1;;;;14476:4121:195:o;6824:247:5:-;6936:28;6946:4;6952:2;6956:7;6936:9;:28::i;:::-;6979:47;7002:4;7008:2;7012:7;7021:4;6979:22;:47::i;:::-;6974:90;;7035:29;;-1:-1:-1;;;7035:29:5;;;;;;;;;;;793:487:29;1018:44;;-1:-1:-1;;;1018:44:29;;;53246:41:197;53303:11;;;53296:27;;;876:13:29;;985:30;;53339:12:197;;1018:44:29;;;;;;;;;;;;985:77;;1117:22;1142:28;1152:17;1142:9;:28::i;:::-;1117:53;;1253:8;1263;1236:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1222:51;;;;793:487;;;;:::o;2227:276:5:-;2329:4;-1:-1:-1;;;;;;2352:40:5;;-1:-1:-1;;;2352:40:5;;:92;;-1:-1:-1;;;;;;;2396:48:5;;-1:-1:-1;;;2396:48:5;2352:92;:144;;;-1:-1:-1;;;;;;;;;;937:40:188;;;2460:36:5;829:155:188;27766:1193:0;-1:-1:-1;;;;;27953:19:0;;;27949:945;;28057:5;;:51;;-1:-1:-1;;;28057:51:0;;28085:4;28057:51;;;54059::197;54126:18;;;54119:34;;;28032:22:0;54169:18:197;;;54162:50;;;28032:22:0;-1:-1:-1;;;;;28057:5:0;;:19;;54032:18:197;;28057:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;28057:51:0;;;;;;;;;;;;:::i;:::-;28032:76;;28184:5;:23;;;28180:513;;;28340:17;;28368:9;;28340:38;;-1:-1:-1;;;28340:38:0;;;;;5559:25:197;;;;28302:35:0;;-1:-1:-1;;;;;28340:17:0;;:27;;5532:18:197;;28340:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;28302:76;-1:-1:-1;;;;;;28422:17:0;;;;;;:212;;-1:-1:-1;3772:22:123;;;;3798:3;3772:29;441:1:30;433:9;;;432:16;28467:167:0;28397:281;;;28660:18;;-1:-1:-1;;;28660:18:0;;;;;;;;;;;28397:281;28209:484;28180:513;28848:1;28813:23;;;:13;:23;;;;;;-1:-1:-1;;;;;28813:23:0;28809:74;;28852:23;;;;:13;:23;;;;;:31;;-1:-1:-1;;;;;;28852:31:0;-1:-1:-1;;;;;28852:31:0;;;;;27974:920;4109:291:5;4039:361;;:::o;29215:569:0:-;29391:5;;:51;;-1:-1:-1;;;29391:51:0;;29419:4;29391:51;;;54059::197;54126:18;;;54119:34;;;29366:22:0;54169:18:197;;;54162:50;;;29366:22:0;-1:-1:-1;;;;;29391:5:0;;:19;;54032:18:197;;29391:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;29391:51:0;;;;;;;;;;;;:::i;:::-;29485:5;;29513:8;;29485:49;;-1:-1:-1;;;29485:49:0;;;;;55775:25:197;;;;-1:-1:-1;;;;;55874:15:197;;;55854:18;;;55847:43;55926:15;;;55906:18;;;55899:43;29513:8:0;;-1:-1:-1;29485:5:0;;;:27;;55748:18:197;;29485:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29730:47;4039:361:5;26387:1098:0;26744:5;;:113;;-1:-1:-1;;;26744:113:0;;26508:22;;26591:26;;-1:-1:-1;;;;;26744:5:0;;;;:16;;:113;;26774:7;;26795:12;;26508:22;;26744:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;26744:113:0;;;;;;;;;;;;:::i;:::-;26942:16;;26714:143;;-1:-1:-1;26714:143:0;;-1:-1:-1;26919:20:0;;27107:372;27129:12;27124:2;:17;27107:372;;;27231:9;27241:2;27231:13;;;;;;;;:::i;:::-;;;;;;;27220:24;;27291:29;27297:12;27311:8;27291:5;:29::i;:::-;27373:12;-1:-1:-1;;;;;27340:67:0;27355:12;27368:2;27355:16;;;;;;;;:::i;:::-;;;;;;;27340:67;;27345:8;27340:67;27387:7;27396:10;27340:67;;;;;;27002:25:197;;;-1:-1:-1;;;;;27063:32:197;27058:2;27043:18;;27036:60;26990:2;26975:18;;26800:302;27340:67:0;;;;;;;;27450:4;;27107:372;;;;26536:949;;;26387:1098;;;;;:::o;873:190:153:-;1047:8;-1:-1:-1;;;;;1011:45:153;1032:13;-1:-1:-1;;;;;1011:45:153;;;;;;;;;;;873:190;;:::o;2029:131:5:-;2113:5;:13;2121:5;2113;:13;:::i;:::-;-1:-1:-1;2136:7:5;:17;2146:7;2136;:17;:::i;11370:789::-;11497:4;-1:-1:-1;;;;;11521:13:5;;1702:19:179;:23;11517:636:5;;11556:71;;-1:-1:-1;;;11556:71:5;;-1:-1:-1;;;;;11556:36:5;;;;;:71;;719:10:181;;11607:4:5;;11613:7;;11622:4;;11556:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11556:71:5;;;;;;;;-1:-1:-1;;11556:71:5;;;;;;;;;;;;:::i;:::-;;;11552:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11794:6;:13;11811:1;11794:18;11790:297;;11843:29;;-1:-1:-1;;;11843:29:5;;;;;;;;;;;11790:297;12039:6;12033:13;12024:6;12020:2;12016:15;12009:38;11552:549;-1:-1:-1;;;;;;11677:51:5;-1:-1:-1;;;11677:51:5;;-1:-1:-1;11670:58:5;;11517:636;-1:-1:-1;12138:4:5;11370:789;;;;;;:::o;1390:1065:29:-;1453:13;1482:7;:14;1500:1;1482:19;1478:45;;-1:-1:-1;;1510:13:29;;;1521:1;1510:13;;;;;;;;;1390:1065::o;1478:45::-;1558:15;;;1570:2;1558:15;;;;;;;;;1534:21;;1558:15;;;;;;;;;;-1:-1:-1;1558:15:29;1534:39;;1625:1;1613:6;1620:1;1613:9;;;;;;;;:::i;:::-;:13;;;;:9;;;;;;;;;;;:13;1692:14;;1657:1;;1637:17;1717:654;1737:13;1733:1;:17;1717:654;;;1767:13;1789:7;1797:1;1789:10;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;1820:9:29;1815:265;1835:11;1831:15;;:1;:15;1815:265;;;1898:1;1884:6;1891:1;1884:9;;;;;;;;:::i;:::-;;;;;;;1876:18;;:23;;1867:32;;;;;:::i;:::-;;-1:-1:-1;1946:10:29;1954:2;1867:32;1946:10;:::i;:::-;1928:6;1935:1;1928:9;;;;;;;;:::i;:::-;:29;;;;:9;;;;;;;;;;;:29;1983:10;1991:2;1983:5;:10;:::i;:::-;1975:18;-1:-1:-1;2044:3:29;;1815:265;;;;2094:207;2101:9;;2094:207;;2158:10;2166:2;2158:5;:10;:::i;:::-;2130:6;2137:11;2130:19;;;;;;;;;;:::i;:::-;:39;;;;:19;;;;;;;;;;;:39;2219:13;;;;;2276:10;2284:2;2276:5;:10;:::i;:::-;2268:18;;2094:207;;;-1:-1:-1;2343:3:29;;1717:654;;;;2394:53;2406:40;2415:30;2425:6;2433:11;2415:9;:30::i;:::-;2406:8;:40::i;:::-;2394:11;:53::i;:::-;2380:68;1390:1065;-1:-1:-1;;;;;1390:1065:29:o;2461:324::-;2540:14;2566:21;2602:7;2590:20;;-1:-1:-1;;;;;2590:20:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2590:20:29;;2566:44;;2625:9;2620:136;2640:7;2636:11;;:1;:11;2620:136;;;2676:6;2683:1;2676:9;;;;;;;;:::i;:::-;;;;;;;2664:6;2671:1;2664:9;;;;;;;;:::i;:::-;:21;;;;:9;;;;;;;;;;;:21;2728:3;;2620:136;;;-1:-1:-1;2772:6:29;2461:324;-1:-1:-1;;;2461:324:29:o;2791:387::-;2903:13;;2854:14;;2880:20;2903:13;-1:-1:-1;;;;;2950:25:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2950:25:29;;2926:49;;2990:9;2985:164;3005:12;3001:1;:16;2985:164;;;3074:6;3101:1;3097;3081:6;:13;:17;:21;3074:29;;;;;;;;:::i;:::-;;;;;;;3062:6;3069:1;3062:9;;;;;;;;:::i;:::-;:41;;;;:9;;;;;;;;;;;:41;3121:3;;2985:164;;3184:384;3301:15;;3252:12;;3276:22;3301:15;-1:-1:-1;;;;;3348:25:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3348:25:29;;3326:47;;3388:9;3383:156;3403:14;3399:1;:18;3383:156;;;3446:9;;;;;;;;;;;;;;;;;3456:8;3465:1;3456:11;;;;;;;;:::i;:::-;;;;;;;3446:22;;;;;;;;;;:::i;:::-;;;;;;;;;3434:6;3441:1;3434:9;;;;;;;;:::i;:::-;;;;:34;-1:-1:-1;;;;;3434:34:29;;;;;;;;-1:-1:-1;3511:3:29;;3383:156;;14:131:197;-1:-1:-1;;;;;;88:32:197;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;688:250::-;773:1;783:113;797:6;794:1;791:13;783:113;;;873:11;;;867:18;854:11;;;847:39;819:2;812:10;783:113;;;-1:-1:-1;;930:1:197;912:16;;905:27;688:250::o;943:271::-;985:3;1023:5;1017:12;1050:6;1045:3;1038:19;1066:76;1135:6;1128:4;1123:3;1119:14;1112:4;1105:5;1101:16;1066:76;:::i;:::-;1196:2;1175:15;-1:-1:-1;;1171:29:197;1162:39;;;;1203:4;1158:50;;943:271;-1:-1:-1;;943:271:197:o;1219:220::-;1368:2;1357:9;1350:21;1331:4;1388:45;1429:2;1418:9;1414:18;1406:6;1388:45;:::i;1444:180::-;1503:6;1556:2;1544:9;1535:7;1531:23;1527:32;1524:52;;;1572:1;1569;1562:12;1524:52;-1:-1:-1;1595:23:197;;1444:180;-1:-1:-1;1444:180:197:o;2315:131::-;-1:-1:-1;;;;;2390:31:197;;2380:42;;2370:70;;2436:1;2433;2426:12;2451:134;2519:20;;2548:31;2519:20;2548:31;:::i;:::-;2451:134;;;:::o;2590:315::-;2658:6;2666;2719:2;2707:9;2698:7;2694:23;2690:32;2687:52;;;2735:1;2732;2725:12;2687:52;2774:9;2761:23;2793:31;2818:5;2793:31;:::i;:::-;2843:5;2895:2;2880:18;;;;2867:32;;-1:-1:-1;;;2590:315:197:o;2910:401::-;3010:6;3063:2;3051:9;3042:7;3038:23;3034:32;3031:52;;;3079:1;3076;3069:12;3031:52;3119:9;3106:23;-1:-1:-1;;;;;3144:6:197;3141:30;3138:50;;;3184:1;3181;3174:12;3138:50;3207:22;;3263:3;3245:16;;;3241:26;3238:46;;;3280:1;3277;3270:12;3316:348;3368:8;3378:6;3432:3;3425:4;3417:6;3413:17;3409:27;3399:55;;3450:1;3447;3440:12;3399:55;-1:-1:-1;3473:20:197;;-1:-1:-1;;;;;3505:30:197;;3502:50;;;3548:1;3545;3538:12;3502:50;3585:4;3577:6;3573:17;3561:29;;3637:3;3630:4;3621:6;3613;3609:19;3605:30;3602:39;3599:59;;;3654:1;3651;3644:12;3599:59;3316:348;;;;;:::o;3669:1026::-;3820:6;3828;3836;3844;3852;3860;3868;3921:3;3909:9;3900:7;3896:23;3892:33;3889:53;;;3938:1;3935;3928:12;3889:53;3978:9;3965:23;-1:-1:-1;;;;;4048:2:197;4040:6;4037:14;4034:34;;;4064:1;4061;4054:12;4034:34;4103:59;4154:7;4145:6;4134:9;4130:22;4103:59;:::i;:::-;4181:8;;-1:-1:-1;4077:85:197;-1:-1:-1;4269:2:197;4254:18;;4241:32;;-1:-1:-1;4285:16:197;;;4282:36;;;4314:1;4311;4304:12;4282:36;;4353:61;4406:7;4395:8;4384:9;4380:24;4353:61;:::i;:::-;4433:8;;-1:-1:-1;4327:87:197;-1:-1:-1;;4518:2:197;4503:18;;4490:32;4531:31;4490:32;4531:31;:::i;:::-;3669:1026;;;;-1:-1:-1;3669:1026:197;;;;4581:5;4633:2;4618:18;;4605:32;;-1:-1:-1;4684:3:197;4669:19;;;4656:33;;3669:1026;-1:-1:-1;;3669:1026:197:o;4700:456::-;4777:6;4785;4793;4846:2;4834:9;4825:7;4821:23;4817:32;4814:52;;;4862:1;4859;4852:12;4814:52;4901:9;4888:23;4920:31;4945:5;4920:31;:::i;:::-;4970:5;-1:-1:-1;5027:2:197;5012:18;;4999:32;5040:33;4999:32;5040:33;:::i;:::-;4700:456;;5092:7;;-1:-1:-1;;;5146:2:197;5131:18;;;;5118:32;;4700:456::o;5161:247::-;5220:6;5273:2;5261:9;5252:7;5248:23;5244:32;5241:52;;;5289:1;5286;5279:12;5241:52;5328:9;5315:23;5347:31;5372:5;5347:31;:::i;5595:671::-;5737:6;5745;5798:2;5786:9;5777:7;5773:23;5769:32;5766:52;;;5814:1;5811;5804:12;5766:52;5854:9;5841:23;-1:-1:-1;;;;;5924:2:197;5916:6;5913:14;5910:34;;;5940:1;5937;5930:12;5910:34;5978:6;5967:9;5963:22;5953:32;;6023:7;6016:4;6012:2;6008:13;6004:27;5994:55;;6045:1;6042;6035:12;5994:55;6085:2;6072:16;6111:2;6103:6;6100:14;6097:34;;;6127:1;6124;6117:12;6097:34;6180:7;6175:2;6165:6;6162:1;6158:14;6154:2;6150:23;6146:32;6143:45;6140:65;;;6201:1;6198;6191:12;6140:65;6232:2;6224:11;;;;;6254:6;;-1:-1:-1;5595:671:197;;-1:-1:-1;;;;5595:671:197:o;6716:269::-;6773:6;6826:2;6814:9;6805:7;6801:23;6797:32;6794:52;;;6842:1;6839;6832:12;6794:52;6881:9;6868:23;6931:4;6924:5;6920:16;6913:5;6910:27;6900:55;;6951:1;6948;6941:12;6990:366;7052:8;7062:6;7116:3;7109:4;7101:6;7097:17;7093:27;7083:55;;7134:1;7131;7124:12;7083:55;-1:-1:-1;7157:20:197;;-1:-1:-1;;;;;7189:30:197;;7186:50;;;7232:1;7229;7222:12;7186:50;7269:4;7261:6;7257:17;7245:29;;7329:3;7322:4;7312:6;7309:1;7305:14;7297:6;7293:27;7289:38;7286:47;7283:67;;;7346:1;7343;7336:12;7361:570;7455:6;7463;7471;7524:2;7512:9;7503:7;7499:23;7495:32;7492:52;;;7540:1;7537;7530:12;7492:52;7580:9;7567:23;-1:-1:-1;;;;;7605:6:197;7602:30;7599:50;;;7645:1;7642;7635:12;7599:50;7684:69;7745:7;7736:6;7725:9;7721:22;7684:69;:::i;:::-;7772:8;;-1:-1:-1;7658:95:197;-1:-1:-1;;7857:2:197;7842:18;;7829:32;7870:31;7829:32;7870:31;:::i;:::-;7920:5;7910:15;;;7361:570;;;;;:::o;7936:439::-;7989:3;8027:5;8021:12;8054:6;8049:3;8042:19;8080:4;8109;8104:3;8100:14;8093:21;;8148:4;8141:5;8137:16;8171:1;8181:169;8195:6;8192:1;8189:13;8181:169;;;8256:13;;8244:26;;8290:12;;;;8325:15;;;;8217:1;8210:9;8181:169;;;-1:-1:-1;8366:3:197;;7936:439;-1:-1:-1;;;;;7936:439:197:o;8380:261::-;8559:2;8548:9;8541:21;8522:4;8579:56;8631:2;8620:9;8616:18;8608:6;8579:56;:::i;8646:398::-;8743:6;8796:2;8784:9;8775:7;8771:23;8767:32;8764:52;;;8812:1;8809;8802:12;8764:52;8852:9;8839:23;-1:-1:-1;;;;;8877:6:197;8874:30;8871:50;;;8917:1;8914;8907:12;8871:50;8940:22;;8996:3;8978:16;;;8974:26;8971:46;;;9013:1;9010;9003:12;9049:127;9110:10;9105:3;9101:20;9098:1;9091:31;9141:4;9138:1;9131:15;9165:4;9162:1;9155:15;9181:253;9253:2;9247:9;9295:4;9283:17;;-1:-1:-1;;;;;9315:34:197;;9351:22;;;9312:62;9309:88;;;9377:18;;:::i;:::-;9413:2;9406:22;9181:253;:::o;9439:255::-;9511:2;9505:9;9553:6;9541:19;;-1:-1:-1;;;;;9575:34:197;;9611:22;;;9572:62;9569:88;;;9637:18;;:::i;9699:252::-;9771:2;9765:9;9813:3;9801:16;;-1:-1:-1;;;;;9832:34:197;;9868:22;;;9829:62;9826:88;;;9894:18;;:::i;9956:255::-;10028:2;10022:9;10070:6;10058:19;;-1:-1:-1;;;;;10092:34:197;;10128:22;;;10089:62;10086:88;;;10154:18;;:::i;10216:275::-;10287:2;10281:9;10352:2;10333:13;;-1:-1:-1;;10329:27:197;10317:40;;-1:-1:-1;;;;;10372:34:197;;10408:22;;;10369:62;10366:88;;;10434:18;;:::i;:::-;10470:2;10463:22;10216:275;;-1:-1:-1;10216:275:197:o;10496:183::-;10556:4;-1:-1:-1;;;;;10581:6:197;10578:30;10575:56;;;10611:18;;:::i;:::-;-1:-1:-1;10656:1:197;10652:14;10668:4;10648:25;;10496:183::o;10684:167::-;10755:5;10800:3;10791:6;10786:3;10782:16;10778:26;10775:46;;;10817:1;10814;10807:12;10775:46;-1:-1:-1;10839:6:197;10684:167;-1:-1:-1;10684:167:197:o;10856:1171::-;10988:6;10996;11049:2;11037:9;11028:7;11024:23;11020:32;11017:52;;;11065:1;11062;11055:12;11017:52;11105:9;11092:23;-1:-1:-1;;;;;11175:2:197;11167:6;11164:14;11161:34;;;11191:1;11188;11181:12;11161:34;11229:6;11218:9;11214:22;11204:32;;11274:7;11267:4;11263:2;11259:13;11255:27;11245:55;;11296:1;11293;11286:12;11245:55;11332:2;11319:16;11354:4;11378:60;11394:43;11434:2;11394:43;:::i;:::-;11378:60;:::i;:::-;11472:15;;;11554:1;11550:10;;;;11542:19;;11538:28;;;11503:12;;;;11578:19;;;11575:39;;;11610:1;11607;11600:12;11575:39;11634:11;;;;11654:142;11670:6;11665:3;11662:15;11654:142;;;11736:17;;11724:30;;11687:12;;;;11774;;;;11654:142;;;11815:5;-1:-1:-1;;11858:18:197;;11845:32;;-1:-1:-1;;11889:16:197;;;11886:36;;;11918:1;11915;11908:12;11886:36;;11941:80;12013:7;12002:8;11991:9;11987:24;11941:80;:::i;:::-;11931:90;;;10856:1171;;;;;:::o;12032:976::-;12190:6;12198;12206;12214;12267:2;12255:9;12246:7;12242:23;12238:32;12235:52;;;12283:1;12280;12273:12;12235:52;12323:9;12310:23;-1:-1:-1;;;;;12393:2:197;12385:6;12382:14;12379:34;;;12409:1;12406;12399:12;12379:34;12447:6;12436:9;12432:22;12422:32;;12492:7;12485:4;12481:2;12477:13;12473:27;12463:55;;12514:1;12511;12504:12;12463:55;12554:2;12541:16;12580:2;12572:6;12569:14;12566:34;;;12596:1;12593;12586:12;12566:34;12656:7;12649:4;12639:6;12631;12627:19;12623:2;12619:28;12615:39;12612:52;12609:72;;;12677:1;12674;12667:12;12609:72;12708:4;12700:13;;;;-1:-1:-1;12732:6:197;-1:-1:-1;12776:20:197;;;12763:34;;12809:16;;;12806:36;;;12838:1;12835;12828:12;12806:36;;12877:71;12940:7;12929:8;12918:9;12914:24;12877:71;:::i;:::-;12032:976;;;;-1:-1:-1;12967:8:197;-1:-1:-1;;;;12032:976:197:o;13242:379::-;13340:6;13393:2;13381:9;13372:7;13368:23;13364:32;13361:52;;;13409:1;13406;13399:12;13361:52;13449:9;13436:23;-1:-1:-1;;;;;13474:6:197;13471:30;13468:50;;;13514:1;13511;13504:12;13468:50;13537:78;13607:7;13598:6;13587:9;13583:22;13537:78;:::i;13869:187::-;13918:4;-1:-1:-1;;;;;13943:6:197;13940:30;13937:56;;;13973:18;;:::i;:::-;-1:-1:-1;14039:2:197;14018:15;-1:-1:-1;;14014:29:197;14045:4;14010:40;;13869:187::o;14061:338::-;14126:5;14155:53;14171:36;14200:6;14171:36;:::i;14155:53::-;14146:62;;14231:6;14224:5;14217:21;14271:3;14262:6;14257:3;14253:16;14250:25;14247:45;;;14288:1;14285;14278:12;14247:45;14337:6;14332:3;14325:4;14318:5;14314:16;14301:43;14391:1;14384:4;14375:6;14368:5;14364:18;14360:29;14353:40;14061:338;;;;;:::o;14404:222::-;14447:5;14500:3;14493:4;14485:6;14481:17;14477:27;14467:55;;14518:1;14515;14508:12;14467:55;14540:80;14616:3;14607:6;14594:20;14587:4;14579:6;14575:17;14540:80;:::i;14631:182::-;14699:20;;-1:-1:-1;;;;;14748:40:197;;14738:51;;14728:79;;14803:1;14800;14793:12;14818:163;14885:20;;14945:10;14934:22;;14924:33;;14914:61;;14971:1;14968;14961:12;14986:117;15071:6;15064:5;15060:18;15053:5;15050:29;15040:57;;15093:1;15090;15083:12;15108:132;15175:20;;15204:30;15175:20;15204:30;:::i;15245:161::-;15312:20;;15372:8;15361:20;;15351:31;;15341:59;;15396:1;15393;15386:12;15411:118;15497:5;15490:13;15483:21;15476:5;15473:32;15463:60;;15519:1;15516;15509:12;15534:128;15599:20;;15628:28;15599:20;15628:28;:::i;15667:167::-;15734:20;;15794:14;15783:26;;15773:37;;15763:65;;15824:1;15821;15814:12;15839:2295;15904:5;15934:4;15975;15963:9;15958:3;15954:19;15950:30;15947:50;;;15993:1;15990;15983:12;15947:50;16015:22;;:::i;:::-;16006:31;;16073:9;16060:23;-1:-1:-1;;;;;16098:6:197;16095:30;16092:50;;;16138:1;16135;16128:12;16092:50;16161:22;;16214:4;16206:13;;16202:23;-1:-1:-1;16192:51:197;;16239:1;16236;16229:12;16192:51;16275:2;16262:16;16297:4;16321:60;16337:43;16377:2;16337:43;:::i;16321:60::-;16415:15;;;16477:6;16518:11;;;16510:20;;16506:29;;;16446:12;;;;16403:3;16547:15;;;16544:35;;;16575:1;16572;16565:12;16544:35;16599:11;;;;16619:1269;16635:6;16630:3;16627:15;16619:1269;;;16711:2;16705:3;16700;16696:13;16692:22;16689:112;;;16755:1;16784:2;16780;16773:14;16689:112;16829:22;;:::i;:::-;16880:23;16899:3;16880:23;:::i;:::-;16871:7;16864:40;16942:31;16969:2;16964:3;16960:12;16942:31;:::i;:::-;16937:2;16928:7;16924:16;16917:57;16997:2;17037:31;17064:2;17059:3;17055:12;17037:31;:::i;:::-;17019:16;;;17012:57;17092:2;17132:31;17150:12;;;17132:31;:::i;:::-;17114:16;;;17107:57;17202:32;17221:12;;;17202:32;:::i;:::-;17184:16;;;17177:58;17258:3;17312:12;;;17299:26;17281:16;;;17274:52;17350:3;17392:32;17410:13;;;17392:32;:::i;:::-;17373:17;;;17366:59;17449:3;17491:30;17507:13;;;17491:30;:::i;:::-;17472:17;;;17465:57;17546:3;17588:30;17604:13;;;17588:30;:::i;:::-;17569:17;;;17562:57;17643:3;17685:30;17701:13;;;17685:30;:::i;:::-;17666:17;;;17659:57;17740:3;17782:30;17798:13;;;17782:30;:::i;:::-;17763:17;;;17756:57;17826:20;;16652:12;;;;17866;;;;16619:1269;;;-1:-1:-1;17897:20:197;;-1:-1:-1;17949:37:197;17967:18;;;17949:37;:::i;:::-;17944:2;17937:5;17933:14;17926:61;;;;;18019:37;18052:2;18041:9;18037:18;18019:37;:::i;:::-;18014:2;18007:5;18003:14;17996:61;18089:38;18123:2;18112:9;18108:18;18089:38;:::i;:::-;18084:2;18077:5;18073:14;18066:62;15839:2295;;;;:::o;18139:701::-;18202:5;18250:4;18238:9;18233:3;18229:19;18225:30;18222:50;;;18268:1;18265;18258:12;18222:50;18290:22;;:::i;:::-;18281:31;;18349:9;18336:23;18368:30;18390:7;18368:30;:::i;:::-;18407:22;;18481:2;18466:18;;18453:32;18494:30;18453:32;18494:30;:::i;:::-;18551:2;18540:14;;18533:31;18616:2;18601:18;;18588:32;18629:30;18588:32;18629:30;:::i;:::-;18686:2;18675:14;;18668:31;18751:2;18736:18;;18723:32;18764:30;18723:32;18764:30;:::i;18845:1717::-;19194:6;19202;19210;19218;19226;19234;19242;19250;19258;19266;19319:3;19307:9;19298:7;19294:23;19290:33;19287:53;;;19336:1;19333;19326:12;19287:53;19372:9;19359:23;19349:33;;19433:2;19422:9;19418:18;19405:32;-1:-1:-1;;;;;19497:2:197;19489:6;19486:14;19483:34;;;19513:1;19510;19503:12;19483:34;19536:50;19578:7;19569:6;19558:9;19554:22;19536:50;:::i;:::-;19526:60;;19639:2;19628:9;19624:18;19611:32;19595:48;;19668:2;19658:8;19655:16;19652:36;;;19684:1;19681;19674:12;19652:36;19707:52;19751:7;19740:8;19729:9;19725:24;19707:52;:::i;:::-;19697:62;;19778:38;19812:2;19801:9;19797:18;19778:38;:::i;:::-;19768:48;;19869:3;19858:9;19854:19;19841:33;19825:49;;19899:2;19889:8;19886:16;19883:36;;;19915:1;19912;19905:12;19883:36;19938:52;19982:7;19971:8;19960:9;19956:24;19938:52;:::i;:::-;19928:62;;20009:39;20043:3;20032:9;20028:19;20009:39;:::i;:::-;19999:49;;20101:3;20090:9;20086:19;20073:33;20057:49;;20131:2;20121:8;20118:16;20115:36;;;20147:1;20144;20137:12;20115:36;20170:52;20214:7;20203:8;20192:9;20188:24;20170:52;:::i;:::-;20160:62;;20275:3;20264:9;20260:19;20247:33;20231:49;;20305:2;20295:8;20292:16;20289:36;;;20321:1;20318;20311:12;20289:36;;20344:71;20407:7;20396:8;20385:9;20381:24;20344:71;:::i;:::-;20334:81;;;20434:39;20468:3;20457:9;20453:19;20434:39;:::i;:::-;20424:49;;20492:64;20548:7;20542:3;20531:9;20527:19;20492:64;:::i;:::-;20482:74;;18845:1717;;;;;;;;;;;;;:::o;20567:382::-;20632:6;20640;20693:2;20681:9;20672:7;20668:23;20664:32;20661:52;;;20709:1;20706;20699:12;20661:52;20748:9;20735:23;20767:31;20792:5;20767:31;:::i;:::-;20817:5;-1:-1:-1;20874:2:197;20859:18;;20846:32;20887:30;20846:32;20887:30;:::i;:::-;20936:7;20926:17;;;20567:382;;;;;:::o;20954:1384::-;21280:4;21309:2;21338:6;21327:9;21320:25;21364:2;21402;21397;21386:9;21382:18;21375:30;21428:45;21469:2;21458:9;21454:18;21446:6;21428:45;:::i;:::-;21492:2;21542:9;21534:6;21530:22;21525:2;21514:9;21510:18;21503:50;21573:6;21608;21602:13;21639:6;21631;21624:22;21674:2;21666:6;21662:15;21655:22;;21733:2;21723:6;21720:1;21716:14;21708:6;21704:27;21700:36;21771:2;21763:6;21759:15;21792:1;21802:507;21816:6;21813:1;21810:13;21802:507;;;21881:19;;;-1:-1:-1;;21877:33:197;21865:46;;21934:13;;21979:9;;-1:-1:-1;;;;;21975:35:197;21960:51;;22054:11;;;22048:18;22031:15;;;22024:43;22106:11;;22100:18;22138:15;;;22131:27;;;22181:48;22213:15;;;22100:18;22181:48;:::i;:::-;22287:12;;;;22171:58;-1:-1:-1;;22252:15:197;;;;21838:1;21831:9;21802:507;;;-1:-1:-1;22326:6:197;;20954:1384;-1:-1:-1;;;;;;;;;;;;20954:1384:197:o;22343:248::-;22411:6;22419;22472:2;22460:9;22451:7;22447:23;22443:32;22440:52;;;22488:1;22485;22478:12;22440:52;-1:-1:-1;;22511:23:197;;;22581:2;22566:18;;;22553:32;;-1:-1:-1;22343:248:197:o;22830:795::-;22925:6;22933;22941;22949;23002:3;22990:9;22981:7;22977:23;22973:33;22970:53;;;23019:1;23016;23009:12;22970:53;23058:9;23045:23;23077:31;23102:5;23077:31;:::i;:::-;23127:5;-1:-1:-1;23184:2:197;23169:18;;23156:32;23197:33;23156:32;23197:33;:::i;:::-;23249:7;-1:-1:-1;23303:2:197;23288:18;;23275:32;;-1:-1:-1;23358:2:197;23343:18;;23330:32;-1:-1:-1;;;;;23374:30:197;;23371:50;;;23417:1;23414;23407:12;23371:50;23440:22;;23493:4;23485:13;;23481:27;-1:-1:-1;23471:55:197;;23522:1;23519;23512:12;23471:55;23545:74;23611:7;23606:2;23593:16;23588:2;23584;23580:11;23545:74;:::i;:::-;23535:84;;;22830:795;;;;;;;:::o;24246:396::-;24341:6;24394:2;24382:9;24373:7;24369:23;24365:32;24362:52;;;24410:1;24407;24400:12;24362:52;24450:9;24437:23;-1:-1:-1;;;;;24475:6:197;24472:30;24469:50;;;24515:1;24512;24505:12;24469:50;24538:22;;24594:3;24576:16;;;24572:26;24569:46;;;24611:1;24608;24601:12;24647:1370;24959:4;24988:2;25017:6;25006:9;24999:25;25043:2;25081;25076;25065:9;25061:18;25054:30;25107:45;25148:2;25137:9;25133:18;25125:6;25107:45;:::i;:::-;25171:2;25221:9;25213:6;25209:22;25204:2;25193:9;25189:18;25182:50;25252:6;25287;25281:13;25318:6;25310;25303:22;25353:2;25345:6;25341:15;25334:22;;25412:2;25402:6;25399:1;25395:14;25387:6;25383:27;25379:36;25450:2;25442:6;25438:15;25471:1;25481:507;25495:6;25492:1;25489:13;25481:507;;;25560:19;;;-1:-1:-1;;25556:33:197;25544:46;;25613:13;;25658:9;;-1:-1:-1;;;;;25654:35:197;25639:51;;25733:11;;;25727:18;25710:15;;;25703:43;25785:11;;25779:18;25817:15;;;25810:27;;;25860:48;25892:15;;;25779:18;25860:48;:::i;:::-;25966:12;;;;25850:58;-1:-1:-1;;25931:15:197;;;;25517:1;25510:9;25481:507;;26022:388;26090:6;26098;26151:2;26139:9;26130:7;26126:23;26122:32;26119:52;;;26167:1;26164;26157:12;26119:52;26206:9;26193:23;26225:31;26250:5;26225:31;:::i;:::-;26275:5;-1:-1:-1;26332:2:197;26317:18;;26304:32;26345:33;26304:32;26345:33;:::i;26415:380::-;26494:1;26490:12;;;;26537;;;26558:61;;26612:4;26604:6;26600:17;26590:27;;26558:61;26665:2;26657:6;26654:14;26634:18;26631:38;26628:161;;26711:10;26706:3;26702:20;26699:1;26692:31;26746:4;26743:1;26736:15;26774:4;26771:1;26764:15;27107:132;27183:13;;27205:28;27183:13;27205:28;:::i;27244:245::-;27311:6;27364:2;27352:9;27343:7;27339:23;27335:32;27332:52;;;27380:1;27377;27370:12;27332:52;27412:9;27406:16;27431:28;27453:5;27431:28;:::i;27494:521::-;27571:4;27577:6;27637:11;27624:25;27731:2;27727:7;27716:8;27700:14;27696:29;27692:43;27672:18;27668:68;27658:96;;27750:1;27747;27740:12;27658:96;27777:33;;27829:20;;;-1:-1:-1;;;;;;27861:30:197;;27858:50;;;27904:1;27901;27894:12;27858:50;27937:4;27925:17;;-1:-1:-1;27968:14:197;27964:27;;;27954:38;;27951:58;;;28005:1;28002;27995:12;28020:665;28085:5;28138:3;28131:4;28123:6;28119:17;28115:27;28105:55;;28156:1;28153;28146:12;28105:55;28185:6;28179:13;28211:4;28235:60;28251:43;28291:2;28251:43;:::i;28235:60::-;28317:3;28341:2;28336:3;28329:15;28369:4;28364:3;28360:14;28353:21;;28426:4;28420:2;28417:1;28413:10;28405:6;28401:23;28397:34;28383:48;;28454:3;28446:6;28443:15;28440:35;;;28471:1;28468;28461:12;28440:35;28507:4;28499:6;28495:17;28521:135;28537:6;28532:3;28529:15;28521:135;;;28603:10;;28591:23;;28634:12;;;;28554;;28521:135;;;-1:-1:-1;28674:5:197;28020:665;-1:-1:-1;;;;;;28020:665:197:o;28690:363::-;28785:6;28838:2;28826:9;28817:7;28813:23;28809:32;28806:52;;;28854:1;28851;28844:12;28806:52;28887:9;28881:16;-1:-1:-1;;;;;28912:6:197;28909:30;28906:50;;;28952:1;28949;28942:12;28906:50;28975:72;29039:7;29030:6;29019:9;29015:22;28975:72;:::i;29058:127::-;29119:10;29114:3;29110:20;29107:1;29100:31;29150:4;29147:1;29140:15;29174:4;29171:1;29164:15;29316:543;29418:2;29413:3;29410:11;29407:446;;;29454:1;29478:5;29475:1;29468:16;29522:4;29519:1;29509:18;29592:2;29580:10;29576:19;29573:1;29569:27;29563:4;29559:38;29628:4;29616:10;29613:20;29610:47;;;-1:-1:-1;29651:4:197;29610:47;29706:2;29701:3;29697:12;29694:1;29690:20;29684:4;29680:31;29670:41;;29761:82;29779:2;29772:5;29769:13;29761:82;;;29824:17;;;29805:1;29794:13;29761:82;;30035:1206;-1:-1:-1;;;;;30154:3:197;30151:27;30148:53;;;30181:18;;:::i;:::-;30210:94;30300:3;30260:38;30292:4;30286:11;30260:38;:::i;:::-;30254:4;30210:94;:::i;:::-;30330:1;30355:2;30350:3;30347:11;30372:1;30367:616;;;;31027:1;31044:3;31041:93;;;-1:-1:-1;31100:19:197;;;31087:33;31041:93;-1:-1:-1;;29992:1:197;29988:11;;;29984:24;29980:29;29970:40;30016:1;30012:11;;;29967:57;31147:78;;30340:895;;30367:616;29263:1;29256:14;;;29300:4;29287:18;;-1:-1:-1;;30403:17:197;;;30504:9;30526:229;30540:7;30537:1;30534:14;30526:229;;;30629:19;;;30616:33;30601:49;;30736:4;30721:20;;;;30689:1;30677:14;;;;30556:12;30526:229;;;30530:3;30783;30774:7;30771:16;30768:159;;;30907:1;30903:6;30897:3;30891;30888:1;30884:11;30880:21;30876:34;30872:39;30859:9;30854:3;30850:19;30837:33;30833:79;30825:6;30818:95;30768:159;;;30970:1;30964:3;30961:1;30957:11;30953:19;30947:4;30940:33;30340:895;;30035:1206;;;:::o;31246:273::-;31431:6;31423;31418:3;31405:33;31387:3;31457:16;;31482:13;;;31457:16;31246:273;-1:-1:-1;31246:273:197:o;32296:533::-;32409:6;32462:2;32450:9;32441:7;32437:23;32433:32;32430:52;;;32478:1;32475;32468:12;32430:52;32511:2;32505:9;32553:2;32545:6;32541:15;32622:6;32610:10;32607:22;-1:-1:-1;;;;;32574:10:197;32571:34;32568:62;32565:88;;;32633:18;;:::i;:::-;32669:2;32662:22;32708:23;;32693:39;;32793:2;32778:18;;;32765:32;32748:15;;;32741:57;;;;-1:-1:-1;32700:6:197;32296:533;-1:-1:-1;32296:533:197:o;32929:842::-;33189:25;;;33177:2;33233;33251:18;;;33244:30;;;33162:18;;;33309:22;;;33129:4;;33389:6;;33362:3;33347:19;;33129:4;33423:263;33437:6;33434:1;33431:13;33423:263;;;33512:6;33499:20;33532:30;33556:5;33532:30;:::i;:::-;33598:6;33587:18;33575:31;;33661:15;;;;33626:12;;;;33459:1;33452:9;33423:263;;;33427:3;33703;33695:11;;;;;33756:6;33749:14;33742:22;33737:2;33726:9;33722:18;33715:50;32929:842;;;;;;;:::o;33776:424::-;33880:6;33888;33941:2;33929:9;33920:7;33916:23;33912:32;33909:52;;;33957:1;33954;33947:12;33909:52;33990:9;33984:16;-1:-1:-1;;;;;34015:6:197;34012:30;34009:50;;;34055:1;34052;34045:12;34009:50;34078:72;34142:7;34133:6;34122:9;34118:22;34078:72;:::i;:::-;34068:82;;;34190:2;34179:9;34175:18;34169:25;34159:35;;33776:424;;;;;:::o;34205:245::-;34263:6;34316:2;34304:9;34295:7;34291:23;34287:32;34284:52;;;34332:1;34329;34322:12;34284:52;34371:9;34358:23;34390:30;34414:5;34390:30;:::i;35051:184::-;35121:6;35174:2;35162:9;35153:7;35149:23;35145:32;35142:52;;;35190:1;35187;35180:12;35142:52;-1:-1:-1;35213:16:197;;35051:184;-1:-1:-1;35051:184:197:o;35240:358::-;-1:-1:-1;;;;;35447:32:197;;35429:51;;35516:2;35511;35496:18;;35489:30;;;-1:-1:-1;;35536:56:197;;35573:18;;35565:6;35536:56;:::i;35603:443::-;35792:2;35774:21;;;35811:18;;35804:34;;;-1:-1:-1;;;;;;35850:31:197;;35847:51;;;35894:1;35891;35884:12;35847:51;35928:6;35925:1;35921:14;35985:6;35977;35972:2;35961:9;35957:18;35944:48;36013:22;;;;36037:2;36009:31;;35603:443;-1:-1:-1;;;35603:443:197:o;36365:1358::-;36443:50;36489:3;36462:25;36481:5;36462:25;:::i;:::-;-1:-1:-1;;;;;36117:40:197;36105:53;;36051:113;36443:50;36522:35;36551:4;36544:5;36540:16;36522:35;:::i;:::-;36245:10;36234:22;36607:4;36598:14;;36222:35;36644;36673:4;36662:16;;36644:35;:::i;:::-;36245:10;36234:22;36731:4;36722:14;;36222:35;36768;36797:4;36786:16;;36768:35;:::i;:::-;32910:6;32899:18;36855:4;36846:14;;32887:31;36892:36;36922:4;36911:16;;36892:36;:::i;:::-;-1:-1:-1;;;;;1695:31:197;36981:4;36972:14;;1683:44;37043:4;37032:16;;;37019:30;37003:14;;;36996:54;37081:35;37110:4;37099:16;;37081:35;:::i;:::-;36344:8;36333:20;37168:4;37159:14;;36321:33;37205;37232:4;37221:16;;37205:33;:::i;:::-;470:13;463:21;37288:4;37279:14;;451:34;37313:6;37350:31;37366:14;;;37350:31;:::i;:::-;470:13;463:21;37422:12;;;451:34;37454:6;37491:31;37507:14;;;37491:31;:::i;:::-;470:13;463:21;37563:12;;;451:34;37595:6;37632:31;37648:14;;;37632:31;:::i;:::-;470:13;;463:21;37704:12;;;451:34;37672:45;400:91;37728:704;37998:2;38010:21;;;37983:18;;38066:22;;;37950:4;38145:6;38119:2;38104:18;;37950:4;38179:227;38193:6;38190:1;38187:13;38179:227;;;38242:55;38293:3;38285:6;38242:55;:::i;:::-;38320:6;38381:15;;;;38346:12;;;;;38215:1;38208:9;38179:227;;;-1:-1:-1;38423:3:197;37728:704;-1:-1:-1;;;;;37728:704:197:o;38437:382::-;38669:3;38654:19;;38682:61;38658:9;38725:6;38682:61;:::i;:::-;-1:-1:-1;;;;;38780:32:197;;;;38774:3;38759:19;;;;38752:61;38437:382;;-1:-1:-1;38437:382:197:o;39036:138::-;39115:13;;39137:31;39115:13;39137:31;:::i;39179:251::-;39249:6;39302:2;39290:9;39281:7;39277:23;39273:32;39270:52;;;39318:1;39315;39308:12;39270:52;39350:9;39344:16;39369:31;39394:5;39369:31;:::i;39435:1345::-;39561:3;39555:10;-1:-1:-1;;;;;39580:6:197;39577:30;39574:56;;;39610:18;;:::i;:::-;39639:97;39729:6;39689:38;39721:4;39715:11;39689:38;:::i;:::-;39683:4;39639:97;:::i;:::-;39791:4;;39848:2;39837:14;;39865:1;39860:663;;;;40567:1;40584:6;40581:89;;;-1:-1:-1;40636:19:197;;;40630:26;40581:89;-1:-1:-1;;29992:1:197;29988:11;;;29984:24;29980:29;29970:40;30016:1;30012:11;;;29967:57;40683:81;;39830:944;;39860:663;29263:1;29256:14;;;29300:4;29287:18;;-1:-1:-1;;39896:20:197;;;40014:236;40028:7;40025:1;40022:14;40014:236;;;40117:19;;;40111:26;40096:42;;40209:27;;;;40177:1;40165:14;;;;40044:19;;40014:236;;;40018:3;40278:6;40269:7;40266:19;40263:201;;;40339:19;;;40333:26;-1:-1:-1;;40422:1:197;40418:14;;;40434:3;40414:24;40410:37;40406:42;40391:58;40376:74;;40263:201;-1:-1:-1;;;;;40510:1:197;40494:14;;;40490:22;40477:36;;-1:-1:-1;39435:1345:197:o;40785:2056::-;41024:2;41076:21;;;41146:13;;41049:18;;;41168:22;;;40995:4;;41024:2;41209;;41227:18;;;;41268:15;;;40995:4;41311:1504;41325:6;41322:1;41319:13;41311:1504;;;41384:13;;41429:9;;-1:-1:-1;;;;;36117:40:197;36105:53;;41483:11;;;41477:18;36245:10;36234:22;;;41540:12;;;36222:35;41594:11;;;41588:18;36234:22;41653:12;;;36222:35;41689:4;41734:11;;;41728:18;32910:6;32899:18;41793:12;;;32887:31;41829:4;41874:11;;;41868:18;-1:-1:-1;;;;;1695:31:197;41934:12;;;1683:44;41970:4;42014:11;;;42008:18;41994:12;;;41987:40;42050:4;42095:11;;;42089:18;36344:8;36333:20;42154:12;;;36321:33;42190:4;42235:11;;;42229:18;470:13;463:21;42292:12;;;451:34;42328:6;42375:11;;;42369:18;470:13;463:21;42432:12;;;451:34;42469:6;42516:12;;;42510:19;470:13;463:21;42574:13;;;451:34;42612:6;42659:12;;;42653:19;470:13;463:21;42717:13;;;451:34;42760:6;42751:16;;;;42790:15;;;;41347:1;41340:9;41311:1504;;;-1:-1:-1;42832:3:197;;40785:2056;-1:-1:-1;;;;;;;40785:2056:197:o;44165:127::-;44226:10;44221:3;44217:20;44214:1;44207:31;44257:4;44254:1;44247:15;44281:4;44278:1;44271:15;44297:128;44364:9;;;44385:11;;;44382:37;;;44399:18;;:::i;44430:125::-;44495:9;;;44516:10;;;44513:36;;;44529:18;;:::i;44560:809::-;44663:6;44716:3;44704:9;44695:7;44691:23;44687:33;44684:53;;;44733:1;44730;44723:12;44684:53;44759:22;;:::i;:::-;44810:9;44804:16;44797:5;44790:31;44874:2;44863:9;44859:18;44853:25;44848:2;44841:5;44837:14;44830:49;44932:2;44921:9;44917:18;44911:25;44906:2;44899:5;44895:14;44888:49;44990:2;44979:9;44975:18;44969:25;44964:2;44957:5;44953:14;44946:49;45049:3;45038:9;45034:19;45028:26;45022:3;45015:5;45011:15;45004:51;45109:3;45098:9;45094:19;45088:26;45082:3;45075:5;45071:15;45064:51;45169:3;45158:9;45154:19;45148:26;45142:3;45135:5;45131:15;45124:51;45208:50;45253:3;45242:9;45238:19;45208:50;:::i;:::-;45202:3;45191:15;;45184:75;45278:3;45319:18;;;45313:25;45297:14;;;45290:49;;;;-1:-1:-1;45195:5:197;44560:809;-1:-1:-1;44560:809:197:o;45915:443::-;45969:5;46022:3;46015:4;46007:6;46003:17;45999:27;45989:55;;46040:1;46037;46030:12;45989:55;46069:6;46063:13;46100:49;46116:32;46145:2;46116:32;:::i;46100:49::-;46174:2;46165:7;46158:19;46220:3;46213:4;46208:2;46200:6;46196:15;46192:26;46189:35;46186:55;;;46237:1;46234;46227:12;46186:55;46250:77;46324:2;46317:4;46308:7;46304:18;46297:4;46289:6;46285:17;46250:77;:::i;46363:337::-;46443:6;46496:2;46484:9;46475:7;46471:23;46467:32;46464:52;;;46512:1;46509;46502:12;46464:52;46545:9;46539:16;-1:-1:-1;;;;;46570:6:197;46567:30;46564:50;;;46610:1;46607;46600:12;46564:50;46633:61;46686:7;46677:6;46666:9;46662:22;46633:61;:::i;47181:168::-;47254:9;;;47285;;47302:15;;;47296:22;;47282:37;47272:71;;47323:18;;:::i;47354:331::-;47459:9;47470;47512:8;47500:10;47497:24;47494:44;;;47534:1;47531;47524:12;47494:44;47563:6;47553:8;47550:20;47547:40;;;47583:1;47580;47573:12;47547:40;-1:-1:-1;;47609:23:197;;;47654:25;;;;;-1:-1:-1;47354:331:197:o;47690:323::-;-1:-1:-1;;;;;;47810:19:197;;47886:11;;;;47917:1;47909:10;;47906:101;;;47994:2;47988;47981:3;47978:1;47974:11;47971:1;47967:19;47963:28;47959:2;47955:37;47951:46;47942:55;;47906:101;;;47690:323;;;;:::o;49119:416::-;49208:1;49245:5;49208:1;49259:270;49280:7;49270:8;49267:21;49259:270;;;49339:4;49335:1;49331:6;49327:17;49321:4;49318:27;49315:53;;;49348:18;;:::i;:::-;49398:7;49388:8;49384:22;49381:55;;;49418:16;;;;49381:55;49497:22;;;;49457:15;;;;49259:270;;;49263:3;49119:416;;;;;:::o;49540:806::-;49589:5;49619:8;49609:80;;-1:-1:-1;49660:1:197;49674:5;;49609:80;49708:4;49698:76;;-1:-1:-1;49745:1:197;49759:5;;49698:76;49790:4;49808:1;49803:59;;;;49876:1;49871:130;;;;49783:218;;49803:59;49833:1;49824:10;;49847:5;;;49871:130;49908:3;49898:8;49895:17;49892:43;;;49915:18;;:::i;:::-;-1:-1:-1;;49971:1:197;49957:16;;49986:5;;49783:218;;50085:2;50075:8;50072:16;50066:3;50060:4;50057:13;50053:36;50047:2;50037:8;50034:16;50029:2;50023:4;50020:12;50016:35;50013:77;50010:159;;;-1:-1:-1;50122:19:197;;;50154:5;;50010:159;50201:34;50226:8;50220:4;50201:34;:::i;:::-;50271:6;50267:1;50263:6;50259:19;50250:7;50247:32;50244:58;;;50282:18;;:::i;:::-;50320:20;;49540:806;-1:-1:-1;;;49540:806:197:o;50351:131::-;50411:5;50440:36;50467:8;50461:4;50440:36;:::i;50811:1082::-;50911:6;50919;50972:2;50960:9;50951:7;50947:23;50943:32;50940:52;;;50988:1;50985;50978:12;50940:52;51020:9;51014:16;51039:28;51061:5;51039:28;:::i;:::-;51086:5;51076:15;;;51110:2;51156;51145:9;51141:18;51135:25;-1:-1:-1;;;;;51175:6:197;51172:30;51169:50;;;51215:1;51212;51205:12;51169:50;51238:22;;51291:4;51283:13;;51279:27;-1:-1:-1;51269:55:197;;51320:1;51317;51310:12;51269:55;51349:2;51343:9;51372:60;51388:43;51428:2;51388:43;:::i;51372:60::-;51466:15;;;51548:1;51544:10;;;;51536:19;;51532:28;;;51497:12;;;;51572:19;;;51569:39;;;51604:1;51601;51594:12;51569:39;51628:11;;;;51648:215;51664:6;51659:3;51656:15;51648:215;;;51739:3;51733:10;51756:32;51780:7;51756:32;:::i;:::-;51801:20;;51681:12;;;;51841;;;;51648:215;;;51882:5;51872:15;;;;;;;50811:1082;;;;;:::o;51898:747::-;52003:6;52056:3;52044:9;52035:7;52031:23;52027:33;52024:53;;;52073:1;52070;52063:12;52024:53;52099:22;;:::i;:::-;52151:9;52145:16;52170:30;52192:7;52170:30;:::i;:::-;52209:22;;52276:2;52261:18;;52255:25;52289:30;52255:25;52289:30;:::i;:::-;52346:2;52335:14;;52328:31;52404:2;52389:18;;52383:25;52417:30;52383:25;52417:30;:::i;:::-;52474:2;52463:14;;52456:31;52532:2;52517:18;;52511:25;52545:30;52511:25;52545:30;:::i;:::-;52602:2;52591:14;;52584:31;52595:5;51898:747;-1:-1:-1;;;51898:747:197:o;52959:127::-;53020:10;53015:3;53011:20;53008:1;53001:31;53051:4;53048:1;53041:15;53075:4;53072:1;53065:15;53362:496;53541:3;53579:6;53573:13;53595:66;53654:6;53649:3;53642:4;53634:6;53630:17;53595:66;:::i;:::-;53724:13;;53683:16;;;;53746:70;53724:13;53683:16;53793:4;53781:17;;53746:70;:::i;:::-;53832:20;;53362:496;-1:-1:-1;;;;53362:496:197:o;54223:1345::-;54321:6;54374:2;54362:9;54353:7;54349:23;54345:32;54342:52;;;54390:1;54387;54380:12;54342:52;54423:9;54417:16;-1:-1:-1;;;;;54493:2:197;54485:6;54482:14;54479:34;;;54509:1;54506;54499:12;54479:34;54532:22;;;;54588:6;54570:16;;;54566:29;54563:49;;;54608:1;54605;54598:12;54563:49;54634:22;;:::i;:::-;54685:2;54679:9;54672:5;54665:24;54735:2;54731;54727:11;54721:18;54716:2;54709:5;54705:14;54698:42;54786:2;54782;54778:11;54772:18;54767:2;54760:5;54756:14;54749:42;54837:2;54833;54829:11;54823:18;54818:2;54811:5;54807:14;54800:42;54889:3;54885:2;54881:12;54875:19;54869:3;54862:5;54858:15;54851:44;54942:3;54938:2;54934:12;54928:19;54922:3;54915:5;54911:15;54904:44;54981:43;55019:3;55015:2;55011:12;54981:43;:::i;:::-;54975:3;54968:5;54964:15;54957:68;55072:3;55068:2;55064:12;55058:19;55052:3;55045:5;55041:15;55034:44;55097:3;55146:2;55142;55138:11;55132:18;55127:2;55120:5;55116:14;55109:42;;55170:3;55205:39;55240:2;55236;55232:11;55205:39;:::i;:::-;55189:14;;;55182:63;55264:3;55299:39;55326:11;;;55299:39;:::i;:::-;55283:14;;;55276:63;55358:3;55392:11;;;55386:18;55416:16;;;55413:36;;;55445:1;55442;55435:12;55413:36;55481:56;55529:7;55518:8;55514:2;55510:17;55481:56;:::i;:::-;55465:14;;;55458:80;;;;-1:-1:-1;55469:5:197;54223:1345;-1:-1:-1;;;;;54223:1345:197:o;55953:796::-;56143:4;56191:2;56180:9;56176:18;56221:6;56210:9;56203:25;56247:2;56285;56280;56269:9;56265:18;56258:30;56308:6;56343;56337:13;56374:6;56366;56359:22;56412:3;56401:9;56397:19;56390:26;;56451:2;56443:6;56439:15;56425:29;;56472:1;56482:182;56496:6;56493:1;56490:13;56482:182;;;56561:13;;56576:6;56557:26;56545:39;;56639:15;;;;56604:12;;;;56518:1;56511:9;56482:182;;;56486:3;;56681;56673:11;;;;;56734:6;56727:14;56720:22;56715:2;56704:9;56700:18;56693:50;55953:796;;;;;;:::o;57033:489::-;-1:-1:-1;;;;;57302:15:197;;;57284:34;;57354:15;;57349:2;57334:18;;57327:43;57401:2;57386:18;;57379:34;;;57449:3;57444:2;57429:18;;57422:31;;;57227:4;;57470:46;;57496:19;;57488:6;57470:46;:::i;:::-;57462:54;57033:489;-1:-1:-1;;;;;;57033:489:197:o;57527:249::-;57596:6;57649:2;57637:9;57628:7;57624:23;57620:32;57617:52;;;57665:1;57662;57655:12;57617:52;57697:9;57691:16;57716:30;57740:5;57716:30;:::i;57781:112::-;57813:1;57839;57829:35;;57844:18;;:::i;:::-;-1:-1:-1;57878:9:197;;57781:112::o;57898:120::-;57938:1;57964;57954:35;;57969:18;;:::i;:::-;-1:-1:-1;58003:9:197;;57898:120::o","linkReferences":{},"immutableReferences":{"5449":[{"start":2132,"length":32},{"start":2780,"length":32},{"start":4468,"length":32}],"5453":[{"start":1147,"length":32},{"start":11268,"length":32}],"5457":[{"start":1224,"length":32},{"start":2952,"length":32},{"start":6600,"length":32}],"89129":[{"start":1939,"length":32},{"start":9712,"length":32},{"start":9881,"length":32}],"89133":[{"start":1606,"length":32},{"start":5665,"length":32},{"start":10474,"length":32},{"start":12292,"length":32},{"start":12540,"length":32}]}},"methodIdentifiers":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":"843d92ee","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","baseURI()":"6c0360eb","codeOrigin()":"1d153ca4","contractURI()":"e8a3d485","creditsOf(address)":"245a45b5","didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":"6b204943","didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":"0bf46e59","directory()":"c41c2f24","firstOwnerOf(uint256)":"54c6d1f5","fundingCycleStore()":"557e7155","getApproved(uint256)":"081812fc","initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":"a1250d7f","isApprovedForAll(address,address)":"e985e9c5","jbOwner()":"ba23c36e","mintFor(uint16[],address)":"6ac6d941","mintReservesFor((uint256,uint256)[])":"2a596e53","mintReservesFor(uint256,uint256)":"aa4fb15b","name()":"06fdde03","operatorStore()":"ad007d63","owner()":"8da5cb5b","ownerOf(uint256)":"6352211e","payMetadataDelegateId()":"46a6d981","payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":"d46cf171","pricingContext()":"08786b1a","projectId()":"3fafa127","projects()":"8b79543c","redeemMetadataDelegateId()":"4853f5e8","redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"a51cfd18","redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"7ba62bf9","renounceOwnership()":"715018a6","safeTransferFrom(address,address,uint256)":"42842e0e","safeTransferFrom(address,address,uint256,bytes)":"b88d4fde","setApprovalForAll(address,bool)":"a22cb465","setMetadata(string,string,address,uint256,bytes32)":"1435aad5","setPermissionIndex(uint8)":"61aec7a9","store()":"975057e7","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","tokenURI(uint256)":"c87b56dd","totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":"9494bf72","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b","transferOwnershipToProject(uint256)":"a220d696"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_payMetadataDelegateId\",\"type\":\"bytes4\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemMetadataDelegateId\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALEADY_MINTED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVAL_TO_CURRENT_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"APPROVE_TO_CALLER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CALLER_NOT_OWNER_OR_APPROVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INCORRECT_OWNER\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"ownerAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"name\":\"INVALID_NEW_OWNER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_PAYMENT_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_EVENT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_REDEMPTION_METADATA\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TOKEN_ID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MINT_TO_ZERO\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OVERSPENDING\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"denominator\",\"type\":\"uint256\"}],\"name\":\"PRBMath_MulDiv_Overflow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESERVED_TOKEN_MINTING_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFERS_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_NON_IMPLEMENTER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFER_TO_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"UNAUTHORIZED_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNEXPECTED_TOKEN_REDEEMED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddCredits\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct JB721TierParams\",\"name\":\"data\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AddTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalAmountContributed\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"MintReservedToken\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"newIndex\",\"type\":\"uint8\"}],\"name\":\"PermissionIndexChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"RemoveTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetBaseUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetContractUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetEncodedIPFSUri\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"newResolver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"SetTokenUriResolver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"changeAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"newTotalCredits\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UseCredits\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"_tiersToAdd\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_tierIdsToRemove\",\"type\":\"uint256[]\"}],\"name\":\"adjustTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"codeOrigin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"creditsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"payerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidPayData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didPay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectTokenCount\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimedAmount\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"forwardedAmount\",\"type\":\"tuple\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"dataSourceMetadata\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"redeemerMetadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBDidRedeemData3_1_1\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"didRedeem\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"firstOwnerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"_pricing\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"_store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"_flags\",\"type\":\"tuple\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"jbOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint88\",\"name\":\"projectId\",\"type\":\"uint88\"},{\"internalType\":\"uint8\",\"name\":\"permissionIndex\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16[]\",\"name\":\"_tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"address\",\"name\":\"_beneficiary\",\"type\":\"address\"}],\"name\":\"mintFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTiered721MintReservesForTiersData[]\",\"name\":\"_mintReservesForTiersData\",\"type\":\"tuple[]\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_count\",\"type\":\"uint256\"}],\"name\":\"mintReservesFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"amount\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"payParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBPayDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBPayDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricingContext\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redeemMetadataDelegateId\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"_data\",\"type\":\"tuple\"}],\"name\":\"redeemParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reclaimAmount\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"contract IJBRedemptionDelegate3_1_1\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedemptionDelegateAllocation3_1_1[]\",\"name\":\"delegateAllocations\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_baseUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_contractUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_encodedIPFSUriTierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"setMetadata\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"_permissionIndex\",\"type\":\"uint8\"}],\"name\":\"setPermissionIndex\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"store\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentFundingCycleConfiguration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenCount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflow\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBTokenAmount\",\"name\":\"reclaimAmount\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflow\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"internalType\":\"struct JBRedeemParamsData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"transferOwnershipToProject\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])\":{\"details\":\"Only the contract's owner or an operator with ADJUST_TIERS can adjust the tiers.\",\"params\":{\"_tierIdsToRemove\":\"An array of tier IDs to remove.\",\"_tiersToAdd\":\"An array of tier data to add.\"}},\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"params\":{\"_owner\":\"The address to check the balance of.\"},\"returns\":{\"balance\":\"The number of tokens owned by the address across all tiers.\"}},\"constructor\":{\"params\":{\"_directory\":\"A directory of terminals and controllers for projects.\",\"_operatorStore\":\"A contract which stores operator assignments.\",\"_payMetadataDelegateId\":\"The 4bytes ID of this delegate, used for pay metadata parsing\",\"_redeemMetadataDelegateId\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"}},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project payment data.\"}},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"details\":\"Reverts if the calling contract is not one of the project's terminals.\",\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"}},\"firstOwnerOf(uint256)\":{\"params\":{\"_tokenId\":\"The ID of the token to get the first owner of.\"},\"returns\":{\"_0\":\"The first owner of the token.\"}},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))\":{\"params\":{\"_baseUri\":\"A URI to use as a base for full token URIs.\",\"_contractUri\":\"A URI where this contract's metadata can be found.\",\"_flags\":\"A set of flags that help to define how this contract works.\",\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_name\":\"The name of the NFT collection distributed through this contract.\",\"_pricing\":\"NFT tier pricing parameters according to which token distribution will be made. Must be sorted by contribution floor (from least to greatest).\",\"_projectId\":\"The ID of the project this contract's functionality applies to.\",\"_store\":\"The contract which stores the NFT's data.\",\"_symbol\":\"The symbol that the NFT collection should be represented by.\",\"_tokenUriResolver\":\"A contract responsible for resolving the token URI for each token ID.\"}},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"mintFor(uint16[],address)\":{\"params\":{\"_beneficiary\":\"The address to mint to.\",\"_tierIds\":\"The IDs of the tiers to mint from.\"},\"returns\":{\"tokenIds\":\"The IDs of the newly minted tokens.\"}},\"mintReservesFor((uint256,uint256)[])\":{\"params\":{\"_mintReservesForTiersData\":\"Contains information about how many reserved tokens to mint for each tier.\"}},\"mintReservesFor(uint256,uint256)\":{\"details\":\"Only currently outstanding reserved tokens can be minted.\",\"params\":{\"_count\":\"The number of reserved tokens to mint.\",\"_tierId\":\"The ID of the tier to mint from.\"}},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"params\":{\"_data\":\"The Juicebox standard project payment data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of adding to local balance.\",\"memo\":\"A memo to be forwarded to the event.\",\"weight\":\"The weight that tokens should get minted in accordance with.\"}},\"pricingContext()\":{\"returns\":{\"currency\":\"The currency being used.\",\"decimals\":\"The amount of decimals being used.\",\"prices\":\"The prices contract being used to resolve currency discrepancies.\"}},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_data\":\"Standard Juicebox project redemption data.\"},\"returns\":{\"delegateAllocations\":\"Amount to be sent to delegates instead of being added to the beneficiary.\",\"memo\":\"A memo to be forwarded to the event.\",\"reclaimAmount\":\"Amount to be reclaimed from the treasury.\"}},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"params\":{\"_tokenIds\":\"The IDs of the tokens to get the cumulative redemption weight of.\"},\"returns\":{\"_0\":\"The redemption weight of the _tokenIds.\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setMetadata(string,string,address,uint256,bytes32)\":{\"details\":\"Only the contract's owner can set the URI metadata.\",\"params\":{\"_baseUri\":\"The new base URI.\",\"_contractUri\":\"The new contract URI.\",\"_encodedIPFSUri\":\"The encoded IPFS URI to set.\",\"_encodedIPFSUriTierId\":\"The ID of the tier to set the encoded IPFS URI of.\",\"_tokenUriResolver\":\"The new URI resolver.\"}},\"setPermissionIndex(uint8)\":{\"params\":{\"_permissionIndex\":\"the permissionIndex to use for 'onlyOwner' calls\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\",\"params\":{\"_interfaceId\":\"The ID of the interface to check for adherence to.\"}},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenURI(uint256)\":{\"details\":\"Defer to the tokenUriResolver if it is set. Otherwise, use the tokenUri corresponding with the token's tier.\",\"params\":{\"_tokenId\":\"The ID of the token to get the metadata URI for.\"},\"returns\":{\"_0\":\"The token URI corresponding with the token's tier, or the tokenUriResolver URI if it is set.\"}},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"returns\":{\"_0\":\"The cumulative redemption weight.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"params\":{\"_newOwner\":\"the static address that should receive ownership\"}},\"transferOwnershipToProject(uint256)\":{\"details\":\"ProjectID is limited to a uint88\",\"params\":{\"_projectId\":\"the project that should receive ownership\"}}},\"stateVariables\":{\"_firstOwnerOf\":{\"custom:param\":\"_tokenId The ID of the token to get the stored first owner of.\"},\"baseURI\":{\"custom:param\":\"_nft The NFT for which the base URI applies.\"},\"contractURI\":{\"custom:param\":\"_nft The NFT for which the contract URI resolver applies.\"},\"creditsOf\":{\"custom:param\":\"_address The address to which the credits belong.\"}},\"title\":\"JBTiered721Delegate\",\"version\":1},\"userdoc\":{\"errors\":{\"PRBMath_MulDiv_Overflow(uint256,uint256,uint256)\":[{\"notice\":\"Thrown when the resultant value in {mulDiv} overflows uint256.\"}]},\"kind\":\"user\",\"methods\":{\"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])\":{\"notice\":\"Adjust the tiers which are mintable through this contract, adhering to any locked tier constraints.\"},\"balanceOf(address)\":{\"notice\":\"The total number of tokens owned by an address across all tiers.\"},\"baseURI()\":{\"notice\":\"The common base for the tokenUris.\"},\"codeOrigin()\":{\"notice\":\"The address of the original JBTiered721Delegate - used in `initialize(...)` to check if this is the original JBTiered721Delegate, and to revert initialization if it is.\"},\"contractURI()\":{\"notice\":\"Contract metadata uri.\"},\"creditsOf(address)\":{\"notice\":\"The amount each address has paid which did not go towards minting an NFT. These credits can be redeemed to mint NFTs.\"},\"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))\":{\"notice\":\"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate.\"},\"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))\":{\"notice\":\"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"firstOwnerOf(uint256)\":{\"notice\":\"The first owner of each token ID, which corresponds to the address that originally contributed to the project to receive the NFT.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations.\"},\"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))\":{\"notice\":\"Initializes a cloned copy of the original JB721Delegate contract.\"},\"jbOwner()\":{\"notice\":\"the JBOwner information\"},\"mintFor(uint16[],address)\":{\"notice\":\"Manually mint NFTs from the provided tiers .\"},\"mintReservesFor((uint256,uint256)[])\":{\"notice\":\"Mint reserved tokens within the tier for the provided value.\"},\"mintReservesFor(uint256,uint256)\":{\"notice\":\"Mint reserved tokens within the provided tier.\"},\"operatorStore()\":{\"notice\":\" A contract storing operator assignments.\"},\"owner()\":{\"notice\":\"Returns the address of the current project owner.\"},\"payMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for pay metadata parsing\"},\"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource.\"},\"pricingContext()\":{\"notice\":\"Info that contextualizes the pricing of tiers.\"},\"projectId()\":{\"notice\":\"The Juicebox project ID this contract's functionality applies to.\"},\"projects()\":{\"notice\":\"The IJBProjects to use to get the owner of a project\"},\"redeemMetadataDelegateId()\":{\"notice\":\"The 4bytes ID of this delegate, used for redeem metadata parsing\"},\"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource.\"},\"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"The cumulative redemption weight the given token IDs have compared to the `_totalRedemptionWeight`.\"},\"renounceOwnership()\":{\"notice\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner`/`_checkOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"setMetadata(string,string,address,uint256,bytes32)\":{\"notice\":\"Set a contract's URI metadata properties.\"},\"setPermissionIndex(uint8)\":{\"notice\":\"Sets the permission index that allows other callers to perform operations on behave of the project owner\"},\"store()\":{\"notice\":\"The contract that stores and manages data for this contract's NFTs.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates if this contract adheres to the specified interface.\"},\"tokenURI(uint256)\":{\"notice\":\"The metadata URI of the provided token ID.\"},\"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))\":{\"notice\":\"The cumulative redemption weight across all token IDs.\"},\"transferOwnership(address)\":{\"notice\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"transferOwnershipToProject(uint256)\":{\"notice\":\"Transfer ownershipt of the contract to a (Juicebox) project\"}},\"notice\":\"This delegate makes multiple NFT tiers with custom price floors available to a project's contributors upon payment, and allows project owners to enable NFT redemption for treasury assets based on the price floors of those NFTs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721Delegate.sol\":\"JBTiered721Delegate\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357\",\"dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"bytes4","name":"_payMetadataDelegateId","type":"bytes4"},{"internalType":"bytes4","name":"_redeemMetadataDelegateId","type":"bytes4"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ALEADY_MINTED"},{"inputs":[],"type":"error","name":"APPROVAL_TO_CURRENT_OWNER"},{"inputs":[],"type":"error","name":"APPROVE_TO_CALLER"},{"inputs":[],"type":"error","name":"CALLER_NOT_OWNER_OR_APPROVED"},{"inputs":[],"type":"error","name":"INCORRECT_OWNER"},{"inputs":[{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"}],"type":"error","name":"INVALID_NEW_OWNER"},{"inputs":[],"type":"error","name":"INVALID_PAYMENT_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_EVENT"},{"inputs":[],"type":"error","name":"INVALID_REDEMPTION_METADATA"},{"inputs":[],"type":"error","name":"INVALID_TOKEN_ID"},{"inputs":[],"type":"error","name":"MINT_TO_ZERO"},{"inputs":[],"type":"error","name":"OVERSPENDING"},{"inputs":[{"internalType":"uint256","name":"x","type":"uint256"},{"internalType":"uint256","name":"y","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"type":"error","name":"PRBMath_MulDiv_Overflow"},{"inputs":[],"type":"error","name":"RESERVED_TOKEN_MINTING_PAUSED"},{"inputs":[],"type":"error","name":"TRANSFERS_PAUSED"},{"inputs":[],"type":"error","name":"TRANSFER_TO_NON_IMPLEMENTER"},{"inputs":[],"type":"error","name":"TRANSFER_TO_ZERO_ADDRESS"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"type":"error","name":"UNAUTHORIZED_TOKEN"},{"inputs":[],"type":"error","name":"UNEXPECTED_TOKEN_REDEEMED"},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddCredits","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"struct JB721TierParams","name":"data","type":"tuple","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}],"indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"AddTier","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"approved","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"uint256","name":"totalAmountContributed","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"beneficiary","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"MintReservedToken","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint8","name":"newIndex","type":"uint8","indexed":false}],"type":"event","name":"PermissionIndexChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"RemoveTier","anonymous":false},{"inputs":[{"internalType":"string","name":"baseUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetBaseUri","anonymous":false},{"inputs":[{"internalType":"string","name":"contractUri","type":"string","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetContractUri","anonymous":false},{"inputs":[{"internalType":"uint256","name":"tierId","type":"uint256","indexed":true},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetEncodedIPFSUri","anonymous":false},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"newResolver","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"SetTokenUriResolver","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"uint256","name":"changeAmount","type":"uint256","indexed":true},{"internalType":"uint256","name":"newTotalCredits","type":"uint256","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"UseCredits","anonymous":false},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"_tiersToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint256[]","name":"_tierIdsToRemove","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"adjustTiers"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"codeOrigin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"creditsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JBDidPayData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"payer","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"bool","name":"preferClaimedTokens","type":"bool"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"payerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didPay"},{"inputs":[{"internalType":"struct JBDidRedeemData3_1_1","name":"_data","type":"tuple","components":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"projectTokenCount","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"struct JBTokenAmount","name":"forwardedAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"dataSourceMetadata","type":"bytes"},{"internalType":"bytes","name":"redeemerMetadata","type":"bytes"}]}],"stateMutability":"payable","type":"function","name":"didRedeem"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"firstOwnerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"},{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"_tokenUriResolver","type":"address"},{"internalType":"string","name":"_contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"_pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"contract IJBTiered721DelegateStore","name":"_store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"_flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"jbOwner","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint88","name":"projectId","type":"uint88"},{"internalType":"uint8","name":"permissionIndex","type":"uint8"}]},{"inputs":[{"internalType":"uint16[]","name":"_tierIds","type":"uint16[]"},{"internalType":"address","name":"_beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"mintFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"struct JBTiered721MintReservesForTiersData[]","name":"_mintReservesForTiersData","type":"tuple[]","components":[{"internalType":"uint256","name":"tierId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mintReservesFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"payMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBPayParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"payer","type":"address"},{"internalType":"struct JBTokenAmount","name":"amount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"payParams","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBPayDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBPayDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"pricingContext","outputs":[{"internalType":"uint256","name":"currency","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"redeemMetadataDelegateId","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"_data","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redeemParams","outputs":[{"internalType":"uint256","name":"reclaimAmount","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"struct JBRedemptionDelegateAllocation3_1_1[]","name":"delegateAllocations","type":"tuple[]","components":[{"internalType":"contract IJBRedemptionDelegate3_1_1","name":"delegate","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"},{"internalType":"struct JBRedeemParamsData","name":"","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"string","name":"_baseUri","type":"string"},{"internalType":"string","name":"_contractUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"_tokenUriResolver","type":"address"},{"internalType":"uint256","name":"_encodedIPFSUriTierId","type":"uint256"},{"internalType":"bytes32","name":"_encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setMetadata"},{"inputs":[{"internalType":"uint8","name":"_permissionIndex","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"setPermissionIndex"},{"inputs":[],"stateMutability":"view","type":"function","name":"store","outputs":[{"internalType":"contract IJBTiered721DelegateStore","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"_interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"struct JBRedeemParamsData","name":"","type":"tuple","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"uint256","name":"currentFundingCycleConfiguration","type":"uint256"},{"internalType":"uint256","name":"tokenCount","type":"uint256"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint256","name":"overflow","type":"uint256"},{"internalType":"struct JBTokenAmount","name":"reclaimAmount","type":"tuple","components":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"uint256","name":"currency","type":"uint256"}]},{"internalType":"bool","name":"useTotalOverflow","type":"bool"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"string","name":"memo","type":"string"},{"internalType":"bytes","name":"metadata","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnershipToProject"}],"devdoc":{"kind":"dev","methods":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":{"details":"Only the contract's owner or an operator with ADJUST_TIERS can adjust the tiers.","params":{"_tierIdsToRemove":"An array of tier IDs to remove.","_tiersToAdd":"An array of tier data to add."}},"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"params":{"_owner":"The address to check the balance of."},"returns":{"balance":"The number of tokens owned by the address across all tiers."}},"constructor":{"params":{"_directory":"A directory of terminals and controllers for projects.","_operatorStore":"A contract which stores operator assignments.","_payMetadataDelegateId":"The 4bytes ID of this delegate, used for pay metadata parsing","_redeemMetadataDelegateId":"The 4bytes ID of this delegate, used for redeem metadata parsing"}},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project payment data."}},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"details":"Reverts if the calling contract is not one of the project's terminals.","params":{"_data":"Standard Juicebox project redemption data."}},"firstOwnerOf(uint256)":{"params":{"_tokenId":"The ID of the token to get the first owner of."},"returns":{"_0":"The first owner of the token."}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":{"params":{"_baseUri":"A URI to use as a base for full token URIs.","_contractUri":"A URI where this contract's metadata can be found.","_flags":"A set of flags that help to define how this contract works.","_fundingCycleStore":"A contract storing all funding cycle configurations.","_name":"The name of the NFT collection distributed through this contract.","_pricing":"NFT tier pricing parameters according to which token distribution will be made. Must be sorted by contribution floor (from least to greatest).","_projectId":"The ID of the project this contract's functionality applies to.","_store":"The contract which stores the NFT's data.","_symbol":"The symbol that the NFT collection should be represented by.","_tokenUriResolver":"A contract responsible for resolving the token URI for each token ID."}},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"mintFor(uint16[],address)":{"params":{"_beneficiary":"The address to mint to.","_tierIds":"The IDs of the tiers to mint from."},"returns":{"tokenIds":"The IDs of the newly minted tokens."}},"mintReservesFor((uint256,uint256)[])":{"params":{"_mintReservesForTiersData":"Contains information about how many reserved tokens to mint for each tier."}},"mintReservesFor(uint256,uint256)":{"details":"Only currently outstanding reserved tokens can be minted.","params":{"_count":"The number of reserved tokens to mint.","_tierId":"The ID of the tier to mint from."}},"name()":{"details":"See {IERC721Metadata-name}."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"params":{"_data":"The Juicebox standard project payment data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of adding to local balance.","memo":"A memo to be forwarded to the event.","weight":"The weight that tokens should get minted in accordance with."}},"pricingContext()":{"returns":{"currency":"The currency being used.","decimals":"The amount of decimals being used.","prices":"The prices contract being used to resolve currency discrepancies."}},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_data":"Standard Juicebox project redemption data."},"returns":{"delegateAllocations":"Amount to be sent to delegates instead of being added to the beneficiary.","memo":"A memo to be forwarded to the event.","reclaimAmount":"Amount to be reclaimed from the treasury."}},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"params":{"_tokenIds":"The IDs of the tokens to get the cumulative redemption weight of."},"returns":{"_0":"The redemption weight of the _tokenIds."}},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"setMetadata(string,string,address,uint256,bytes32)":{"details":"Only the contract's owner can set the URI metadata.","params":{"_baseUri":"The new base URI.","_contractUri":"The new contract URI.","_encodedIPFSUri":"The encoded IPFS URI to set.","_encodedIPFSUriTierId":"The ID of the tier to set the encoded IPFS URI of.","_tokenUriResolver":"The new URI resolver."}},"setPermissionIndex(uint8)":{"params":{"_permissionIndex":"the permissionIndex to use for 'onlyOwner' calls"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}.","params":{"_interfaceId":"The ID of the interface to check for adherence to."}},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"tokenURI(uint256)":{"details":"Defer to the tokenUriResolver if it is set. Otherwise, use the tokenUri corresponding with the token's tier.","params":{"_tokenId":"The ID of the token to get the metadata URI for."},"returns":{"_0":"The token URI corresponding with the token's tier, or the tokenUriResolver URI if it is set."}},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"returns":{"_0":"The cumulative redemption weight."}},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"params":{"_newOwner":"the static address that should receive ownership"}},"transferOwnershipToProject(uint256)":{"details":"ProjectID is limited to a uint88","params":{"_projectId":"the project that should receive ownership"}}},"version":1},"userdoc":{"kind":"user","methods":{"adjustTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint256[])":{"notice":"Adjust the tiers which are mintable through this contract, adhering to any locked tier constraints."},"balanceOf(address)":{"notice":"The total number of tokens owned by an address across all tiers."},"baseURI()":{"notice":"The common base for the tokenUris."},"codeOrigin()":{"notice":"The address of the original JBTiered721Delegate - used in `initialize(...)` to check if this is the original JBTiered721Delegate, and to revert initialization if it is."},"contractURI()":{"notice":"Contract metadata uri."},"creditsOf(address)":{"notice":"The amount each address has paid which did not go towards minting an NFT. These credits can be redeemed to mint NFTs."},"didPay((address,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),uint256,address,bool,string,bytes,bytes))":{"notice":"Mints an NFT to the contributor (_data.beneficiary) upon project payment if conditions are met. Part of IJBPayDelegate."},"didRedeem((address,uint256,uint256,uint256,(address,uint256,uint256,uint256),(address,uint256,uint256,uint256),address,string,bytes,bytes))":{"notice":"Burns specified NFTs upon token holder redemption, reclaiming funds from the project's balance to _data.beneficiary. Part of IJBRedeemDelegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"firstOwnerOf(uint256)":{"notice":"The first owner of each token ID, which corresponds to the address that originally contributed to the project to receive the NFT."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations."},"initialize(uint256,string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,(bool,bool,bool,bool))":{"notice":"Initializes a cloned copy of the original JB721Delegate contract."},"jbOwner()":{"notice":"the JBOwner information"},"mintFor(uint16[],address)":{"notice":"Manually mint NFTs from the provided tiers ."},"mintReservesFor((uint256,uint256)[])":{"notice":"Mint reserved tokens within the tier for the provided value."},"mintReservesFor(uint256,uint256)":{"notice":"Mint reserved tokens within the provided tier."},"operatorStore()":{"notice":" A contract storing operator assignments."},"owner()":{"notice":"Returns the address of the current project owner."},"payMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for pay metadata parsing"},"payParams((address,address,(address,uint256,uint256,uint256),uint256,uint256,address,uint256,uint256,string,bytes))":{"notice":"This function gets called when the project receives a payment. It sets this contract as the delegate to get a callback from the terminal. Part of IJBFundingCycleDataSource."},"pricingContext()":{"notice":"Info that contextualizes the pricing of tiers."},"projectId()":{"notice":"The Juicebox project ID this contract's functionality applies to."},"projects()":{"notice":"The IJBProjects to use to get the owner of a project"},"redeemMetadataDelegateId()":{"notice":"The 4bytes ID of this delegate, used for redeem metadata parsing"},"redeemParams((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"This function gets called when the project's (NFT) token holders redeem. Part of IJBFundingCycleDataSource."},"redemptionWeightOf(uint256[],(address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"The cumulative redemption weight the given token IDs have compared to the `_totalRedemptionWeight`."},"renounceOwnership()":{"notice":"Leaves the contract without owner. It will not be possible to call `onlyOwner`/`_checkOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"setMetadata(string,string,address,uint256,bytes32)":{"notice":"Set a contract's URI metadata properties."},"setPermissionIndex(uint8)":{"notice":"Sets the permission index that allows other callers to perform operations on behave of the project owner"},"store()":{"notice":"The contract that stores and manages data for this contract's NFTs."},"supportsInterface(bytes4)":{"notice":"Indicates if this contract adheres to the specified interface."},"tokenURI(uint256)":{"notice":"The metadata URI of the provided token ID."},"totalRedemptionWeight((address,address,uint256,uint256,uint256,uint256,uint256,(address,uint256,uint256,uint256),bool,uint256,string,bytes))":{"notice":"The cumulative redemption weight across all token IDs."},"transferOwnership(address)":{"notice":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"transferOwnershipToProject(uint256)":{"notice":"Transfer ownershipt of the contract to a (Juicebox) project"}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721Delegate.sol":"JBTiered721Delegate"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663","urls":["bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357","dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"id":0} \ No newline at end of file diff --git a/out/JBTiered721DelegateDeployer.sol/JBTiered721DelegateDeployer.json b/out/JBTiered721DelegateDeployer.sol/JBTiered721DelegateDeployer.json index cd2ae589..79546eff 100644 --- a/out/JBTiered721DelegateDeployer.sol/JBTiered721DelegateDeployer.json +++ b/out/JBTiered721DelegateDeployer.sol/JBTiered721DelegateDeployer.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_onchainGovernance","type":"address","internalType":"contract JBTiered721GovernanceDelegate"},{"name":"_noGovernance","type":"address","internalType":"contract JBTiered721Delegate"},{"name":"_delegatesRegistry","type":"address","internalType":"contract IJBDelegatesRegistry"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegatesRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDelegatesRegistry"}],"stateMutability":"view"},{"type":"function","name":"deployDelegateFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]}],"outputs":[{"name":"newDelegate","type":"address","internalType":"contract IJBTiered721Delegate"}],"stateMutability":"nonpayable"},{"type":"function","name":"noGovernance","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract JBTiered721Delegate"}],"stateMutability":"view"},{"type":"function","name":"onchainGovernance","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract JBTiered721GovernanceDelegate"}],"stateMutability":"view"},{"type":"event","name":"DelegateDeployed","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newDelegate","type":"address","indexed":false,"internalType":"contract IJBTiered721Delegate"},{"name":"governanceType","type":"uint8","indexed":false,"internalType":"enum JB721GovernanceType"}],"anonymous":false},{"type":"error","name":"INVALID_GOVERNANCE_TYPE","inputs":[]}],"bytecode":{"object":"0x60e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c63430008170033","sourceMap":"1016:4444:1:-:0;;;2927:309;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3105:38:1;;;;;3153:28;;;;;3191:38;;;1016:4444;;14:162:197;-1:-1:-1;;;;;120:31:197;;110:42;;100:70;;166:1;163;156:12;100:70;14:162;:::o;181:708::-;365:6;373;381;434:2;422:9;413:7;409:23;405:32;402:52;;;450:1;447;440:12;402:52;482:9;476:16;501:62;557:5;501:62;:::i;:::-;632:2;617:18;;611:25;582:5;;-1:-1:-1;645:64:197;611:25;645:64;:::i;:::-;780:2;765:18;;759:25;728:7;;-1:-1:-1;793:64:197;759:25;793:64;:::i;:::-;876:7;866:17;;;181:708;;;;;:::o;:::-;1016:4444:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea26469706673582212204d97e0586fbcef6b7d1c4c6956e195ccc2661552954ace80dced5f66c0707f8064736f6c63430008170033","sourceMap":"1016:4444:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2055:64;;;;;;;;-1:-1:-1;;;;;356:32:197;;;338:51;;326:2;311:18;2055:64:1;;;;;;;2192:49;;;;;3804:1654;;;;;;:::i;:::-;;:::i;2334:55::-;;;;;3804:1654;3967:32;;4075:28;:43;;;:71;;;;;;;;:::i;:::-;;4071:423;;4197:35;4218:12;4197;:35::i;:::-;4162:71;;4071:423;;;4301:27;4254:28;:43;;;:74;;;;;;;;:::i;:::-;;4250:244;;4379:40;4400:17;4379:12;:40::i;4250:244::-;4458:25;;-1:-1:-1;;;4458:25:1;;;;;;;;;;;4250:244;4504:11;-1:-1:-1;;;;;4504:22:1;;4540:10;4564:28;:33;;;4611:28;:35;;;4660:28;:46;;;4720:28;:36;;;4770:28;:45;;;4829:28;:40;;;4883:28;:36;;;4933:28;:34;;;4981:28;:34;;;4504:521;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5121:61:1;;-1:-1:-1;;;5121:61:1;;5171:10;5121:61;;;338:51:197;-1:-1:-1;;;;;5121:49:1;;;-1:-1:-1;5121:49:1;;-1:-1:-1;311:18:197;;5121:61:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5266:17;-1:-1:-1;;;;;5266:29:1;;5304:4;5313:6;;5311:8;;;;;:::i;:::-;;;;;-1:-1:-1;5266:54:1;;-1:-1:-1;;;;;;5266:54:1;;;;;;;-1:-1:-1;;;;;14731:32:197;;;5266:54:1;;;14713:51:197;14780:18;;;14773:34;14686:18;;5266:54:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:10;5336:86;5365:11;5378:28;:43;;;5336:86;;;;;;;:::i;:::-;;;;;;;;3804:1654;;;;:::o;973:759:164:-;1030:16;1362:48;1344:14;1338:4;1334:25;1328:4;1324:36;1321:90;1315:4;1308:104;1569:32;1552:14;1546:4;1542:25;1539:63;1533:4;1526:77;1644:4;1638;1635:1;1628:21;1616:33;-1:-1:-1;;;;;;1676:22:164;;1668:57;;;;-1:-1:-1;;;1668:57:164;;15504:2:197;1668:57:164;;;15486:21:197;15543:2;15523:18;;;15516:30;-1:-1:-1;;;15562:18:197;;;15555:52;15624:18;;1668:57:164;;;;;;;;973:759;;;:::o;636:127:197:-;697:10;692:3;688:20;685:1;678:31;728:4;725:1;718:15;752:4;749:1;742:15;768:253;840:2;834:9;882:4;870:17;;917:18;902:34;;938:22;;;899:62;896:88;;;964:18;;:::i;:::-;1000:2;993:22;768:253;:::o;1026:255::-;1098:2;1092:9;1140:6;1128:19;;1177:18;1162:34;;1198:22;;;1159:62;1156:88;;;1224:18;;:::i;1286:275::-;1357:2;1351:9;1422:2;1403:13;;-1:-1:-1;;1399:27:197;1387:40;;1457:18;1442:34;;1478:22;;;1439:62;1436:88;;;1504:18;;:::i;:::-;1540:2;1533:22;1286:275;;-1:-1:-1;1286:275:197:o;1566:531::-;1609:5;1662:3;1655:4;1647:6;1643:17;1639:27;1629:55;;1680:1;1677;1670:12;1629:55;1716:6;1703:20;1742:18;1738:2;1735:26;1732:52;;;1764:18;;:::i;:::-;1808:55;1851:2;1832:13;;-1:-1:-1;;1828:27:197;1857:4;1824:38;1808:55;:::i;:::-;1888:2;1879:7;1872:19;1934:3;1927:4;1922:2;1914:6;1910:15;1906:26;1903:35;1900:55;;;1951:1;1948;1941:12;1900:55;2016:2;2009:4;2001:6;1997:17;1990:4;1981:7;1977:18;1964:55;2064:1;2039:16;;;2057:4;2035:27;2028:38;;;;2043:7;1566:531;-1:-1:-1;;;1566:531:197:o;2102:195::-;2192:20;;-1:-1:-1;;;;;2241:31:197;;2231:42;;2221:70;;2287:1;2284;2277:12;2302:182;2370:20;;2430:28;2419:40;;2409:51;;2399:79;;2474:1;2471;2464:12;2489:163;2556:20;;2616:10;2605:22;;2595:33;;2585:61;;2642:1;2639;2632:12;2657:159;2724:20;;2784:6;2773:18;;2763:29;;2753:57;;2806:1;2803;2796:12;2821:161;2888:20;;2948:8;2937:20;;2927:31;;2917:59;;2972:1;2969;2962:12;2987:160;3052:20;;3108:13;;3101:21;3091:32;;3081:60;;3137:1;3134;3127:12;3152:167;3219:20;;3279:14;3268:26;;3258:37;;3248:65;;3309:1;3306;3299:12;3324:2384;3389:5;3419:4;3460;3448:9;3443:3;3439:19;3435:30;3432:50;;;3478:1;3475;3468:12;3432:50;3500:22;;:::i;:::-;3491:31;;3558:9;3545:23;3587:18;3628:2;3620:6;3617:14;3614:34;;;3644:1;3641;3634:12;3614:34;3682:6;3671:9;3667:22;3657:32;;3727:3;3720:4;3716:2;3712:13;3708:23;3698:51;;3745:1;3742;3735:12;3698:51;3781:2;3768:16;3803:4;3826:2;3822;3819:10;3816:36;;;3832:18;;:::i;:::-;3872:36;3904:2;3899;3896:1;3892:10;3888:19;3872:36;:::i;:::-;3942:15;;;3973:12;;;;-1:-1:-1;4004:6:197;4045:11;;;4037:20;;4033:29;;;4074:15;;;4071:35;;;4102:1;4099;4092:12;4071:35;4126:11;;;;4146:1294;4162:6;4157:3;4154:15;4146:1294;;;4238:2;4232:3;4227;4223:13;4219:22;4216:112;;;4282:1;4311:2;4307;4300:14;4216:112;4356:22;;:::i;:::-;4407:23;4426:3;4407:23;:::i;:::-;4398:7;4391:40;4469:31;4496:2;4491:3;4487:12;4469:31;:::i;:::-;4464:2;4455:7;4451:16;4444:57;4524:2;4564:31;4591:2;4586:3;4582:12;4564:31;:::i;:::-;4546:16;;;4539:57;4619:2;4659:31;4677:12;;;4659:31;:::i;:::-;4641:16;;;4634:57;4729:54;4770:12;;;4729:54;:::i;:::-;4711:16;;;4704:80;4808:3;4863:13;;;4850:27;4831:17;;;4824:54;4902:3;4944:32;4962:13;;;4944:32;:::i;:::-;4925:17;;;4918:59;5001:3;5043:30;5059:13;;;5043:30;:::i;:::-;5024:17;;;5017:57;5098:3;5140:30;5156:13;;;5140:30;:::i;:::-;5121:17;;;5114:57;5195:3;5237:30;5253:13;;;5237:30;:::i;:::-;5218:17;;;5211:57;5292:3;5334:30;5350:13;;;5334:30;:::i;:::-;5315:17;;;5308:57;5378:20;;4179:12;;;;5418;;;;4146:1294;;;-1:-1:-1;5449:20:197;;5501:37;5519:18;;;5501:37;:::i;:::-;5496:2;5489:5;5485:14;5478:61;;;;;;5571:37;5604:2;5593:9;5589:18;5571:37;:::i;:::-;5566:2;5559:5;5555:14;5548:61;5641:60;5697:2;5686:9;5682:18;5641:60;:::i;:::-;5636:2;5629:5;5625:14;5618:84;3324:2384;;;;:::o;5713:433::-;5776:5;5824:4;5812:9;5807:3;5803:19;5799:30;5796:50;;;5842:1;5839;5832:12;5796:50;5864:22;;:::i;:::-;5855:31;;5909:26;5925:9;5909:26;:::i;:::-;5902:5;5895:41;5968:35;5999:2;5988:9;5984:18;5968:35;:::i;:::-;5963:2;5956:5;5952:14;5945:59;6036:35;6067:2;6056:9;6052:18;6036:35;:::i;:::-;6031:2;6024:5;6020:14;6013:59;6104:35;6135:2;6124:9;6120:18;6104:35;:::i;6151:160::-;6236:20;;6285:1;6275:12;;6265:40;;6301:1;6298;6291:12;6316:1984;6432:6;6440;6493:2;6481:9;6472:7;6468:23;6464:32;6461:52;;;6509:1;6506;6499:12;6461:52;6545:9;6532:23;6522:33;;6606:2;6595:9;6591:18;6578:32;6629:18;6670:2;6662:6;6659:14;6656:34;;;6686:1;6683;6676:12;6656:34;6709:22;;;;6765:6;6747:16;;;6743:29;6740:49;;;6785:1;6782;6775:12;6740:49;6811:22;;:::i;:::-;6871:2;6858:16;6899:2;6889:8;6886:16;6883:36;;;6915:1;6912;6905:12;6883:36;6942:45;6979:7;6968:8;6964:2;6960:17;6942:45;:::i;:::-;6935:5;6928:60;;7034:2;7030;7026:11;7013:25;7063:2;7053:8;7050:16;7047:36;;;7079:1;7076;7069:12;7047:36;7115:45;7152:7;7141:8;7137:2;7133:17;7115:45;:::i;:::-;7110:2;7103:5;7099:14;7092:69;;7193:53;7242:2;7238;7234:11;7193:53;:::i;:::-;7188:2;7181:5;7177:14;7170:77;7293:2;7289;7285:11;7272:25;7322:2;7312:8;7309:16;7306:36;;;7338:1;7335;7328:12;7306:36;7374:45;7411:7;7400:8;7396:2;7392:17;7374:45;:::i;:::-;7369:2;7362:5;7358:14;7351:69;;7453:54;7502:3;7498:2;7494:12;7453:54;:::i;:::-;7447:3;7440:5;7436:15;7429:79;7554:3;7550:2;7546:12;7533:26;7584:2;7574:8;7571:16;7568:36;;;7600:1;7597;7590:12;7568:36;7637:45;7674:7;7663:8;7659:2;7655:17;7637:45;:::i;:::-;7631:3;7624:5;7620:15;7613:70;;7729:3;7725:2;7721:12;7708:26;7759:2;7749:8;7746:16;7743:36;;;7775:1;7772;7765:12;7743:36;7812:64;7868:7;7857:8;7853:2;7849:17;7812:64;:::i;:::-;7806:3;7799:5;7795:15;7788:89;;7910:54;7959:3;7955:2;7951:12;7910:54;:::i;:::-;7904:3;7897:5;7893:15;7886:79;7984:3;7974:13;;8019:53;8068:2;8064;8060:11;8019:53;:::i;:::-;8014:2;8007:5;8003:14;7996:77;8092:3;8082:13;;8127:56;8175:7;8170:2;8166;8162:11;8127:56;:::i;:::-;8122:2;8115:5;8111:14;8104:80;8220:49;8264:3;8260:2;8256:12;8220:49;:::i;:::-;8211:6;8204:5;8200:18;8193:77;8289:5;8279:15;;;;;6316:1984;;;;;:::o;8781:127::-;8842:10;8837:3;8833:20;8830:1;8823:31;8873:4;8870:1;8863:15;8897:4;8894:1;8887:15;8913:423;8955:3;8993:5;8987:12;9020:6;9015:3;9008:19;9045:1;9055:162;9069:6;9066:1;9063:13;9055:162;;;9131:4;9187:13;;;9183:22;;9177:29;9159:11;;;9155:20;;9148:59;9084:12;9055:162;;;9059:3;9262:1;9255:4;9246:6;9241:3;9237:16;9233:27;9226:38;9325:4;9318:2;9314:7;9309:2;9301:6;9297:15;9293:29;9288:3;9284:39;9280:50;9273:57;;;8913:423;;;;:::o;10287:3802::-;10952:4;10981:3;11011:6;11000:9;10993:25;11037:2;11075;11070;11059:9;11055:18;11048:30;11101:45;11142:2;11131:9;11127:18;11119:6;11101:45;:::i;:::-;11087:59;;11194:9;11186:6;11182:22;11177:2;11166:9;11162:18;11155:50;11228:33;11254:6;11246;11228:33;:::i;:::-;11214:47;;11280:2;11318:1;11314;11309:3;11305:11;11301:19;11368:2;11360:6;11356:15;11351:2;11340:9;11336:18;11329:43;11391:3;11443:9;11435:6;11431:22;11425:3;11414:9;11410:19;11403:51;11477:33;11503:6;11495;11477:33;:::i;:::-;11463:47;;11529:3;11581:2;11573:6;11569:15;11563:3;11552:9;11548:19;11541:44;11604:3;11594:13;;11656:9;11648:6;11644:22;11638:3;11627:9;11623:19;11616:51;11690:33;11716:6;11708;11690:33;:::i;:::-;11676:47;;11742:3;11794:9;11786:6;11782:22;11776:3;11765:9;11761:19;11754:51;11840:3;11832:6;11828:16;11879:6;11873:13;11910:3;11902:6;11895:19;11934:6;11969:12;11963:19;12006:6;11998;11991:22;12041:3;12033:6;12029:16;12022:23;;12086:2;12072:12;12068:21;12054:35;;12107:1;12098:10;;12117:1407;12131:6;12128:1;12125:13;12117:1407;;;12190:13;;12235:9;;9418:28;9407:40;9395:53;;12291:11;;;12285:18;9535:10;9524:22;;12350:12;;;9512:35;12316:47;12412:2;12408;12404:11;12398:18;12429:47;12472:2;12467:3;12463:12;12447:14;9535:10;9524:22;9512:35;;9459:94;12429:47;-1:-1:-1;12517:11:197;;;12511:18;9634:6;9623:18;12576:12;;;9611:31;12630:11;;;12624:18;-1:-1:-1;;;;;111:31:197;12721:12;;;99:44;12774:11;;;12768:18;12754:12;;;12747:40;12828:11;;;12822:18;9729:8;9718:20;12887:12;;;9706:33;12941:11;;;12935:18;9820:13;9813:21;12998:12;;;9801:34;13035:6;13082:12;;;13076:19;9820:13;9813:21;13140:13;;;9801:34;13178:6;13225:12;;;13219:19;9820:13;9813:21;13283:13;;;9801:34;13321:6;13368:12;;;13362:19;9820:13;9813:21;13426:13;;;9801:34;13499:15;;;;12153:1;12146:9;;;;;13469:6;13460:16;;;;12117:1407;;;-1:-1:-1;13562:15:197;;;13556:22;9922:14;9911:26;;13622:15;;;9899:39;13556:22;-1:-1:-1;13688:2:197;13680:6;13676:15;13670:22;13647:45;;13701:51;13748:2;13740:6;13736:15;13719;9922:14;9911:26;9899:39;;9846:98;13701:51;13802:2;13794:6;13790:15;13784:22;13761:45;;13815:83;13894:2;13886:6;13882:15;13865;-1:-1:-1;;;;;111:31:197;99:44;;14:135;13815:83;-1:-1:-1;;;;;111:31:197;;14000:6;13985:22;;99:44;13915:3;-1:-1:-1;13927:81:197;;-1:-1:-1;;;;;;;;;14:135:197;13927:81;10045:12;;10038:20;10031:28;14075:6;14060:22;;10019:41;10123:4;10112:16;;10106:23;10099:31;10092:39;10076:14;;;10069:63;10195:4;10184:16;;10178:23;10171:31;10164:39;10148:14;;;10141:63;10267:4;10256:16;;10250:23;10243:31;10236:39;10220:14;;;10213:63;10287:3802;;;;;;;;;;;;;:::o;14302:232::-;14341:3;14362:17;;;14359:140;;14421:10;14416:3;14412:20;14409:1;14402:31;14456:4;14453:1;14446:15;14484:4;14481:1;14474:15;14359:140;-1:-1:-1;14526:1:197;14515:13;;14302:232::o;14818:479::-;-1:-1:-1;;;;;15062:32:197;;15044:51;;15032:2;15017:18;;15125:1;15114:13;;15104:144;;15170:10;15165:3;15161:20;15158:1;15151:31;15205:4;15202:1;15195:15;15233:4;15230:1;15223:15;15104:144;15284:6;15279:2;15268:9;15264:18;15257:34;14818:479;;;;;:::o","linkReferences":{},"immutableReferences":{"1516":[{"start":86,"length":32},{"start":359,"length":32}],"1520":[{"start":153,"length":32},{"start":281,"length":32}],"1524":[{"start":211,"length":32},{"start":661,"length":32}]}},"methodIdentifiers":{"delegatesRegistry()":"d574ff04","deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":"70d7f249","noGovernance()":"38b6bcf4","onchainGovernance()":"03f3ddbf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract JBTiered721GovernanceDelegate\",\"name\":\"_onchainGovernance\",\"type\":\"address\"},{\"internalType\":\"contract JBTiered721Delegate\",\"name\":\"_noGovernance\",\"type\":\"address\"},{\"internalType\":\"contract IJBDelegatesRegistry\",\"name\":\"_delegatesRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"INVALID_GOVERNANCE_TYPE\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"name\":\"DelegateDeployed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"delegatesRegistry\",\"outputs\":[{\"internalType\":\"contract IJBDelegatesRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"}],\"name\":\"deployDelegateFor\",\"outputs\":[{\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noGovernance\",\"outputs\":[{\"internalType\":\"contract JBTiered721Delegate\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"onchainGovernance\",\"outputs\":[{\"internalType\":\"contract JBTiered721GovernanceDelegate\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_delegatesRegistry\":\"A contract that stores references to delegate deployer contracts.\",\"_noGovernance\":\"Reference copy of a simpler delegate without on-chain governance.\",\"_onchainGovernance\":\"Reference copy of the delegate that works with onchain governance.\"}},\"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))\":{\"params\":{\"_deployTiered721DelegateData\":\"Structure containing data necessary for delegate deployment.\",\"_projectId\":\"The ID of the project for which the delegate will be deployed.\"},\"returns\":{\"newDelegate\":\"The address of the newly deployed delegate.\"}}},\"title\":\"JBTiered721DelegateDeployer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"delegatesRegistry()\":{\"notice\":\"A contract that stores references to deployer contracts of delegates.\"},\"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))\":{\"notice\":\"Deploys a delegate for the provided project.\"},\"noGovernance()\":{\"notice\":\"A contract with no on-chain governance mechanism.\"},\"onchainGovernance()\":{\"notice\":\"A contract that supports on-chain governance across all tiers.\"}},\"notice\":\"Deploys a JBTiered721Delegate.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateDeployer.sol\":\"JBTiered721DelegateDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce\",\"dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract JBTiered721GovernanceDelegate","name":"_onchainGovernance","type":"address"},{"internalType":"contract JBTiered721Delegate","name":"_noGovernance","type":"address"},{"internalType":"contract IJBDelegatesRegistry","name":"_delegatesRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"INVALID_GOVERNANCE_TYPE"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address","indexed":false},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8","indexed":false}],"type":"event","name":"DelegateDeployed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"delegatesRegistry","outputs":[{"internalType":"contract IJBDelegatesRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"deployDelegateFor","outputs":[{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"noGovernance","outputs":[{"internalType":"contract JBTiered721Delegate","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"onchainGovernance","outputs":[{"internalType":"contract JBTiered721GovernanceDelegate","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_delegatesRegistry":"A contract that stores references to delegate deployer contracts.","_noGovernance":"Reference copy of a simpler delegate without on-chain governance.","_onchainGovernance":"Reference copy of the delegate that works with onchain governance."}},"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":{"params":{"_deployTiered721DelegateData":"Structure containing data necessary for delegate deployment.","_projectId":"The ID of the project for which the delegate will be deployed."},"returns":{"newDelegate":"The address of the newly deployed delegate."}}},"version":1},"userdoc":{"kind":"user","methods":{"delegatesRegistry()":{"notice":"A contract that stores references to deployer contracts of delegates."},"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":{"notice":"Deploys a delegate for the provided project."},"noGovernance()":{"notice":"A contract with no on-chain governance mechanism."},"onchainGovernance()":{"notice":"A contract that supports on-chain governance across all tiers."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateDeployer.sol":"JBTiered721DelegateDeployer"},"libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3","urls":["bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce","dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/JBTiered721DelegateDeployer.sol","id":1663,"exportedSymbols":{"Clones":[90466],"IJBDelegatesRegistry":[89028],"IJBDirectory":[85041],"IJBTiered721Delegate":[28042],"IJBTiered721DelegateDeployer":[28074],"JB721GovernanceType":[6273],"JBDeployTiered721DelegateData":[29486],"JBOwnable":[89080],"JBTiered721Delegate":[1482],"JBTiered721DelegateDeployer":[1662],"JBTiered721GovernanceDelegate":[4560]},"nodeType":"SourceUnit","src":"32:5429:1","nodes":[{"id":1484,"nodeType":"PragmaDirective","src":"32:24:1","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":1486,"nodeType":"ImportDirective","src":"58:66:1","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/proxy/Clones.sol","file":"@openzeppelin/contracts/proxy/Clones.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":90467,"symbolAliases":[{"foreign":{"id":1485,"name":"Clones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90466,"src":"67:6:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1488,"nodeType":"ImportDirective","src":"125:118:1","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","file":"@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":89029,"symbolAliases":[{"foreign":{"id":1487,"name":"IJBDelegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89028,"src":"134:20:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1490,"nodeType":"ImportDirective","src":"244:102:1","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":1489,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"253:12:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1492,"nodeType":"ImportDirective","src":"347:74:1","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol","file":"@jbx-protocol/juice-ownable/src/JBOwnable.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":89081,"symbolAliases":[{"foreign":{"id":1491,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"356:9:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1494,"nodeType":"ImportDirective","src":"423:70:1","nodes":[],"absolutePath":"contracts/enums/JB721GovernanceType.sol","file":"./enums/JB721GovernanceType.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":6274,"symbolAliases":[{"foreign":{"id":1493,"name":"JB721GovernanceType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"432:19:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1496,"nodeType":"ImportDirective","src":"494:93:1","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateDeployer.sol","file":"./interfaces/IJBTiered721DelegateDeployer.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":28075,"symbolAliases":[{"foreign":{"id":1495,"name":"IJBTiered721DelegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28074,"src":"503:28:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1498,"nodeType":"ImportDirective","src":"588:77:1","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721Delegate.sol","file":"./interfaces/IJBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":28043,"symbolAliases":[{"foreign":{"id":1497,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"597:20:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1500,"nodeType":"ImportDirective","src":"666:92:1","nodes":[],"absolutePath":"contracts/structs/JBDeployTiered721DelegateData.sol","file":"./structs/JBDeployTiered721DelegateData.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":29487,"symbolAliases":[{"foreign":{"id":1499,"name":"JBDeployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"675:29:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1502,"nodeType":"ImportDirective","src":"759:64:1","nodes":[],"absolutePath":"contracts/JBTiered721Delegate.sol","file":"./JBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":1483,"symbolAliases":[{"foreign":{"id":1501,"name":"JBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"768:19:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1504,"nodeType":"ImportDirective","src":"824:84:1","nodes":[],"absolutePath":"contracts/JBTiered721GovernanceDelegate.sol","file":"./JBTiered721GovernanceDelegate.sol","nameLocation":"-1:-1:-1","scope":1663,"sourceUnit":4561,"symbolAliases":[{"foreign":{"id":1503,"name":"JBTiered721GovernanceDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4560,"src":"833:29:1","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1662,"nodeType":"ContractDefinition","src":"1016:4444:1","nodes":[{"id":1509,"nodeType":"ErrorDefinition","src":"1326:32:1","nodes":[],"errorSelector":"7c1d93dd","name":"INVALID_GOVERNANCE_TYPE","nameLocation":"1332:23:1","parameters":{"id":1508,"nodeType":"ParameterList","parameters":[],"src":"1355:2:1"}},{"id":1512,"nodeType":"VariableDeclaration","src":"1711:23:1","nodes":[],"constant":false,"documentation":{"id":1510,"nodeType":"StructuredDocumentation","src":"1599:107:1","text":" @notice \n This contract's current nonce, used for the Juicebox delegates registry."},"mutability":"mutable","name":"_nonce","nameLocation":"1728:6:1","scope":1662,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1511,"name":"uint256","nodeType":"ElementaryTypeName","src":"1711:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":1516,"nodeType":"VariableDeclaration","src":"2055:64:1","nodes":[],"constant":false,"documentation":{"id":1513,"nodeType":"StructuredDocumentation","src":"1976:74:1","text":"@notice A contract that supports on-chain governance across all tiers."},"functionSelector":"03f3ddbf","mutability":"immutable","name":"onchainGovernance","nameLocation":"2102:17:1","scope":1662,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":1515,"nodeType":"UserDefinedTypeName","pathNode":{"id":1514,"name":"JBTiered721GovernanceDelegate","nameLocations":["2055:29:1"],"nodeType":"IdentifierPath","referencedDeclaration":4560,"src":"2055:29:1"},"referencedDeclaration":4560,"src":"2055:29:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"public"},{"id":1520,"nodeType":"VariableDeclaration","src":"2192:49:1","nodes":[],"constant":false,"documentation":{"id":1517,"nodeType":"StructuredDocumentation","src":"2126:61:1","text":"@notice A contract with no on-chain governance mechanism."},"functionSelector":"38b6bcf4","mutability":"immutable","name":"noGovernance","nameLocation":"2229:12:1","scope":1662,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":1519,"nodeType":"UserDefinedTypeName","pathNode":{"id":1518,"name":"JBTiered721Delegate","nameLocations":["2192:19:1"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"2192:19:1"},"referencedDeclaration":1482,"src":"2192:19:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"public"},{"id":1524,"nodeType":"VariableDeclaration","src":"2334:55:1","nodes":[],"constant":false,"documentation":{"id":1521,"nodeType":"StructuredDocumentation","src":"2248:81:1","text":"@notice A contract that stores references to deployer contracts of delegates."},"functionSelector":"d574ff04","mutability":"immutable","name":"delegatesRegistry","nameLocation":"2372:17:1","scope":1662,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":1523,"nodeType":"UserDefinedTypeName","pathNode":{"id":1522,"name":"IJBDelegatesRegistry","nameLocations":["2334:20:1"],"nodeType":"IdentifierPath","referencedDeclaration":89028,"src":"2334:20:1"},"referencedDeclaration":89028,"src":"2334:20:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"visibility":"public"},{"id":1550,"nodeType":"FunctionDefinition","src":"2927:309:1","nodes":[],"body":{"id":1549,"nodeType":"Block","src":"3095:141:1","nodes":[],"statements":[{"expression":{"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1537,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"3105:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1538,"name":"_onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1528,"src":"3125:18:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}},"src":"3105:38:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}},"id":1540,"nodeType":"ExpressionStatement","src":"3105:38:1"},{"expression":{"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1541,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1520,"src":"3153:12:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1542,"name":"_noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"3168:13:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"src":"3153:28:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"id":1544,"nodeType":"ExpressionStatement","src":"3153:28:1"},{"expression":{"id":1547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1545,"name":"delegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"3191:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1546,"name":"_delegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1534,"src":"3211:18:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"src":"3191:38:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"id":1548,"nodeType":"ExpressionStatement","src":"3191:38:1"}]},"documentation":{"id":1525,"nodeType":"StructuredDocumentation","src":"2631:291:1","text":"@param _onchainGovernance Reference copy of the delegate that works with onchain governance.\n @param _noGovernance Reference copy of a simpler delegate without on-chain governance.\n @param _delegatesRegistry A contract that stores references to delegate deployer contracts."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1528,"mutability":"mutable","name":"_onchainGovernance","nameLocation":"2978:18:1","nodeType":"VariableDeclaration","scope":1550,"src":"2948:48:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"},"typeName":{"id":1527,"nodeType":"UserDefinedTypeName","pathNode":{"id":1526,"name":"JBTiered721GovernanceDelegate","nameLocations":["2948:29:1"],"nodeType":"IdentifierPath","referencedDeclaration":4560,"src":"2948:29:1"},"referencedDeclaration":4560,"src":"2948:29:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}},"visibility":"internal"},{"constant":false,"id":1531,"mutability":"mutable","name":"_noGovernance","nameLocation":"3026:13:1","nodeType":"VariableDeclaration","scope":1550,"src":"3006:33:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"},"typeName":{"id":1530,"nodeType":"UserDefinedTypeName","pathNode":{"id":1529,"name":"JBTiered721Delegate","nameLocations":["3006:19:1"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"3006:19:1"},"referencedDeclaration":1482,"src":"3006:19:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}},"visibility":"internal"},{"constant":false,"id":1534,"mutability":"mutable","name":"_delegatesRegistry","nameLocation":"3070:18:1","nodeType":"VariableDeclaration","scope":1550,"src":"3049:39:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"},"typeName":{"id":1533,"nodeType":"UserDefinedTypeName","pathNode":{"id":1532,"name":"IJBDelegatesRegistry","nameLocations":["3049:20:1"],"nodeType":"IdentifierPath","referencedDeclaration":89028,"src":"3049:20:1"},"referencedDeclaration":89028,"src":"3049:20:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"visibility":"internal"}],"src":"2938:156:1"},"returnParameters":{"id":1536,"nodeType":"ParameterList","parameters":[],"src":"3095:0:1"},"scope":1662,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1661,"nodeType":"FunctionDefinition","src":"3804:1654:1","nodes":[],"body":{"id":1660,"nodeType":"Block","src":"4001:1457:1","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"},"id":1567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1563,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4075:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1564,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4104:14:1","memberName":"governanceType","nodeType":"MemberAccess","referencedDeclaration":29485,"src":"4075:43:1","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1565,"name":"JB721GovernanceType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"4122:19:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_JB721GovernanceType_$6273_$","typeString":"type(enum JB721GovernanceType)"}},"id":1566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4142:4:1","memberName":"NONE","nodeType":"MemberAccess","referencedDeclaration":6271,"src":"4122:24:1","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}},"src":"4075:71:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"},"id":1585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1581,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4254:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1582,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4283:14:1","memberName":"governanceType","nodeType":"MemberAccess","referencedDeclaration":29485,"src":"4254:43:1","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":1583,"name":"JB721GovernanceType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6273,"src":"4301:19:1","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_JB721GovernanceType_$6273_$","typeString":"type(enum JB721GovernanceType)"}},"id":1584,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4321:7:1","memberName":"ONCHAIN","nodeType":"MemberAccess","referencedDeclaration":6272,"src":"4301:27:1","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}},"src":"4254:74:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1602,"nodeType":"Block","src":"4437:57:1","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1599,"name":"INVALID_GOVERNANCE_TYPE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1509,"src":"4458:23:1","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":1600,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4458:25:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1601,"nodeType":"RevertStatement","src":"4451:32:1"}]},"id":1603,"nodeType":"IfStatement","src":"4250:244:1","trueBody":{"id":1598,"nodeType":"Block","src":"4330:101:1","statements":[{"expression":{"id":1596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1586,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"4344:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":1592,"name":"onchainGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"4400:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721GovernanceDelegate_$4560","typeString":"contract JBTiered721GovernanceDelegate"}],"id":1591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4392:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1590,"name":"address","nodeType":"ElementaryTypeName","src":"4392:7:1","typeDescriptions":{}}},"id":1593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4392:26:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1588,"name":"Clones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90466,"src":"4379:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clones_$90466_$","typeString":"type(library Clones)"}},"id":1589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4386:5:1","memberName":"clone","nodeType":"MemberAccess","referencedDeclaration":90409,"src":"4379:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_address_$","typeString":"function (address) returns (address)"}},"id":1594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4379:40:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1587,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"4358:20:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"type(contract IJBTiered721Delegate)"}},"id":1595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4358:62:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"src":"4344:76:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"id":1597,"nodeType":"ExpressionStatement","src":"4344:76:1"}]}},"id":1604,"nodeType":"IfStatement","src":"4071:423:1","trueBody":{"id":1580,"nodeType":"Block","src":"4148:96:1","statements":[{"expression":{"id":1578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1568,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"4162:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"arguments":[{"id":1574,"name":"noGovernance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1520,"src":"4218:12:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721Delegate_$1482","typeString":"contract JBTiered721Delegate"}],"id":1573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4210:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1572,"name":"address","nodeType":"ElementaryTypeName","src":"4210:7:1","typeDescriptions":{}}},"id":1575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4210:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1570,"name":"Clones","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90466,"src":"4197:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Clones_$90466_$","typeString":"type(library Clones)"}},"id":1571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4204:5:1","memberName":"clone","nodeType":"MemberAccess","referencedDeclaration":90409,"src":"4197:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_address_$","typeString":"function (address) returns (address)"}},"id":1576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4197:35:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1569,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"4176:20:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"type(contract IJBTiered721Delegate)"}},"id":1577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:57:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"src":"4162:71:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"id":1579,"nodeType":"ExpressionStatement","src":"4162:71:1"}]}},{"expression":{"arguments":[{"id":1608,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1553,"src":"4540:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1609,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4564:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1610,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4593:4:1","memberName":"name","nodeType":"MemberAccess","referencedDeclaration":29459,"src":"4564:33:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1611,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4611:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1612,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4640:6:1","memberName":"symbol","nodeType":"MemberAccess","referencedDeclaration":29461,"src":"4611:35:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1613,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4660:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1614,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4689:17:1","memberName":"fundingCycleStore","nodeType":"MemberAccess","referencedDeclaration":29464,"src":"4660:46:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},{"expression":{"id":1615,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4720:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1616,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4749:7:1","memberName":"baseUri","nodeType":"MemberAccess","referencedDeclaration":29466,"src":"4720:36:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1617,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4770:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1618,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4799:16:1","memberName":"tokenUriResolver","nodeType":"MemberAccess","referencedDeclaration":29469,"src":"4770:45:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"}},{"expression":{"id":1619,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4829:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1620,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4858:11:1","memberName":"contractUri","nodeType":"MemberAccess","referencedDeclaration":29471,"src":"4829:40:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":1621,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4883:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1622,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4912:7:1","memberName":"pricing","nodeType":"MemberAccess","referencedDeclaration":29474,"src":"4883:36:1","typeDescriptions":{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"}},{"expression":{"id":1623,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4933:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1624,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4962:5:1","memberName":"store","nodeType":"MemberAccess","referencedDeclaration":29479,"src":"4933:34:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"}},{"expression":{"id":1625,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"4981:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1626,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5010:5:1","memberName":"flags","nodeType":"MemberAccess","referencedDeclaration":29482,"src":"4981:34:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27803","typeString":"contract IJB721TokenUriResolver"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_struct$_JB721PricingParams_$29385_memory_ptr","typeString":"struct JB721PricingParams memory"},{"typeIdentifier":"t_contract$_IJBTiered721DelegateStore_$28458","typeString":"contract IJBTiered721DelegateStore"},{"typeIdentifier":"t_struct$_JBTiered721Flags_$29646_memory_ptr","typeString":"struct JBTiered721Flags memory"}],"expression":{"id":1605,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"4504:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"id":1607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4516:10:1","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":28041,"src":"4504:22:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_contract$_IJBFundingCycleStore_$85310_$_t_string_memory_ptr_$_t_contract$_IJB721TokenUriResolver_$27803_$_t_string_memory_ptr_$_t_struct$_JB721PricingParams_$29385_memory_ptr_$_t_contract$_IJBTiered721DelegateStore_$28458_$_t_struct$_JBTiered721Flags_$29646_memory_ptr_$returns$__$","typeString":"function (uint256,string memory,string memory,contract IJBFundingCycleStore,string memory,contract IJB721TokenUriResolver,string memory,struct JB721PricingParams memory,contract IJBTiered721DelegateStore,struct JBTiered721Flags memory) external"}},"id":1627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4504:521:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1628,"nodeType":"ExpressionStatement","src":"4504:521:1"},{"expression":{"arguments":[{"expression":{"id":1636,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5171:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5175:6:1","memberName":"sender","nodeType":"MemberAccess","src":"5171:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"arguments":[{"arguments":[{"id":1632,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"5139:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":1631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5131:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1630,"name":"address","nodeType":"ElementaryTypeName","src":"5131:7:1","typeDescriptions":{}}},"id":1633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5131:20:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1629,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"5121:9:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOwnable_$89080_$","typeString":"type(contract JBOwnable)"}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5121:31:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBOwnable_$89080","typeString":"contract JBOwnable"}},"id":1635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5153:17:1","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":89286,"src":"5121:49:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":1638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5121:61:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1639,"nodeType":"ExpressionStatement","src":"5121:61:1"},{"expression":{"arguments":[{"arguments":[{"id":1645,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"5304:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTiered721DelegateDeployer_$1662","typeString":"contract JBTiered721DelegateDeployer"}],"id":1644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5296:7:1","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1643,"name":"address","nodeType":"ElementaryTypeName","src":"5296:7:1","typeDescriptions":{}}},"id":1646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5296:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"5311:8:1","subExpression":{"id":1647,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1512,"src":"5313:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1640,"name":"delegatesRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"5266:17:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDelegatesRegistry_$89028","typeString":"contract IJBDelegatesRegistry"}},"id":1642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5284:11:1","memberName":"addDelegate","nodeType":"MemberAccess","referencedDeclaration":89018,"src":"5266:29:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":1649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5266:54:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1650,"nodeType":"ExpressionStatement","src":"5266:54:1"},{"eventCall":{"arguments":[{"id":1652,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1553,"src":"5353:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1653,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"5365:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},{"expression":{"id":1654,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"5378:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}},"id":1655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5407:14:1","memberName":"governanceType","nodeType":"MemberAccess","referencedDeclaration":29485,"src":"5378:43:1","typeDescriptions":{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},{"typeIdentifier":"t_enum$_JB721GovernanceType_$6273","typeString":"enum JB721GovernanceType"}],"id":1651,"name":"DelegateDeployed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28062,"src":"5336:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IJBTiered721Delegate_$28042_$_t_enum$_JB721GovernanceType_$6273_$returns$__$","typeString":"function (uint256,contract IJBTiered721Delegate,enum JB721GovernanceType)"}},"id":1656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5336:86:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1657,"nodeType":"EmitStatement","src":"5331:91:1"},{"expression":{"id":1658,"name":"newDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1561,"src":"5440:11:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"functionReturnParameters":1562,"id":1659,"nodeType":"Return","src":"5433:18:1"}]},"baseFunctions":[28073],"documentation":{"id":1551,"nodeType":"StructuredDocumentation","src":"3477:322:1","text":"@notice Deploys a delegate for the provided project.\n @param _projectId The ID of the project for which the delegate will be deployed.\n @param _deployTiered721DelegateData Structure containing data necessary for delegate deployment.\n @return newDelegate The address of the newly deployed delegate."},"functionSelector":"70d7f249","implemented":true,"kind":"function","modifiers":[],"name":"deployDelegateFor","nameLocation":"3813:17:1","overrides":{"id":1558,"nodeType":"OverrideSpecifier","overrides":[],"src":"3949:8:1"},"parameters":{"id":1557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1553,"mutability":"mutable","name":"_projectId","nameLocation":"3848:10:1","nodeType":"VariableDeclaration","scope":1661,"src":"3840:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1552,"name":"uint256","nodeType":"ElementaryTypeName","src":"3840:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1556,"mutability":"mutable","name":"_deployTiered721DelegateData","nameLocation":"3905:28:1","nodeType":"VariableDeclaration","scope":1661,"src":"3868:65:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":1555,"nodeType":"UserDefinedTypeName","pathNode":{"id":1554,"name":"JBDeployTiered721DelegateData","nameLocations":["3868:29:1"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"3868:29:1"},"referencedDeclaration":29486,"src":"3868:29:1","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"}],"src":"3830:109:1"},"returnParameters":{"id":1562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1561,"mutability":"mutable","name":"newDelegate","nameLocation":"3988:11:1","nodeType":"VariableDeclaration","scope":1661,"src":"3967:32:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1560,"nodeType":"UserDefinedTypeName","pathNode":{"id":1559,"name":"IJBTiered721Delegate","nameLocations":["3967:20:1"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"3967:20:1"},"referencedDeclaration":28042,"src":"3967:20:1","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"}],"src":"3966:34:1"},"scope":1662,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1506,"name":"IJBTiered721DelegateDeployer","nameLocations":["1056:28:1"],"nodeType":"IdentifierPath","referencedDeclaration":28074,"src":"1056:28:1"},"id":1507,"nodeType":"InheritanceSpecifier","src":"1056:28:1"}],"canonicalName":"JBTiered721DelegateDeployer","contractDependencies":[],"contractKind":"contract","documentation":{"id":1505,"nodeType":"StructuredDocumentation","src":"910:106:1","text":"@title JBTiered721DelegateDeployer\n @notice Deploys a JBTiered721Delegate.\n @custom:version 3.3"},"fullyImplemented":true,"linearizedBaseContracts":[1662,28074],"name":"JBTiered721DelegateDeployer","nameLocation":"1025:27:1","scope":1663,"usedErrors":[1509],"usedEvents":[28062]}],"license":"MIT"},"id":1} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_onchainGovernance","type":"address","internalType":"contract JBTiered721GovernanceDelegate"},{"name":"_noGovernance","type":"address","internalType":"contract JBTiered721Delegate"},{"name":"_delegatesRegistry","type":"address","internalType":"contract IJBDelegatesRegistry"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegatesRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDelegatesRegistry"}],"stateMutability":"view"},{"type":"function","name":"deployDelegateFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]}],"outputs":[{"name":"newDelegate","type":"address","internalType":"contract IJBTiered721Delegate"}],"stateMutability":"nonpayable"},{"type":"function","name":"noGovernance","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract JBTiered721Delegate"}],"stateMutability":"view"},{"type":"function","name":"onchainGovernance","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract JBTiered721GovernanceDelegate"}],"stateMutability":"view"},{"type":"event","name":"DelegateDeployed","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newDelegate","type":"address","indexed":false,"internalType":"contract IJBTiered721Delegate"},{"name":"governanceType","type":"uint8","indexed":false,"internalType":"enum JB721GovernanceType"}],"anonymous":false},{"type":"error","name":"INVALID_GOVERNANCE_TYPE","inputs":[]}],"bytecode":{"object":"0x60e060405234801561001057600080fd5b50604051610d2b380380610d2b83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610c396100f26000396000818160d3015261029501526000818160990152610119015260008181605601526101670152610c396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c63430008170033","sourceMap":"1016:4444:1:-:0;;;2927:309;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3105:38:1;;;;;3153:28;;;;;3191:38;;;1016:4444;;14:162:197;-1:-1:-1;;;;;120:31:197;;110:42;;100:70;;166:1;163;156:12;100:70;14:162;:::o;181:708::-;365:6;373;381;434:2;422:9;413:7;409:23;405:32;402:52;;;450:1;447;440:12;402:52;482:9;476:16;501:62;557:5;501:62;:::i;:::-;632:2;617:18;;611:25;582:5;;-1:-1:-1;645:64:197;611:25;645:64;:::i;:::-;780:2;765:18;;759:25;728:7;;-1:-1:-1;793:64:197;759:25;793:64;:::i;:::-;876:7;866:17;;;181:708;;;;;:::o;:::-;1016:4444:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061004c5760003560e01c806303f3ddbf1461005157806338b6bcf41461009457806370d7f249146100bb578063d574ff04146100ce575b600080fd5b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100787f000000000000000000000000000000000000000000000000000000000000000081565b6100786100c93660046107bd565b6100f5565b6100787f000000000000000000000000000000000000000000000000000000000000000081565b600080826101400151600181111561010f5761010f610936565b036101445761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b90506101a4565b6001826101400151600181111561015d5761015d610936565b0361018b5761013d7f0000000000000000000000000000000000000000000000000000000000000000610379565b604051637c1d93dd60e01b815260040160405180910390fd5b806001600160a01b031663a1250d7f84846000015185602001518660400151876060015188608001518960a001518a60c001518b61010001518c61012001516040518b63ffffffff1660e01b81526004016102089a99989796959493929190610992565b600060405180830381600087803b15801561022257600080fd5b505af1158015610236573d6000803e3d6000fd5b505060405163f2fde38b60e01b81523360048201526001600160a01b038416925063f2fde38b9150602401600060405180830381600087803b15801561027b57600080fd5b505af115801561028f573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635bcfd2123060008081546102d190610ba1565b91829055506040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561031c57600080fd5b505af1158015610330573d6000803e3d6000fd5b50505050827fa1dcc57d57a99af26e68a9d0181c52742fdf009c0bbe62ed6a635c312b2ec2f58284610140015160405161036b929190610bc8565b60405180910390a292915050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b0381166104125760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561045057610450610417565b60405290565b604051610160810167ffffffffffffffff8111828210171561045057610450610417565b604051601f8201601f1916810167ffffffffffffffff811182821017156104a3576104a3610417565b604052919050565b600082601f8301126104bc57600080fd5b813567ffffffffffffffff8111156104d6576104d6610417565b6104e9601f8201601f191660200161047a565b8181528460208386010111156104fe57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461041257600080fd5b80356cffffffffffffffffffffffffff8116811461041257600080fd5b803563ffffffff8116811461041257600080fd5b803561ffff8116811461041257600080fd5b803562ffffff8116811461041257600080fd5b8035801515811461041257600080fd5b803565ffffffffffff8116811461041257600080fd5b600060808083850312156105c157600080fd5b6105c961042d565b9150823567ffffffffffffffff808211156105e357600080fd5b818501915085601f8301126105f757600080fd5b813560208282111561060b5761060b610417565b610619818360051b0161047a565b828152818101935061016092830285018201928984111561063957600080fd5b948201945b8386101561071a5780868b0312156106565760008081fd5b61065e610456565b61066787610532565b815261067484880161054f565b84820152604061068581890161054f565b908201526060610696888201610563565b908201526106a587890161051b565b8189015260a0878101359082015260c06106c0818901610575565b9082015260e06106d1888201610588565b908201526101006106e3888201610588565b908201526101206106f5888201610588565b90820152610140610707888201610588565b908201528552948501949382019361063e565b508652610728878201610598565b81870152505050505061073d60408301610598565b604082015261074e6060830161051b565b606082015292915050565b60006080828403121561076b57600080fd5b61077361042d565b905061077e82610588565b815261078c60208301610588565b602082015261079d60408301610588565b604082015261074e60608301610588565b80356002811061041257600080fd5b600080604083850312156107d057600080fd5b82359150602083013567ffffffffffffffff808211156107ef57600080fd5b908401906101c0828703121561080457600080fd5b61080c610456565b82358281111561081b57600080fd5b610827888286016104ab565b82525060208301358281111561083c57600080fd5b610848888286016104ab565b60208301525061085a6040840161051b565b604082015260608301358281111561087157600080fd5b61087d888286016104ab565b60608301525061088f6080840161051b565b608082015260a0830135828111156108a657600080fd5b6108b2888286016104ab565b60a08301525060c0830135828111156108ca57600080fd5b6108d6888286016105ae565b60c0830152506108e860e0840161051b565b60e082015261010091506108fd82840161051b565b82820152610120915061091287838501610759565b828201526109236101a084016107ae565b6101408201528093505050509250929050565b634e487b7160e01b600052602160045260246000fd5b6000815180845260005b8181101561097257602081850181015186830182015201610956565b506000602082860101526020601f19601f83011685010191505092915050565b60006101a08c8352602081818501526109ad8285018e61094c565b915083820360408501526109c1828d61094c565b9150606060018060a01b03808d166060870152608086850360808801526109e8858e61094c565b945060a0828d1660a089015260c0925087860360c0890152610a0a868d61094c565b955060e088870360e08a0152608087018c516080895281815180845260a08b0191508983019350600092505b80831015610af557835180516cffffffffffffffffffffffffff168352808b015163ffffffff8116848d0152506040810151610a7a604085018263ffffffff169052565b508981015161ffff16838b0152878101516001600160a01b03168884015286810151878401528881015162ffffff168984015285810151151586840152610100808201511515908401526101208082015115159084015261014090810151151590830152928901926001929092019161016090910190610a36565b508e89015165ffffffffffff81168b8b0152975060408f01519850610b2460408b018a65ffffffffffff169052565b60608f01519850610b4060608b018a6001600160a01b03169052565b6001600160a01b038e166101008d01529950610b6198505050505050505050565b825115156101208301526020830151151561014083015260408301511515610160830152606083015115156101808301529b9a5050505050505050505050565b600060018201610bc157634e487b7160e01b600052601160045260246000fd5b5060010190565b6001600160a01b03831681526040810160028310610bf657634e487b7160e01b600052602160045260246000fd5b826020830152939250505056fea2646970667358221220f131e7f7c4d195073cd523694fce984c3d11e3a02b74c982977b36d673ffa6db64736f6c63430008170033","sourceMap":"1016:4444:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2055:64;;;;;;;;-1:-1:-1;;;;;356:32:197;;;338:51;;326:2;311:18;2055:64:1;;;;;;;2192:49;;;;;3804:1654;;;;;;:::i;:::-;;:::i;2334:55::-;;;;;3804:1654;3967:32;;4075:28;:43;;;:71;;;;;;;;:::i;:::-;;4071:423;;4197:35;4218:12;4197;:35::i;:::-;4162:71;;4071:423;;;4301:27;4254:28;:43;;;:74;;;;;;;;:::i;:::-;;4250:244;;4379:40;4400:17;4379:12;:40::i;4250:244::-;4458:25;;-1:-1:-1;;;4458:25:1;;;;;;;;;;;4250:244;4504:11;-1:-1:-1;;;;;4504:22:1;;4540:10;4564:28;:33;;;4611:28;:35;;;4660:28;:46;;;4720:28;:36;;;4770:28;:45;;;4829:28;:40;;;4883:28;:36;;;4933:28;:34;;;4981:28;:34;;;4504:521;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5121:61:1;;-1:-1:-1;;;5121:61:1;;5171:10;5121:61;;;338:51:197;-1:-1:-1;;;;;5121:49:1;;;-1:-1:-1;5121:49:1;;-1:-1:-1;311:18:197;;5121:61:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5266:17;-1:-1:-1;;;;;5266:29:1;;5304:4;5313:6;;5311:8;;;;;:::i;:::-;;;;;-1:-1:-1;5266:54:1;;-1:-1:-1;;;;;;5266:54:1;;;;;;;-1:-1:-1;;;;;14731:32:197;;;5266:54:1;;;14713:51:197;14780:18;;;14773:34;14686:18;;5266:54:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5353:10;5336:86;5365:11;5378:28;:43;;;5336:86;;;;;;;:::i;:::-;;;;;;;;3804:1654;;;;:::o;973:759:164:-;1030:16;1362:48;1344:14;1338:4;1334:25;1328:4;1324:36;1321:90;1315:4;1308:104;1569:32;1552:14;1546:4;1542:25;1539:63;1533:4;1526:77;1644:4;1638;1635:1;1628:21;1616:33;-1:-1:-1;;;;;;1676:22:164;;1668:57;;;;-1:-1:-1;;;1668:57:164;;15504:2:197;1668:57:164;;;15486:21:197;15543:2;15523:18;;;15516:30;-1:-1:-1;;;15562:18:197;;;15555:52;15624:18;;1668:57:164;;;;;;;;973:759;;;:::o;636:127:197:-;697:10;692:3;688:20;685:1;678:31;728:4;725:1;718:15;752:4;749:1;742:15;768:253;840:2;834:9;882:4;870:17;;917:18;902:34;;938:22;;;899:62;896:88;;;964:18;;:::i;:::-;1000:2;993:22;768:253;:::o;1026:255::-;1098:2;1092:9;1140:6;1128:19;;1177:18;1162:34;;1198:22;;;1159:62;1156:88;;;1224:18;;:::i;1286:275::-;1357:2;1351:9;1422:2;1403:13;;-1:-1:-1;;1399:27:197;1387:40;;1457:18;1442:34;;1478:22;;;1439:62;1436:88;;;1504:18;;:::i;:::-;1540:2;1533:22;1286:275;;-1:-1:-1;1286:275:197:o;1566:531::-;1609:5;1662:3;1655:4;1647:6;1643:17;1639:27;1629:55;;1680:1;1677;1670:12;1629:55;1716:6;1703:20;1742:18;1738:2;1735:26;1732:52;;;1764:18;;:::i;:::-;1808:55;1851:2;1832:13;;-1:-1:-1;;1828:27:197;1857:4;1824:38;1808:55;:::i;:::-;1888:2;1879:7;1872:19;1934:3;1927:4;1922:2;1914:6;1910:15;1906:26;1903:35;1900:55;;;1951:1;1948;1941:12;1900:55;2016:2;2009:4;2001:6;1997:17;1990:4;1981:7;1977:18;1964:55;2064:1;2039:16;;;2057:4;2035:27;2028:38;;;;2043:7;1566:531;-1:-1:-1;;;1566:531:197:o;2102:195::-;2192:20;;-1:-1:-1;;;;;2241:31:197;;2231:42;;2221:70;;2287:1;2284;2277:12;2302:182;2370:20;;2430:28;2419:40;;2409:51;;2399:79;;2474:1;2471;2464:12;2489:163;2556:20;;2616:10;2605:22;;2595:33;;2585:61;;2642:1;2639;2632:12;2657:159;2724:20;;2784:6;2773:18;;2763:29;;2753:57;;2806:1;2803;2796:12;2821:161;2888:20;;2948:8;2937:20;;2927:31;;2917:59;;2972:1;2969;2962:12;2987:160;3052:20;;3108:13;;3101:21;3091:32;;3081:60;;3137:1;3134;3127:12;3152:167;3219:20;;3279:14;3268:26;;3258:37;;3248:65;;3309:1;3306;3299:12;3324:2384;3389:5;3419:4;3460;3448:9;3443:3;3439:19;3435:30;3432:50;;;3478:1;3475;3468:12;3432:50;3500:22;;:::i;:::-;3491:31;;3558:9;3545:23;3587:18;3628:2;3620:6;3617:14;3614:34;;;3644:1;3641;3634:12;3614:34;3682:6;3671:9;3667:22;3657:32;;3727:3;3720:4;3716:2;3712:13;3708:23;3698:51;;3745:1;3742;3735:12;3698:51;3781:2;3768:16;3803:4;3826:2;3822;3819:10;3816:36;;;3832:18;;:::i;:::-;3872:36;3904:2;3899;3896:1;3892:10;3888:19;3872:36;:::i;:::-;3942:15;;;3973:12;;;;-1:-1:-1;4004:6:197;4045:11;;;4037:20;;4033:29;;;4074:15;;;4071:35;;;4102:1;4099;4092:12;4071:35;4126:11;;;;4146:1294;4162:6;4157:3;4154:15;4146:1294;;;4238:2;4232:3;4227;4223:13;4219:22;4216:112;;;4282:1;4311:2;4307;4300:14;4216:112;4356:22;;:::i;:::-;4407:23;4426:3;4407:23;:::i;:::-;4398:7;4391:40;4469:31;4496:2;4491:3;4487:12;4469:31;:::i;:::-;4464:2;4455:7;4451:16;4444:57;4524:2;4564:31;4591:2;4586:3;4582:12;4564:31;:::i;:::-;4546:16;;;4539:57;4619:2;4659:31;4677:12;;;4659:31;:::i;:::-;4641:16;;;4634:57;4729:54;4770:12;;;4729:54;:::i;:::-;4711:16;;;4704:80;4808:3;4863:13;;;4850:27;4831:17;;;4824:54;4902:3;4944:32;4962:13;;;4944:32;:::i;:::-;4925:17;;;4918:59;5001:3;5043:30;5059:13;;;5043:30;:::i;:::-;5024:17;;;5017:57;5098:3;5140:30;5156:13;;;5140:30;:::i;:::-;5121:17;;;5114:57;5195:3;5237:30;5253:13;;;5237:30;:::i;:::-;5218:17;;;5211:57;5292:3;5334:30;5350:13;;;5334:30;:::i;:::-;5315:17;;;5308:57;5378:20;;4179:12;;;;5418;;;;4146:1294;;;-1:-1:-1;5449:20:197;;5501:37;5519:18;;;5501:37;:::i;:::-;5496:2;5489:5;5485:14;5478:61;;;;;;5571:37;5604:2;5593:9;5589:18;5571:37;:::i;:::-;5566:2;5559:5;5555:14;5548:61;5641:60;5697:2;5686:9;5682:18;5641:60;:::i;:::-;5636:2;5629:5;5625:14;5618:84;3324:2384;;;;:::o;5713:433::-;5776:5;5824:4;5812:9;5807:3;5803:19;5799:30;5796:50;;;5842:1;5839;5832:12;5796:50;5864:22;;:::i;:::-;5855:31;;5909:26;5925:9;5909:26;:::i;:::-;5902:5;5895:41;5968:35;5999:2;5988:9;5984:18;5968:35;:::i;:::-;5963:2;5956:5;5952:14;5945:59;6036:35;6067:2;6056:9;6052:18;6036:35;:::i;:::-;6031:2;6024:5;6020:14;6013:59;6104:35;6135:2;6124:9;6120:18;6104:35;:::i;6151:160::-;6236:20;;6285:1;6275:12;;6265:40;;6301:1;6298;6291:12;6316:1984;6432:6;6440;6493:2;6481:9;6472:7;6468:23;6464:32;6461:52;;;6509:1;6506;6499:12;6461:52;6545:9;6532:23;6522:33;;6606:2;6595:9;6591:18;6578:32;6629:18;6670:2;6662:6;6659:14;6656:34;;;6686:1;6683;6676:12;6656:34;6709:22;;;;6765:6;6747:16;;;6743:29;6740:49;;;6785:1;6782;6775:12;6740:49;6811:22;;:::i;:::-;6871:2;6858:16;6899:2;6889:8;6886:16;6883:36;;;6915:1;6912;6905:12;6883:36;6942:45;6979:7;6968:8;6964:2;6960:17;6942:45;:::i;:::-;6935:5;6928:60;;7034:2;7030;7026:11;7013:25;7063:2;7053:8;7050:16;7047:36;;;7079:1;7076;7069:12;7047:36;7115:45;7152:7;7141:8;7137:2;7133:17;7115:45;:::i;:::-;7110:2;7103:5;7099:14;7092:69;;7193:53;7242:2;7238;7234:11;7193:53;:::i;:::-;7188:2;7181:5;7177:14;7170:77;7293:2;7289;7285:11;7272:25;7322:2;7312:8;7309:16;7306:36;;;7338:1;7335;7328:12;7306:36;7374:45;7411:7;7400:8;7396:2;7392:17;7374:45;:::i;:::-;7369:2;7362:5;7358:14;7351:69;;7453:54;7502:3;7498:2;7494:12;7453:54;:::i;:::-;7447:3;7440:5;7436:15;7429:79;7554:3;7550:2;7546:12;7533:26;7584:2;7574:8;7571:16;7568:36;;;7600:1;7597;7590:12;7568:36;7637:45;7674:7;7663:8;7659:2;7655:17;7637:45;:::i;:::-;7631:3;7624:5;7620:15;7613:70;;7729:3;7725:2;7721:12;7708:26;7759:2;7749:8;7746:16;7743:36;;;7775:1;7772;7765:12;7743:36;7812:64;7868:7;7857:8;7853:2;7849:17;7812:64;:::i;:::-;7806:3;7799:5;7795:15;7788:89;;7910:54;7959:3;7955:2;7951:12;7910:54;:::i;:::-;7904:3;7897:5;7893:15;7886:79;7984:3;7974:13;;8019:53;8068:2;8064;8060:11;8019:53;:::i;:::-;8014:2;8007:5;8003:14;7996:77;8092:3;8082:13;;8127:56;8175:7;8170:2;8166;8162:11;8127:56;:::i;:::-;8122:2;8115:5;8111:14;8104:80;8220:49;8264:3;8260:2;8256:12;8220:49;:::i;:::-;8211:6;8204:5;8200:18;8193:77;8289:5;8279:15;;;;;6316:1984;;;;;:::o;8781:127::-;8842:10;8837:3;8833:20;8830:1;8823:31;8873:4;8870:1;8863:15;8897:4;8894:1;8887:15;8913:423;8955:3;8993:5;8987:12;9020:6;9015:3;9008:19;9045:1;9055:162;9069:6;9066:1;9063:13;9055:162;;;9131:4;9187:13;;;9183:22;;9177:29;9159:11;;;9155:20;;9148:59;9084:12;9055:162;;;9059:3;9262:1;9255:4;9246:6;9241:3;9237:16;9233:27;9226:38;9325:4;9318:2;9314:7;9309:2;9301:6;9297:15;9293:29;9288:3;9284:39;9280:50;9273:57;;;8913:423;;;;:::o;10287:3802::-;10952:4;10981:3;11011:6;11000:9;10993:25;11037:2;11075;11070;11059:9;11055:18;11048:30;11101:45;11142:2;11131:9;11127:18;11119:6;11101:45;:::i;:::-;11087:59;;11194:9;11186:6;11182:22;11177:2;11166:9;11162:18;11155:50;11228:33;11254:6;11246;11228:33;:::i;:::-;11214:47;;11280:2;11318:1;11314;11309:3;11305:11;11301:19;11368:2;11360:6;11356:15;11351:2;11340:9;11336:18;11329:43;11391:3;11443:9;11435:6;11431:22;11425:3;11414:9;11410:19;11403:51;11477:33;11503:6;11495;11477:33;:::i;:::-;11463:47;;11529:3;11581:2;11573:6;11569:15;11563:3;11552:9;11548:19;11541:44;11604:3;11594:13;;11656:9;11648:6;11644:22;11638:3;11627:9;11623:19;11616:51;11690:33;11716:6;11708;11690:33;:::i;:::-;11676:47;;11742:3;11794:9;11786:6;11782:22;11776:3;11765:9;11761:19;11754:51;11840:3;11832:6;11828:16;11879:6;11873:13;11910:3;11902:6;11895:19;11934:6;11969:12;11963:19;12006:6;11998;11991:22;12041:3;12033:6;12029:16;12022:23;;12086:2;12072:12;12068:21;12054:35;;12107:1;12098:10;;12117:1407;12131:6;12128:1;12125:13;12117:1407;;;12190:13;;12235:9;;9418:28;9407:40;9395:53;;12291:11;;;12285:18;9535:10;9524:22;;12350:12;;;9512:35;12316:47;12412:2;12408;12404:11;12398:18;12429:47;12472:2;12467:3;12463:12;12447:14;9535:10;9524:22;9512:35;;9459:94;12429:47;-1:-1:-1;12517:11:197;;;12511:18;9634:6;9623:18;12576:12;;;9611:31;12630:11;;;12624:18;-1:-1:-1;;;;;111:31:197;12721:12;;;99:44;12774:11;;;12768:18;12754:12;;;12747:40;12828:11;;;12822:18;9729:8;9718:20;12887:12;;;9706:33;12941:11;;;12935:18;9820:13;9813:21;12998:12;;;9801:34;13035:6;13082:12;;;13076:19;9820:13;9813:21;13140:13;;;9801:34;13178:6;13225:12;;;13219:19;9820:13;9813:21;13283:13;;;9801:34;13321:6;13368:12;;;13362:19;9820:13;9813:21;13426:13;;;9801:34;13499:15;;;;12153:1;12146:9;;;;;13469:6;13460:16;;;;12117:1407;;;-1:-1:-1;13562:15:197;;;13556:22;9922:14;9911:26;;13622:15;;;9899:39;13556:22;-1:-1:-1;13688:2:197;13680:6;13676:15;13670:22;13647:45;;13701:51;13748:2;13740:6;13736:15;13719;9922:14;9911:26;9899:39;;9846:98;13701:51;13802:2;13794:6;13790:15;13784:22;13761:45;;13815:83;13894:2;13886:6;13882:15;13865;-1:-1:-1;;;;;111:31:197;99:44;;14:135;13815:83;-1:-1:-1;;;;;111:31:197;;14000:6;13985:22;;99:44;13915:3;-1:-1:-1;13927:81:197;;-1:-1:-1;;;;;;;;;14:135:197;13927:81;10045:12;;10038:20;10031:28;14075:6;14060:22;;10019:41;10123:4;10112:16;;10106:23;10099:31;10092:39;10076:14;;;10069:63;10195:4;10184:16;;10178:23;10171:31;10164:39;10148:14;;;10141:63;10267:4;10256:16;;10250:23;10243:31;10236:39;10220:14;;;10213:63;10287:3802;;;;;;;;;;;;;:::o;14302:232::-;14341:3;14362:17;;;14359:140;;14421:10;14416:3;14412:20;14409:1;14402:31;14456:4;14453:1;14446:15;14484:4;14481:1;14474:15;14359:140;-1:-1:-1;14526:1:197;14515:13;;14302:232::o;14818:479::-;-1:-1:-1;;;;;15062:32:197;;15044:51;;15032:2;15017:18;;15125:1;15114:13;;15104:144;;15170:10;15165:3;15161:20;15158:1;15151:31;15205:4;15202:1;15195:15;15233:4;15230:1;15223:15;15104:144;15284:6;15279:2;15268:9;15264:18;15257:34;14818:479;;;;;:::o","linkReferences":{},"immutableReferences":{"1516":[{"start":86,"length":32},{"start":359,"length":32}],"1520":[{"start":153,"length":32},{"start":281,"length":32}],"1524":[{"start":211,"length":32},{"start":661,"length":32}]}},"methodIdentifiers":{"delegatesRegistry()":"d574ff04","deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":"70d7f249","noGovernance()":"38b6bcf4","onchainGovernance()":"03f3ddbf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract JBTiered721GovernanceDelegate\",\"name\":\"_onchainGovernance\",\"type\":\"address\"},{\"internalType\":\"contract JBTiered721Delegate\",\"name\":\"_noGovernance\",\"type\":\"address\"},{\"internalType\":\"contract IJBDelegatesRegistry\",\"name\":\"_delegatesRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"INVALID_GOVERNANCE_TYPE\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"name\":\"DelegateDeployed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"delegatesRegistry\",\"outputs\":[{\"internalType\":\"contract IJBDelegatesRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"}],\"name\":\"deployDelegateFor\",\"outputs\":[{\"internalType\":\"contract IJBTiered721Delegate\",\"name\":\"newDelegate\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"noGovernance\",\"outputs\":[{\"internalType\":\"contract JBTiered721Delegate\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"onchainGovernance\",\"outputs\":[{\"internalType\":\"contract JBTiered721GovernanceDelegate\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_delegatesRegistry\":\"A contract that stores references to delegate deployer contracts.\",\"_noGovernance\":\"Reference copy of a simpler delegate without on-chain governance.\",\"_onchainGovernance\":\"Reference copy of the delegate that works with onchain governance.\"}},\"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))\":{\"params\":{\"_deployTiered721DelegateData\":\"Structure containing data necessary for delegate deployment.\",\"_projectId\":\"The ID of the project for which the delegate will be deployed.\"},\"returns\":{\"newDelegate\":\"The address of the newly deployed delegate.\"}}},\"title\":\"JBTiered721DelegateDeployer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"delegatesRegistry()\":{\"notice\":\"A contract that stores references to deployer contracts of delegates.\"},\"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))\":{\"notice\":\"Deploys a delegate for the provided project.\"},\"noGovernance()\":{\"notice\":\"A contract with no on-chain governance mechanism.\"},\"onchainGovernance()\":{\"notice\":\"A contract that supports on-chain governance across all tiers.\"}},\"notice\":\"Deploys a JBTiered721Delegate.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateDeployer.sol\":\"JBTiered721DelegateDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721Delegate.sol\":{\"keccak256\":\"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441\",\"dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P\"]},\"contracts/JBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834\",\"dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82\"]},\"contracts/JBTiered721GovernanceDelegate.sol\":{\"keccak256\":\"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f\",\"dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4\"]},\"contracts/abstract/ERC721.sol\":{\"keccak256\":\"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad\",\"dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ\"]},\"contracts/abstract/JB721Delegate.sol\":{\"keccak256\":\"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4\",\"dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf\"]},\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JB721Operations.sol\":{\"keccak256\":\"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569\",\"dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno\"]},\"contracts/libraries/JBIpfsDecoder.sol\":{\"keccak256\":\"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd\",\"dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz\"]},\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol\":{\"keccak256\":\"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71\",\"dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz\"]},\"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol\":{\"keccak256\":\"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b\",\"dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa\"]},\"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol\":{\"keccak256\":\"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979\",\"dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357\",\"dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol\":{\"keccak256\":\"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890\",\"dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb\",\"dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract JBTiered721GovernanceDelegate","name":"_onchainGovernance","type":"address"},{"internalType":"contract JBTiered721Delegate","name":"_noGovernance","type":"address"},{"internalType":"contract IJBDelegatesRegistry","name":"_delegatesRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"INVALID_GOVERNANCE_TYPE"},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address","indexed":false},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8","indexed":false}],"type":"event","name":"DelegateDeployed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"delegatesRegistry","outputs":[{"internalType":"contract IJBDelegatesRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]}],"stateMutability":"nonpayable","type":"function","name":"deployDelegateFor","outputs":[{"internalType":"contract IJBTiered721Delegate","name":"newDelegate","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"noGovernance","outputs":[{"internalType":"contract JBTiered721Delegate","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"onchainGovernance","outputs":[{"internalType":"contract JBTiered721GovernanceDelegate","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_delegatesRegistry":"A contract that stores references to delegate deployer contracts.","_noGovernance":"Reference copy of a simpler delegate without on-chain governance.","_onchainGovernance":"Reference copy of the delegate that works with onchain governance."}},"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":{"params":{"_deployTiered721DelegateData":"Structure containing data necessary for delegate deployment.","_projectId":"The ID of the project for which the delegate will be deployed."},"returns":{"newDelegate":"The address of the newly deployed delegate."}}},"version":1},"userdoc":{"kind":"user","methods":{"delegatesRegistry()":{"notice":"A contract that stores references to deployer contracts of delegates."},"deployDelegateFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8))":{"notice":"Deploys a delegate for the provided project."},"noGovernance()":{"notice":"A contract with no on-chain governance mechanism."},"onchainGovernance()":{"notice":"A contract that supports on-chain governance across all tiers."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateDeployer.sol":"JBTiered721DelegateDeployer"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721Delegate.sol":{"keccak256":"0x985bacbfa262cd4e7cf9bb1331918ef4e7148edf725c7506b9587797f86abe79","urls":["bzz-raw://41bcda47f7c9b6aff5911980674324b4ab9fa67fd42c4b89cc879df105fa6441","dweb:/ipfs/QmZbUJebDc8WiPCwXbkfzZPGiMYDQXgDkJ7Sq3yJyB3F9P"],"license":"MIT"},"contracts/JBTiered721DelegateDeployer.sol":{"keccak256":"0x1feac1ee909b1c680760c5fc8f074b6418c25ab671f9e11a56004ae45a869adc","urls":["bzz-raw://9e1b03bbdfc2e5905335852b060e838ac8f7ee33f436a8587d53381c25b76834","dweb:/ipfs/QmcvYakpMGCQwkcE62cvA5DwaRXWrLtWKEDiPAMgJ7mT82"],"license":"MIT"},"contracts/JBTiered721GovernanceDelegate.sol":{"keccak256":"0x2615065a376f5ecb3f3ec49b7e47867bfd44ecbdb00808a5224e530f85cf54c4","urls":["bzz-raw://bde4906b88c778a3cffa9c3864e281b58e05a66f67d7dd66788045729a01fd0f","dweb:/ipfs/QmWEeDmCxWNJtqvFgwQz2n83VkY2WvaqnFwCnRysgy7jh4"],"license":"MIT"},"contracts/abstract/ERC721.sol":{"keccak256":"0x4e0003024be0a0c08a473c5f5256254316a46f116fb8ad1942af9c5b09958e2c","urls":["bzz-raw://7eac1d42ae9b9f6a5a5554eb8db09bcb7e5d9d7172896f78d0bdaede073d42ad","dweb:/ipfs/Qma5EUQXK1V5ETkdUaJxZD6WM9CCNJFMcUG72gBdtSfMyJ"],"license":"MIT"},"contracts/abstract/JB721Delegate.sol":{"keccak256":"0xf19b951b3b78e23b760855a606f6ce658dc43885245bbd1996eeafd3ef2c9809","urls":["bzz-raw://30359573f838e5edcd1abf878dcd21a06189eb5ef7b132178e2d8a3f1e6c45e4","dweb:/ipfs/QmczsRPCVREJ7DmkepaNa3m6PSoNtiLxW3XQ7ejkLUFkzf"],"license":"MIT"},"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JB721Operations.sol":{"keccak256":"0x375b0cdb95ed8e9b7c36aff9b87e96528458b5926ed7943cfd10b6655ab4fd98","urls":["bzz-raw://551aaaddac92d0dfd172083ce2db30b78c03d6e193973e419d75aa9294430569","dweb:/ipfs/QmetKCpMcPc6vJKxKHw6z7RtqgVEuvowmgoTjrMSYHDqno"],"license":"MIT"},"contracts/libraries/JBIpfsDecoder.sol":{"keccak256":"0x86b3aec051b3d801a5b7b25f43595dad233c4ff8807082f55fe52858307cc26d","urls":["bzz-raw://10b1c043a06caa5adc8d2371457a74719b2f4afe12edc4db02c5135a86ad4ebd","dweb:/ipfs/QmYY2s2884vSUuNagDF8zRFMZaEHzhY7Ag1nVXgEWup7Jz"],"license":"MIT"},"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataConstants.sol":{"keccak256":"0xa68a74890feb88d43636b06d6db544ba3daf8770bb3c584bf1f7b164096b5ba5","urls":["bzz-raw://9c0edfc58e22b88741e32b7a2fbe44eb58a078f4ac8190727a3e225f26b4ca71","dweb:/ipfs/QmSXmor7xSKQr69nG1YZRYww4uaz3ZYAZ5ryZ5aCEDgUEz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegate-metadata-lib/src/JBDelegateMetadataLib.sol":{"keccak256":"0x454dfaaf68748622a5fbc9ef5c3b0643c2cac83d19ebe5e3b5bddbbbc2e29cd3","urls":["bzz-raw://c488c66bf3b09e2bec2429bc84861d2aeac749c7e7c65d1df4b6845289c4519b","dweb:/ipfs/QmebiZeuAnSUMDfi3KiNNnk4zqsUmCXA8BzFMMtL5anUCa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-delegates-registry/src/interfaces/IJBDelegatesRegistry.sol":{"keccak256":"0x5559fcd3983e7572b15d9a00d15c031aad22078f349760729893664bc2013c4c","urls":["bzz-raw://fde585c6320af838560bfa4a6ecfd6c742859c73dac4a35dde3cd68a55121979","dweb:/ipfs/QmSq7owwxRXBq4nghTwhMRJ6pPkxMXpsVHCCCeAWVf6cXw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663","urls":["bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357","dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol":{"keccak256":"0x3976825a61df20457730b79ad0ac9c8908e3c7978ed9bf090c67137c91256b5c","urls":["bzz-raw://0f3fe369b6d0e101844b425f1d08e35bf512962d0590b1f80decb8130c9a6890","dweb:/ipfs/QmXCan6wX4qwJkdR1VvsYLeq8JTB2YxRHLucpuXpsKAvzQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/Clones.sol":{"keccak256":"0x01f055f5c26ba25d7f83e9aa9ba877fbea4d0bf22227de046ea67494bc932999","urls":["bzz-raw://e1306add0c9388918d04c45f6acae3551f019ebf8a77e6cc1c0958316ce1c1eb","dweb:/ipfs/QmR4KHkcfP65RfZtH8TcC7rSdCoWk2Dnog6fhzzjLad8Aa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"}},"version":1},"id":1} \ No newline at end of file diff --git a/out/JBTiered721DelegateProjectDeployer.sol/JBTiered721DelegateProjectDeployer.json b/out/JBTiered721DelegateProjectDeployer.sol/JBTiered721DelegateProjectDeployer.json index 59f21d40..617cfd1c 100644 --- a/out/JBTiered721DelegateProjectDeployer.sol/JBTiered721DelegateProjectDeployer.json +++ b/out/JBTiered721DelegateProjectDeployer.sol/JBTiered721DelegateProjectDeployer.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_delegateDeployer","type":"address","internalType":"contract IJBTiered721DelegateDeployer"},{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegateDeployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateDeployer"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_launchFundingCyclesData","type":"tuple","internalType":"struct JBLaunchFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_launchProjectData","type":"tuple","internalType":"struct JBLaunchProjectData","components":[{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_reconfigureFundingCyclesData","type":"tuple","internalType":"struct JBReconfigureFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033","sourceMap":"1549:14511:2:-:0;;;2607:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;;2794:22:2;;::::1;;::::0;2826:36:::1;;::::0;1549:14511;;14:145:197;-1:-1:-1;;;;;103:31:197;;93:42;;83:70;;149:1;146;139:12;83:70;14:145;:::o;164:647::-;338:6;346;354;407:2;395:9;386:7;382:23;378:32;375:52;;;423:1;420;413:12;375:52;455:9;449:16;474:45;513:5;474:45;:::i;:::-;588:2;573:18;;567:25;538:5;;-1:-1:-1;601:47:197;567:25;601:47;:::i;:::-;719:2;704:18;;698:25;667:7;;-1:-1:-1;732:47:197;698:25;732:47;:::i;:::-;798:7;788:17;;;164:647;;;;;:::o;:::-;1549:14511:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212206d27c660bb45c4bef28ff887cac5b6438cf651deb0940856cac7dc3ceb453dbb64736f6c63430008170033","sourceMap":"1549:14511:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3624:859;;;;;;:::i;:::-;;:::i;:::-;;;19925:25:197;;;19913:2;19898:18;3624:859:2;;;;;;;;5120:895;;;;;;:::i;:::-;;:::i;2084:71::-;;;;;;;;-1:-1:-1;;;;;22256:32:197;;;22238:51;;22226:2;22211:18;2084:71:2;22054:241:197;6654:923:2;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;1960:48:2;;;;;3624:859;3875:17;4017:9;-1:-1:-1;;;;;4017:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4017:26:2;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;4048:1;4017:32;:::i;:::-;4005:44;;4101:30;4146:16;-1:-1:-1;;;;;4146:34:2;;4181:9;4192:28;4146:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4101:120;;4263:69;4281:6;4289:18;4309:9;4320:11;4263:17;:69::i;:::-;4409:67;;-1:-1:-1;;;4409:67:2;;;;;19925:25:197;;;-1:-1:-1;;;;;4409:56:2;;;;;19898:18:197;;4409:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:589;3624:859;;;;;;:::o;5120:895::-;5523:21;5426:9;-1:-1:-1;;;;;5426:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5426:28:2;;5455:10;5426:40;;;;;;;;;;;;;19925:25:197;;19913:2;19898:18;;19779:177;5426:40:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5468:10;120:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;5646:76:2::1;::::0;-1:-1:-1;;;5646:76:2;;5601:30:::1;::::0;-1:-1:-1;;;;;5646:16:2::1;:34;::::0;::::1;::::0;:76:::1;::::0;5681:10;;5693:28;;5646:76:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5799:68;::::0;-1:-1:-1;;;5799:68:2;;::::1;::::0;::::1;19925:25:197::0;;;5601:121:2;;-1:-1:-1;;;;;;5799:56:2;::::1;::::0;::::1;::::0;19898:18:197;;5799:68:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5923:85;5947:10;5959:24;5985:9;5996:11;5923:23;:85::i;:::-;5916:92:::0;5120:895;-1:-1:-1;;;;;;;;;5120:895:2:o;6654:923::-;7071:21;6974:9;-1:-1:-1;;;;;6974:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6974:28:2;;7003:10;6974:40;;;;;;;;;;;;;19925:25:197;;19913:2;19898:18;;19779:177;6974:40:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7016:10;120:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;7194:76:2::1;::::0;-1:-1:-1;;;7194:76:2;;7149:30:::1;::::0;-1:-1:-1;;;;;7194:16:2::1;:34;::::0;::::1;::::0;:76:::1;::::0;7229:10;;7241:28;;7194:76:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7347:68;::::0;-1:-1:-1;;;7347:68:2;;::::1;::::0;::::1;19925:25:197::0;;;7149:121:2;;-1:-1:-1;;;;;;7347:56:2;::::1;::::0;::::1;::::0;19898:18:197;;7347:68:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7476:94;7504:10;7516:29;7547:9;7558:11;7476:27;:94::i;8154:2188::-:0;8427:34;;8475:23;;;;;8512:1583;;;;;;;;8561:27;;;;;:34;8512:1583;;8627:27;;:40;;;8512:1583;;;;;;;8701:27;;:42;;;8512:1583;;;;8783:27;;8512:1583;8783:48;;;;8512:1583;;;;8859:27;;8512:1583;8859:36;;;;8512:1583;;;;;;8933:27;;8512:1583;8933:46;;;;8512:1583;;;;;;9010:27;;8512:1583;9010:39;;;;8512:1583;;;;;;9078:27;;8512:1583;9078:37;;;;8512:1583;;;;;;9147:27;;8512:1583;9147:40;;;;8512:1583;;;;;;9229:27;;8512:1583;9229:50;;;;8512:1583;;;;;;9323:27;;8512:1583;9323:52;;;;8512:1583;;;;;;9403:27;;8512:1583;9403:36;;;;8512:1583;;;;;;9485:27;;8512:1583;9485:54;;;;8512:1583;;;;;;9589:27;;8512:1583;9589:58;;;;8512:1583;;;;;;9766:4;8512:1583;;;;;;;;9812:27;;:50;;8512:1583;;;;;;;;;;-1:-1:-1;;;;;8512:1583:2;;;;;;;10044:27;;:36;;8512:1583;;;;10109:37;;;;10160:32;;;;10206:40;;;;10260:28;;;;10302:23;;;;8365:1970;;-1:-1:-1;;;8365:1970:2;;:28;;;;;;:1970;;8407:6;;8427:34;;8475:23;;8512:1583;;10109:37;10160:32;10206:40;10260:28;;8365:1970;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8154:2188;;;;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;40236:34:197;-1:-1:-1;;;;;40306:15:197;;;40286:18;;;40279:43;40338:18;;;40331:34;;;40381:18;;;40374:34;;;3390:13:81;:27;;;;40170:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;40236:34:197;-1:-1:-1;;;;;40306:15:197;;;40286:18;;;40279:43;3527:1:81;40338:18:197;;;40331:34;40381:18;;;40374:34;;;3477:13:81;:27;;;;40170:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;10834:2314:2:-;11066:7;11092:11;-1:-1:-1;;;;;11092:34:2;;11140:10;11164:24;:29;;;11207:1664;;;;;;;;11256:24;:33;;;:40;;;11207:1664;;;;11328:24;:33;;;:46;;;11207:1664;;;;11408:24;:33;;;:48;;;11207:1664;;;;11496:24;:33;;;:54;;;11207:1664;;;;11578:24;:33;;;:42;;;11207:1664;;;;;;11658:24;:33;;;:52;;;11207:1664;;;;;;11741:24;:33;;;:45;;;11207:1664;;;;;;11815:24;:33;;;:43;;;11207:1664;;;;;;11890:24;:33;;;:46;;;11207:1664;;;;;;11978:24;:33;;;:56;;;11207:1664;;;;;;12078:24;:33;;;:58;;;11207:1664;;;;;;12164:24;:33;;;:42;;;11207:1664;;;;;;12252:24;:33;;;:60;;;11207:1664;;;;;;12362:24;:33;;;:64;;;11207:1664;;;;;;12545:4;11207:1664;;;;;;12591:24;:33;;;:56;;;11207:1664;;;;;;12774:11;-1:-1:-1;;;;;11207:1664:2;;;;;12814:24;:33;;;:42;;;11207:1664;;;12885:24;:43;;;12942:24;:38;;;12994:24;:46;;;13054:24;:34;;;13102:24;:29;;;11092:2049;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11085:2056;10834:2314;-1:-1:-1;;;;;10834:2314:2:o;13669:2389::-;13915:7;13941:11;-1:-1:-1;;;;;13941:38:2;;13993:10;14017:29;:34;;;14065:1744;;;;;;;;14114:29;:38;;;:45;;;14065:1744;;;;14191:29;:38;;;:51;;;14065:1744;;;;14276:29;:38;;;:53;;;14065:1744;;;;14369:29;:38;;;:59;;;14065:1744;;;;14456:29;:38;;;:47;;;14065:1744;;;;;;14541:29;:38;;;:57;;;14065:1744;;;;;;14629:29;:38;;;:50;;;14065:1744;;;;;;14708:29;:38;;;:48;;;14065:1744;;;;;;14788:29;:38;;;:51;;;14065:1744;;;;;;14881:29;:38;;;:61;;;14065:1744;;;;;;14986:29;:38;;;:63;;;14065:1744;;;;;;15077:29;:38;;;:47;;;14065:1744;;;;;;15170:29;:38;;;:65;;;14065:1744;;;;;;15285:29;:38;;;:69;;;14065:1744;;;;;;15473:4;14065:1744;;;;;;15519:29;:38;;;:61;;;14065:1744;;;;;;15707:11;-1:-1:-1;;;;;14065:1744:2;;;;;15747:29;:38;;;:47;;;14065:1744;;;15823:29;:48;;;15885:29;:43;;;15942:29;:51;;;16007:29;:34;;;13941:2110;;;;;;;;;;;;;;;;;;;;;:::i;14:131:197:-;-1:-1:-1;;;;;89:31:197;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:134::-;218:20;;247:31;218:20;247:31;:::i;:::-;150:134;;;:::o;289:127::-;350:10;345:3;341:20;338:1;331:31;381:4;378:1;371:15;405:4;402:1;395:15;421:253;493:2;487:9;535:4;523:17;;-1:-1:-1;;;;;555:34:197;;591:22;;;552:62;549:88;;;617:18;;:::i;:::-;653:2;646:22;421:253;:::o;679:255::-;751:2;745:9;793:6;781:19;;-1:-1:-1;;;;;815:34:197;;851:22;;;812:62;809:88;;;877:18;;:::i;939:257::-;1011:4;1005:11;;;1043:17;;-1:-1:-1;;;;;1075:34:197;;1111:22;;;1072:62;1069:88;;;1137:18;;:::i;1201:255::-;1273:2;1267:9;1315:6;1303:19;;-1:-1:-1;;;;;1337:34:197;;1373:22;;;1334:62;1331:88;;;1399:18;;:::i;1461:253::-;1533:2;1527:9;1575:4;1563:17;;-1:-1:-1;;;;;1595:34:197;;1631:22;;;1592:62;1589:88;;;1657:18;;:::i;1719:253::-;1791:2;1785:9;1833:4;1821:17;;-1:-1:-1;;;;;1853:34:197;;1889:22;;;1850:62;1847:88;;;1915:18;;:::i;1977:255::-;2049:2;2043:9;2091:6;2079:19;;-1:-1:-1;;;;;2113:34:197;;2149:22;;;2110:62;2107:88;;;2175:18;;:::i;2237:275::-;2308:2;2302:9;2373:2;2354:13;;-1:-1:-1;;2350:27:197;2338:40;;-1:-1:-1;;;;;2393:34:197;;2429:22;;;2390:62;2387:88;;;2455:18;;:::i;:::-;2491:2;2484:22;2237:275;;-1:-1:-1;2237:275:197:o;2517:531::-;2560:5;2613:3;2606:4;2598:6;2594:17;2590:27;2580:55;;2631:1;2628;2621:12;2580:55;2667:6;2654:20;-1:-1:-1;;;;;2689:2:197;2686:26;2683:52;;;2715:18;;:::i;:::-;2759:55;2802:2;2783:13;;-1:-1:-1;;2779:27:197;2808:4;2775:38;2759:55;:::i;:::-;2839:2;2830:7;2823:19;2885:3;2878:4;2873:2;2865:6;2861:15;2857:26;2854:35;2851:55;;;2902:1;2899;2892:12;2851:55;2967:2;2960:4;2952:6;2948:17;2941:4;2932:7;2928:18;2915:55;3015:1;2990:16;;;3008:4;2986:27;2979:38;;;;2994:7;2517:531;-1:-1:-1;;;2517:531:197:o;3053:198::-;3128:4;-1:-1:-1;;;;;3153:6:197;3150:30;3147:56;;;3183:18;;:::i;:::-;-1:-1:-1;3228:1:197;3224:14;3240:4;3220:25;;3053:198::o;3256:182::-;3324:20;;3384:28;3373:40;;3363:51;;3353:79;;3428:1;3425;3418:12;3443:163;3510:20;;3570:10;3559:22;;3549:33;;3539:61;;3596:1;3593;3586:12;3611:159;3678:20;;3738:6;3727:18;;3717:29;;3707:57;;3760:1;3757;3750:12;3775:161;3842:20;;3902:8;3891:20;;3881:31;;3871:59;;3926:1;3923;3916:12;3941:118;4027:5;4020:13;4013:21;4006:5;4003:32;3993:60;;4049:1;4046;4039:12;4064:128;4129:20;;4158:28;4129:20;4158:28;:::i;4197:167::-;4264:20;;4324:14;4313:26;;4303:37;;4293:65;;4354:1;4351;4344:12;4369:2310;4434:5;4464:4;4505;4493:9;4488:3;4484:19;4480:30;4477:50;;;4523:1;4520;4513:12;4477:50;4545:22;;:::i;:::-;4536:31;;4603:9;4590:23;-1:-1:-1;;;;;4628:6:197;4625:30;4622:50;;;4668:1;4665;4658:12;4622:50;4691:22;;4744:4;4736:13;;4732:23;-1:-1:-1;4722:51:197;;4769:1;4766;4759:12;4722:51;4805:2;4792:16;4827:4;4851:75;4867:58;4922:2;4867:58;:::i;:::-;4851:75;:::i;:::-;4960:15;;;5022:6;5063:11;;;5055:20;;5051:29;;;4991:12;;;;4948:3;5092:15;;;5089:35;;;5120:1;5117;5110:12;5089:35;5144:11;;;;5164:1269;5180:6;5175:3;5172:15;5164:1269;;;5256:2;5250:3;5245;5241:13;5237:22;5234:112;;;5300:1;5329:2;5325;5318:14;5234:112;5374:22;;:::i;:::-;5425:23;5444:3;5425:23;:::i;:::-;5416:7;5409:40;5487:31;5514:2;5509:3;5505:12;5487:31;:::i;:::-;5482:2;5473:7;5469:16;5462:57;5542:2;5582:31;5609:2;5604:3;5600:12;5582:31;:::i;:::-;5564:16;;;5557:57;5637:2;5677:31;5695:12;;;5677:31;:::i;:::-;5659:16;;;5652:57;5747:32;5766:12;;;5747:32;:::i;:::-;5729:16;;;5722:58;5803:3;5857:12;;;5844:26;5826:16;;;5819:52;5895:3;5937:32;5955:13;;;5937:32;:::i;:::-;5918:17;;;5911:59;5994:3;6036:30;6052:13;;;6036:30;:::i;:::-;6017:17;;;6010:57;6091:3;6133:30;6149:13;;;6133:30;:::i;:::-;6114:17;;;6107:57;6188:3;6230:30;6246:13;;;6230:30;:::i;:::-;6211:17;;;6204:57;6285:3;6327:30;6343:13;;;6327:30;:::i;:::-;6308:17;;;6301:57;6371:20;;5197:12;;;;6411;;;;5164:1269;;;-1:-1:-1;6442:20:197;;-1:-1:-1;6494:37:197;6512:18;;;6494:37;:::i;:::-;6489:2;6482:5;6478:14;6471:61;;;;;6564:37;6597:2;6586:9;6582:18;6564:37;:::i;:::-;6559:2;6552:5;6548:14;6541:61;6634:38;6668:2;6657:9;6653:18;6634:38;:::i;:::-;6629:2;6622:5;6618:14;6611:62;4369:2310;;;;:::o;6684:701::-;6747:5;6795:4;6783:9;6778:3;6774:19;6770:30;6767:50;;;6813:1;6810;6803:12;6767:50;6835:22;;:::i;:::-;6826:31;;6894:9;6881:23;6913:30;6935:7;6913:30;:::i;:::-;6952:22;;7026:2;7011:18;;6998:32;7039:30;6998:32;7039:30;:::i;:::-;7096:2;7085:14;;7078:31;7161:2;7146:18;;7133:32;7174:30;7133:32;7174:30;:::i;:::-;7231:2;7220:14;;7213:31;7296:2;7281:18;;7268:32;7309:30;7268:32;7309:30;:::i;7390:160::-;7475:20;;7524:1;7514:12;;7504:40;;7540:1;7537;7530:12;7555:1662;7631:5;7679:6;7667:9;7662:3;7658:19;7654:32;7651:52;;;7699:1;7696;7689:12;7651:52;7721:22;;:::i;:::-;7712:31;;7779:9;7766:23;-1:-1:-1;;;;;7849:2:197;7841:6;7838:14;7835:34;;;7865:1;7862;7855:12;7835:34;7892:46;7934:3;7925:6;7914:9;7910:22;7892:46;:::i;:::-;7885:5;7878:61;7992:2;7981:9;7977:18;7964:32;7948:48;;8021:2;8011:8;8008:16;8005:36;;;8037:1;8034;8027:12;8005:36;8073:48;8117:3;8106:8;8095:9;8091:24;8073:48;:::i;:::-;8068:2;8061:5;8057:14;8050:72;8154:38;8188:2;8177:9;8173:18;8154:38;:::i;:::-;8149:2;8142:5;8138:14;8131:62;8246:2;8235:9;8231:18;8218:32;8202:48;;8275:2;8265:8;8262:16;8259:36;;;8291:1;8288;8281:12;8259:36;8327:48;8371:3;8360:8;8349:9;8345:24;8327:48;:::i;:::-;8322:2;8315:5;8311:14;8304:72;8409:39;8443:3;8432:9;8428:19;8409:39;:::i;:::-;8403:3;8396:5;8392:15;8385:64;8502:3;8491:9;8487:19;8474:33;8458:49;;8532:2;8522:8;8519:16;8516:36;;;8548:1;8545;8538:12;8516:36;8585:48;8629:3;8618:8;8607:9;8603:24;8585:48;:::i;:::-;8579:3;8572:5;8568:15;8561:73;8687:3;8676:9;8672:19;8659:33;8643:49;;8717:2;8707:8;8704:16;8701:36;;;8733:1;8730;8723:12;8701:36;;8770:67;8833:3;8822:8;8811:9;8807:24;8770:67;:::i;:::-;8764:3;8757:5;8753:15;8746:92;;8871:39;8905:3;8894:9;8890:19;8871:39;:::i;:::-;8865:3;8858:5;8854:15;8847:64;8930:3;8965:38;8999:2;8988:9;8984:18;8965:38;:::i;:::-;8949:14;;;8942:62;9023:3;9058:59;9113:3;9093:18;;;9058:59;:::i;:::-;9042:14;;;9035:83;9154:56;9205:3;9190:19;;9154:56;:::i;:::-;9145:6;9138:5;9134:18;9127:84;7555:1662;;;;:::o;9222:420::-;9286:5;9334:4;9322:9;9317:3;9313:19;9309:30;9306:50;;;9352:1;9349;9342:12;9306:50;9374:22;;:::i;:::-;9365:31;;9432:9;9419:23;-1:-1:-1;;;;;9457:6:197;9454:30;9451:50;;;9497:1;9494;9487:12;9451:50;9524:46;9566:3;9557:6;9546:9;9542:22;9524:46;:::i;:::-;9517:5;9510:61;;9631:2;9620:9;9616:18;9603:32;9598:2;9591:5;9587:14;9580:56;9222:420;;;;:::o;9647:496::-;9712:5;9760:4;9748:9;9743:3;9739:19;9735:30;9732:50;;;9778:1;9775;9768:12;9732:50;9800:22;;:::i;:::-;9791:31;;9858:9;9845:23;9838:5;9831:38;9929:2;9918:9;9914:18;9901:32;9896:2;9889:5;9885:14;9878:56;9994:2;9983:9;9979:18;9966:32;9961:2;9954:5;9950:14;9943:56;10051:2;10040:9;10036:18;10023:32;10064:33;10089:7;10064:33;:::i;10148:769::-;10223:5;10271:4;10259:9;10254:3;10250:19;10246:30;10243:50;;;10289:1;10286;10279:12;10243:50;10322:2;10316:9;10364:4;10356:6;10352:17;10435:6;10423:10;10420:22;-1:-1:-1;;;;;10387:10:197;10384:34;10381:62;10378:88;;;10446:18;;:::i;:::-;10482:2;10475:22;10515:6;-1:-1:-1;10515:6:197;10545:23;;10577:30;10545:23;10577:30;:::i;:::-;10616:23;;10691:2;10676:18;;10663:32;10704:30;10663:32;10704:30;:::i;:::-;10762:2;10750:15;;10743:32;10827:2;10812:18;;10799:32;10840:30;10799:32;10840:30;:::i;:::-;10898:2;10886:15;;;;10879:32;10148:769;;-1:-1:-1;;10148:769:197:o;10922:1487::-;11004:5;11052:6;11040:9;11035:3;11031:19;11027:32;11024:52;;;11072:1;11069;11062:12;11024:52;11094:22;;:::i;:::-;11085:31;;11139:62;11197:3;11186:9;11139:62;:::i;:::-;11132:5;11125:77;11264:2;11253:9;11249:18;11236:32;11229:4;11222:5;11218:16;11211:58;11331:3;11320:9;11316:19;11303:33;11296:4;11289:5;11285:16;11278:59;11397:3;11386:9;11382:19;11369:33;11364:2;11357:5;11353:14;11346:57;11436:36;11467:3;11456:9;11452:19;11436:36;:::i;:::-;11430:3;11423:5;11419:15;11412:61;11506:36;11537:3;11526:9;11522:19;11506:36;:::i;:::-;11500:3;11493:5;11489:15;11482:61;11562:3;11598:35;11629:2;11618:9;11614:18;11598:35;:::i;:::-;11592:3;11585:5;11581:15;11574:60;11653:3;11689:35;11720:2;11709:9;11705:18;11689:35;:::i;:::-;11683:3;11676:5;11672:15;11665:60;11744:3;11779:35;11810:2;11799:9;11795:18;11779:35;:::i;:::-;11774:2;11767:5;11763:14;11756:59;11834:3;11824:13;;11869:35;11900:2;11889:9;11885:18;11869:35;:::i;:::-;11864:2;11857:5;11853:14;11846:59;11924:3;11914:13;;11959:35;11990:2;11979:9;11975:18;11959:35;:::i;:::-;11943:14;;;11936:59;12014:3;12049:35;12065:18;;;12049:35;:::i;:::-;12044:2;12037:5;12033:14;12026:59;12104:3;12094:13;;12139:35;12170:2;12159:9;12155:18;12139:35;:::i;:::-;12134:2;12127:5;12123:14;12116:59;12194:3;12184:13;;12229:35;12260:2;12249:9;12245:18;12229:35;:::i;:::-;12213:14;;;12206:59;12297:39;12328:6;12313:22;;12297:39;:::i;:::-;12292:2;12285:5;12281:14;12274:63;12397:3;12386:9;12382:19;12369:33;12364:2;12357:5;12353:14;12346:57;;;10922:1487;;;;:::o;12414:2834::-;12483:5;12536:3;12529:4;12521:6;12517:17;12513:27;12503:55;;12554:1;12551;12544:12;12503:55;12590:6;12577:20;12616:4;12640:75;12656:58;12711:2;12656:58;:::i;12640:75::-;12749:15;;;12835:1;12831:10;;;;12819:23;;12815:32;;;12780:12;;;;12859:15;;;12856:35;;;12887:1;12884;12877:12;12856:35;12923:2;12915:6;12911:15;12935:2284;12951:6;12946:3;12943:15;12935:2284;;;13037:3;13024:17;-1:-1:-1;;;;;13114:2:197;13101:11;13098:19;13095:39;;;13130:1;13127;13120:12;13095:39;13157:24;;;;13204:4;13232:12;;;-1:-1:-1;;13228:26:197;13224:35;-1:-1:-1;13221:55:197;;;13272:1;13269;13262:12;13221:55;13302:22;;:::i;:::-;13372:2;13368;13364:11;13351:25;13344:5;13337:40;13427:2;13423;13419:11;13406:25;13460:2;13450:8;13447:16;13444:36;;;13476:1;13473;13466:12;13444:36;13511:8;13507:2;13503:17;13493:27;;;13560:3;13555:2;13551;13547:11;13543:21;13533:49;;13578:1;13575;13568:12;13533:49;13626:2;13622;13618:11;13605:25;13595:35;;13656:75;13672:58;13727:2;13672:58;:::i;13656:75::-;13775:17;;;13877:4;13869:13;;;13861:22;;13857:31;;;13814:14;;;;13904:17;;;13901:37;;;13934:1;13931;13924:12;13901:37;13964:11;;;;13988:1116;14006:8;13999:5;13996:19;13988:1116;;;14100:4;14092:5;14087:3;14083:15;14079:26;14076:46;;;14118:1;14115;14108:12;14076:46;14154:22;;:::i;:::-;14221:5;14208:19;14244:30;14266:7;14244:30;:::i;:::-;14291:24;;14360:14;;;14347:28;14392:30;14347:28;14392:30;:::i;:::-;14446:16;;;14439:33;14527:14;;;14514:28;14496:16;;;14489:54;14609:2;14598:14;;;14585:28;14567:16;;;14560:54;14670:3;14659:15;;14646:29;14692:33;14646:29;14692:33;:::i;:::-;14762:3;14749:17;;14742:34;14843:3;14832:15;;;14819:29;14800:17;;;14793:56;14905:3;14894:15;;14881:29;14927:33;14881:29;14927:33;:::i;:::-;14997:3;14984:17;;14977:34;15028:22;;14038:4;14027:16;;;;;15076:14;;;;13988:1116;;;15124:14;;;15117:29;-1:-1:-1;15159:18:197;;-1:-1:-1;;;15197:12:197;;;;12968;;12935:2284;;;-1:-1:-1;15237:5:197;12414:2834;-1:-1:-1;;;;;;12414:2834:197:o;15253:1511::-;15330:5;15383:3;15376:4;15368:6;15364:17;15360:27;15350:55;;15401:1;15398;15391:12;15350:55;15437:6;15424:20;15463:4;15487:75;15503:58;15558:2;15503:58;:::i;15487:75::-;15596:15;;;15658:4;15701:13;;;15689:26;;15685:35;;;15627:12;;;;15584:3;15732:15;;;15729:35;;;15760:1;15757;15750:12;15729:35;15796:2;15788:6;15784:15;15808:927;15824:6;15819:3;15816:15;15808:927;;;15900:2;15894:3;15889;15885:13;15881:22;15878:112;;;15944:1;15973:2;15969;15962:14;15878:112;16016:22;;:::i;:::-;16079:3;16066:17;16096:33;16121:7;16096:33;:::i;:::-;16142:22;;16205:12;;;16192:26;16231:33;16192:26;16231:33;:::i;:::-;16284:14;;;16277:31;16331:2;16382:12;;;16369:26;16353:14;;;16346:50;16419:2;16470:12;;;16457:26;16441:14;;;16434:50;16507:3;16559:12;;;16546:26;16530:14;;;16523:50;16596:3;16648:12;;;16635:26;16619:14;;;16612:50;16675:18;;16713:12;;;;15841;;15808:927;;;-1:-1:-1;16753:5:197;;15253:1511;-1:-1:-1;;;;;;;15253:1511:197:o;16769:778::-;16843:5;16896:3;16889:4;16881:6;16877:17;16873:27;16863:55;;16914:1;16911;16904:12;16863:55;16950:6;16937:20;16976:4;17000:75;17016:58;17071:2;17016:58;:::i;17000:75::-;17097:3;17121:2;17116:3;17109:15;17149:4;17144:3;17140:14;17133:21;;17206:4;17200:2;17197:1;17193:10;17185:6;17181:23;17177:34;17163:48;;17234:3;17226:6;17223:15;17220:35;;;17251:1;17248;17241:12;17220:35;17287:4;17279:6;17275:17;17301:217;17317:6;17312:3;17309:15;17301:217;;;17397:3;17384:17;17414:31;17439:5;17414:31;:::i;:::-;17458:18;;17496:12;;;;17334;;17301:217;;17552:2222;17750:6;17758;17766;17774;17827:3;17815:9;17806:7;17802:23;17798:33;17795:53;;;17844:1;17841;17834:12;17795:53;17883:9;17870:23;17902:31;17927:5;17902:31;:::i;:::-;17952:5;-1:-1:-1;18008:2:197;17993:18;;17980:32;-1:-1:-1;;;;;18061:14:197;;;18058:34;;;18088:1;18085;18078:12;18058:34;18111:80;18183:7;18174:6;18163:9;18159:22;18111:80;:::i;:::-;18101:90;;18244:2;18233:9;18229:18;18216:32;18200:48;;18273:2;18263:8;18260:16;18257:36;;;18289:1;18286;18279:12;18257:36;18312:24;;;;18370:6;18352:16;;;18348:29;18345:49;;;18390:1;18387;18380:12;18345:49;18418:22;;:::i;:::-;18478:2;18465:16;18506:2;18496:8;18493:16;18490:36;;;18522:1;18519;18512:12;18490:36;18551:63;18606:7;18595:8;18591:2;18587:17;18551:63;:::i;:::-;18542:7;18535:80;;18649:58;18699:7;18694:2;18690;18686:11;18649:58;:::i;:::-;18644:2;18635:7;18631:16;18624:84;18742:76;18810:7;18804:3;18800:2;18796:12;18742:76;:::i;:::-;18737:2;18728:7;18724:16;18717:102;18876:3;18872:2;18868:12;18855:26;18848:4;18839:7;18835:18;18828:54;18928:3;18924:2;18920:12;18907:26;18958:2;18948:8;18945:16;18942:36;;;18974:1;18971;18964:12;18942:36;19013:71;19076:7;19065:8;19061:2;19057:17;19013:71;:::i;:::-;19007:3;18998:7;18994:17;18987:98;;19131:3;19127:2;19123:12;19110:26;19161:2;19151:8;19148:16;19145:36;;;19177:1;19174;19167:12;19145:36;19216:79;19287:7;19276:8;19272:2;19268:17;19216:79;:::i;:::-;19210:3;19201:7;19197:17;19190:106;;19342:3;19338:2;19334:12;19321:26;19372:2;19362:8;19359:16;19356:36;;;19388:1;19385;19378:12;19356:36;19428:76;19496:7;19485:8;19481:2;19477:17;19428:76;:::i;:::-;19421:4;19412:7;19408:18;19401:104;;19551:3;19547:2;19543:12;19530:26;19581:2;19571:8;19568:16;19565:36;;;19597:1;19594;19587:12;19565:36;19637:45;19674:7;19663:8;19659:2;19655:17;19637:45;:::i;:::-;19630:4;19617:18;;19610:73;-1:-1:-1;19621:7:197;-1:-1:-1;19728:40:197;;-1:-1:-1;;19762:4:197;19747:20;;19728:40;:::i;:::-;19718:50;;17552:2222;;;;;;;:::o;19961:1949::-;20165:6;20173;20181;20189;20242:3;20230:9;20221:7;20217:23;20213:33;20210:53;;;20259:1;20256;20249:12;20210:53;20295:9;20282:23;20272:33;;20356:2;20345:9;20341:18;20328:32;-1:-1:-1;;;;;20420:2:197;20412:6;20409:14;20406:34;;;20436:1;20433;20426:12;20406:34;20459:80;20531:7;20522:6;20511:9;20507:22;20459:80;:::i;:::-;20449:90;;20592:2;20581:9;20577:18;20564:32;20548:48;;20621:2;20611:8;20608:16;20605:36;;;20637:1;20634;20627:12;20605:36;20660:24;;;;20718:6;20700:16;;;20696:29;20693:49;;;20738:1;20735;20728:12;20693:49;20764:22;;:::i;:::-;20809:49;20850:7;20846:2;20809:49;:::i;:::-;20802:5;20795:64;20891:76;20959:7;20953:3;20949:2;20945:12;20891:76;:::i;:::-;20886:2;20879:5;20875:14;20868:100;21021:3;21017:2;21013:12;21000:26;20995:2;20988:5;20984:14;20977:50;21073:3;21069:2;21065:12;21052:26;21103:2;21093:8;21090:16;21087:36;;;21119:1;21116;21109:12;21087:36;21157:71;21220:7;21209:8;21205:2;21201:17;21157:71;:::i;:::-;21150:4;21143:5;21139:16;21132:97;;21275:3;21271:2;21267:12;21254:26;21305:2;21295:8;21292:16;21289:36;;;21321:1;21318;21311:12;21289:36;21358:79;21429:7;21418:8;21414:2;21410:17;21358:79;:::i;:::-;21352:3;21345:5;21341:15;21334:104;;21484:3;21480:2;21476:12;21463:26;21514:2;21504:8;21501:16;21498:36;;;21530:1;21527;21520:12;21498:36;21568:76;21636:7;21625:8;21621:2;21617:17;21568:76;:::i;:::-;21561:4;21554:5;21550:16;21543:102;;21691:3;21687:2;21683:12;21670:26;21721:2;21711:8;21708:16;21705:36;;;21737:1;21734;21727:12;21705:36;21775:45;21812:7;21801:8;21797:2;21793:17;21775:45;:::i;:::-;21768:4;21757:16;;21750:71;-1:-1:-1;21761:5:197;-1:-1:-1;21864:40:197;;-1:-1:-1;;21898:4:197;21883:20;;21864:40;:::i;22300:1747::-;22509:6;22517;22525;22533;22586:3;22574:9;22565:7;22561:23;22557:33;22554:53;;;22603:1;22600;22593:12;22554:53;22639:9;22626:23;22616:33;;22700:2;22689:9;22685:18;22672:32;-1:-1:-1;;;;;22764:2:197;22756:6;22753:14;22750:34;;;22780:1;22777;22770:12;22750:34;22803:80;22875:7;22866:6;22855:9;22851:22;22803:80;:::i;:::-;22793:90;;22936:2;22925:9;22921:18;22908:32;22892:48;;22965:2;22955:8;22952:16;22949:36;;;22981:1;22978;22971:12;22949:36;23004:24;;;;23062:6;23044:16;;;23040:29;23037:49;;;23082:1;23079;23072:12;23037:49;23108:22;;:::i;:::-;23153:49;23194:7;23190:2;23153:49;:::i;:::-;23146:5;23139:64;23235:76;23303:7;23297:3;23293:2;23289:12;23235:76;:::i;:::-;23230:2;23223:5;23219:14;23212:100;23365:3;23361:2;23357:12;23344:26;23339:2;23332:5;23328:14;23321:50;23417:3;23413:2;23409:12;23396:26;23447:2;23437:8;23434:16;23431:36;;;23463:1;23460;23453:12;23431:36;23501:71;23564:7;23553:8;23549:2;23545:17;23501:71;:::i;:::-;23494:4;23487:5;23483:16;23476:97;;23619:3;23615:2;23611:12;23598:26;23649:2;23639:8;23636:16;23633:36;;;23665:1;23662;23655:12;23633:36;23702:79;23773:7;23762:8;23758:2;23754:17;23702:79;:::i;:::-;23696:3;23689:5;23685:15;23678:104;;23828:3;23824:2;23820:12;23807:26;23858:2;23848:8;23845:16;23842:36;;;23874:1;23871;23864:12;23842:36;23912:45;23949:7;23938:8;23934:2;23930:17;23912:45;:::i;:::-;23905:4;23894:16;;23887:71;-1:-1:-1;23898:5:197;-1:-1:-1;24001:40:197;;-1:-1:-1;;24035:4:197;24020:20;;24001:40;:::i;24516:272::-;24607:6;24660:2;24648:9;24639:7;24635:23;24631:32;24628:52;;;24676:1;24673;24666:12;24628:52;24708:9;24702:16;24727:31;24752:5;24727:31;:::i;:::-;24777:5;24516:272;-1:-1:-1;;;24516:272:197:o;24793:184::-;24863:6;24916:2;24904:9;24895:7;24891:23;24887:32;24884:52;;;24932:1;24929;24922:12;24884:52;-1:-1:-1;24955:16:197;;24793:184;-1:-1:-1;24793:184:197:o;24982:222::-;25047:9;;;25068:10;;;25065:133;;;25120:10;25115:3;25111:20;25108:1;25101:31;25155:4;25152:1;25145:15;25183:4;25180:1;25173:15;25065:133;24982:222;;;;:::o;25209:423::-;25251:3;25289:5;25283:12;25316:6;25311:3;25304:19;25341:1;25351:162;25365:6;25362:1;25359:13;25351:162;;;25427:4;25483:13;;;25479:22;;25473:29;25455:11;;;25451:20;;25444:59;25380:12;25351:162;;;25355:3;25558:1;25551:4;25542:6;25537:3;25533:16;25529:27;25522:38;25621:4;25614:2;25610:7;25605:2;25597:6;25593:15;25589:29;25584:3;25580:39;25576:50;25569:57;;;25209:423;;;;:::o;26245:2373::-;26402:12;;26334:4;26423:17;;;26489:19;;26359:14;;;26517:20;;;26306:3;;26556;;26609:4;26636:21;;;;26577:13;;;;26489:19;26306:3;26685:1537;26699:6;26696:1;26693:13;26685:1537;;;26758:13;;26803:9;;25714:28;25703:40;25691:53;;26861:11;;;26855:18;25831:10;25820:22;;;26920:14;;;25808:35;26958:4;27003:11;;;26997:18;25820:22;;;27062:14;;;25808:35;27100:4;27145:11;;;27139:18;25930:6;25919:18;27204:14;;;25907:31;27260:11;;;27254:18;-1:-1:-1;;;;;22011:31:197;27350:14;;;21999:44;27407:11;;;27401:18;27385:14;;;27378:42;27443:4;27488:11;;;27482:18;26025:8;26014:20;27547:14;;;26002:33;27585:4;27630:11;;;27624:18;26116:13;26109:21;27687:14;;;26097:34;27725:6;27772:11;;;27766:18;26116:13;26109:21;27829:14;;;26097:34;27868:6;27915:12;;;27909:19;26116:13;26109:21;27973:15;;;26097:34;28013:6;28060:12;;;28054:19;26116:13;26109:21;28118:15;;;26097:34;28197:15;;;;28167:6;28156:18;;;;26721:1;26714:9;26685:1537;;;-1:-1:-1;28260:14:197;;;28254:21;26218:14;26207:26;;28319:12;;;26195:39;28254:21;-1:-1:-1;28284:48:197;;28381:4;28374:5;28370:16;28364:23;28341:46;;28396:50;28440:4;28435:3;28431:14;28414:15;26218:14;26207:26;26195:39;;26142:98;28396:50;28495:4;28488:5;28484:16;28478:23;28455:46;;28510:81;28585:4;28580:3;28576:14;28559:15;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;28510:81;28607:5;26245:2373;-1:-1:-1;;;;;;26245:2373:197:o;28961:247::-;29052:1;29045:5;29042:12;29032:143;;29097:10;29092:3;29088:20;29085:1;29078:31;29132:4;29129:1;29122:15;29160:4;29157:1;29150:15;29032:143;29184:18;;28961:247::o;29213:2200::-;29466:6;29455:9;29448:25;29509:2;29504;29493:9;29489:18;29482:30;29429:4;29547:6;29541:13;29590:6;29585:2;29574:9;29570:18;29563:34;29620:52;29667:3;29656:9;29652:19;29638:12;29620:52;:::i;:::-;29606:66;;29721:2;29713:6;29709:15;29703:22;29748:2;29744:7;29815:2;29803:9;29795:6;29791:22;29787:31;29782:2;29771:9;29767:18;29760:59;29842:41;29876:6;29860:14;29842:41;:::i;:::-;29828:55;;29932:2;29924:6;29920:15;29914:22;29892:44;;29945:85;30025:3;30014:9;30010:19;29994:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;29945:85;30079:2;30071:6;30067:15;30061:22;30039:44;;30148:2;30136:9;30128:6;30124:22;30120:31;30114:3;30103:9;30099:19;30092:60;30175:41;30209:6;30193:14;30175:41;:::i;:::-;30161:55;;30265:3;30257:6;30253:16;30247:23;30225:45;;30279:85;30359:3;30348:9;30344:19;30328:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;30279:85;30413:3;30405:6;30401:16;30395:23;30373:45;;30483:2;30471:9;30463:6;30459:22;30455:31;30449:3;30438:9;30434:19;30427:60;30510:41;30544:6;30528:14;30510:41;:::i;:::-;30496:55;;30600:3;30592:6;30588:16;30582:23;30560:45;;30624:3;30691:2;30679:9;30671:6;30667:22;30663:31;30658:2;30647:9;30643:18;30636:59;30718:60;30771:6;30755:14;30718:60;:::i;:::-;30704:74;;30827:3;30819:6;30815:16;30809:23;30787:45;;30851:3;30841:13;;30863:84;30943:2;30932:9;30928:18;30912:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;30863:84;30984:15;;30978:22;;-1:-1:-1;31019:3:197;31031:84;31096:18;;;30978:22;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;31031:84;31152:15;;;31146:22;28719:12;;28712:20;28705:28;31243:3;31228:19;;28693:41;28797:4;28786:16;;28780:23;28773:31;28766:39;28750:14;;;28743:63;28869:4;28858:16;;28852:23;28845:31;28838:39;28822:14;;;28815:63;28941:4;28930:16;28924:23;28917:31;28910:39;28894:14;;;28887:63;31286:15;;31280:22;;-1:-1:-1;31311:73:197;31379:3;31364:19;;31280:22;31311:73;:::i;:::-;-1:-1:-1;31401:6:197;29213:2200;-1:-1:-1;;;;29213:2200:197:o;31960:297::-;32044:12;;32032:25;;32106:4;32095:16;;;32089:23;32073:14;;;32066:47;32162:4;32151:16;;;32145:23;32129:14;;;32122:47;32222:4;32211:16;;;32205:23;-1:-1:-1;;;;;32201:49:197;32185:14;;32178:73;31960:297::o;32540:2053::-;32616:65;32677:3;32669:5;32663:12;32370;;32363:20;32356:28;32344:41;;32448:4;32437:16;;;32431:23;32424:31;32417:39;32401:14;;;32394:63;32520:4;32509:16;;;32503:23;32496:31;32489:39;32473:14;;32466:63;32262:273;32616:65;32730:4;32723:5;32719:16;32713:23;32706:4;32701:3;32697:14;32690:47;32786:4;32779:5;32775:16;32769:23;32762:4;32757:3;32753:14;32746:47;32842:4;32835:5;32831:16;32825:23;32818:4;32813:3;32809:14;32802:47;32895:4;32888:5;32884:16;32878:23;32910:45;32949:4;32944:3;32940:14;32926:12;26116:13;26109:21;26097:34;;26046:91;32910:45;-1:-1:-1;33003:4:197;32992:16;;32986:23;26116:13;;26109:21;33059:4;33050:14;;26097:34;33018:47;33113:4;33106:5;33102:16;33096:23;33138:6;33153:45;33194:2;33189:3;33185:12;33169:14;26116:13;26109:21;26097:34;;26046:91;33153:45;33246:4;33239:5;33235:16;33229:23;33207:45;;33271:6;33286:45;33327:2;33322:3;33318:12;33302:14;26116:13;26109:21;26097:34;;26046:91;33286:45;33368:14;;;33362:21;;-1:-1:-1;33402:6:197;;33417:45;33449:12;;;33362:21;26116:13;26109:21;26097:34;;26046:91;33417:45;33499:14;;33493:21;;-1:-1:-1;33533:6:197;33548:45;33580:12;;;33493:21;26116:13;26109:21;26097:34;;26046:91;33548:45;33630:14;;;33624:21;;-1:-1:-1;33664:6:197;;33679:45;33711:12;;;33624:21;26116:13;26109:21;26097:34;;26046:91;33679:45;33761:14;;33755:21;;-1:-1:-1;33795:6:197;33810:45;33842:12;;;33755:21;26116:13;26109:21;26097:34;;26046:91;33810:45;33892:14;;;33886:21;;-1:-1:-1;33926:6:197;;33941:45;33973:12;;;33886:21;26116:13;26109:21;26097:34;;26046:91;33941:45;34023:14;;34017:21;;-1:-1:-1;34057:6:197;34072:45;34104:12;;;34017:21;26116:13;26109:21;26097:34;;26046:91;34072:45;34155:14;;;34149:21;;-1:-1:-1;34189:6:197;;34204:46;34237:12;;;34149:21;26116:13;26109:21;26097:34;;26046:91;34204:46;34288:14;;34282:21;;-1:-1:-1;34323:6:197;34338:47;34371:13;;;34282:21;26116:13;26109:21;26097:34;;26046:91;34338:47;34423:14;;;34417:21;-1:-1:-1;;;;;22011:31:197;34522:6;34513:16;;21999:44;34570:15;;;34564:22;34555:6;34546:16;;;34539:48;;;;-1:-1:-1;32540:2053:197:o;34598:1938::-;34666:3;34697;34729:5;34723:12;34756:6;34751:3;34744:19;34782:4;34811:2;34806:3;34802:12;34795:19;;34867:2;34857:6;34854:1;34850:14;34843:5;34839:26;34835:35;34904:2;34897:5;34893:14;34925:1;34946;34956:1554;34972:6;34967:3;34964:15;34956:1554;;;35041:16;;;-1:-1:-1;;35037:30:197;35025:43;;35091:13;;35197:9;;35184:23;;35246:11;;35240:18;35127:4;35278:13;;;35271:25;;;35357:19;;35158:13;;;35389:24;;;35502:21;;;;35436:2;;35460:13;;;;35547:1;35561:843;35577:8;35572:3;35569:17;35561:843;;;35650:15;;35710:9;;35703:17;35696:25;35682:40;;35782:11;;;35776:18;35769:26;35762:34;35746:14;;;35739:58;35843:11;;;35837:18;35821:14;;;35814:42;35902:11;;;35896:18;35880:14;;;35873:42;35942:4;35991:11;;;35985:18;-1:-1:-1;;;;;36089:23:197;;;36073:14;;;36066:47;;;;36038:3;36190:11;;;36184:18;36168:14;;;36161:42;36230:4;36284:11;;;36278:18;36274:27;36258:14;;;36251:51;36373:17;;;;36339:4;36328:16;;;;36047:1;35596:11;35561:843;;;-1:-1:-1;;36488:12:197;;;;36425:5;-1:-1:-1;;;36453:15:197;;;;-1:-1:-1;34998:1:197;34989:11;34956:1554;;;-1:-1:-1;36526:4:197;;34598:1938;-1:-1:-1;;;;;;;;34598:1938:197:o;36541:929::-;36617:3;36655:5;36649:12;36682:6;36677:3;36670:19;36708:4;36737;36732:3;36728:14;36721:21;;36776:4;36769:5;36765:16;36799:1;36809:636;36823:6;36820:1;36817:13;36809:636;;;36882:13;;36966:9;;-1:-1:-1;;;;;36962:18:197;;;36950:31;;37025:11;;;37019:18;37015:27;37001:12;;;36994:49;37066:4;37110:11;;;37104:18;37090:12;;;37083:40;37146:4;37190:11;;;37184:18;37170:12;;;37163:40;37226:4;37270:11;;;37264:18;37250:12;;;37243:40;36926:3;37350:11;;;37344:18;37330:12;;;37323:40;37392:4;37383:14;;;;37420:15;;;;36935:1;36838:9;36809:636;;;-1:-1:-1;37461:3:197;;36541:929;-1:-1:-1;;;;;36541:929:197:o;37475:485::-;37548:3;37586:5;37580:12;37613:6;37608:3;37601:19;37639:4;37668;37663:3;37659:14;37652:21;;37707:4;37700:5;37696:16;37730:1;37740:195;37754:6;37751:1;37748:13;37740:195;;;37819:13;;-1:-1:-1;;;;;37815:39:197;37803:52;;37875:12;;;;37910:15;;;;37851:1;37769:9;37740:195;;37965:1997;-1:-1:-1;;;;;38918:32:197;;38900:51;;38888:3;38982:2;38967:18;;38960:30;;;39019:13;;39068:4;39048:18;;;39041:32;38859:4;;38888:3;39096:53;39143:4;39128:20;;39019:13;39096:53;:::i;:::-;39082:67;;;39205:2;39197:6;39193:15;39187:22;39180:4;39169:9;39165:20;39158:52;39219:66;39279:4;39268:9;39264:20;39256:6;39219:66;:::i;:::-;39294:69;39358:3;39347:9;39343:19;39335:6;39294:69;:::i;:::-;39400:6;39394:3;39383:9;39379:19;39372:35;39456:9;39448:6;39444:22;39438:3;39427:9;39423:19;39416:51;39490:59;39542:6;39534;39490:59;:::i;:::-;39476:73;;39598:9;39590:6;39586:22;39580:3;39569:9;39565:19;39558:51;39632:67;39692:6;39684;39632:67;:::i;:::-;39618:81;;39748:9;39740:6;39736:22;39730:3;39719:9;39715:19;39708:51;39782:64;39839:6;39831;39782:64;:::i;:::-;39768:78;;39895:9;39887:6;39883:22;39877:3;39866:9;39862:19;39855:51;39923:33;39949:6;39941;39923:33;:::i;:::-;39915:41;37965:1997;-1:-1:-1;;;;;;;;;;;;37965:1997:197:o;40419:245::-;40486:6;40539:2;40527:9;40518:7;40514:23;40510:32;40507:52;;;40555:1;40552;40545:12;40507:52;40587:9;40581:16;40606:28;40628:5;40606:28;:::i;41129:1602::-;41923:4;41952:3;41982:6;41971:9;41964:25;41998:64;42058:2;42047:9;42043:18;42035:6;41998:64;:::i;:::-;42071:69;42135:3;42124:9;42120:19;42112:6;42071:69;:::i;:::-;42177:6;42171:3;42160:9;42156:19;42149:35;42221:2;42215:3;42204:9;42200:19;42193:31;42247:71;42314:2;42303:9;42299:18;42291:6;42247:71;:::i;:::-;42233:85;;42367:9;42359:6;42355:22;42349:3;42338:9;42334:19;42327:51;42401:67;42461:6;42453;42401:67;:::i;:::-;42387:81;;42517:9;42509:6;42505:22;42499:3;42488:9;42484:19;42477:51;42551:64;42608:6;42600;42551:64;:::i;:::-;42537:78;;42664:9;42656:6;42652:22;42646:3;42635:9;42631:19;42624:51;42692:33;42718:6;42710;42692:33;:::i;:::-;42684:41;41129:1602;-1:-1:-1;;;;;;;;;;;41129:1602:197:o;42736:1349::-;43424:4;43453:3;43483:6;43472:9;43465:25;43499:64;43559:2;43548:9;43544:18;43536:6;43499:64;:::i;:::-;43572:69;43636:3;43625:9;43621:19;43613:6;43572:69;:::i;:::-;43678:6;43672:3;43661:9;43657:19;43650:35;43722:2;43716:3;43705:9;43701:19;43694:31;43748:71;43815:2;43804:9;43800:18;43792:6;43748:71;:::i;:::-;43734:85;;43868:9;43860:6;43856:22;43850:3;43839:9;43835:19;43828:51;43902:67;43962:6;43954;43902:67;:::i;:::-;43888:81;;44018:9;44010:6;44006:22;44000:3;43989:9;43985:19;43978:51;44046:33;44072:6;44064;44046:33;:::i;:::-;44038:41;42736:1349;-1:-1:-1;;;;;;;;;;42736:1349:197:o","linkReferences":{},"immutableReferences":{"1702":[{"start":286,"length":32},{"start":324,"length":32},{"start":826,"length":32},{"start":1348,"length":32}],"1707":[{"start":165,"length":32},{"start":566,"length":32},{"start":1104,"length":32},{"start":1626,"length":32}],"80814":[{"start":247,"length":32},{"start":2326,"length":32},{"start":2493,"length":32}]}},"methodIdentifiers":{"delegateDeployer()":"8f3d964b","directory()":"c41c2f24","launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"6907d436","launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"3c2402c4","operatorStore()":"ad007d63","reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":"aac68198"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"_delegateDeployer\",\"type\":\"address\"},{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"delegateDeployer\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchFundingCyclesData\",\"name\":\"_launchFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchProjectData\",\"name\":\"_launchProjectData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBReconfigureFundingCyclesData\",\"name\":\"_reconfigureFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_delegateDeployer\":\"The delegate deployer.\",\"_directory\":\"The directory of terminals and controllers for projects.\",\"_operatorStore\":\"A contract storing operator assignments.\"}},\"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"details\":\"Only a project's owner or operator can launch its funding cycles.\",\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy a delegate.\",\"_launchFundingCyclesData\":\"Data necessary to launch the funding cycles for the project.\",\"_projectId\":\"The ID of the project for which the funding cycles will be launched.\"},\"returns\":{\"configuration\":\"The configuration of the funding cycle that was successfully created.\"}},\"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy the delegate.\",\"_launchProjectData\":\"Data necessary to launch the project.\",\"_owner\":\"The address to set as the owner of the project. The project's ERC-721 will be owned by this address.\"},\"returns\":{\"projectId\":\"The ID of the newly configured project.\"}},\"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)\":{\"details\":\"Only a project's owner or operator can configure its funding cycles.\",\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy a delegate.\",\"_projectId\":\"The ID of the project for which funding cycles are being reconfigured.\",\"_reconfigureFundingCyclesData\":\"Data necessary to reconfigure the funding cycle.\"},\"returns\":{\"configuration\":\"The configuration of the successfully reconfigured funding cycle.\"}}},\"title\":\"JBTiered721DelegateProjectDeployer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"delegateDeployer()\":{\"notice\":\"The contract responsible for deploying the delegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"notice\":\"Launches funding cycles for a project with an attached delegate.\"},\"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"notice\":\"Launches a new project with a tiered 721 delegate attached.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)\":{\"notice\":\"Reconfigures funding cycles for a project with an attached delegate.\"}},\"notice\":\"Deploys a project with an associated tiered 721 delegate.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateProjectDeployer.sol\":\"JBTiered721DelegateProjectDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce\",\"dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBTiered721DelegateDeployer","name":"_delegateDeployer","type":"address"},{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"delegateDeployer","outputs":[{"internalType":"contract IJBTiered721DelegateDeployer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchFundingCyclesData","name":"_launchFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchProjectData","name":"_launchProjectData","type":"tuple","components":[{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBReconfigureFundingCyclesData","name":"_reconfigureFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_delegateDeployer":"The delegate deployer.","_directory":"The directory of terminals and controllers for projects.","_operatorStore":"A contract storing operator assignments."}},"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"details":"Only a project's owner or operator can launch its funding cycles.","params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy a delegate.","_launchFundingCyclesData":"Data necessary to launch the funding cycles for the project.","_projectId":"The ID of the project for which the funding cycles will be launched."},"returns":{"configuration":"The configuration of the funding cycle that was successfully created."}},"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy the delegate.","_launchProjectData":"Data necessary to launch the project.","_owner":"The address to set as the owner of the project. The project's ERC-721 will be owned by this address."},"returns":{"projectId":"The ID of the newly configured project."}},"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":{"details":"Only a project's owner or operator can configure its funding cycles.","params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy a delegate.","_projectId":"The ID of the project for which funding cycles are being reconfigured.","_reconfigureFundingCyclesData":"Data necessary to reconfigure the funding cycle."},"returns":{"configuration":"The configuration of the successfully reconfigured funding cycle."}}},"version":1},"userdoc":{"kind":"user","methods":{"delegateDeployer()":{"notice":"The contract responsible for deploying the delegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"notice":"Launches funding cycles for a project with an attached delegate."},"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"notice":"Launches a new project with a tiered 721 delegate attached."},"operatorStore()":{"notice":"A contract storing operator assignments."},"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":{"notice":"Reconfigures funding cycles for a project with an attached delegate."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateProjectDeployer.sol":"JBTiered721DelegateProjectDeployer"},"libraries":{}},"sources":{"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x0e3269a5ab6c6de386a1bbbfa2d00c8757a67f09ee242be00b0b5037e3d0d3b3","urls":["bzz-raw://bdddc05d7bdeddd5c7ecc187c6e051f2b5f472d7f4f1bc9763327ef9ff3337ce","dweb:/ipfs/QmTEmtj4zCwLTj1vvC7QToJDkR3ahUZ745YMbnk9V6BEsZ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/JBTiered721DelegateProjectDeployer.sol","id":2170,"exportedSymbols":{"IJBController3_1":[84887],"IJBDirectory":[85041],"IJBOperatorStore":[85400],"IJBTiered721Delegate":[28042],"IJBTiered721DelegateDeployer":[28074],"IJBTiered721DelegateProjectDeployer":[28155],"JBDeployTiered721DelegateData":[29486],"JBFundingCycleMetadata":[87859],"JBLaunchFundingCyclesData":[29517],"JBLaunchProjectData":[29552],"JBOperatable":[80910],"JBOperations":[87614],"JBOwnable":[89080],"JBReconfigureFundingCyclesData":[29616],"JBTiered721DelegateProjectDeployer":[2169]},"nodeType":"SourceUnit","src":"32:16029:2","nodes":[{"id":1664,"nodeType":"PragmaDirective","src":"32:24:2","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":1666,"nodeType":"ImportDirective","src":"58:74:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol","file":"@jbx-protocol/juice-ownable/src/JBOwnable.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":89081,"symbolAliases":[{"foreign":{"id":1665,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"67:9:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1668,"nodeType":"ImportDirective","src":"133:100:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":1667,"name":"JBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80910,"src":"142:12:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1670,"nodeType":"ImportDirective","src":"234:102:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":1669,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"243:12:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1672,"nodeType":"ImportDirective","src":"337:110:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":84888,"symbolAliases":[{"foreign":{"id":1671,"name":"IJBController3_1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":84887,"src":"346:16:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1674,"nodeType":"ImportDirective","src":"448:110:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":1673,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"457:16:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1676,"nodeType":"ImportDirective","src":"559:101:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":87615,"symbolAliases":[{"foreign":{"id":1675,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"568:12:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1678,"nodeType":"ImportDirective","src":"661:119:2","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":87860,"symbolAliases":[{"foreign":{"id":1677,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"670:22:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1680,"nodeType":"ImportDirective","src":"782:93:2","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateDeployer.sol","file":"./interfaces/IJBTiered721DelegateDeployer.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":28075,"symbolAliases":[{"foreign":{"id":1679,"name":"IJBTiered721DelegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28074,"src":"791:28:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1682,"nodeType":"ImportDirective","src":"876:107:2","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol","file":"./interfaces/IJBTiered721DelegateProjectDeployer.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":28156,"symbolAliases":[{"foreign":{"id":1681,"name":"IJBTiered721DelegateProjectDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28155,"src":"885:35:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1684,"nodeType":"ImportDirective","src":"984:77:2","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721Delegate.sol","file":"./interfaces/IJBTiered721Delegate.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":28043,"symbolAliases":[{"foreign":{"id":1683,"name":"IJBTiered721Delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28042,"src":"993:20:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1686,"nodeType":"ImportDirective","src":"1062:92:2","nodes":[],"absolutePath":"contracts/structs/JBDeployTiered721DelegateData.sol","file":"./structs/JBDeployTiered721DelegateData.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":29487,"symbolAliases":[{"foreign":{"id":1685,"name":"JBDeployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29486,"src":"1071:29:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1688,"nodeType":"ImportDirective","src":"1155:84:2","nodes":[],"absolutePath":"contracts/structs/JBLaunchFundingCyclesData.sol","file":"./structs/JBLaunchFundingCyclesData.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":29518,"symbolAliases":[{"foreign":{"id":1687,"name":"JBLaunchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29517,"src":"1164:25:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1690,"nodeType":"ImportDirective","src":"1240:94:2","nodes":[],"absolutePath":"contracts/structs/JBReconfigureFundingCyclesData.sol","file":"./structs/JBReconfigureFundingCyclesData.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":29617,"symbolAliases":[{"foreign":{"id":1689,"name":"JBReconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29616,"src":"1249:30:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1692,"nodeType":"ImportDirective","src":"1335:72:2","nodes":[],"absolutePath":"contracts/structs/JBLaunchProjectData.sol","file":"./structs/JBLaunchProjectData.sol","nameLocation":"-1:-1:-1","scope":2170,"sourceUnit":29553,"symbolAliases":[{"foreign":{"id":1691,"name":"JBLaunchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29552,"src":"1344:19:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2169,"nodeType":"ContractDefinition","src":"1549:14511:2","nodes":[{"id":1702,"nodeType":"VariableDeclaration","src":"1960:48:2","nodes":[],"baseFunctions":[28100],"constant":false,"documentation":{"id":1698,"nodeType":"StructuredDocumentation","src":"1887:68:2","text":"@notice The directory of terminals and controllers for projects."},"functionSelector":"c41c2f24","mutability":"immutable","name":"directory","nameLocation":"1999:9:2","overrides":{"id":1701,"nodeType":"OverrideSpecifier","overrides":[],"src":"1990:8:2"},"scope":2169,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":1700,"nodeType":"UserDefinedTypeName","pathNode":{"id":1699,"name":"IJBDirectory","nameLocations":["1960:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"1960:12:2"},"referencedDeclaration":85041,"src":"1960:12:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"public"},{"id":1707,"nodeType":"VariableDeclaration","src":"2084:71:2","nodes":[],"baseFunctions":[28106],"constant":false,"documentation":{"id":1703,"nodeType":"StructuredDocumentation","src":"2015:64:2","text":"@notice The contract responsible for deploying the delegate."},"functionSelector":"8f3d964b","mutability":"immutable","name":"delegateDeployer","nameLocation":"2139:16:2","overrides":{"id":1706,"nodeType":"OverrideSpecifier","overrides":[],"src":"2130:8:2"},"scope":2169,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"},"typeName":{"id":1705,"nodeType":"UserDefinedTypeName","pathNode":{"id":1704,"name":"IJBTiered721DelegateDeployer","nameLocations":["2084:28:2"],"nodeType":"IdentifierPath","referencedDeclaration":28074,"src":"2084:28:2"},"referencedDeclaration":28074,"src":"2084:28:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"visibility":"public"},{"id":1732,"nodeType":"FunctionDefinition","src":"2607:262:2","nodes":[],"body":{"id":1731,"nodeType":"Block","src":"2784:85:2","nodes":[],"statements":[{"expression":{"id":1725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1723,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"2794:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1724,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1711,"src":"2806:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"src":"2794:22:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":1726,"nodeType":"ExpressionStatement","src":"2794:22:2"},{"expression":{"id":1729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1727,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"2826:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1728,"name":"_delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1714,"src":"2845:17:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"src":"2826:36:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"id":1730,"nodeType":"ExpressionStatement","src":"2826:36:2"}]},"documentation":{"id":1708,"nodeType":"StructuredDocumentation","src":"2397:205:2","text":"@param _directory The directory of terminals and controllers for projects.\n @param _delegateDeployer The delegate deployer.\n @param _operatorStore A contract storing operator assignments."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":1720,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1717,"src":"2768:14:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":1721,"kind":"baseConstructorSpecifier","modifierName":{"id":1719,"name":"JBOperatable","nameLocations":["2755:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"2755:12:2"},"nodeType":"ModifierInvocation","src":"2755:28:2"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1711,"mutability":"mutable","name":"_directory","nameLocation":"2641:10:2","nodeType":"VariableDeclaration","scope":1732,"src":"2628:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":1710,"nodeType":"UserDefinedTypeName","pathNode":{"id":1709,"name":"IJBDirectory","nameLocations":["2628:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"2628:12:2"},"referencedDeclaration":85041,"src":"2628:12:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"constant":false,"id":1714,"mutability":"mutable","name":"_delegateDeployer","nameLocation":"2690:17:2","nodeType":"VariableDeclaration","scope":1732,"src":"2661:46:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"},"typeName":{"id":1713,"nodeType":"UserDefinedTypeName","pathNode":{"id":1712,"name":"IJBTiered721DelegateDeployer","nameLocations":["2661:28:2"],"nodeType":"IdentifierPath","referencedDeclaration":28074,"src":"2661:28:2"},"referencedDeclaration":28074,"src":"2661:28:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"visibility":"internal"},{"constant":false,"id":1717,"mutability":"mutable","name":"_operatorStore","nameLocation":"2734:14:2","nodeType":"VariableDeclaration","scope":1732,"src":"2717:31:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":1716,"nodeType":"UserDefinedTypeName","pathNode":{"id":1715,"name":"IJBOperatorStore","nameLocations":["2717:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"2717:16:2"},"referencedDeclaration":85400,"src":"2717:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"}],"src":"2618:136:2"},"returnParameters":{"id":1722,"nodeType":"ParameterList","parameters":[],"src":"2784:0:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1787,"nodeType":"FunctionDefinition","src":"3624:859:2","nodes":[],"body":{"id":1786,"nodeType":"Block","src":"3894:589:2","nodes":[],"statements":[{"expression":{"id":1758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1750,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1748,"src":"4005:9:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1751,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"4017:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":1752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4027:8:2","memberName":"projects","nodeType":"MemberAccess","referencedDeclaration":84958,"src":"4017:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IJBProjects_$86082_$","typeString":"function () view external returns (contract IJBProjects)"}},"id":1753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4017:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":1754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4038:5:2","memberName":"count","nodeType":"MemberAccess","referencedDeclaration":86042,"src":"4017:26:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":1755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4017:28:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":1756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4048:1:2","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4017:32:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4005:44:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1759,"nodeType":"ExpressionStatement","src":"4005:44:2"},{"assignments":[1762],"declarations":[{"constant":false,"id":1762,"mutability":"mutable","name":"_delegate","nameLocation":"4122:9:2","nodeType":"VariableDeclaration","scope":1786,"src":"4101:30:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1761,"nodeType":"UserDefinedTypeName","pathNode":{"id":1760,"name":"IJBTiered721Delegate","nameLocations":["4101:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"4101:20:2"},"referencedDeclaration":28042,"src":"4101:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"}],"id":1768,"initialValue":{"arguments":[{"id":1765,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1748,"src":"4181:9:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1766,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1738,"src":"4192:28:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}],"expression":{"id":1763,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"4146:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"id":1764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4163:17:2","memberName":"deployDelegateFor","nodeType":"MemberAccess","referencedDeclaration":28073,"src":"4146:34:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr_$returns$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"function (uint256,struct JBDeployTiered721DelegateData memory) external returns (contract IJBTiered721Delegate)"}},"id":1767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4146:75:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"4101:120:2"},{"expression":{"arguments":[{"id":1770,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1735,"src":"4281:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1771,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1741,"src":"4289:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},{"id":1772,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"4309:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},{"id":1773,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1744,"src":"4320:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"},{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}],"id":1769,"name":"_launchProjectFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1990,"src":"4263:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_JBLaunchProjectData_$29552_memory_ptr_$_t_contract$_IJBTiered721Delegate_$28042_$_t_contract$_IJBController3_1_$84887_$returns$__$","typeString":"function (address,struct JBLaunchProjectData memory,contract IJBTiered721Delegate,contract IJBController3_1)"}},"id":1774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:69:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1775,"nodeType":"ExpressionStatement","src":"4263:69:2"},{"expression":{"arguments":[{"id":1783,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1748,"src":"4466:9:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":1779,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1762,"src":"4427:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":1778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4419:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1777,"name":"address","nodeType":"ElementaryTypeName","src":"4419:7:2","typeDescriptions":{}}},"id":1780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4419:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1776,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"4409:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOwnable_$89080_$","typeString":"type(contract JBOwnable)"}},"id":1781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4409:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBOwnable_$89080","typeString":"contract JBOwnable"}},"id":1782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4439:26:2","memberName":"transferOwnershipToProject","nodeType":"MemberAccess","referencedDeclaration":89327,"src":"4409:56:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1784,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4409:67:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1785,"nodeType":"ExpressionStatement","src":"4409:67:2"}]},"baseFunctions":[28122],"documentation":{"id":1733,"nodeType":"StructuredDocumentation","src":"3110:509:2","text":"@notice Launches a new project with a tiered 721 delegate attached.\n @param _owner The address to set as the owner of the project. The project's ERC-721 will be owned by this address.\n @param _deployTiered721DelegateData Data necessary to deploy the delegate.\n @param _launchProjectData Data necessary to launch the project.\n @param _controller The controller with which the funding cycles should be configured.\n @return projectId The ID of the newly configured project."},"functionSelector":"3c2402c4","implemented":true,"kind":"function","modifiers":[],"name":"launchProjectFor","nameLocation":"3633:16:2","overrides":{"id":1746,"nodeType":"OverrideSpecifier","overrides":[],"src":"3857:8:2"},"parameters":{"id":1745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1735,"mutability":"mutable","name":"_owner","nameLocation":"3667:6:2","nodeType":"VariableDeclaration","scope":1787,"src":"3659:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1734,"name":"address","nodeType":"ElementaryTypeName","src":"3659:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1738,"mutability":"mutable","name":"_deployTiered721DelegateData","nameLocation":"3720:28:2","nodeType":"VariableDeclaration","scope":1787,"src":"3683:65:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":1737,"nodeType":"UserDefinedTypeName","pathNode":{"id":1736,"name":"JBDeployTiered721DelegateData","nameLocations":["3683:29:2"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"3683:29:2"},"referencedDeclaration":29486,"src":"3683:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":1741,"mutability":"mutable","name":"_launchProjectData","nameLocation":"3785:18:2","nodeType":"VariableDeclaration","scope":1787,"src":"3758:45:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData"},"typeName":{"id":1740,"nodeType":"UserDefinedTypeName","pathNode":{"id":1739,"name":"JBLaunchProjectData","nameLocations":["3758:19:2"],"nodeType":"IdentifierPath","referencedDeclaration":29552,"src":"3758:19:2"},"referencedDeclaration":29552,"src":"3758:19:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_storage_ptr","typeString":"struct JBLaunchProjectData"}},"visibility":"internal"},{"constant":false,"id":1744,"mutability":"mutable","name":"_controller","nameLocation":"3830:11:2","nodeType":"VariableDeclaration","scope":1787,"src":"3813:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":1743,"nodeType":"UserDefinedTypeName","pathNode":{"id":1742,"name":"IJBController3_1","nameLocations":["3813:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"3813:16:2"},"referencedDeclaration":84887,"src":"3813:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"3649:198:2"},"returnParameters":{"id":1749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1748,"mutability":"mutable","name":"projectId","nameLocation":"3883:9:2","nodeType":"VariableDeclaration","scope":1787,"src":"3875:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1747,"name":"uint256","nodeType":"ElementaryTypeName","src":"3875:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3874:19:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1843,"nodeType":"FunctionDefinition","src":"5120:895:2","nodes":[],"body":{"id":1842,"nodeType":"Block","src":"5550:465:2","nodes":[],"statements":[{"assignments":[1818],"declarations":[{"constant":false,"id":1818,"mutability":"mutable","name":"_delegate","nameLocation":"5622:9:2","nodeType":"VariableDeclaration","scope":1842,"src":"5601:30:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1817,"nodeType":"UserDefinedTypeName","pathNode":{"id":1816,"name":"IJBTiered721Delegate","nameLocations":["5601:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"5601:20:2"},"referencedDeclaration":28042,"src":"5601:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"}],"id":1824,"initialValue":{"arguments":[{"id":1821,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"5681:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1822,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1793,"src":"5693:28:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}],"expression":{"id":1819,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"5646:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"id":1820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5663:17:2","memberName":"deployDelegateFor","nodeType":"MemberAccess","referencedDeclaration":28073,"src":"5646:34:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr_$returns$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"function (uint256,struct JBDeployTiered721DelegateData memory) external returns (contract IJBTiered721Delegate)"}},"id":1823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5646:76:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"5601:121:2"},{"expression":{"arguments":[{"id":1832,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"5856:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":1828,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1818,"src":"5817:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":1827,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5809:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1826,"name":"address","nodeType":"ElementaryTypeName","src":"5809:7:2","typeDescriptions":{}}},"id":1829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5809:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1825,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"5799:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOwnable_$89080_$","typeString":"type(contract JBOwnable)"}},"id":1830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5799:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBOwnable_$89080","typeString":"contract JBOwnable"}},"id":1831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5829:26:2","memberName":"transferOwnershipToProject","nodeType":"MemberAccess","referencedDeclaration":89327,"src":"5799:56:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5799:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1834,"nodeType":"ExpressionStatement","src":"5799:68:2"},{"expression":{"arguments":[{"id":1836,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"5947:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1837,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1796,"src":"5959:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},{"id":1838,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1818,"src":"5985:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},{"id":1839,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1799,"src":"5996:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"},{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}],"id":1835,"name":"_launchFundingCyclesFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2080,"src":"5923:23:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr_$_t_contract$_IJBTiered721Delegate_$28042_$_t_contract$_IJBController3_1_$84887_$returns$_t_uint256_$","typeString":"function (uint256,struct JBLaunchFundingCyclesData memory,contract IJBTiered721Delegate,contract IJBController3_1) returns (uint256)"}},"id":1840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5923:85:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1815,"id":1841,"nodeType":"Return","src":"5916:92:2"}]},"baseFunctions":[28138],"documentation":{"id":1788,"nodeType":"StructuredDocumentation","src":"4489:626:2","text":"@notice Launches funding cycles for a project with an attached delegate.\n @dev Only a project's owner or operator can launch its funding cycles.\n @param _projectId The ID of the project for which the funding cycles will be launched.\n @param _deployTiered721DelegateData Data necessary to deploy a delegate.\n @param _launchFundingCyclesData Data necessary to launch the funding cycles for the project.\n @param _controller The controller with which the funding cycles should be configured.\n @return configuration The configuration of the funding cycle that was successfully created."},"functionSelector":"6907d436","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":1807,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"5455:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1803,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"5426:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":1804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5436:8:2","memberName":"projects","nodeType":"MemberAccess","referencedDeclaration":84958,"src":"5426:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IJBProjects_$86082_$","typeString":"function () view external returns (contract IJBProjects)"}},"id":1805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5426:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":1806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5447:7:2","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"5426:28:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":1808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5426:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1809,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1790,"src":"5468:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1810,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"5480:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":1811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5493:11:2","memberName":"RECONFIGURE","nodeType":"MemberAccess","referencedDeclaration":87562,"src":"5480:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1812,"kind":"modifierInvocation","modifierName":{"id":1802,"name":"requirePermission","nameLocations":["5408:17:2"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"5408:17:2"},"nodeType":"ModifierInvocation","src":"5408:97:2"}],"name":"launchFundingCyclesFor","nameLocation":"5129:22:2","overrides":{"id":1801,"nodeType":"OverrideSpecifier","overrides":[],"src":"5391:8:2"},"parameters":{"id":1800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1790,"mutability":"mutable","name":"_projectId","nameLocation":"5169:10:2","nodeType":"VariableDeclaration","scope":1843,"src":"5161:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1789,"name":"uint256","nodeType":"ElementaryTypeName","src":"5161:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1793,"mutability":"mutable","name":"_deployTiered721DelegateData","nameLocation":"5226:28:2","nodeType":"VariableDeclaration","scope":1843,"src":"5189:65:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":1792,"nodeType":"UserDefinedTypeName","pathNode":{"id":1791,"name":"JBDeployTiered721DelegateData","nameLocations":["5189:29:2"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"5189:29:2"},"referencedDeclaration":29486,"src":"5189:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":1796,"mutability":"mutable","name":"_launchFundingCyclesData","nameLocation":"5297:24:2","nodeType":"VariableDeclaration","scope":1843,"src":"5264:57:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData"},"typeName":{"id":1795,"nodeType":"UserDefinedTypeName","pathNode":{"id":1794,"name":"JBLaunchFundingCyclesData","nameLocations":["5264:25:2"],"nodeType":"IdentifierPath","referencedDeclaration":29517,"src":"5264:25:2"},"referencedDeclaration":29517,"src":"5264:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_storage_ptr","typeString":"struct JBLaunchFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":1799,"mutability":"mutable","name":"_controller","nameLocation":"5348:11:2","nodeType":"VariableDeclaration","scope":1843,"src":"5331:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":1798,"nodeType":"UserDefinedTypeName","pathNode":{"id":1797,"name":"IJBController3_1","nameLocations":["5331:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"5331:16:2"},"referencedDeclaration":84887,"src":"5331:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"5151:214:2"},"returnParameters":{"id":1815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1814,"mutability":"mutable","name":"configuration","nameLocation":"5531:13:2","nodeType":"VariableDeclaration","scope":1843,"src":"5523:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1813,"name":"uint256","nodeType":"ElementaryTypeName","src":"5523:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5522:23:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1899,"nodeType":"FunctionDefinition","src":"6654:923:2","nodes":[],"body":{"id":1898,"nodeType":"Block","src":"7098:479:2","nodes":[],"statements":[{"assignments":[1874],"declarations":[{"constant":false,"id":1874,"mutability":"mutable","name":"_delegate","nameLocation":"7170:9:2","nodeType":"VariableDeclaration","scope":1898,"src":"7149:30:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1873,"nodeType":"UserDefinedTypeName","pathNode":{"id":1872,"name":"IJBTiered721Delegate","nameLocations":["7149:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"7149:20:2"},"referencedDeclaration":28042,"src":"7149:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"}],"id":1880,"initialValue":{"arguments":[{"id":1877,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"7229:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1878,"name":"_deployTiered721DelegateData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1849,"src":"7241:28:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData memory"}],"expression":{"id":1875,"name":"delegateDeployer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1707,"src":"7194:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721DelegateDeployer_$28074","typeString":"contract IJBTiered721DelegateDeployer"}},"id":1876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7211:17:2","memberName":"deployDelegateFor","nodeType":"MemberAccess","referencedDeclaration":28073,"src":"7194:34:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr_$returns$_t_contract$_IJBTiered721Delegate_$28042_$","typeString":"function (uint256,struct JBDeployTiered721DelegateData memory) external returns (contract IJBTiered721Delegate)"}},"id":1879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7194:76:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"nodeType":"VariableDeclarationStatement","src":"7149:121:2"},{"expression":{"arguments":[{"id":1888,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"7404:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"arguments":[{"id":1884,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1874,"src":"7365:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":1883,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7357:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1882,"name":"address","nodeType":"ElementaryTypeName","src":"7357:7:2","typeDescriptions":{}}},"id":1885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7357:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1881,"name":"JBOwnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89080,"src":"7347:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOwnable_$89080_$","typeString":"type(contract JBOwnable)"}},"id":1886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBOwnable_$89080","typeString":"contract JBOwnable"}},"id":1887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7377:26:2","memberName":"transferOwnershipToProject","nodeType":"MemberAccess","referencedDeclaration":89327,"src":"7347:56:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7347:68:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1890,"nodeType":"ExpressionStatement","src":"7347:68:2"},{"expression":{"arguments":[{"id":1892,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"7504:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1893,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1852,"src":"7516:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},{"id":1894,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1874,"src":"7547:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},{"id":1895,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1855,"src":"7558:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"},{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}],"id":1891,"name":"_reconfigureFundingCyclesOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2168,"src":"7476:27:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr_$_t_contract$_IJBTiered721Delegate_$28042_$_t_contract$_IJBController3_1_$84887_$returns$_t_uint256_$","typeString":"function (uint256,struct JBReconfigureFundingCyclesData memory,contract IJBTiered721Delegate,contract IJBController3_1) returns (uint256)"}},"id":1896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7476:94:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1871,"id":1897,"nodeType":"Return","src":"7469:101:2"}]},"baseFunctions":[28154],"documentation":{"id":1844,"nodeType":"StructuredDocumentation","src":"6025:624:2","text":"@notice Reconfigures funding cycles for a project with an attached delegate.\n @dev Only a project's owner or operator can configure its funding cycles.\n @param _projectId The ID of the project for which funding cycles are being reconfigured.\n @param _deployTiered721DelegateData Data necessary to deploy a delegate.\n @param _reconfigureFundingCyclesData Data necessary to reconfigure the funding cycle.\n @param _controller The controller with which the funding cycles should be configured.\n @return configuration The configuration of the successfully reconfigured funding cycle."},"functionSelector":"aac68198","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":1863,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"7003:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":1859,"name":"directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1702,"src":"6974:9:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"id":1860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6984:8:2","memberName":"projects","nodeType":"MemberAccess","referencedDeclaration":84958,"src":"6974:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_contract$_IJBProjects_$86082_$","typeString":"function () view external returns (contract IJBProjects)"}},"id":1861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6974:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":1862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6995:7:2","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"6974:28:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":1864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6974:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1865,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1846,"src":"7016:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1866,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"7028:12:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":1867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7041:11:2","memberName":"RECONFIGURE","nodeType":"MemberAccess","referencedDeclaration":87562,"src":"7028:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1868,"kind":"modifierInvocation","modifierName":{"id":1858,"name":"requirePermission","nameLocations":["6956:17:2"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"6956:17:2"},"nodeType":"ModifierInvocation","src":"6956:97:2"}],"name":"reconfigureFundingCyclesOf","nameLocation":"6663:26:2","overrides":{"id":1857,"nodeType":"OverrideSpecifier","overrides":[],"src":"6939:8:2"},"parameters":{"id":1856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1846,"mutability":"mutable","name":"_projectId","nameLocation":"6707:10:2","nodeType":"VariableDeclaration","scope":1899,"src":"6699:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1845,"name":"uint256","nodeType":"ElementaryTypeName","src":"6699:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1849,"mutability":"mutable","name":"_deployTiered721DelegateData","nameLocation":"6764:28:2","nodeType":"VariableDeclaration","scope":1899,"src":"6727:65:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_memory_ptr","typeString":"struct JBDeployTiered721DelegateData"},"typeName":{"id":1848,"nodeType":"UserDefinedTypeName","pathNode":{"id":1847,"name":"JBDeployTiered721DelegateData","nameLocations":["6727:29:2"],"nodeType":"IdentifierPath","referencedDeclaration":29486,"src":"6727:29:2"},"referencedDeclaration":29486,"src":"6727:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBDeployTiered721DelegateData_$29486_storage_ptr","typeString":"struct JBDeployTiered721DelegateData"}},"visibility":"internal"},{"constant":false,"id":1852,"mutability":"mutable","name":"_reconfigureFundingCyclesData","nameLocation":"6840:29:2","nodeType":"VariableDeclaration","scope":1899,"src":"6802:67:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData"},"typeName":{"id":1851,"nodeType":"UserDefinedTypeName","pathNode":{"id":1850,"name":"JBReconfigureFundingCyclesData","nameLocations":["6802:30:2"],"nodeType":"IdentifierPath","referencedDeclaration":29616,"src":"6802:30:2"},"referencedDeclaration":29616,"src":"6802:30:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_storage_ptr","typeString":"struct JBReconfigureFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":1855,"mutability":"mutable","name":"_controller","nameLocation":"6896:11:2","nodeType":"VariableDeclaration","scope":1899,"src":"6879:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":1854,"nodeType":"UserDefinedTypeName","pathNode":{"id":1853,"name":"IJBController3_1","nameLocations":["6879:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"6879:16:2"},"referencedDeclaration":84887,"src":"6879:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"6689:224:2"},"returnParameters":{"id":1871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1870,"mutability":"mutable","name":"configuration","nameLocation":"7079:13:2","nodeType":"VariableDeclaration","scope":1899,"src":"7071:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1869,"name":"uint256","nodeType":"ElementaryTypeName","src":"7071:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7070:23:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1990,"nodeType":"FunctionDefinition","src":"8154:2188:2","nodes":[],"body":{"id":1989,"nodeType":"Block","src":"8355:1987:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1917,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1902,"src":"8407:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":1918,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8427:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1919,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8446:15:2","memberName":"projectMetadata","nodeType":"MemberAccess","referencedDeclaration":29529,"src":"8427:34:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_memory_ptr","typeString":"struct JBProjectMetadata memory"}},{"expression":{"id":1920,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8475:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8494:4:2","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":29532,"src":"8475:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"}},{"arguments":[{"expression":{"expression":{"id":1923,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8561:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1924,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8580:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8561:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8589:6:2","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":29559,"src":"8561:34:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},{"expression":{"expression":{"id":1926,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8627:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1927,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8646:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8627:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1928,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8655:12:2","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29561,"src":"8627:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1929,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8701:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1930,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8720:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8701:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8729:14:2","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":29563,"src":"8701:42:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1932,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8783:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8802:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8783:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1934,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8811:20:2","memberName":"ballotRedemptionRate","nodeType":"MemberAccess","referencedDeclaration":29565,"src":"8783:48:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":1935,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8859:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1936,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8878:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8859:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1937,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8887:8:2","memberName":"pausePay","nodeType":"MemberAccess","referencedDeclaration":29567,"src":"8859:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1938,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"8933:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1939,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8952:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"8933:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1940,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8961:18:2","memberName":"pauseDistributions","nodeType":"MemberAccess","referencedDeclaration":29569,"src":"8933:46:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1941,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9010:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9029:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9010:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1943,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9038:11:2","memberName":"pauseRedeem","nodeType":"MemberAccess","referencedDeclaration":29571,"src":"9010:39:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1944,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9078:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1945,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9097:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9078:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1946,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9106:9:2","memberName":"pauseBurn","nodeType":"MemberAccess","referencedDeclaration":29573,"src":"9078:37:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1947,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9147:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9166:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9147:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1949,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9175:12:2","memberName":"allowMinting","nodeType":"MemberAccess","referencedDeclaration":29575,"src":"9147:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1950,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9229:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1951,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9248:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9229:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1952,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9257:22:2","memberName":"allowTerminalMigration","nodeType":"MemberAccess","referencedDeclaration":29577,"src":"9229:50:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1953,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9323:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1954,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9342:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9323:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1955,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9351:24:2","memberName":"allowControllerMigration","nodeType":"MemberAccess","referencedDeclaration":29579,"src":"9323:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1956,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9403:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9422:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9403:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1958,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9431:8:2","memberName":"holdFees","nodeType":"MemberAccess","referencedDeclaration":29581,"src":"9403:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1959,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9485:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1960,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9504:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9485:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1961,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9513:26:2","memberName":"preferClaimedTokenOverride","nodeType":"MemberAccess","referencedDeclaration":29583,"src":"9485:54:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":1962,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9589:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9608:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9589:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9617:30:2","memberName":"useTotalOverflowForRedemptions","nodeType":"MemberAccess","referencedDeclaration":29585,"src":"9589:58:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":1965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9766:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"expression":{"id":1966,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"9812:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1967,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9831:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"9812:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1968,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9840:22:2","memberName":"useDataSourceForRedeem","nodeType":"MemberAccess","referencedDeclaration":29587,"src":"9812:50:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":1971,"name":"_dataSource","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1908,"src":"10004:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":1970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9996:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1969,"name":"address","nodeType":"ElementaryTypeName","src":"9996:7:2","typeDescriptions":{}}},"id":1972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9996:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":1973,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10044:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1974,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10063:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29535,"src":"10044:27:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":1975,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10072:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29589,"src":"10044:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1922,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"8512:22:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycleMetadata_$87859_storage_ptr_$","typeString":"type(struct JBFundingCycleMetadata storage pointer)"}},"id":1976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8553:6:2","8613:12:2","8685:14:2","8761:20:2","8849:8:2","8913:18:2","8997:11:2","9067:9:2","9133:12:2","9205:22:2","9297:24:2","9393:8:2","9457:26:2","9557:30:2","9745:19:2","9788:22:2","9984:10:2","10034:8:2"],"names":["global","reservedRate","redemptionRate","ballotRedemptionRate","pausePay","pauseDistributions","pauseRedeem","pauseBurn","allowMinting","allowTerminalMigration","allowControllerMigration","holdFees","preferClaimedTokenOverride","useTotalOverflowForRedemptions","useDataSourceForPay","useDataSourceForRedeem","dataSource","metadata"],"nodeType":"FunctionCall","src":"8512:1583:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},{"expression":{"id":1977,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10109:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10128:18:2","memberName":"mustStartAtOrAfter","nodeType":"MemberAccess","referencedDeclaration":29537,"src":"10109:37:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1979,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10160:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10179:13:2","memberName":"groupedSplits","nodeType":"MemberAccess","referencedDeclaration":29541,"src":"10160:32:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"}},{"expression":{"id":1981,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10206:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1982,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10225:21:2","memberName":"fundAccessConstraints","nodeType":"MemberAccess","referencedDeclaration":29545,"src":"10206:40:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"}},{"expression":{"id":1983,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10260:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1984,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10279:9:2","memberName":"terminals","nodeType":"MemberAccess","referencedDeclaration":29549,"src":"10260:28:2","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[] memory"}},{"expression":{"id":1985,"name":"_launchProjectData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"10302:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData memory"}},"id":1986,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10321:4:2","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":29551,"src":"10302:23:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_memory_ptr","typeString":"struct JBProjectMetadata memory"},{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"},{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"},{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":1914,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1911,"src":"8365:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"id":1916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8377:16:2","memberName":"launchProjectFor","nodeType":"MemberAccess","referencedDeclaration":84785,"src":"8365:28:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_struct$_JBProjectMetadata_$87943_memory_ptr_$_t_struct$_JBFundingCycleData_$87816_memory_ptr_$_t_struct$_JBFundingCycleMetadata_$87859_memory_ptr_$_t_uint256_$_t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,struct JBProjectMetadata memory,struct JBFundingCycleData memory,struct JBFundingCycleMetadata memory,uint256,struct JBGroupedSplits memory[] memory,struct JBFundAccessConstraints memory[] memory,contract IJBPaymentTerminal[] memory,string memory) external returns (uint256)"}},"id":1987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8365:1970:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1988,"nodeType":"ExpressionStatement","src":"8365:1970:2"}]},"documentation":{"id":1900,"nodeType":"StructuredDocumentation","src":"7818:331:2","text":"@notice Launches a project.\n @param _owner The address to set as the project's owner.\n @param _launchProjectData Data needed to launch the project.\n @param _dataSource The data source to set for the project.\n @param _controller The controller to be used for configuring the project's funding cycles."},"implemented":true,"kind":"function","modifiers":[],"name":"_launchProjectFor","nameLocation":"8163:17:2","parameters":{"id":1912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1902,"mutability":"mutable","name":"_owner","nameLocation":"8198:6:2","nodeType":"VariableDeclaration","scope":1990,"src":"8190:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1901,"name":"address","nodeType":"ElementaryTypeName","src":"8190:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1905,"mutability":"mutable","name":"_launchProjectData","nameLocation":"8241:18:2","nodeType":"VariableDeclaration","scope":1990,"src":"8214:45:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_memory_ptr","typeString":"struct JBLaunchProjectData"},"typeName":{"id":1904,"nodeType":"UserDefinedTypeName","pathNode":{"id":1903,"name":"JBLaunchProjectData","nameLocations":["8214:19:2"],"nodeType":"IdentifierPath","referencedDeclaration":29552,"src":"8214:19:2"},"referencedDeclaration":29552,"src":"8214:19:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchProjectData_$29552_storage_ptr","typeString":"struct JBLaunchProjectData"}},"visibility":"internal"},{"constant":false,"id":1908,"mutability":"mutable","name":"_dataSource","nameLocation":"8290:11:2","nodeType":"VariableDeclaration","scope":1990,"src":"8269:32:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1907,"nodeType":"UserDefinedTypeName","pathNode":{"id":1906,"name":"IJBTiered721Delegate","nameLocations":["8269:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"8269:20:2"},"referencedDeclaration":28042,"src":"8269:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"},{"constant":false,"id":1911,"mutability":"mutable","name":"_controller","nameLocation":"8328:11:2","nodeType":"VariableDeclaration","scope":1990,"src":"8311:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":1910,"nodeType":"UserDefinedTypeName","pathNode":{"id":1909,"name":"IJBController3_1","nameLocations":["8311:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"8311:16:2"},"referencedDeclaration":84887,"src":"8311:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"8180:165:2"},"returnParameters":{"id":1913,"nodeType":"ParameterList","parameters":[],"src":"8355:0:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2080,"nodeType":"FunctionDefinition","src":"10834:2314:2","nodes":[],"body":{"id":2079,"nodeType":"Block","src":"11075:2073:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2009,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1993,"src":"11140:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":2010,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11164:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2011,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11189:4:2","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":29497,"src":"11164:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"}},{"arguments":[{"expression":{"expression":{"id":2013,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11256:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2014,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11281:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11256:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11290:6:2","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":29559,"src":"11256:40:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},{"expression":{"expression":{"id":2016,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11328:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2017,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11353:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11328:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2018,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11362:12:2","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29561,"src":"11328:46:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2019,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11408:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11433:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11408:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2021,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11442:14:2","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":29563,"src":"11408:48:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2022,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11496:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2023,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11521:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11496:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2024,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11530:20:2","memberName":"ballotRedemptionRate","nodeType":"MemberAccess","referencedDeclaration":29565,"src":"11496:54:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2025,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11578:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2026,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11603:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11578:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2027,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11612:8:2","memberName":"pausePay","nodeType":"MemberAccess","referencedDeclaration":29567,"src":"11578:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2028,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11658:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11683:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11658:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2030,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11692:18:2","memberName":"pauseDistributions","nodeType":"MemberAccess","referencedDeclaration":29569,"src":"11658:52:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2031,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11741:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2032,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11766:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11741:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11775:11:2","memberName":"pauseRedeem","nodeType":"MemberAccess","referencedDeclaration":29571,"src":"11741:45:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2034,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11815:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2035,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11840:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11815:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11849:9:2","memberName":"pauseBurn","nodeType":"MemberAccess","referencedDeclaration":29573,"src":"11815:43:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2037,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11890:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2038,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11915:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11890:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2039,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11924:12:2","memberName":"allowMinting","nodeType":"MemberAccess","referencedDeclaration":29575,"src":"11890:46:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2040,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"11978:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2041,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12003:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"11978:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2042,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12012:22:2","memberName":"allowTerminalMigration","nodeType":"MemberAccess","referencedDeclaration":29577,"src":"11978:56:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2043,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12078:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2044,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12103:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12078:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2045,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12112:24:2","memberName":"allowControllerMigration","nodeType":"MemberAccess","referencedDeclaration":29579,"src":"12078:58:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2046,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12164:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2047,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12189:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12164:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2048,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12198:8:2","memberName":"holdFees","nodeType":"MemberAccess","referencedDeclaration":29581,"src":"12164:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2049,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12252:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2050,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12277:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12252:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2051,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12286:26:2","memberName":"preferClaimedTokenOverride","nodeType":"MemberAccess","referencedDeclaration":29583,"src":"12252:60:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2052,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12362:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2053,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12387:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12362:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12396:30:2","memberName":"useTotalOverflowForRedemptions","nodeType":"MemberAccess","referencedDeclaration":29585,"src":"12362:64:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":2055,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12545:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"expression":{"id":2056,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12591:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12616:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12591:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12625:22:2","memberName":"useDataSourceForRedeem","nodeType":"MemberAccess","referencedDeclaration":29587,"src":"12591:56:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":2061,"name":"_dataSource","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1999,"src":"12774:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":2060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12766:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2059,"name":"address","nodeType":"ElementaryTypeName","src":"12766:7:2","typeDescriptions":{}}},"id":2062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12766:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":2063,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12814:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2064,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12839:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29500,"src":"12814:33:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2065,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12848:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29589,"src":"12814:42:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2012,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"11207:22:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycleMetadata_$87859_storage_ptr_$","typeString":"type(struct JBFundingCycleMetadata storage pointer)"}},"id":2066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["11248:6:2","11314:12:2","11392:14:2","11474:20:2","11568:8:2","11638:18:2","11728:11:2","11804:9:2","11876:12:2","11954:22:2","12052:24:2","12154:8:2","12224:26:2","12330:30:2","12524:19:2","12567:22:2","12754:10:2","12804:8:2"],"names":["global","reservedRate","redemptionRate","ballotRedemptionRate","pausePay","pauseDistributions","pauseRedeem","pauseBurn","allowMinting","allowTerminalMigration","allowControllerMigration","holdFees","preferClaimedTokenOverride","useTotalOverflowForRedemptions","useDataSourceForPay","useDataSourceForRedeem","dataSource","metadata"],"nodeType":"FunctionCall","src":"11207:1664:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},{"expression":{"id":2067,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12885:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2068,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12910:18:2","memberName":"mustStartAtOrAfter","nodeType":"MemberAccess","referencedDeclaration":29502,"src":"12885:43:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":2069,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12942:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2070,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12967:13:2","memberName":"groupedSplits","nodeType":"MemberAccess","referencedDeclaration":29506,"src":"12942:38:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"}},{"expression":{"id":2071,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"12994:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13019:21:2","memberName":"fundAccessConstraints","nodeType":"MemberAccess","referencedDeclaration":29510,"src":"12994:46:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"}},{"expression":{"id":2073,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"13054:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2074,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13079:9:2","memberName":"terminals","nodeType":"MemberAccess","referencedDeclaration":29514,"src":"13054:34:2","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[] memory"}},{"expression":{"id":2075,"name":"_launchFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1996,"src":"13102:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData memory"}},"id":2076,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13127:4:2","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":29516,"src":"13102:29:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"},{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"},{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr","typeString":"contract IJBPaymentTerminal[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2007,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2002,"src":"11092:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"id":2008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11104:22:2","memberName":"launchFundingCyclesFor","nodeType":"MemberAccess","referencedDeclaration":84814,"src":"11092:34:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_struct$_JBFundingCycleData_$87816_memory_ptr_$_t_struct$_JBFundingCycleMetadata_$87859_memory_ptr_$_t_uint256_$_t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr_$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct JBFundingCycleData memory,struct JBFundingCycleMetadata memory,uint256,struct JBGroupedSplits memory[] memory,struct JBFundAccessConstraints memory[] memory,contract IJBPaymentTerminal[] memory,string memory) external returns (uint256)"}},"id":2077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11092:2049:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2006,"id":2078,"nodeType":"Return","src":"11085:2056:2"}]},"documentation":{"id":1991,"nodeType":"StructuredDocumentation","src":"10348:481:2","text":"@notice Launches a funding cycle for a project.\n @param _projectId The project ID to launch a funding cycle for.\n @param _launchFundingCyclesData Data necessary to launch a funding cycle for the project.\n @param _dataSource The data source to be set for the project.\n @param _controller The controller to configure the project's funding cycles with.\n @return configuration The configuration of the funding cycle that was successfully created."},"implemented":true,"kind":"function","modifiers":[],"name":"_launchFundingCyclesFor","nameLocation":"10843:23:2","parameters":{"id":2003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1993,"mutability":"mutable","name":"_projectId","nameLocation":"10884:10:2","nodeType":"VariableDeclaration","scope":2080,"src":"10876:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1992,"name":"uint256","nodeType":"ElementaryTypeName","src":"10876:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1996,"mutability":"mutable","name":"_launchFundingCyclesData","nameLocation":"10937:24:2","nodeType":"VariableDeclaration","scope":2080,"src":"10904:57:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_memory_ptr","typeString":"struct JBLaunchFundingCyclesData"},"typeName":{"id":1995,"nodeType":"UserDefinedTypeName","pathNode":{"id":1994,"name":"JBLaunchFundingCyclesData","nameLocations":["10904:25:2"],"nodeType":"IdentifierPath","referencedDeclaration":29517,"src":"10904:25:2"},"referencedDeclaration":29517,"src":"10904:25:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBLaunchFundingCyclesData_$29517_storage_ptr","typeString":"struct JBLaunchFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":1999,"mutability":"mutable","name":"_dataSource","nameLocation":"10992:11:2","nodeType":"VariableDeclaration","scope":2080,"src":"10971:32:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":1998,"nodeType":"UserDefinedTypeName","pathNode":{"id":1997,"name":"IJBTiered721Delegate","nameLocations":["10971:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"10971:20:2"},"referencedDeclaration":28042,"src":"10971:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"},{"constant":false,"id":2002,"mutability":"mutable","name":"_controller","nameLocation":"11030:11:2","nodeType":"VariableDeclaration","scope":2080,"src":"11013:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":2001,"nodeType":"UserDefinedTypeName","pathNode":{"id":2000,"name":"IJBController3_1","nameLocations":["11013:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"11013:16:2"},"referencedDeclaration":84887,"src":"11013:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"10866:181:2"},"returnParameters":{"id":2006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2080,"src":"11066:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2004,"name":"uint256","nodeType":"ElementaryTypeName","src":"11066:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11065:9:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":2168,"nodeType":"FunctionDefinition","src":"13669:2389:2","nodes":[],"body":{"id":2167,"nodeType":"Block","src":"13924:2134:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":2099,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2083,"src":"13993:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":2100,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14017:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2101,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14047:4:2","memberName":"data","nodeType":"MemberAccess","referencedDeclaration":29600,"src":"14017:34:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"}},{"arguments":[{"expression":{"expression":{"id":2103,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14114:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2104,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14144:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14114:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2105,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14153:6:2","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":29559,"src":"14114:45:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},{"expression":{"expression":{"id":2106,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14191:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14221:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14191:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2108,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14230:12:2","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29561,"src":"14191:51:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2109,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14276:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2110,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14306:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14276:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2111,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14315:14:2","memberName":"redemptionRate","nodeType":"MemberAccess","referencedDeclaration":29563,"src":"14276:53:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2112,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14369:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2113,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14399:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14369:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14408:20:2","memberName":"ballotRedemptionRate","nodeType":"MemberAccess","referencedDeclaration":29565,"src":"14369:59:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"expression":{"id":2115,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14456:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14486:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14456:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14495:8:2","memberName":"pausePay","nodeType":"MemberAccess","referencedDeclaration":29567,"src":"14456:47:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2118,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14541:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14571:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14541:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14580:18:2","memberName":"pauseDistributions","nodeType":"MemberAccess","referencedDeclaration":29569,"src":"14541:57:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2121,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14629:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2122,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14659:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14629:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14668:11:2","memberName":"pauseRedeem","nodeType":"MemberAccess","referencedDeclaration":29571,"src":"14629:50:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2124,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14708:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2125,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14738:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14708:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14747:9:2","memberName":"pauseBurn","nodeType":"MemberAccess","referencedDeclaration":29573,"src":"14708:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2127,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14788:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2128,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14818:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14788:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14827:12:2","memberName":"allowMinting","nodeType":"MemberAccess","referencedDeclaration":29575,"src":"14788:51:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2130,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14881:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14911:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14881:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14920:22:2","memberName":"allowTerminalMigration","nodeType":"MemberAccess","referencedDeclaration":29577,"src":"14881:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2133,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"14986:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15016:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"14986:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2135,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15025:24:2","memberName":"allowControllerMigration","nodeType":"MemberAccess","referencedDeclaration":29579,"src":"14986:63:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2136,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15077:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15107:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"15077:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2138,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15116:8:2","memberName":"holdFees","nodeType":"MemberAccess","referencedDeclaration":29581,"src":"15077:47:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2139,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15170:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15200:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"15170:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15209:26:2","memberName":"preferClaimedTokenOverride","nodeType":"MemberAccess","referencedDeclaration":29583,"src":"15170:65:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"expression":{"id":2142,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15285:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2143,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15315:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"15285:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2144,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15324:30:2","memberName":"useTotalOverflowForRedemptions","nodeType":"MemberAccess","referencedDeclaration":29585,"src":"15285:69:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"74727565","id":2145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15473:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"expression":{"expression":{"id":2146,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15519:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2147,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15549:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"15519:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2148,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15558:22:2","memberName":"useDataSourceForRedeem","nodeType":"MemberAccess","referencedDeclaration":29587,"src":"15519:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":2151,"name":"_dataSource","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2089,"src":"15707:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}],"id":2150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15699:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2149,"name":"address","nodeType":"ElementaryTypeName","src":"15699:7:2","typeDescriptions":{}}},"id":2152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15699:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":2153,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15747:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2154,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15777:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29603,"src":"15747:38:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"id":2155,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15786:8:2","memberName":"metadata","nodeType":"MemberAccess","referencedDeclaration":29589,"src":"15747:47:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2102,"name":"JBFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87859,"src":"14065:22:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycleMetadata_$87859_storage_ptr_$","typeString":"type(struct JBFundingCycleMetadata storage pointer)"}},"id":2156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["14106:6:2","14177:12:2","14260:14:2","14347:20:2","14446:8:2","14521:18:2","14616:11:2","14697:9:2","14774:12:2","14857:22:2","14960:24:2","15067:8:2","15142:26:2","15253:30:2","15452:19:2","15495:22:2","15687:10:2","15737:8:2"],"names":["global","reservedRate","redemptionRate","ballotRedemptionRate","pausePay","pauseDistributions","pauseRedeem","pauseBurn","allowMinting","allowTerminalMigration","allowControllerMigration","holdFees","preferClaimedTokenOverride","useTotalOverflowForRedemptions","useDataSourceForPay","useDataSourceForRedeem","dataSource","metadata"],"nodeType":"FunctionCall","src":"14065:1744:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"}},{"expression":{"id":2157,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15823:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2158,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15853:18:2","memberName":"mustStartAtOrAfter","nodeType":"MemberAccess","referencedDeclaration":29605,"src":"15823:48:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":2159,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15885:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2160,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15915:13:2","memberName":"groupedSplits","nodeType":"MemberAccess","referencedDeclaration":29609,"src":"15885:43:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"}},{"expression":{"id":2161,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"15942:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2162,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15972:21:2","memberName":"fundAccessConstraints","nodeType":"MemberAccess","referencedDeclaration":29613,"src":"15942:51:2","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"}},{"expression":{"id":2163,"name":"_reconfigureFundingCyclesData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2086,"src":"16007:29:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData memory"}},"id":2164,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16037:4:2","memberName":"memo","nodeType":"MemberAccess","referencedDeclaration":29615,"src":"16007:34:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"},{"typeIdentifier":"t_struct$_JBFundingCycleMetadata_$87859_memory_ptr","typeString":"struct JBFundingCycleMetadata memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr","typeString":"struct JBGroupedSplits memory[] memory"},{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr","typeString":"struct JBFundAccessConstraints memory[] memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":2097,"name":"_controller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2092,"src":"13941:11:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"id":2098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13953:26:2","memberName":"reconfigureFundingCyclesOf","nodeType":"MemberAccess","referencedDeclaration":84839,"src":"13941:38:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_struct$_JBFundingCycleData_$87816_memory_ptr_$_t_struct$_JBFundingCycleMetadata_$87859_memory_ptr_$_t_uint256_$_t_array$_t_struct$_JBGroupedSplits_$87881_memory_ptr_$dyn_memory_ptr_$_t_array$_t_struct$_JBFundAccessConstraints_$87776_memory_ptr_$dyn_memory_ptr_$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,struct JBFundingCycleData memory,struct JBFundingCycleMetadata memory,uint256,struct JBGroupedSplits memory[] memory,struct JBFundAccessConstraints memory[] memory,string memory) external returns (uint256)"}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13941:2110:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2096,"id":2166,"nodeType":"Return","src":"13934:2117:2"}]},"documentation":{"id":2081,"nodeType":"StructuredDocumentation","src":"13154:510:2","text":"@notice Reconfigure funding cycles for a project.\n @param _projectId The ID of the project for which the funding cycles are being reconfigured.\n @param _reconfigureFundingCyclesData Data necessary to reconfigure the project's funding cycles.\n @param _dataSource The data source to be set for the project.\n @param _controller The controller to be used for configuring the project's funding cycles.\n @return The configuration of the successfully reconfigured funding cycle."},"implemented":true,"kind":"function","modifiers":[],"name":"_reconfigureFundingCyclesOf","nameLocation":"13678:27:2","parameters":{"id":2093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2083,"mutability":"mutable","name":"_projectId","nameLocation":"13723:10:2","nodeType":"VariableDeclaration","scope":2168,"src":"13715:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2082,"name":"uint256","nodeType":"ElementaryTypeName","src":"13715:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2086,"mutability":"mutable","name":"_reconfigureFundingCyclesData","nameLocation":"13781:29:2","nodeType":"VariableDeclaration","scope":2168,"src":"13743:67:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_memory_ptr","typeString":"struct JBReconfigureFundingCyclesData"},"typeName":{"id":2085,"nodeType":"UserDefinedTypeName","pathNode":{"id":2084,"name":"JBReconfigureFundingCyclesData","nameLocations":["13743:30:2"],"nodeType":"IdentifierPath","referencedDeclaration":29616,"src":"13743:30:2"},"referencedDeclaration":29616,"src":"13743:30:2","typeDescriptions":{"typeIdentifier":"t_struct$_JBReconfigureFundingCyclesData_$29616_storage_ptr","typeString":"struct JBReconfigureFundingCyclesData"}},"visibility":"internal"},{"constant":false,"id":2089,"mutability":"mutable","name":"_dataSource","nameLocation":"13841:11:2","nodeType":"VariableDeclaration","scope":2168,"src":"13820:32:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"},"typeName":{"id":2088,"nodeType":"UserDefinedTypeName","pathNode":{"id":2087,"name":"IJBTiered721Delegate","nameLocations":["13820:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":28042,"src":"13820:20:2"},"referencedDeclaration":28042,"src":"13820:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBTiered721Delegate_$28042","typeString":"contract IJBTiered721Delegate"}},"visibility":"internal"},{"constant":false,"id":2092,"mutability":"mutable","name":"_controller","nameLocation":"13879:11:2","nodeType":"VariableDeclaration","scope":2168,"src":"13862:28:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"},"typeName":{"id":2091,"nodeType":"UserDefinedTypeName","pathNode":{"id":2090,"name":"IJBController3_1","nameLocations":["13862:16:2"],"nodeType":"IdentifierPath","referencedDeclaration":84887,"src":"13862:16:2"},"referencedDeclaration":84887,"src":"13862:16:2","typeDescriptions":{"typeIdentifier":"t_contract$_IJBController3_1_$84887","typeString":"contract IJBController3_1"}},"visibility":"internal"}],"src":"13705:191:2"},"returnParameters":{"id":2096,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2095,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2168,"src":"13915:7:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2094,"name":"uint256","nodeType":"ElementaryTypeName","src":"13915:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13914:9:2"},"scope":2169,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":1694,"name":"JBOperatable","nameLocations":["1596:12:2"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"1596:12:2"},"id":1695,"nodeType":"InheritanceSpecifier","src":"1596:12:2"},{"baseName":{"id":1696,"name":"IJBTiered721DelegateProjectDeployer","nameLocations":["1610:35:2"],"nodeType":"IdentifierPath","referencedDeclaration":28155,"src":"1610:35:2"},"id":1697,"nodeType":"InheritanceSpecifier","src":"1610:35:2"}],"canonicalName":"JBTiered721DelegateProjectDeployer","contractDependencies":[],"contractKind":"contract","documentation":{"id":1693,"nodeType":"StructuredDocumentation","src":"1409:140:2","text":"@title JBTiered721DelegateProjectDeployer\n @notice Deploys a project with an associated tiered 721 delegate.\n @custom:version 3.3"},"fullyImplemented":true,"linearizedBaseContracts":[2169,28155,80910,85331],"name":"JBTiered721DelegateProjectDeployer","nameLocation":"1558:34:2","scope":2170,"usedErrors":[80772],"usedEvents":[]}],"license":"MIT"},"id":2} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_delegateDeployer","type":"address","internalType":"contract IJBTiered721DelegateDeployer"},{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegateDeployer","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBTiered721DelegateDeployer"}],"stateMutability":"view"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"launchFundingCyclesFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_launchFundingCyclesData","type":"tuple","internalType":"struct JBLaunchFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"launchProjectFor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_launchProjectData","type":"tuple","internalType":"struct JBLaunchProjectData","components":[{"name":"projectMetadata","type":"tuple","internalType":"struct JBProjectMetadata","components":[{"name":"content","type":"string","internalType":"string"},{"name":"domain","type":"uint256","internalType":"uint256"}]},{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"terminals","type":"address[]","internalType":"contract IJBPaymentTerminal[]"},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"reconfigureFundingCyclesOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_deployTiered721DelegateData","type":"tuple","internalType":"struct JBDeployTiered721DelegateData","components":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"},{"name":"baseUri","type":"string","internalType":"string"},{"name":"tokenUriResolver","type":"address","internalType":"contract IJB721TokenUriResolver"},{"name":"contractUri","type":"string","internalType":"string"},{"name":"pricing","type":"tuple","internalType":"struct JB721PricingParams","components":[{"name":"tiers","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]},{"name":"currency","type":"uint48","internalType":"uint48"},{"name":"decimals","type":"uint48","internalType":"uint48"},{"name":"prices","type":"address","internalType":"contract IJBPrices"}]},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"store","type":"address","internalType":"contract IJBTiered721DelegateStore"},{"name":"flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]},{"name":"governanceType","type":"uint8","internalType":"enum JB721GovernanceType"}]},{"name":"_reconfigureFundingCyclesData","type":"tuple","internalType":"struct JBReconfigureFundingCyclesData","components":[{"name":"data","type":"tuple","internalType":"struct JBFundingCycleData","components":[{"name":"duration","type":"uint256","internalType":"uint256"},{"name":"weight","type":"uint256","internalType":"uint256"},{"name":"discountRate","type":"uint256","internalType":"uint256"},{"name":"ballot","type":"address","internalType":"contract IJBFundingCycleBallot"}]},{"name":"metadata","type":"tuple","internalType":"struct JBPayDataSourceFundingCycleMetadata","components":[{"name":"global","type":"tuple","internalType":"struct JBGlobalFundingCycleMetadata","components":[{"name":"allowSetTerminals","type":"bool","internalType":"bool"},{"name":"allowSetController","type":"bool","internalType":"bool"},{"name":"pauseTransfers","type":"bool","internalType":"bool"}]},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"redemptionRate","type":"uint256","internalType":"uint256"},{"name":"ballotRedemptionRate","type":"uint256","internalType":"uint256"},{"name":"pausePay","type":"bool","internalType":"bool"},{"name":"pauseDistributions","type":"bool","internalType":"bool"},{"name":"pauseRedeem","type":"bool","internalType":"bool"},{"name":"pauseBurn","type":"bool","internalType":"bool"},{"name":"allowMinting","type":"bool","internalType":"bool"},{"name":"allowTerminalMigration","type":"bool","internalType":"bool"},{"name":"allowControllerMigration","type":"bool","internalType":"bool"},{"name":"holdFees","type":"bool","internalType":"bool"},{"name":"preferClaimedTokenOverride","type":"bool","internalType":"bool"},{"name":"useTotalOverflowForRedemptions","type":"bool","internalType":"bool"},{"name":"useDataSourceForRedeem","type":"bool","internalType":"bool"},{"name":"metadata","type":"uint256","internalType":"uint256"}]},{"name":"mustStartAtOrAfter","type":"uint256","internalType":"uint256"},{"name":"groupedSplits","type":"tuple[]","internalType":"struct JBGroupedSplits[]","components":[{"name":"group","type":"uint256","internalType":"uint256"},{"name":"splits","type":"tuple[]","internalType":"struct JBSplit[]","components":[{"name":"preferClaimed","type":"bool","internalType":"bool"},{"name":"preferAddToBalance","type":"bool","internalType":"bool"},{"name":"percent","type":"uint256","internalType":"uint256"},{"name":"projectId","type":"uint256","internalType":"uint256"},{"name":"beneficiary","type":"address","internalType":"address payable"},{"name":"lockedUntil","type":"uint256","internalType":"uint256"},{"name":"allocator","type":"address","internalType":"contract IJBSplitAllocator"}]}]},{"name":"fundAccessConstraints","type":"tuple[]","internalType":"struct JBFundAccessConstraints[]","components":[{"name":"terminal","type":"address","internalType":"contract IJBPaymentTerminal"},{"name":"token","type":"address","internalType":"address"},{"name":"distributionLimit","type":"uint256","internalType":"uint256"},{"name":"distributionLimitCurrency","type":"uint256","internalType":"uint256"},{"name":"overflowAllowance","type":"uint256","internalType":"uint256"},{"name":"overflowAllowanceCurrency","type":"uint256","internalType":"uint256"}]},{"name":"memo","type":"string","internalType":"string"}]},{"name":"_controller","type":"address","internalType":"contract IJBController3_1"}],"outputs":[{"name":"configuration","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x60e06040523480156200001157600080fd5b50604051620025c7380380620025c783398101604081905262000034916200006b565b6001600160a01b0390811660805291821660a0521660c052620000bf565b6001600160a01b03811681146200006857600080fd5b50565b6000806000606084860312156200008157600080fd5b83516200008e8162000052565b6020850151909350620000a18162000052565b6040850151909250620000b48162000052565b809150509250925092565b60805160a05160c0516124a2620001256000396000818160a50152818161023601528181610450015261065a01526000818161011e015281816101440152818161033a015261054401526000818160f70152818161091601526109bd01526124a26000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033","sourceMap":"1549:14511:2:-:0;;;2607:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2599:30:81;;;;;2794:22:2;;::::1;;::::0;2826:36:::1;;::::0;1549:14511;;14:145:197;-1:-1:-1;;;;;103:31:197;;93:42;;83:70;;149:1;146;139:12;83:70;14:145;:::o;164:647::-;338:6;346;354;407:2;395:9;386:7;382:23;378:32;375:52;;;423:1;420;413:12;375:52;455:9;449:16;474:45;513:5;474:45;:::i;:::-;588:2;573:18;;567:25;538:5;;-1:-1:-1;601:47:197;567:25;601:47;:::i;:::-;719:2;704:18;;698:25;667:7;;-1:-1:-1;732:47:197;698:25;732:47;:::i;:::-;798:7;788:17;;;164:647;;;;;:::o;:::-;1549:14511:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c80633c2402c4146100675780636907d4361461008d5780638f3d964b146100a0578063aac68198146100df578063ad007d63146100f2578063c41c2f2414610119575b600080fd5b61007a610075366004611834565b610140565b6040519081526020015b60405180910390f35b61007a61009b3660046119ad565b610336565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610084565b61007a6100ed366004611aee565b610540565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b6100c77f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c49190611c0a565b6001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102259190611c2e565b610230906001611c47565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370d7f24983876040518363ffffffff1660e01b8152600401610282929190611e05565b6020604051808303816000875af11580156102a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c59190611c0a565b90506102d38685838661073d565b6040516351106b4b60e11b8152600481018390526001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561031557600080fd5b505af1158015610329573d6000803e3d6000fd5b5050505050949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610396573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ba9190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016103e791815260200190565b602060405180830381865afa158015610404573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104289190611c0a565b8560016104368383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610487908c908c90600401611e05565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca9190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561050f57600080fd5b505af1158015610523573d6000803e3d6000fd5b5050505061053389888389610a4d565b9998505050505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638b79543c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611c0a565b6001600160a01b0316636352211e866040518263ffffffff1660e01b81526004016105f191815260200190565b602060405180830381865afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106329190611c0a565b8560016106408383836108cf565b6040516370d7f24960e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370d7f24990610691908c908c90600401611e05565b6020604051808303816000875af11580156106b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d49190611c0a565b6040516351106b4b60e11b8152600481018b90529091506001600160a01b0382169063a220d69690602401600060405180830381600087803b15801561071957600080fd5b505af115801561072d573d6000803e3d6000fd5b5050505061053389888389610c0c565b8251602080850151604080516102408101825281880180515182528051850151948201949094528351820151818301528351606090810151818301528451608090810151151581840152855160a090810151151581850152865160c090810151151581860152875160e09081015115158187015288516101009081015115159087015288516101209081015115159087015288516101409081015115159087015288516101609081015115159087015288516101809081015115159087015288516101a09081015115159087015260016101c0808801919091528951015115156101e0808801919091526001600160a01b038d811661020089015299510151610220870152938c0151928c0151918c0151908c0151938c0151955163b3c5267360e01b8152978a169863b3c5267398610885988f989297909690959493929091600401612290565b6020604051808303816000875af11580156108a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c89190611c2e565b5050505050565b336001600160a01b03841614801590610983575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561095d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109819190612351565b155b8015610a2a575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a289190612351565b155b15610a485760405163075fd2b160e01b815260040160405180910390fd5b505050565b6000816001600160a01b031663111d861b868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001518c60c001516040518963ffffffff1660e01b8152600401610bc098979695949392919061236e565b6020604051808303816000875af1158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190611c2e565b95945050505050565b6000816001600160a01b031663badbdf28868660000151604051806102400160405280896020015160000151815260200189602001516020015181526020018960200151604001518152602001896020015160600151815260200189602001516080015115158152602001896020015160a0015115158152602001896020015160c0015115158152602001896020015160e00151151581526020018960200151610100015115158152602001896020015161012001511515815260200189602001516101400151151581526020018960200151610160015115158152602001896020015161018001511515815260200189602001516101a001511515815260200160011515815260200189602001516101c0015115158152602001886001600160a01b0316815260200189602001516101e00151815250886040015189606001518a608001518b60a001516040518863ffffffff1660e01b8152600401610bc097969594939291906123f8565b6001600160a01b0381168114610d8e57600080fd5b50565b8035610d9c81610d79565b919050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715610dd957610dd9610da1565b60405290565b60405161016081016001600160401b0381118282101715610dd957610dd9610da1565b604080519081016001600160401b0381118282101715610dd957610dd9610da1565b60405161020081016001600160401b0381118282101715610dd957610dd9610da1565b60405160e081016001600160401b0381118282101715610dd957610dd9610da1565b60405160c081016001600160401b0381118282101715610dd957610dd9610da1565b60405161010081016001600160401b0381118282101715610dd957610dd9610da1565b604051601f8201601f191681016001600160401b0381118282101715610ed657610ed6610da1565b604052919050565b600082601f830112610eef57600080fd5b81356001600160401b03811115610f0857610f08610da1565b610f1b601f8201601f1916602001610eae565b818152846020838601011115610f3057600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b03821115610f6657610f66610da1565b5060051b60200190565b80356cffffffffffffffffffffffffff81168114610d9c57600080fd5b803563ffffffff81168114610d9c57600080fd5b803561ffff81168114610d9c57600080fd5b803562ffffff81168114610d9c57600080fd5b8015158114610d8e57600080fd5b8035610d9c81610fc6565b803565ffffffffffff81168114610d9c57600080fd5b6000608080838503121561100857600080fd5b611010610db7565b915082356001600160401b0381111561102857600080fd5b8301601f8101851361103957600080fd5b8035602061104e61104983610f4d565b610eae565b828152610160928302840182019282820191908985111561106e57600080fd5b948301945b8486101561114f5780868b03121561108b5760008081fd5b611093610ddf565b61109c87610f70565b81526110a9858801610f8d565b8582015260406110ba818901610f8d565b9082015260606110cb888201610fa1565b908201526110da878901610d91565b8189015260a0878101359082015260c06110f5818901610fb3565b9082015260e0611106888201610fd4565b90820152610100611118888201610fd4565b9082015261012061112a888201610fd4565b9082015261014061113c888201610fd4565b9082015283529485019491830191611073565b5086525061115e868201610fdf565b818601525050505061117260408301610fdf565b604082015261118360608301610d91565b606082015292915050565b6000608082840312156111a057600080fd5b6111a8610db7565b905081356111b581610fc6565b815260208201356111c581610fc6565b602082015260408201356111d881610fc6565b6040820152606082013561118381610fc6565b803560028110610d9c57600080fd5b60006101c0828403121561120d57600080fd5b611215610ddf565b905081356001600160401b038082111561122e57600080fd5b61123a85838601610ede565b8352602084013591508082111561125057600080fd5b61125c85838601610ede565b602084015261126d60408501610d91565b6040840152606084013591508082111561128657600080fd5b61129285838601610ede565b60608401526112a360808501610d91565b608084015260a08401359150808211156112bc57600080fd5b6112c885838601610ede565b60a084015260c08401359150808211156112e157600080fd5b506112ee84828501610ff5565b60c08301525061130060e08301610d91565b60e0820152610100611313818401610d91565b908201526101206113268484830161118e565b908201526113376101a083016111eb565b61014082015292915050565b60006040828403121561135557600080fd5b61135d610e02565b905081356001600160401b0381111561137557600080fd5b61138184828501610ede565b8252506020820135602082015292915050565b6000608082840312156113a657600080fd5b6113ae610db7565b9050813581526020820135602082015260408201356040820152606082013561118381610d79565b6000606082840312156113e857600080fd5b604051606081018181106001600160401b038211171561140a5761140a610da1565b604052905080823561141b81610fc6565b8152602083013561142b81610fc6565b6020820152604083013561143e81610fc6565b6040919091015292915050565b6000610240828403121561145e57600080fd5b611466610e24565b905061147283836113d6565b8152606082013560208201526080820135604082015260a0820135606082015261149e60c08301610fd4565b60808201526114af60e08301610fd4565b60a08201526101006114c2818401610fd4565b60c08301526101206114d5818501610fd4565b60e08401526101406114e8818601610fd4565b8385015261016092506114fc838601610fd4565b828501526101809150611510828601610fd4565b908401526101a0611522858201610fd4565b838501526101c09250611536838601610fd4565b828501526101e0915061154a828601610fd4565b9084015261155b6102008501610fd4565b8284015261022084013581840152505092915050565b600082601f83011261158257600080fd5b8135602061159261104983610f4d565b82815260059290921b840181019181810190868411156115b157600080fd5b8286015b848110156116fd5780356001600160401b03808211156115d457600080fd5b908801906040828b03601f19018113156115ed57600080fd5b6115f5610e02565b878401358152818401358381111561160c57600080fd5b8085019450508b603f85011261162157600080fd5b87840135925061163361104984610f4d565b83815260e09093028401820192888101908d85111561165157600080fd5b948301945b848610156116e85760e0868f03121561166e57600080fd5b611676610e47565b863561168181610fc6565b8152868b013561169081610fc6565b818c015286850135858201526060808801359082015260808701356116b481610d79565b608082015260a0878101359082015260c08701356116d181610d79565b60c0820152825260e0959095019490890190611656565b828a01525086525050509183019183016115b5565b509695505050505050565b600082601f83011261171957600080fd5b8135602061172961104983610f4d565b82815260c0928302850182019282820191908785111561174857600080fd5b8387015b858110156117bf5781818a0312156117645760008081fd5b61176c610e69565b813561177781610d79565b81528186013561178681610d79565b8187015260408281013590820152606080830135908201526080808301359082015260a08083013590820152845292840192810161174c565b5090979650505050505050565b600082601f8301126117dd57600080fd5b813560206117ed61104983610f4d565b8083825260208201915060208460051b87010193508684111561180f57600080fd5b602086015b848110156116fd57803561182781610d79565b8352918301918301611814565b6000806000806080858703121561184a57600080fd5b843561185581610d79565b935060208501356001600160401b038082111561187157600080fd5b61187d888389016111fa565b9450604087013591508082111561189357600080fd5b9086019061038082890312156118a857600080fd5b6118b0610e8b565b8235828111156118bf57600080fd5b6118cb8a828601611343565b8252506118db8960208501611394565b60208201526118ed8960a0850161144b565b60408201526102e083013560608201526103008301358281111561191057600080fd5b61191c8a828601611571565b6080830152506103208301358281111561193557600080fd5b6119418a828601611708565b60a0830152506103408301358281111561195a57600080fd5b6119668a8286016117cc565b60c0830152506103608301358281111561197f57600080fd5b61198b8a828601610ede565b60e08301525093506119a291505060608601610d91565b905092959194509250565b600080600080608085870312156119c357600080fd5b8435935060208501356001600160401b03808211156119e157600080fd5b6119ed888389016111fa565b94506040870135915080821115611a0357600080fd5b908601906103608289031215611a1857600080fd5b611a20610e47565b611a2a8984611394565b8152611a39896080850161144b565b60208201526102c083013560408201526102e083013582811115611a5c57600080fd5b611a688a828601611571565b60608301525061030083013582811115611a8157600080fd5b611a8d8a828601611708565b60808301525061032083013582811115611aa657600080fd5b611ab28a8286016117cc565b60a08301525061034083013582811115611acb57600080fd5b611ad78a828601610ede565b60c08301525093506119a291505060608601610d91565b60008060008060808587031215611b0457600080fd5b8435935060208501356001600160401b0380821115611b2257600080fd5b611b2e888389016111fa565b94506040870135915080821115611b4457600080fd5b908601906103408289031215611b5957600080fd5b611b61610e69565b611b6b8984611394565b8152611b7a896080850161144b565b60208201526102c083013560408201526102e083013582811115611b9d57600080fd5b611ba98a828601611571565b60608301525061030083013582811115611bc257600080fd5b611bce8a828601611708565b60808301525061032083013582811115611be757600080fd5b611bf38a828601610ede565b60a08301525093506119a291505060608601610d91565b600060208284031215611c1c57600080fd5b8151611c2781610d79565b9392505050565b600060208284031215611c4057600080fd5b5051919050565b80820180821115611c6857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015611c9457602081850181015186830182015201611c78565b506000602082860101526020601f19601f83011685010191505092915050565b80516080808452815184820181905260009260a0916020918201918388019190865b82811015611d8c57845180516cffffffffffffffffffffffffff1685528281015163ffffffff908116848701526040808301519091169086015260608082015161ffff1690860152878101516001600160a01b031688860152868101518786015260c08082015162ffffff169086015260e0808201511515908601526101008082015115159086015261012080820151151590860152610140908101511515908501529381019361016090930192600101611cd6565b508781015165ffffffffffff81168a8301529550505060408601519350611dbd604088018565ffffffffffff169052565b60608601519350611dd960608801856001600160a01b03169052565b9695505050505050565b60028110611e0157634e487b7160e01b600052602160045260246000fd5b9052565b82815260406020820152600082516101c06040840152611e29610200840182611c6e565b90506020840151603f1980858403016060860152611e478383611c6e565b925060408601519150611e6560808601836001600160a01b03169052565b60608601519150808584030160a0860152611e808383611c6e565b925060808601519150611e9e60c08601836001600160a01b03169052565b60a08601519150808584030160e0860152611eb98383611c6e565b925060c08601519150610100818685030181870152611ed88484611cb4565b935060e087015192506101209150611efa828701846001600160a01b03169052565b8601519150610140611f16868201846001600160a01b03169052565b908601518051151561016087015260208101511515610180870152604081015115156101a08701526060015115156101c08601528501519050611f5d6101e0850182611de3565b50949350505050565b8051825260208082015190830152604080820151908301526060908101516001600160a01b0316910152565b611fb78282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151611fe860c084018215159052565b5060a081015180151560e08401525060c081015161010061200c8185018315159052565b60e083015191506101206120238186018415159052565b9083015191506101409061203a8583018415159052565b830151915061016061204f8582018415159052565b908301519150610180906120668583018415159052565b83015191506101a061207b8582018415159052565b9083015191506101c0906120928583018415159052565b83015191506101e06120a78582018415159052565b908301519150610200906120be8583018415159052565b83015191506102206120d38582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b600082825180855260208086019550808260051b8401018186016000805b858110156121cc57868403601f19018a52825180518552850151604086860181905281518187018190529187019160609081880190865b818110156121b55785518051151584528b81015115158c850152858101518685015284810151858501526080808201516001600160a01b039081169186019190915260a0808301519086015260c0918201511690840152948a019460e09092019160010161214c565b50509c88019c965050509285019250600101612115565b509198975050505050505050565b60008151808452602080850194506020840160005b8381101561224b57815180516001600160a01b03908116895284820151168489015260408082015190890152606080820151908901526080808201519089015260a0908101519088015260c090960195908201906001016121ef565b509495945050505050565b60008151808452602080850194506020840160005b8381101561224b5781516001600160a01b03168752958201959082019060010161226b565b6001600160a01b038a1681526103e0602082018190528951604083830152600091906122c0610420850182611c6e565b91505060208b01516104008401526122db604084018b611f66565b6122e860c084018a611f92565b8761034084015282810361036084015261230281886120f7565b905082810361038084015261231781876121da565b90508281036103a084015261232c8186612256565b90508281036103c08401526123418185611c6e565b9c9b505050505050505050505050565b60006020828403121561236357600080fd5b8151611c2781610fc6565b60006103c08a8352612383602084018b611f66565b61239060a084018a611f92565b87610320840152806103408401526123aa818401886120f7565b90508281036103608401526123bf81876121da565b90508281036103808401526123d48186612256565b90508281036103a08401526123e98185611c6e565b9b9a5050505050505050505050565b60006103a089835261240d602084018a611f66565b61241a60a0840189611f92565b8661032084015280610340840152612434818401876120f7565b905082810361036084015261244981866121da565b905082810361038084015261245e8185611c6e565b9a995050505050505050505056fea26469706673582212200811b0b2eb0e95fb306f83f21e7719ae7b0188aa57a530c18b9509336c59ff9464736f6c63430008170033","sourceMap":"1549:14511:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3624:859;;;;;;:::i;:::-;;:::i;:::-;;;19925:25:197;;;19913:2;19898:18;3624:859:2;;;;;;;;5120:895;;;;;;:::i;:::-;;:::i;2084:71::-;;;;;;;;-1:-1:-1;;;;;22256:32:197;;;22238:51;;22226:2;22211:18;2084:71:2;22054:241:197;6654:923:2;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;1960:48:2;;;;;3624:859;3875:17;4017:9;-1:-1:-1;;;;;4017:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4017:26:2;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:32;;4048:1;4017:32;:::i;:::-;4005:44;;4101:30;4146:16;-1:-1:-1;;;;;4146:34:2;;4181:9;4192:28;4146:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4101:120;;4263:69;4281:6;4289:18;4309:9;4320:11;4263:17;:69::i;:::-;4409:67;;-1:-1:-1;;;4409:67:2;;;;;19925:25:197;;;-1:-1:-1;;;;;4409:56:2;;;;;19898:18:197;;4409:67:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3894:589;3624:859;;;;;;:::o;5120:895::-;5523:21;5426:9;-1:-1:-1;;;;;5426:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5426:28:2;;5455:10;5426:40;;;;;;;;;;;;;19925:25:197;;19913:2;19898:18;;19779:177;5426:40:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5468:10;120:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;5646:76:2::1;::::0;-1:-1:-1;;;5646:76:2;;5601:30:::1;::::0;-1:-1:-1;;;;;5646:16:2::1;:34;::::0;::::1;::::0;:76:::1;::::0;5681:10;;5693:28;;5646:76:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5799:68;::::0;-1:-1:-1;;;5799:68:2;;::::1;::::0;::::1;19925:25:197::0;;;5601:121:2;;-1:-1:-1;;;;;;5799:56:2;::::1;::::0;::::1;::::0;19898:18:197;;5799:68:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5923:85;5947:10;5959:24;5985:9;5996:11;5923:23;:85::i;:::-;5916:92:::0;5120:895;-1:-1:-1;;;;;;;;;5120:895:2:o;6654:923::-;7071:21;6974:9;-1:-1:-1;;;;;6974:18:2;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6974:28:2;;7003:10;6974:40;;;;;;;;;;;;;19925:25:197;;19913:2;19898:18;;19779:177;6974:40:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7016:10;120:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;7194:76:2::1;::::0;-1:-1:-1;;;7194:76:2;;7149:30:::1;::::0;-1:-1:-1;;;;;7194:16:2::1;:34;::::0;::::1;::::0;:76:::1;::::0;7229:10;;7241:28;;7194:76:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7347:68;::::0;-1:-1:-1;;;7347:68:2;;::::1;::::0;::::1;19925:25:197::0;;;7149:121:2;;-1:-1:-1;;;;;;7347:56:2;::::1;::::0;::::1;::::0;19898:18:197;;7347:68:2::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7476:94;7504:10;7516:29;7547:9;7558:11;7476:27;:94::i;8154:2188::-:0;8427:34;;8475:23;;;;;8512:1583;;;;;;;;8561:27;;;;;:34;8512:1583;;8627:27;;:40;;;8512:1583;;;;;;;8701:27;;:42;;;8512:1583;;;;8783:27;;8512:1583;8783:48;;;;8512:1583;;;;8859:27;;8512:1583;8859:36;;;;8512:1583;;;;;;8933:27;;8512:1583;8933:46;;;;8512:1583;;;;;;9010:27;;8512:1583;9010:39;;;;8512:1583;;;;;;9078:27;;8512:1583;9078:37;;;;8512:1583;;;;;;9147:27;;8512:1583;9147:40;;;;8512:1583;;;;;;9229:27;;8512:1583;9229:50;;;;8512:1583;;;;;;9323:27;;8512:1583;9323:52;;;;8512:1583;;;;;;9403:27;;8512:1583;9403:36;;;;8512:1583;;;;;;9485:27;;8512:1583;9485:54;;;;8512:1583;;;;;;9589:27;;8512:1583;9589:58;;;;8512:1583;;;;;;9766:4;8512:1583;;;;;;;;9812:27;;:50;;8512:1583;;;;;;;;;;-1:-1:-1;;;;;8512:1583:2;;;;;;;10044:27;;:36;;8512:1583;;;;10109:37;;;;10160:32;;;;10206:40;;;;10260:28;;;;10302:23;;;;8365:1970;;-1:-1:-1;;;8365:1970:2;;:28;;;;;;:1970;;8407:6;;8427:34;;8475:23;;8512:1583;;10109:37;10160:32;10206:40;10260:28;;8365:1970;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8154:2188;;;;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;40236:34:197;-1:-1:-1;;;;;40306:15:197;;;40286:18;;;40279:43;40338:18;;;40331:34;;;40381:18;;;40374:34;;;3390:13:81;:27;;;;40170:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;40236:34:197;-1:-1:-1;;;;;40306:15:197;;;40286:18;;;40279:43;3527:1:81;40338:18:197;;;40331:34;40381:18;;;40374:34;;;3477:13:81;:27;;;;40170:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;10834:2314:2:-;11066:7;11092:11;-1:-1:-1;;;;;11092:34:2;;11140:10;11164:24;:29;;;11207:1664;;;;;;;;11256:24;:33;;;:40;;;11207:1664;;;;11328:24;:33;;;:46;;;11207:1664;;;;11408:24;:33;;;:48;;;11207:1664;;;;11496:24;:33;;;:54;;;11207:1664;;;;11578:24;:33;;;:42;;;11207:1664;;;;;;11658:24;:33;;;:52;;;11207:1664;;;;;;11741:24;:33;;;:45;;;11207:1664;;;;;;11815:24;:33;;;:43;;;11207:1664;;;;;;11890:24;:33;;;:46;;;11207:1664;;;;;;11978:24;:33;;;:56;;;11207:1664;;;;;;12078:24;:33;;;:58;;;11207:1664;;;;;;12164:24;:33;;;:42;;;11207:1664;;;;;;12252:24;:33;;;:60;;;11207:1664;;;;;;12362:24;:33;;;:64;;;11207:1664;;;;;;12545:4;11207:1664;;;;;;12591:24;:33;;;:56;;;11207:1664;;;;;;12774:11;-1:-1:-1;;;;;11207:1664:2;;;;;12814:24;:33;;;:42;;;11207:1664;;;12885:24;:43;;;12942:24;:38;;;12994:24;:46;;;13054:24;:34;;;13102:24;:29;;;11092:2049;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11085:2056;10834:2314;-1:-1:-1;;;;;10834:2314:2:o;13669:2389::-;13915:7;13941:11;-1:-1:-1;;;;;13941:38:2;;13993:10;14017:29;:34;;;14065:1744;;;;;;;;14114:29;:38;;;:45;;;14065:1744;;;;14191:29;:38;;;:51;;;14065:1744;;;;14276:29;:38;;;:53;;;14065:1744;;;;14369:29;:38;;;:59;;;14065:1744;;;;14456:29;:38;;;:47;;;14065:1744;;;;;;14541:29;:38;;;:57;;;14065:1744;;;;;;14629:29;:38;;;:50;;;14065:1744;;;;;;14708:29;:38;;;:48;;;14065:1744;;;;;;14788:29;:38;;;:51;;;14065:1744;;;;;;14881:29;:38;;;:61;;;14065:1744;;;;;;14986:29;:38;;;:63;;;14065:1744;;;;;;15077:29;:38;;;:47;;;14065:1744;;;;;;15170:29;:38;;;:65;;;14065:1744;;;;;;15285:29;:38;;;:69;;;14065:1744;;;;;;15473:4;14065:1744;;;;;;15519:29;:38;;;:61;;;14065:1744;;;;;;15707:11;-1:-1:-1;;;;;14065:1744:2;;;;;15747:29;:38;;;:47;;;14065:1744;;;15823:29;:48;;;15885:29;:43;;;15942:29;:51;;;16007:29;:34;;;13941:2110;;;;;;;;;;;;;;;;;;;;;:::i;14:131:197:-;-1:-1:-1;;;;;89:31:197;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:134::-;218:20;;247:31;218:20;247:31;:::i;:::-;150:134;;;:::o;289:127::-;350:10;345:3;341:20;338:1;331:31;381:4;378:1;371:15;405:4;402:1;395:15;421:253;493:2;487:9;535:4;523:17;;-1:-1:-1;;;;;555:34:197;;591:22;;;552:62;549:88;;;617:18;;:::i;:::-;653:2;646:22;421:253;:::o;679:255::-;751:2;745:9;793:6;781:19;;-1:-1:-1;;;;;815:34:197;;851:22;;;812:62;809:88;;;877:18;;:::i;939:257::-;1011:4;1005:11;;;1043:17;;-1:-1:-1;;;;;1075:34:197;;1111:22;;;1072:62;1069:88;;;1137:18;;:::i;1201:255::-;1273:2;1267:9;1315:6;1303:19;;-1:-1:-1;;;;;1337:34:197;;1373:22;;;1334:62;1331:88;;;1399:18;;:::i;1461:253::-;1533:2;1527:9;1575:4;1563:17;;-1:-1:-1;;;;;1595:34:197;;1631:22;;;1592:62;1589:88;;;1657:18;;:::i;1719:253::-;1791:2;1785:9;1833:4;1821:17;;-1:-1:-1;;;;;1853:34:197;;1889:22;;;1850:62;1847:88;;;1915:18;;:::i;1977:255::-;2049:2;2043:9;2091:6;2079:19;;-1:-1:-1;;;;;2113:34:197;;2149:22;;;2110:62;2107:88;;;2175:18;;:::i;2237:275::-;2308:2;2302:9;2373:2;2354:13;;-1:-1:-1;;2350:27:197;2338:40;;-1:-1:-1;;;;;2393:34:197;;2429:22;;;2390:62;2387:88;;;2455:18;;:::i;:::-;2491:2;2484:22;2237:275;;-1:-1:-1;2237:275:197:o;2517:531::-;2560:5;2613:3;2606:4;2598:6;2594:17;2590:27;2580:55;;2631:1;2628;2621:12;2580:55;2667:6;2654:20;-1:-1:-1;;;;;2689:2:197;2686:26;2683:52;;;2715:18;;:::i;:::-;2759:55;2802:2;2783:13;;-1:-1:-1;;2779:27:197;2808:4;2775:38;2759:55;:::i;:::-;2839:2;2830:7;2823:19;2885:3;2878:4;2873:2;2865:6;2861:15;2857:26;2854:35;2851:55;;;2902:1;2899;2892:12;2851:55;2967:2;2960:4;2952:6;2948:17;2941:4;2932:7;2928:18;2915:55;3015:1;2990:16;;;3008:4;2986:27;2979:38;;;;2994:7;2517:531;-1:-1:-1;;;2517:531:197:o;3053:198::-;3128:4;-1:-1:-1;;;;;3153:6:197;3150:30;3147:56;;;3183:18;;:::i;:::-;-1:-1:-1;3228:1:197;3224:14;3240:4;3220:25;;3053:198::o;3256:182::-;3324:20;;3384:28;3373:40;;3363:51;;3353:79;;3428:1;3425;3418:12;3443:163;3510:20;;3570:10;3559:22;;3549:33;;3539:61;;3596:1;3593;3586:12;3611:159;3678:20;;3738:6;3727:18;;3717:29;;3707:57;;3760:1;3757;3750:12;3775:161;3842:20;;3902:8;3891:20;;3881:31;;3871:59;;3926:1;3923;3916:12;3941:118;4027:5;4020:13;4013:21;4006:5;4003:32;3993:60;;4049:1;4046;4039:12;4064:128;4129:20;;4158:28;4129:20;4158:28;:::i;4197:167::-;4264:20;;4324:14;4313:26;;4303:37;;4293:65;;4354:1;4351;4344:12;4369:2310;4434:5;4464:4;4505;4493:9;4488:3;4484:19;4480:30;4477:50;;;4523:1;4520;4513:12;4477:50;4545:22;;:::i;:::-;4536:31;;4603:9;4590:23;-1:-1:-1;;;;;4628:6:197;4625:30;4622:50;;;4668:1;4665;4658:12;4622:50;4691:22;;4744:4;4736:13;;4732:23;-1:-1:-1;4722:51:197;;4769:1;4766;4759:12;4722:51;4805:2;4792:16;4827:4;4851:75;4867:58;4922:2;4867:58;:::i;:::-;4851:75;:::i;:::-;4960:15;;;5022:6;5063:11;;;5055:20;;5051:29;;;4991:12;;;;4948:3;5092:15;;;5089:35;;;5120:1;5117;5110:12;5089:35;5144:11;;;;5164:1269;5180:6;5175:3;5172:15;5164:1269;;;5256:2;5250:3;5245;5241:13;5237:22;5234:112;;;5300:1;5329:2;5325;5318:14;5234:112;5374:22;;:::i;:::-;5425:23;5444:3;5425:23;:::i;:::-;5416:7;5409:40;5487:31;5514:2;5509:3;5505:12;5487:31;:::i;:::-;5482:2;5473:7;5469:16;5462:57;5542:2;5582:31;5609:2;5604:3;5600:12;5582:31;:::i;:::-;5564:16;;;5557:57;5637:2;5677:31;5695:12;;;5677:31;:::i;:::-;5659:16;;;5652:57;5747:32;5766:12;;;5747:32;:::i;:::-;5729:16;;;5722:58;5803:3;5857:12;;;5844:26;5826:16;;;5819:52;5895:3;5937:32;5955:13;;;5937:32;:::i;:::-;5918:17;;;5911:59;5994:3;6036:30;6052:13;;;6036:30;:::i;:::-;6017:17;;;6010:57;6091:3;6133:30;6149:13;;;6133:30;:::i;:::-;6114:17;;;6107:57;6188:3;6230:30;6246:13;;;6230:30;:::i;:::-;6211:17;;;6204:57;6285:3;6327:30;6343:13;;;6327:30;:::i;:::-;6308:17;;;6301:57;6371:20;;5197:12;;;;6411;;;;5164:1269;;;-1:-1:-1;6442:20:197;;-1:-1:-1;6494:37:197;6512:18;;;6494:37;:::i;:::-;6489:2;6482:5;6478:14;6471:61;;;;;6564:37;6597:2;6586:9;6582:18;6564:37;:::i;:::-;6559:2;6552:5;6548:14;6541:61;6634:38;6668:2;6657:9;6653:18;6634:38;:::i;:::-;6629:2;6622:5;6618:14;6611:62;4369:2310;;;;:::o;6684:701::-;6747:5;6795:4;6783:9;6778:3;6774:19;6770:30;6767:50;;;6813:1;6810;6803:12;6767:50;6835:22;;:::i;:::-;6826:31;;6894:9;6881:23;6913:30;6935:7;6913:30;:::i;:::-;6952:22;;7026:2;7011:18;;6998:32;7039:30;6998:32;7039:30;:::i;:::-;7096:2;7085:14;;7078:31;7161:2;7146:18;;7133:32;7174:30;7133:32;7174:30;:::i;:::-;7231:2;7220:14;;7213:31;7296:2;7281:18;;7268:32;7309:30;7268:32;7309:30;:::i;7390:160::-;7475:20;;7524:1;7514:12;;7504:40;;7540:1;7537;7530:12;7555:1662;7631:5;7679:6;7667:9;7662:3;7658:19;7654:32;7651:52;;;7699:1;7696;7689:12;7651:52;7721:22;;:::i;:::-;7712:31;;7779:9;7766:23;-1:-1:-1;;;;;7849:2:197;7841:6;7838:14;7835:34;;;7865:1;7862;7855:12;7835:34;7892:46;7934:3;7925:6;7914:9;7910:22;7892:46;:::i;:::-;7885:5;7878:61;7992:2;7981:9;7977:18;7964:32;7948:48;;8021:2;8011:8;8008:16;8005:36;;;8037:1;8034;8027:12;8005:36;8073:48;8117:3;8106:8;8095:9;8091:24;8073:48;:::i;:::-;8068:2;8061:5;8057:14;8050:72;8154:38;8188:2;8177:9;8173:18;8154:38;:::i;:::-;8149:2;8142:5;8138:14;8131:62;8246:2;8235:9;8231:18;8218:32;8202:48;;8275:2;8265:8;8262:16;8259:36;;;8291:1;8288;8281:12;8259:36;8327:48;8371:3;8360:8;8349:9;8345:24;8327:48;:::i;:::-;8322:2;8315:5;8311:14;8304:72;8409:39;8443:3;8432:9;8428:19;8409:39;:::i;:::-;8403:3;8396:5;8392:15;8385:64;8502:3;8491:9;8487:19;8474:33;8458:49;;8532:2;8522:8;8519:16;8516:36;;;8548:1;8545;8538:12;8516:36;8585:48;8629:3;8618:8;8607:9;8603:24;8585:48;:::i;:::-;8579:3;8572:5;8568:15;8561:73;8687:3;8676:9;8672:19;8659:33;8643:49;;8717:2;8707:8;8704:16;8701:36;;;8733:1;8730;8723:12;8701:36;;8770:67;8833:3;8822:8;8811:9;8807:24;8770:67;:::i;:::-;8764:3;8757:5;8753:15;8746:92;;8871:39;8905:3;8894:9;8890:19;8871:39;:::i;:::-;8865:3;8858:5;8854:15;8847:64;8930:3;8965:38;8999:2;8988:9;8984:18;8965:38;:::i;:::-;8949:14;;;8942:62;9023:3;9058:59;9113:3;9093:18;;;9058:59;:::i;:::-;9042:14;;;9035:83;9154:56;9205:3;9190:19;;9154:56;:::i;:::-;9145:6;9138:5;9134:18;9127:84;7555:1662;;;;:::o;9222:420::-;9286:5;9334:4;9322:9;9317:3;9313:19;9309:30;9306:50;;;9352:1;9349;9342:12;9306:50;9374:22;;:::i;:::-;9365:31;;9432:9;9419:23;-1:-1:-1;;;;;9457:6:197;9454:30;9451:50;;;9497:1;9494;9487:12;9451:50;9524:46;9566:3;9557:6;9546:9;9542:22;9524:46;:::i;:::-;9517:5;9510:61;;9631:2;9620:9;9616:18;9603:32;9598:2;9591:5;9587:14;9580:56;9222:420;;;;:::o;9647:496::-;9712:5;9760:4;9748:9;9743:3;9739:19;9735:30;9732:50;;;9778:1;9775;9768:12;9732:50;9800:22;;:::i;:::-;9791:31;;9858:9;9845:23;9838:5;9831:38;9929:2;9918:9;9914:18;9901:32;9896:2;9889:5;9885:14;9878:56;9994:2;9983:9;9979:18;9966:32;9961:2;9954:5;9950:14;9943:56;10051:2;10040:9;10036:18;10023:32;10064:33;10089:7;10064:33;:::i;10148:769::-;10223:5;10271:4;10259:9;10254:3;10250:19;10246:30;10243:50;;;10289:1;10286;10279:12;10243:50;10322:2;10316:9;10364:4;10356:6;10352:17;10435:6;10423:10;10420:22;-1:-1:-1;;;;;10387:10:197;10384:34;10381:62;10378:88;;;10446:18;;:::i;:::-;10482:2;10475:22;10515:6;-1:-1:-1;10515:6:197;10545:23;;10577:30;10545:23;10577:30;:::i;:::-;10616:23;;10691:2;10676:18;;10663:32;10704:30;10663:32;10704:30;:::i;:::-;10762:2;10750:15;;10743:32;10827:2;10812:18;;10799:32;10840:30;10799:32;10840:30;:::i;:::-;10898:2;10886:15;;;;10879:32;10148:769;;-1:-1:-1;;10148:769:197:o;10922:1487::-;11004:5;11052:6;11040:9;11035:3;11031:19;11027:32;11024:52;;;11072:1;11069;11062:12;11024:52;11094:22;;:::i;:::-;11085:31;;11139:62;11197:3;11186:9;11139:62;:::i;:::-;11132:5;11125:77;11264:2;11253:9;11249:18;11236:32;11229:4;11222:5;11218:16;11211:58;11331:3;11320:9;11316:19;11303:33;11296:4;11289:5;11285:16;11278:59;11397:3;11386:9;11382:19;11369:33;11364:2;11357:5;11353:14;11346:57;11436:36;11467:3;11456:9;11452:19;11436:36;:::i;:::-;11430:3;11423:5;11419:15;11412:61;11506:36;11537:3;11526:9;11522:19;11506:36;:::i;:::-;11500:3;11493:5;11489:15;11482:61;11562:3;11598:35;11629:2;11618:9;11614:18;11598:35;:::i;:::-;11592:3;11585:5;11581:15;11574:60;11653:3;11689:35;11720:2;11709:9;11705:18;11689:35;:::i;:::-;11683:3;11676:5;11672:15;11665:60;11744:3;11779:35;11810:2;11799:9;11795:18;11779:35;:::i;:::-;11774:2;11767:5;11763:14;11756:59;11834:3;11824:13;;11869:35;11900:2;11889:9;11885:18;11869:35;:::i;:::-;11864:2;11857:5;11853:14;11846:59;11924:3;11914:13;;11959:35;11990:2;11979:9;11975:18;11959:35;:::i;:::-;11943:14;;;11936:59;12014:3;12049:35;12065:18;;;12049:35;:::i;:::-;12044:2;12037:5;12033:14;12026:59;12104:3;12094:13;;12139:35;12170:2;12159:9;12155:18;12139:35;:::i;:::-;12134:2;12127:5;12123:14;12116:59;12194:3;12184:13;;12229:35;12260:2;12249:9;12245:18;12229:35;:::i;:::-;12213:14;;;12206:59;12297:39;12328:6;12313:22;;12297:39;:::i;:::-;12292:2;12285:5;12281:14;12274:63;12397:3;12386:9;12382:19;12369:33;12364:2;12357:5;12353:14;12346:57;;;10922:1487;;;;:::o;12414:2834::-;12483:5;12536:3;12529:4;12521:6;12517:17;12513:27;12503:55;;12554:1;12551;12544:12;12503:55;12590:6;12577:20;12616:4;12640:75;12656:58;12711:2;12656:58;:::i;12640:75::-;12749:15;;;12835:1;12831:10;;;;12819:23;;12815:32;;;12780:12;;;;12859:15;;;12856:35;;;12887:1;12884;12877:12;12856:35;12923:2;12915:6;12911:15;12935:2284;12951:6;12946:3;12943:15;12935:2284;;;13037:3;13024:17;-1:-1:-1;;;;;13114:2:197;13101:11;13098:19;13095:39;;;13130:1;13127;13120:12;13095:39;13157:24;;;;13204:4;13232:12;;;-1:-1:-1;;13228:26:197;13224:35;-1:-1:-1;13221:55:197;;;13272:1;13269;13262:12;13221:55;13302:22;;:::i;:::-;13372:2;13368;13364:11;13351:25;13344:5;13337:40;13427:2;13423;13419:11;13406:25;13460:2;13450:8;13447:16;13444:36;;;13476:1;13473;13466:12;13444:36;13511:8;13507:2;13503:17;13493:27;;;13560:3;13555:2;13551;13547:11;13543:21;13533:49;;13578:1;13575;13568:12;13533:49;13626:2;13622;13618:11;13605:25;13595:35;;13656:75;13672:58;13727:2;13672:58;:::i;13656:75::-;13775:17;;;13877:4;13869:13;;;13861:22;;13857:31;;;13814:14;;;;13904:17;;;13901:37;;;13934:1;13931;13924:12;13901:37;13964:11;;;;13988:1116;14006:8;13999:5;13996:19;13988:1116;;;14100:4;14092:5;14087:3;14083:15;14079:26;14076:46;;;14118:1;14115;14108:12;14076:46;14154:22;;:::i;:::-;14221:5;14208:19;14244:30;14266:7;14244:30;:::i;:::-;14291:24;;14360:14;;;14347:28;14392:30;14347:28;14392:30;:::i;:::-;14446:16;;;14439:33;14527:14;;;14514:28;14496:16;;;14489:54;14609:2;14598:14;;;14585:28;14567:16;;;14560:54;14670:3;14659:15;;14646:29;14692:33;14646:29;14692:33;:::i;:::-;14762:3;14749:17;;14742:34;14843:3;14832:15;;;14819:29;14800:17;;;14793:56;14905:3;14894:15;;14881:29;14927:33;14881:29;14927:33;:::i;:::-;14997:3;14984:17;;14977:34;15028:22;;14038:4;14027:16;;;;;15076:14;;;;13988:1116;;;15124:14;;;15117:29;-1:-1:-1;15159:18:197;;-1:-1:-1;;;15197:12:197;;;;12968;;12935:2284;;;-1:-1:-1;15237:5:197;12414:2834;-1:-1:-1;;;;;;12414:2834:197:o;15253:1511::-;15330:5;15383:3;15376:4;15368:6;15364:17;15360:27;15350:55;;15401:1;15398;15391:12;15350:55;15437:6;15424:20;15463:4;15487:75;15503:58;15558:2;15503:58;:::i;15487:75::-;15596:15;;;15658:4;15701:13;;;15689:26;;15685:35;;;15627:12;;;;15584:3;15732:15;;;15729:35;;;15760:1;15757;15750:12;15729:35;15796:2;15788:6;15784:15;15808:927;15824:6;15819:3;15816:15;15808:927;;;15900:2;15894:3;15889;15885:13;15881:22;15878:112;;;15944:1;15973:2;15969;15962:14;15878:112;16016:22;;:::i;:::-;16079:3;16066:17;16096:33;16121:7;16096:33;:::i;:::-;16142:22;;16205:12;;;16192:26;16231:33;16192:26;16231:33;:::i;:::-;16284:14;;;16277:31;16331:2;16382:12;;;16369:26;16353:14;;;16346:50;16419:2;16470:12;;;16457:26;16441:14;;;16434:50;16507:3;16559:12;;;16546:26;16530:14;;;16523:50;16596:3;16648:12;;;16635:26;16619:14;;;16612:50;16675:18;;16713:12;;;;15841;;15808:927;;;-1:-1:-1;16753:5:197;;15253:1511;-1:-1:-1;;;;;;;15253:1511:197:o;16769:778::-;16843:5;16896:3;16889:4;16881:6;16877:17;16873:27;16863:55;;16914:1;16911;16904:12;16863:55;16950:6;16937:20;16976:4;17000:75;17016:58;17071:2;17016:58;:::i;17000:75::-;17097:3;17121:2;17116:3;17109:15;17149:4;17144:3;17140:14;17133:21;;17206:4;17200:2;17197:1;17193:10;17185:6;17181:23;17177:34;17163:48;;17234:3;17226:6;17223:15;17220:35;;;17251:1;17248;17241:12;17220:35;17287:4;17279:6;17275:17;17301:217;17317:6;17312:3;17309:15;17301:217;;;17397:3;17384:17;17414:31;17439:5;17414:31;:::i;:::-;17458:18;;17496:12;;;;17334;;17301:217;;17552:2222;17750:6;17758;17766;17774;17827:3;17815:9;17806:7;17802:23;17798:33;17795:53;;;17844:1;17841;17834:12;17795:53;17883:9;17870:23;17902:31;17927:5;17902:31;:::i;:::-;17952:5;-1:-1:-1;18008:2:197;17993:18;;17980:32;-1:-1:-1;;;;;18061:14:197;;;18058:34;;;18088:1;18085;18078:12;18058:34;18111:80;18183:7;18174:6;18163:9;18159:22;18111:80;:::i;:::-;18101:90;;18244:2;18233:9;18229:18;18216:32;18200:48;;18273:2;18263:8;18260:16;18257:36;;;18289:1;18286;18279:12;18257:36;18312:24;;;;18370:6;18352:16;;;18348:29;18345:49;;;18390:1;18387;18380:12;18345:49;18418:22;;:::i;:::-;18478:2;18465:16;18506:2;18496:8;18493:16;18490:36;;;18522:1;18519;18512:12;18490:36;18551:63;18606:7;18595:8;18591:2;18587:17;18551:63;:::i;:::-;18542:7;18535:80;;18649:58;18699:7;18694:2;18690;18686:11;18649:58;:::i;:::-;18644:2;18635:7;18631:16;18624:84;18742:76;18810:7;18804:3;18800:2;18796:12;18742:76;:::i;:::-;18737:2;18728:7;18724:16;18717:102;18876:3;18872:2;18868:12;18855:26;18848:4;18839:7;18835:18;18828:54;18928:3;18924:2;18920:12;18907:26;18958:2;18948:8;18945:16;18942:36;;;18974:1;18971;18964:12;18942:36;19013:71;19076:7;19065:8;19061:2;19057:17;19013:71;:::i;:::-;19007:3;18998:7;18994:17;18987:98;;19131:3;19127:2;19123:12;19110:26;19161:2;19151:8;19148:16;19145:36;;;19177:1;19174;19167:12;19145:36;19216:79;19287:7;19276:8;19272:2;19268:17;19216:79;:::i;:::-;19210:3;19201:7;19197:17;19190:106;;19342:3;19338:2;19334:12;19321:26;19372:2;19362:8;19359:16;19356:36;;;19388:1;19385;19378:12;19356:36;19428:76;19496:7;19485:8;19481:2;19477:17;19428:76;:::i;:::-;19421:4;19412:7;19408:18;19401:104;;19551:3;19547:2;19543:12;19530:26;19581:2;19571:8;19568:16;19565:36;;;19597:1;19594;19587:12;19565:36;19637:45;19674:7;19663:8;19659:2;19655:17;19637:45;:::i;:::-;19630:4;19617:18;;19610:73;-1:-1:-1;19621:7:197;-1:-1:-1;19728:40:197;;-1:-1:-1;;19762:4:197;19747:20;;19728:40;:::i;:::-;19718:50;;17552:2222;;;;;;;:::o;19961:1949::-;20165:6;20173;20181;20189;20242:3;20230:9;20221:7;20217:23;20213:33;20210:53;;;20259:1;20256;20249:12;20210:53;20295:9;20282:23;20272:33;;20356:2;20345:9;20341:18;20328:32;-1:-1:-1;;;;;20420:2:197;20412:6;20409:14;20406:34;;;20436:1;20433;20426:12;20406:34;20459:80;20531:7;20522:6;20511:9;20507:22;20459:80;:::i;:::-;20449:90;;20592:2;20581:9;20577:18;20564:32;20548:48;;20621:2;20611:8;20608:16;20605:36;;;20637:1;20634;20627:12;20605:36;20660:24;;;;20718:6;20700:16;;;20696:29;20693:49;;;20738:1;20735;20728:12;20693:49;20764:22;;:::i;:::-;20809:49;20850:7;20846:2;20809:49;:::i;:::-;20802:5;20795:64;20891:76;20959:7;20953:3;20949:2;20945:12;20891:76;:::i;:::-;20886:2;20879:5;20875:14;20868:100;21021:3;21017:2;21013:12;21000:26;20995:2;20988:5;20984:14;20977:50;21073:3;21069:2;21065:12;21052:26;21103:2;21093:8;21090:16;21087:36;;;21119:1;21116;21109:12;21087:36;21157:71;21220:7;21209:8;21205:2;21201:17;21157:71;:::i;:::-;21150:4;21143:5;21139:16;21132:97;;21275:3;21271:2;21267:12;21254:26;21305:2;21295:8;21292:16;21289:36;;;21321:1;21318;21311:12;21289:36;21358:79;21429:7;21418:8;21414:2;21410:17;21358:79;:::i;:::-;21352:3;21345:5;21341:15;21334:104;;21484:3;21480:2;21476:12;21463:26;21514:2;21504:8;21501:16;21498:36;;;21530:1;21527;21520:12;21498:36;21568:76;21636:7;21625:8;21621:2;21617:17;21568:76;:::i;:::-;21561:4;21554:5;21550:16;21543:102;;21691:3;21687:2;21683:12;21670:26;21721:2;21711:8;21708:16;21705:36;;;21737:1;21734;21727:12;21705:36;21775:45;21812:7;21801:8;21797:2;21793:17;21775:45;:::i;:::-;21768:4;21757:16;;21750:71;-1:-1:-1;21761:5:197;-1:-1:-1;21864:40:197;;-1:-1:-1;;21898:4:197;21883:20;;21864:40;:::i;22300:1747::-;22509:6;22517;22525;22533;22586:3;22574:9;22565:7;22561:23;22557:33;22554:53;;;22603:1;22600;22593:12;22554:53;22639:9;22626:23;22616:33;;22700:2;22689:9;22685:18;22672:32;-1:-1:-1;;;;;22764:2:197;22756:6;22753:14;22750:34;;;22780:1;22777;22770:12;22750:34;22803:80;22875:7;22866:6;22855:9;22851:22;22803:80;:::i;:::-;22793:90;;22936:2;22925:9;22921:18;22908:32;22892:48;;22965:2;22955:8;22952:16;22949:36;;;22981:1;22978;22971:12;22949:36;23004:24;;;;23062:6;23044:16;;;23040:29;23037:49;;;23082:1;23079;23072:12;23037:49;23108:22;;:::i;:::-;23153:49;23194:7;23190:2;23153:49;:::i;:::-;23146:5;23139:64;23235:76;23303:7;23297:3;23293:2;23289:12;23235:76;:::i;:::-;23230:2;23223:5;23219:14;23212:100;23365:3;23361:2;23357:12;23344:26;23339:2;23332:5;23328:14;23321:50;23417:3;23413:2;23409:12;23396:26;23447:2;23437:8;23434:16;23431:36;;;23463:1;23460;23453:12;23431:36;23501:71;23564:7;23553:8;23549:2;23545:17;23501:71;:::i;:::-;23494:4;23487:5;23483:16;23476:97;;23619:3;23615:2;23611:12;23598:26;23649:2;23639:8;23636:16;23633:36;;;23665:1;23662;23655:12;23633:36;23702:79;23773:7;23762:8;23758:2;23754:17;23702:79;:::i;:::-;23696:3;23689:5;23685:15;23678:104;;23828:3;23824:2;23820:12;23807:26;23858:2;23848:8;23845:16;23842:36;;;23874:1;23871;23864:12;23842:36;23912:45;23949:7;23938:8;23934:2;23930:17;23912:45;:::i;:::-;23905:4;23894:16;;23887:71;-1:-1:-1;23898:5:197;-1:-1:-1;24001:40:197;;-1:-1:-1;;24035:4:197;24020:20;;24001:40;:::i;24516:272::-;24607:6;24660:2;24648:9;24639:7;24635:23;24631:32;24628:52;;;24676:1;24673;24666:12;24628:52;24708:9;24702:16;24727:31;24752:5;24727:31;:::i;:::-;24777:5;24516:272;-1:-1:-1;;;24516:272:197:o;24793:184::-;24863:6;24916:2;24904:9;24895:7;24891:23;24887:32;24884:52;;;24932:1;24929;24922:12;24884:52;-1:-1:-1;24955:16:197;;24793:184;-1:-1:-1;24793:184:197:o;24982:222::-;25047:9;;;25068:10;;;25065:133;;;25120:10;25115:3;25111:20;25108:1;25101:31;25155:4;25152:1;25145:15;25183:4;25180:1;25173:15;25065:133;24982:222;;;;:::o;25209:423::-;25251:3;25289:5;25283:12;25316:6;25311:3;25304:19;25341:1;25351:162;25365:6;25362:1;25359:13;25351:162;;;25427:4;25483:13;;;25479:22;;25473:29;25455:11;;;25451:20;;25444:59;25380:12;25351:162;;;25355:3;25558:1;25551:4;25542:6;25537:3;25533:16;25529:27;25522:38;25621:4;25614:2;25610:7;25605:2;25597:6;25593:15;25589:29;25584:3;25580:39;25576:50;25569:57;;;25209:423;;;;:::o;26245:2373::-;26402:12;;26334:4;26423:17;;;26489:19;;26359:14;;;26517:20;;;26306:3;;26556;;26609:4;26636:21;;;;26577:13;;;;26489:19;26306:3;26685:1537;26699:6;26696:1;26693:13;26685:1537;;;26758:13;;26803:9;;25714:28;25703:40;25691:53;;26861:11;;;26855:18;25831:10;25820:22;;;26920:14;;;25808:35;26958:4;27003:11;;;26997:18;25820:22;;;27062:14;;;25808:35;27100:4;27145:11;;;27139:18;25930:6;25919:18;27204:14;;;25907:31;27260:11;;;27254:18;-1:-1:-1;;;;;22011:31:197;27350:14;;;21999:44;27407:11;;;27401:18;27385:14;;;27378:42;27443:4;27488:11;;;27482:18;26025:8;26014:20;27547:14;;;26002:33;27585:4;27630:11;;;27624:18;26116:13;26109:21;27687:14;;;26097:34;27725:6;27772:11;;;27766:18;26116:13;26109:21;27829:14;;;26097:34;27868:6;27915:12;;;27909:19;26116:13;26109:21;27973:15;;;26097:34;28013:6;28060:12;;;28054:19;26116:13;26109:21;28118:15;;;26097:34;28197:15;;;;28167:6;28156:18;;;;26721:1;26714:9;26685:1537;;;-1:-1:-1;28260:14:197;;;28254:21;26218:14;26207:26;;28319:12;;;26195:39;28254:21;-1:-1:-1;28284:48:197;;28381:4;28374:5;28370:16;28364:23;28341:46;;28396:50;28440:4;28435:3;28431:14;28414:15;26218:14;26207:26;26195:39;;26142:98;28396:50;28495:4;28488:5;28484:16;28478:23;28455:46;;28510:81;28585:4;28580:3;28576:14;28559:15;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;28510:81;28607:5;26245:2373;-1:-1:-1;;;;;;26245:2373:197:o;28961:247::-;29052:1;29045:5;29042:12;29032:143;;29097:10;29092:3;29088:20;29085:1;29078:31;29132:4;29129:1;29122:15;29160:4;29157:1;29150:15;29032:143;29184:18;;28961:247::o;29213:2200::-;29466:6;29455:9;29448:25;29509:2;29504;29493:9;29489:18;29482:30;29429:4;29547:6;29541:13;29590:6;29585:2;29574:9;29570:18;29563:34;29620:52;29667:3;29656:9;29652:19;29638:12;29620:52;:::i;:::-;29606:66;;29721:2;29713:6;29709:15;29703:22;29748:2;29744:7;29815:2;29803:9;29795:6;29791:22;29787:31;29782:2;29771:9;29767:18;29760:59;29842:41;29876:6;29860:14;29842:41;:::i;:::-;29828:55;;29932:2;29924:6;29920:15;29914:22;29892:44;;29945:85;30025:3;30014:9;30010:19;29994:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;29945:85;30079:2;30071:6;30067:15;30061:22;30039:44;;30148:2;30136:9;30128:6;30124:22;30120:31;30114:3;30103:9;30099:19;30092:60;30175:41;30209:6;30193:14;30175:41;:::i;:::-;30161:55;;30265:3;30257:6;30253:16;30247:23;30225:45;;30279:85;30359:3;30348:9;30344:19;30328:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;30279:85;30413:3;30405:6;30401:16;30395:23;30373:45;;30483:2;30471:9;30463:6;30459:22;30455:31;30449:3;30438:9;30434:19;30427:60;30510:41;30544:6;30528:14;30510:41;:::i;:::-;30496:55;;30600:3;30592:6;30588:16;30582:23;30560:45;;30624:3;30691:2;30679:9;30671:6;30667:22;30663:31;30658:2;30647:9;30643:18;30636:59;30718:60;30771:6;30755:14;30718:60;:::i;:::-;30704:74;;30827:3;30819:6;30815:16;30809:23;30787:45;;30851:3;30841:13;;30863:84;30943:2;30932:9;30928:18;30912:14;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;30863:84;30984:15;;30978:22;;-1:-1:-1;31019:3:197;31031:84;31096:18;;;30978:22;-1:-1:-1;;;;;22011:31:197;21999:44;;21915:134;31031:84;31152:15;;;31146:22;28719:12;;28712:20;28705:28;31243:3;31228:19;;28693:41;28797:4;28786:16;;28780:23;28773:31;28766:39;28750:14;;;28743:63;28869:4;28858:16;;28852:23;28845:31;28838:39;28822:14;;;28815:63;28941:4;28930:16;28924:23;28917:31;28910:39;28894:14;;;28887:63;31286:15;;31280:22;;-1:-1:-1;31311:73:197;31379:3;31364:19;;31280:22;31311:73;:::i;:::-;-1:-1:-1;31401:6:197;29213:2200;-1:-1:-1;;;;29213:2200:197:o;31960:297::-;32044:12;;32032:25;;32106:4;32095:16;;;32089:23;32073:14;;;32066:47;32162:4;32151:16;;;32145:23;32129:14;;;32122:47;32222:4;32211:16;;;32205:23;-1:-1:-1;;;;;32201:49:197;32185:14;;32178:73;31960:297::o;32540:2053::-;32616:65;32677:3;32669:5;32663:12;32370;;32363:20;32356:28;32344:41;;32448:4;32437:16;;;32431:23;32424:31;32417:39;32401:14;;;32394:63;32520:4;32509:16;;;32503:23;32496:31;32489:39;32473:14;;32466:63;32262:273;32616:65;32730:4;32723:5;32719:16;32713:23;32706:4;32701:3;32697:14;32690:47;32786:4;32779:5;32775:16;32769:23;32762:4;32757:3;32753:14;32746:47;32842:4;32835:5;32831:16;32825:23;32818:4;32813:3;32809:14;32802:47;32895:4;32888:5;32884:16;32878:23;32910:45;32949:4;32944:3;32940:14;32926:12;26116:13;26109:21;26097:34;;26046:91;32910:45;-1:-1:-1;33003:4:197;32992:16;;32986:23;26116:13;;26109:21;33059:4;33050:14;;26097:34;33018:47;33113:4;33106:5;33102:16;33096:23;33138:6;33153:45;33194:2;33189:3;33185:12;33169:14;26116:13;26109:21;26097:34;;26046:91;33153:45;33246:4;33239:5;33235:16;33229:23;33207:45;;33271:6;33286:45;33327:2;33322:3;33318:12;33302:14;26116:13;26109:21;26097:34;;26046:91;33286:45;33368:14;;;33362:21;;-1:-1:-1;33402:6:197;;33417:45;33449:12;;;33362:21;26116:13;26109:21;26097:34;;26046:91;33417:45;33499:14;;33493:21;;-1:-1:-1;33533:6:197;33548:45;33580:12;;;33493:21;26116:13;26109:21;26097:34;;26046:91;33548:45;33630:14;;;33624:21;;-1:-1:-1;33664:6:197;;33679:45;33711:12;;;33624:21;26116:13;26109:21;26097:34;;26046:91;33679:45;33761:14;;33755:21;;-1:-1:-1;33795:6:197;33810:45;33842:12;;;33755:21;26116:13;26109:21;26097:34;;26046:91;33810:45;33892:14;;;33886:21;;-1:-1:-1;33926:6:197;;33941:45;33973:12;;;33886:21;26116:13;26109:21;26097:34;;26046:91;33941:45;34023:14;;34017:21;;-1:-1:-1;34057:6:197;34072:45;34104:12;;;34017:21;26116:13;26109:21;26097:34;;26046:91;34072:45;34155:14;;;34149:21;;-1:-1:-1;34189:6:197;;34204:46;34237:12;;;34149:21;26116:13;26109:21;26097:34;;26046:91;34204:46;34288:14;;34282:21;;-1:-1:-1;34323:6:197;34338:47;34371:13;;;34282:21;26116:13;26109:21;26097:34;;26046:91;34338:47;34423:14;;;34417:21;-1:-1:-1;;;;;22011:31:197;34522:6;34513:16;;21999:44;34570:15;;;34564:22;34555:6;34546:16;;;34539:48;;;;-1:-1:-1;32540:2053:197:o;34598:1938::-;34666:3;34697;34729:5;34723:12;34756:6;34751:3;34744:19;34782:4;34811:2;34806:3;34802:12;34795:19;;34867:2;34857:6;34854:1;34850:14;34843:5;34839:26;34835:35;34904:2;34897:5;34893:14;34925:1;34946;34956:1554;34972:6;34967:3;34964:15;34956:1554;;;35041:16;;;-1:-1:-1;;35037:30:197;35025:43;;35091:13;;35197:9;;35184:23;;35246:11;;35240:18;35127:4;35278:13;;;35271:25;;;35357:19;;35158:13;;;35389:24;;;35502:21;;;;35436:2;;35460:13;;;;35547:1;35561:843;35577:8;35572:3;35569:17;35561:843;;;35650:15;;35710:9;;35703:17;35696:25;35682:40;;35782:11;;;35776:18;35769:26;35762:34;35746:14;;;35739:58;35843:11;;;35837:18;35821:14;;;35814:42;35902:11;;;35896:18;35880:14;;;35873:42;35942:4;35991:11;;;35985:18;-1:-1:-1;;;;;36089:23:197;;;36073:14;;;36066:47;;;;36038:3;36190:11;;;36184:18;36168:14;;;36161:42;36230:4;36284:11;;;36278:18;36274:27;36258:14;;;36251:51;36373:17;;;;36339:4;36328:16;;;;36047:1;35596:11;35561:843;;;-1:-1:-1;;36488:12:197;;;;36425:5;-1:-1:-1;;;36453:15:197;;;;-1:-1:-1;34998:1:197;34989:11;34956:1554;;;-1:-1:-1;36526:4:197;;34598:1938;-1:-1:-1;;;;;;;;34598:1938:197:o;36541:929::-;36617:3;36655:5;36649:12;36682:6;36677:3;36670:19;36708:4;36737;36732:3;36728:14;36721:21;;36776:4;36769:5;36765:16;36799:1;36809:636;36823:6;36820:1;36817:13;36809:636;;;36882:13;;36966:9;;-1:-1:-1;;;;;36962:18:197;;;36950:31;;37025:11;;;37019:18;37015:27;37001:12;;;36994:49;37066:4;37110:11;;;37104:18;37090:12;;;37083:40;37146:4;37190:11;;;37184:18;37170:12;;;37163:40;37226:4;37270:11;;;37264:18;37250:12;;;37243:40;36926:3;37350:11;;;37344:18;37330:12;;;37323:40;37392:4;37383:14;;;;37420:15;;;;36935:1;36838:9;36809:636;;;-1:-1:-1;37461:3:197;;36541:929;-1:-1:-1;;;;;36541:929:197:o;37475:485::-;37548:3;37586:5;37580:12;37613:6;37608:3;37601:19;37639:4;37668;37663:3;37659:14;37652:21;;37707:4;37700:5;37696:16;37730:1;37740:195;37754:6;37751:1;37748:13;37740:195;;;37819:13;;-1:-1:-1;;;;;37815:39:197;37803:52;;37875:12;;;;37910:15;;;;37851:1;37769:9;37740:195;;37965:1997;-1:-1:-1;;;;;38918:32:197;;38900:51;;38888:3;38982:2;38967:18;;38960:30;;;39019:13;;39068:4;39048:18;;;39041:32;38859:4;;38888:3;39096:53;39143:4;39128:20;;39019:13;39096:53;:::i;:::-;39082:67;;;39205:2;39197:6;39193:15;39187:22;39180:4;39169:9;39165:20;39158:52;39219:66;39279:4;39268:9;39264:20;39256:6;39219:66;:::i;:::-;39294:69;39358:3;39347:9;39343:19;39335:6;39294:69;:::i;:::-;39400:6;39394:3;39383:9;39379:19;39372:35;39456:9;39448:6;39444:22;39438:3;39427:9;39423:19;39416:51;39490:59;39542:6;39534;39490:59;:::i;:::-;39476:73;;39598:9;39590:6;39586:22;39580:3;39569:9;39565:19;39558:51;39632:67;39692:6;39684;39632:67;:::i;:::-;39618:81;;39748:9;39740:6;39736:22;39730:3;39719:9;39715:19;39708:51;39782:64;39839:6;39831;39782:64;:::i;:::-;39768:78;;39895:9;39887:6;39883:22;39877:3;39866:9;39862:19;39855:51;39923:33;39949:6;39941;39923:33;:::i;:::-;39915:41;37965:1997;-1:-1:-1;;;;;;;;;;;;37965:1997:197:o;40419:245::-;40486:6;40539:2;40527:9;40518:7;40514:23;40510:32;40507:52;;;40555:1;40552;40545:12;40507:52;40587:9;40581:16;40606:28;40628:5;40606:28;:::i;41129:1602::-;41923:4;41952:3;41982:6;41971:9;41964:25;41998:64;42058:2;42047:9;42043:18;42035:6;41998:64;:::i;:::-;42071:69;42135:3;42124:9;42120:19;42112:6;42071:69;:::i;:::-;42177:6;42171:3;42160:9;42156:19;42149:35;42221:2;42215:3;42204:9;42200:19;42193:31;42247:71;42314:2;42303:9;42299:18;42291:6;42247:71;:::i;:::-;42233:85;;42367:9;42359:6;42355:22;42349:3;42338:9;42334:19;42327:51;42401:67;42461:6;42453;42401:67;:::i;:::-;42387:81;;42517:9;42509:6;42505:22;42499:3;42488:9;42484:19;42477:51;42551:64;42608:6;42600;42551:64;:::i;:::-;42537:78;;42664:9;42656:6;42652:22;42646:3;42635:9;42631:19;42624:51;42692:33;42718:6;42710;42692:33;:::i;:::-;42684:41;41129:1602;-1:-1:-1;;;;;;;;;;;41129:1602:197:o;42736:1349::-;43424:4;43453:3;43483:6;43472:9;43465:25;43499:64;43559:2;43548:9;43544:18;43536:6;43499:64;:::i;:::-;43572:69;43636:3;43625:9;43621:19;43613:6;43572:69;:::i;:::-;43678:6;43672:3;43661:9;43657:19;43650:35;43722:2;43716:3;43705:9;43701:19;43694:31;43748:71;43815:2;43804:9;43800:18;43792:6;43748:71;:::i;:::-;43734:85;;43868:9;43860:6;43856:22;43850:3;43839:9;43835:19;43828:51;43902:67;43962:6;43954;43902:67;:::i;:::-;43888:81;;44018:9;44010:6;44006:22;44000:3;43989:9;43985:19;43978:51;44046:33;44072:6;44064;44046:33;:::i;:::-;44038:41;42736:1349;-1:-1:-1;;;;;;;;;;42736:1349:197:o","linkReferences":{},"immutableReferences":{"1702":[{"start":286,"length":32},{"start":324,"length":32},{"start":826,"length":32},{"start":1348,"length":32}],"1707":[{"start":165,"length":32},{"start":566,"length":32},{"start":1104,"length":32},{"start":1626,"length":32}],"80830":[{"start":247,"length":32},{"start":2326,"length":32},{"start":2493,"length":32}]}},"methodIdentifiers":{"delegateDeployer()":"8f3d964b","directory()":"c41c2f24","launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"6907d436","launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":"3c2402c4","operatorStore()":"ad007d63","reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":"aac68198"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"_delegateDeployer\",\"type\":\"address\"},{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"delegateDeployer\",\"outputs\":[{\"internalType\":\"contract IJBTiered721DelegateDeployer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchFundingCyclesData\",\"name\":\"_launchFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"launchFundingCyclesFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"content\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"domain\",\"type\":\"uint256\"}],\"internalType\":\"struct JBProjectMetadata\",\"name\":\"projectMetadata\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IJBPaymentTerminal[]\",\"name\":\"terminals\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBLaunchProjectData\",\"name\":\"_launchProjectData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"launchProjectFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"fundingCycleStore\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"baseUri\",\"type\":\"string\"},{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"tokenUriResolver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"contractUri\",\"type\":\"string\"},{\"components\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"tiers\",\"type\":\"tuple[]\"},{\"internalType\":\"uint48\",\"name\":\"currency\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"decimals\",\"type\":\"uint48\"},{\"internalType\":\"contract IJBPrices\",\"name\":\"prices\",\"type\":\"address\"}],\"internalType\":\"struct JB721PricingParams\",\"name\":\"pricing\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"contract IJBTiered721DelegateStore\",\"name\":\"store\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"flags\",\"type\":\"tuple\"},{\"internalType\":\"enum JB721GovernanceType\",\"name\":\"governanceType\",\"type\":\"uint8\"}],\"internalType\":\"struct JBDeployTiered721DelegateData\",\"name\":\"_deployTiered721DelegateData\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"discountRate\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBFundingCycleBallot\",\"name\":\"ballot\",\"type\":\"address\"}],\"internalType\":\"struct JBFundingCycleData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"allowSetTerminals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowSetController\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseTransfers\",\"type\":\"bool\"}],\"internalType\":\"struct JBGlobalFundingCycleMetadata\",\"name\":\"global\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"redemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"ballotRedemptionRate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"pausePay\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseDistributions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseRedeem\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"pauseBurn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowMinting\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowTerminalMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"allowControllerMigration\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"holdFees\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferClaimedTokenOverride\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useTotalOverflowForRedemptions\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useDataSourceForRedeem\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"metadata\",\"type\":\"uint256\"}],\"internalType\":\"struct JBPayDataSourceFundingCycleMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"mustStartAtOrAfter\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"group\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"preferClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preferAddToBalance\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"lockedUntil\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBSplitAllocator\",\"name\":\"allocator\",\"type\":\"address\"}],\"internalType\":\"struct JBSplit[]\",\"name\":\"splits\",\"type\":\"tuple[]\"}],\"internalType\":\"struct JBGroupedSplits[]\",\"name\":\"groupedSplits\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"contract IJBPaymentTerminal\",\"name\":\"terminal\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"distributionLimitCurrency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"overflowAllowanceCurrency\",\"type\":\"uint256\"}],\"internalType\":\"struct JBFundAccessConstraints[]\",\"name\":\"fundAccessConstraints\",\"type\":\"tuple[]\"},{\"internalType\":\"string\",\"name\":\"memo\",\"type\":\"string\"}],\"internalType\":\"struct JBReconfigureFundingCyclesData\",\"name\":\"_reconfigureFundingCyclesData\",\"type\":\"tuple\"},{\"internalType\":\"contract IJBController3_1\",\"name\":\"_controller\",\"type\":\"address\"}],\"name\":\"reconfigureFundingCyclesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"configuration\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"custom:version\":\"3.3\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_delegateDeployer\":\"The delegate deployer.\",\"_directory\":\"The directory of terminals and controllers for projects.\",\"_operatorStore\":\"A contract storing operator assignments.\"}},\"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"details\":\"Only a project's owner or operator can launch its funding cycles.\",\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy a delegate.\",\"_launchFundingCyclesData\":\"Data necessary to launch the funding cycles for the project.\",\"_projectId\":\"The ID of the project for which the funding cycles will be launched.\"},\"returns\":{\"configuration\":\"The configuration of the funding cycle that was successfully created.\"}},\"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy the delegate.\",\"_launchProjectData\":\"Data necessary to launch the project.\",\"_owner\":\"The address to set as the owner of the project. The project's ERC-721 will be owned by this address.\"},\"returns\":{\"projectId\":\"The ID of the newly configured project.\"}},\"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)\":{\"details\":\"Only a project's owner or operator can configure its funding cycles.\",\"params\":{\"_controller\":\"The controller with which the funding cycles should be configured.\",\"_deployTiered721DelegateData\":\"Data necessary to deploy a delegate.\",\"_projectId\":\"The ID of the project for which funding cycles are being reconfigured.\",\"_reconfigureFundingCyclesData\":\"Data necessary to reconfigure the funding cycle.\"},\"returns\":{\"configuration\":\"The configuration of the successfully reconfigured funding cycle.\"}}},\"title\":\"JBTiered721DelegateProjectDeployer\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"delegateDeployer()\":{\"notice\":\"The contract responsible for deploying the delegate.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"notice\":\"Launches funding cycles for a project with an attached delegate.\"},\"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)\":{\"notice\":\"Launches a new project with a tiered 721 delegate attached.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)\":{\"notice\":\"Reconfigures funding cycles for a project with an attached delegate.\"}},\"notice\":\"Deploys a project with an associated tiered 721 delegate.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateProjectDeployer.sol\":\"JBTiered721DelegateProjectDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a\",\"dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM\"]},\"contracts/enums/JB721GovernanceType.sol\":{\"keccak256\":\"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746\",\"dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ\"]},\"contracts/interfaces/IJB721Delegate.sol\":{\"keccak256\":\"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8\",\"dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721Delegate.sol\":{\"keccak256\":\"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df\",\"dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK\"]},\"contracts/interfaces/IJBTiered721DelegateDeployer.sol\":{\"keccak256\":\"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e\",\"dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ\"]},\"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol\":{\"keccak256\":\"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662\",\"dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/structs/JB721PricingParams.sol\":{\"keccak256\":\"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3\",\"dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBDeployTiered721DelegateData.sol\":{\"keccak256\":\"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738\",\"dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2\"]},\"contracts/structs/JBLaunchFundingCyclesData.sol\":{\"keccak256\":\"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f\",\"dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea\"]},\"contracts/structs/JBLaunchProjectData.sol\":{\"keccak256\":\"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60\",\"dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"contracts/structs/JBReconfigureFundingCyclesData.sol\":{\"keccak256\":\"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd\",\"dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]},\"contracts/structs/JBTiered721MintForTiersData.sol\":{\"keccak256\":\"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7\",\"dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu\"]},\"contracts/structs/JBTiered721MintReservesForTiersData.sol\":{\"keccak256\":\"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea\",\"dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol\":{\"keccak256\":\"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03\",\"dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH\"]},\"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol\":{\"keccak256\":\"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357\",\"dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5\"]},\"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol\":{\"keccak256\":\"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d\",\"dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG\"]},\"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol\":{\"keccak256\":\"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97\",\"dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBTiered721DelegateDeployer","name":"_delegateDeployer","type":"address"},{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[],"stateMutability":"view","type":"function","name":"delegateDeployer","outputs":[{"internalType":"contract IJBTiered721DelegateDeployer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchFundingCyclesData","name":"_launchFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchFundingCyclesFor","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBLaunchProjectData","name":"_launchProjectData","type":"tuple","components":[{"internalType":"struct JBProjectMetadata","name":"projectMetadata","type":"tuple","components":[{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"domain","type":"uint256"}]},{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"contract IJBPaymentTerminal[]","name":"terminals","type":"address[]"},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"launchProjectFor","outputs":[{"internalType":"uint256","name":"projectId","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"struct JBDeployTiered721DelegateData","name":"_deployTiered721DelegateData","type":"tuple","components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"contract IJBFundingCycleStore","name":"fundingCycleStore","type":"address"},{"internalType":"string","name":"baseUri","type":"string"},{"internalType":"contract IJB721TokenUriResolver","name":"tokenUriResolver","type":"address"},{"internalType":"string","name":"contractUri","type":"string"},{"internalType":"struct JB721PricingParams","name":"pricing","type":"tuple","components":[{"internalType":"struct JB721TierParams[]","name":"tiers","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]},{"internalType":"uint48","name":"currency","type":"uint48"},{"internalType":"uint48","name":"decimals","type":"uint48"},{"internalType":"contract IJBPrices","name":"prices","type":"address"}]},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"contract IJBTiered721DelegateStore","name":"store","type":"address"},{"internalType":"struct JBTiered721Flags","name":"flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]},{"internalType":"enum JB721GovernanceType","name":"governanceType","type":"uint8"}]},{"internalType":"struct JBReconfigureFundingCyclesData","name":"_reconfigureFundingCyclesData","type":"tuple","components":[{"internalType":"struct JBFundingCycleData","name":"data","type":"tuple","components":[{"internalType":"uint256","name":"duration","type":"uint256"},{"internalType":"uint256","name":"weight","type":"uint256"},{"internalType":"uint256","name":"discountRate","type":"uint256"},{"internalType":"contract IJBFundingCycleBallot","name":"ballot","type":"address"}]},{"internalType":"struct JBPayDataSourceFundingCycleMetadata","name":"metadata","type":"tuple","components":[{"internalType":"struct JBGlobalFundingCycleMetadata","name":"global","type":"tuple","components":[{"internalType":"bool","name":"allowSetTerminals","type":"bool"},{"internalType":"bool","name":"allowSetController","type":"bool"},{"internalType":"bool","name":"pauseTransfers","type":"bool"}]},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"uint256","name":"redemptionRate","type":"uint256"},{"internalType":"uint256","name":"ballotRedemptionRate","type":"uint256"},{"internalType":"bool","name":"pausePay","type":"bool"},{"internalType":"bool","name":"pauseDistributions","type":"bool"},{"internalType":"bool","name":"pauseRedeem","type":"bool"},{"internalType":"bool","name":"pauseBurn","type":"bool"},{"internalType":"bool","name":"allowMinting","type":"bool"},{"internalType":"bool","name":"allowTerminalMigration","type":"bool"},{"internalType":"bool","name":"allowControllerMigration","type":"bool"},{"internalType":"bool","name":"holdFees","type":"bool"},{"internalType":"bool","name":"preferClaimedTokenOverride","type":"bool"},{"internalType":"bool","name":"useTotalOverflowForRedemptions","type":"bool"},{"internalType":"bool","name":"useDataSourceForRedeem","type":"bool"},{"internalType":"uint256","name":"metadata","type":"uint256"}]},{"internalType":"uint256","name":"mustStartAtOrAfter","type":"uint256"},{"internalType":"struct JBGroupedSplits[]","name":"groupedSplits","type":"tuple[]","components":[{"internalType":"uint256","name":"group","type":"uint256"},{"internalType":"struct JBSplit[]","name":"splits","type":"tuple[]","components":[{"internalType":"bool","name":"preferClaimed","type":"bool"},{"internalType":"bool","name":"preferAddToBalance","type":"bool"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"projectId","type":"uint256"},{"internalType":"address payable","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"lockedUntil","type":"uint256"},{"internalType":"contract IJBSplitAllocator","name":"allocator","type":"address"}]}]},{"internalType":"struct JBFundAccessConstraints[]","name":"fundAccessConstraints","type":"tuple[]","components":[{"internalType":"contract IJBPaymentTerminal","name":"terminal","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"distributionLimit","type":"uint256"},{"internalType":"uint256","name":"distributionLimitCurrency","type":"uint256"},{"internalType":"uint256","name":"overflowAllowance","type":"uint256"},{"internalType":"uint256","name":"overflowAllowanceCurrency","type":"uint256"}]},{"internalType":"string","name":"memo","type":"string"}]},{"internalType":"contract IJBController3_1","name":"_controller","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"reconfigureFundingCyclesOf","outputs":[{"internalType":"uint256","name":"configuration","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_delegateDeployer":"The delegate deployer.","_directory":"The directory of terminals and controllers for projects.","_operatorStore":"A contract storing operator assignments."}},"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"details":"Only a project's owner or operator can launch its funding cycles.","params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy a delegate.","_launchFundingCyclesData":"Data necessary to launch the funding cycles for the project.","_projectId":"The ID of the project for which the funding cycles will be launched."},"returns":{"configuration":"The configuration of the funding cycle that was successfully created."}},"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy the delegate.","_launchProjectData":"Data necessary to launch the project.","_owner":"The address to set as the owner of the project. The project's ERC-721 will be owned by this address."},"returns":{"projectId":"The ID of the newly configured project."}},"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":{"details":"Only a project's owner or operator can configure its funding cycles.","params":{"_controller":"The controller with which the funding cycles should be configured.","_deployTiered721DelegateData":"Data necessary to deploy a delegate.","_projectId":"The ID of the project for which funding cycles are being reconfigured.","_reconfigureFundingCyclesData":"Data necessary to reconfigure the funding cycle."},"returns":{"configuration":"The configuration of the successfully reconfigured funding cycle."}}},"version":1},"userdoc":{"kind":"user","methods":{"delegateDeployer()":{"notice":"The contract responsible for deploying the delegate."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"launchFundingCyclesFor(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"notice":"Launches funding cycles for a project with an attached delegate."},"launchProjectFor(address,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((string,uint256),(uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],address[],string),address)":{"notice":"Launches a new project with a tiered 721 delegate attached."},"operatorStore()":{"notice":"A contract storing operator assignments."},"reconfigureFundingCyclesOf(uint256,(string,string,address,string,address,string,((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[],uint48,uint48,address),address,address,(bool,bool,bool,bool),uint8),((uint256,uint256,uint256,address),((bool,bool,bool),uint256,uint256,uint256,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,bool,uint256),uint256,(uint256,(bool,bool,uint256,uint256,address,uint256,address)[])[],(address,address,uint256,uint256,uint256,uint256)[],string),address)":{"notice":"Reconfigures funding cycles for a project with an attached delegate."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateProjectDeployer.sol":"JBTiered721DelegateProjectDeployer"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721DelegateProjectDeployer.sol":{"keccak256":"0x7890947b4e385e74a71687228adf6dc6f67fc40f2c381081ad9b69ff54e8d296","urls":["bzz-raw://079bb86fb05c4598efde775c9b12e89aab9645fb6ee3ed15112f700dc7f59d6a","dweb:/ipfs/QmUzWicpe13pZxNRMmrUB1AEyZPGb7rugWJmujvBohwrfM"],"license":"MIT"},"contracts/enums/JB721GovernanceType.sol":{"keccak256":"0x5b298c2e368ea382e3c452b1e024aad208e435e00779044f2139284a8f2896d5","urls":["bzz-raw://bdd542fbf7b0d95ebd9e496d9f80807055ed6d726c225bcb956af28610ea3746","dweb:/ipfs/QmQs5swQ5CeuR6sJPp6jz7Ng9UwX61kDbZQHrxBJGGm6PQ"],"license":"MIT"},"contracts/interfaces/IJB721Delegate.sol":{"keccak256":"0x6e931ce37cea4dbb0524febebc6eb3be2cff1b4479fd2507f3cbfd204390c92d","urls":["bzz-raw://0990760895c4feab3c5f3aa00dadc7e112f94fbca34e49dd7c8ab5098f1ca4c8","dweb:/ipfs/QmVjXxnaek18vt8ijkpDufRzv4VvESUoEgDVR3zxBiJS54"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721Delegate.sol":{"keccak256":"0x71c771fd14036f2068f3a4e36907a37c1c6f43f5cf8b4c67d6842eada30bab57","urls":["bzz-raw://fa345b1b51b8b1eff76a4075aa0d902478ad13e487eceb2b5444853d2bd991df","dweb:/ipfs/QmVKB6WmMxQXxrQ3i3fnDciu9Y6mN1yepUYbH1Q5AmkwqK"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateDeployer.sol":{"keccak256":"0x7a626715dfda3ab8a1c57190dc419b7796d2f2e289758303f72ea027936449f6","urls":["bzz-raw://4e3f8403e49634a751d7a8c125034a3bda91f2fd2596c8ef4e87774b43a9f09e","dweb:/ipfs/QmYd7VRRBmrfnpkFWgmjF2QT1VZyrHgR1coaBvWKDJK7pZ"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateProjectDeployer.sol":{"keccak256":"0xa28c7dd486233e49faa489dda570ddefb58b0d701cdeb8a977cbe976d7f28f2c","urls":["bzz-raw://6d0360dce9a127072845c87e371a08b1c206efd3c5a99ea33faef3eff7ec5662","dweb:/ipfs/QmWAV1xGAv85iSDQFfGGYnUBnBTkmbMaYYLjvLCbD3fCoi"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/structs/JB721PricingParams.sol":{"keccak256":"0x81d0ed6819b0008a99b91d0ae16685e573d9ecfaa1f2b647dae29727e68eaba6","urls":["bzz-raw://c919cf4454ad7a30c7a10a7e50ebc75865628c95e8246bb84c7ee72003d0a3a3","dweb:/ipfs/QmeosL8gH4dFJhRipmuBwEEA7z5aPZdcKBb7rJH7xjsLFM"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBDeployTiered721DelegateData.sol":{"keccak256":"0x904521c3553909579fd1af82628b9cac27e14d08be32ce4ac4b1e2501d418e7b","urls":["bzz-raw://f007f75b3e71d11050748e05bc7a3cac7c642f0e9a7dc54418ff34cf70042738","dweb:/ipfs/QmXU8XGojKgaDd7GRb1n16dqz4PfvXKAuDUMCBE9392qR2"],"license":"MIT"},"contracts/structs/JBLaunchFundingCyclesData.sol":{"keccak256":"0x09b53b3967bac546c462bf2dfd0ccf1af9aa2e7957feca905cc12a00750c3c38","urls":["bzz-raw://a6f498caedb75470c2c59fdba6d511c6bdd27a85bd12ffbc5a7fae55eb2d972f","dweb:/ipfs/QmWmBf4gvFkhvAG9rtXwo4DNcKJfkbz42mNvcFyrbFqVea"],"license":"MIT"},"contracts/structs/JBLaunchProjectData.sol":{"keccak256":"0xdfe3d814cac9eea0f0ef86226252fc3edc02f3440b3959a76700e457ae9265b2","urls":["bzz-raw://87c9bc02cfd40343d3c213e060d3742fa9530a9a1f7fde6f8d14e5048688ec60","dweb:/ipfs/QmPo9755i6SKKSktudxGUZfGoj6S2T25D6xFw3TxfmF4xy"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"contracts/structs/JBReconfigureFundingCyclesData.sol":{"keccak256":"0x2a7368439241749ab16c93d64298e5642a90107d76eb8fdca4bbffd5180cae25","urls":["bzz-raw://07cbe0066d51c6b7347cf1af8391a9934276ef0962753d4d916c682cb31858fd","dweb:/ipfs/QmPPsDHCmcoAv5gh5nS88wiqAhNoaxnttdMRXnSW8WHAut"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"},"contracts/structs/JBTiered721MintForTiersData.sol":{"keccak256":"0xe8fa55b8f81b8fe6838619141eb7dd7cd2930db6557dd4a2d91fe97a804d70b5","urls":["bzz-raw://27296a85cfee8f4175a41a4f580bfb66949c0cf4bb5835b19c919f6203e9ddb7","dweb:/ipfs/QmeFy1ekwRni5WArsEGugkhJYHDHpPrezvGTzu1WcEMPFu"],"license":"MIT"},"contracts/structs/JBTiered721MintReservesForTiersData.sol":{"keccak256":"0x520f9217a81a394a51fa68d87eedd469bc11fd210bdfb6bb64b5cd834fc36792","urls":["bzz-raw://6e080216b7f95df961e55181948e41a507268f4c143096a79438d3723feb0bea","dweb:/ipfs/QmRs2TikGKetaQKyjryPYEwkSj63JeLCqBfJTKBuHjhUkM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnable.sol":{"keccak256":"0x9a8862ededd04fca6a11c986ac1182d0dd177b089fff151d74bbdfbb8cfaf52b","urls":["bzz-raw://835a22a49183bc858de1a4a37b0802d855451fdcbf5cfdd2040f48733e451d03","dweb:/ipfs/Qme9aGkgSY7T8iqMztftRPdP2uzGGUhTNMxbBGBB8NWrwH"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/JBOwnableOverrides.sol":{"keccak256":"0x8d5b2697ab212df3805fc53a2595968d232a769296f8447f4a8d986549ce1663","urls":["bzz-raw://98fe43d831d67878351d2d50ebd414ed1205760b4143d29a4589df1eb40b3357","dweb:/ipfs/QmcqoynXY3SqCpN642BQGRosdGeCzf17Es83y3PPnECej5"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/interfaces/IJBOwnable.sol":{"keccak256":"0x2e55c8895a758ed89f73ab589f2aafd47bda078a8c1848be4f9d89b03ee06253","urls":["bzz-raw://cbb2e4a2d308b315b6085fd896d3a138f3b6851ba491447689066a4968cf9d6d","dweb:/ipfs/QmQJayqKc52LdZN3jP8tVHsJsJevg7Ha7kEG8eA6ZNRerG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-ownable/src/struct/JBOwner.sol":{"keccak256":"0xe9c1266c1e079ba36d1e0e4340c69870c0fd5a64c95571761997f386a02b04d0","urls":["bzz-raw://ab5058e2668889e7babf7dcab5b44a232a4cbaf41633bfff9d28bc0b9ff75a97","dweb:/ipfs/QmNP68NkHLfn5c46PoJi7DRkNS4W1fwPV1RMzfAkgGrgNP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"}},"version":1},"id":2} \ No newline at end of file diff --git a/out/JBTiered721DelegateStore.sol/JBTiered721DelegateStore.json b/out/JBTiered721DelegateStore.sol/JBTiered721DelegateStore.json index d8df0a1a..98a11c96 100644 --- a/out/JBTiered721DelegateStore.sol/JBTiered721DelegateStore.json +++ b/out/JBTiered721DelegateStore.sol/JBTiered721DelegateStore.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cleanTiers","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultReservedTokenBeneficiaryOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"encodedIPFSUriOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"encodedTierIPFSUriOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"flagsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"isTierRemoved","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTierIdOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfBurnedFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservedTokensOutstandingFor","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservesMintedFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recordAddTiers","inputs":[{"name":"_tiersToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordBurn","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordFlags","inputs":[{"name":"_flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordMint","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"_isManualMint","type":"bool","internalType":"bool"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"leftoverAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordMintReservesFor","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_count","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordRemoveTierIds","inputs":[{"name":"_tierIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetEncodedIPFSUriOf","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetTokenUriResolver","inputs":[{"name":"_resolver","type":"address","internalType":"contract IJB721TokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordTransferForTier","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"reservedTokenBeneficiaryOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tierBalanceOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tierIdOfToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"tierOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierOfTokenId","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierVotingUnitsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tiersOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_categories","type":"uint256[]","internalType":"uint256[]"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"},{"name":"_startingId","type":"uint256","internalType":"uint256"},{"name":"_size","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_tiers","type":"tuple[]","internalType":"struct JB721Tier[]","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolverOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJB721TokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"votingUnitsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CleanTiers","inputs":[{"name":"nft","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"CANT_MINT_MANUALLY","inputs":[]},{"type":"error","name":"INSUFFICIENT_AMOUNT","inputs":[]},{"type":"error","name":"INSUFFICIENT_RESERVES","inputs":[]},{"type":"error","name":"INVALID_CATEGORY_SORT_ORDER","inputs":[]},{"type":"error","name":"INVALID_QUANTITY","inputs":[]},{"type":"error","name":"INVALID_TIER","inputs":[]},{"type":"error","name":"MANUAL_MINTING_NOT_ALLOWED","inputs":[]},{"type":"error","name":"MAX_TIERS_EXCEEDED","inputs":[]},{"type":"error","name":"NO_QUANTITY","inputs":[]},{"type":"error","name":"OUT","inputs":[]},{"type":"error","name":"RESERVED_RATE_NOT_ALLOWED","inputs":[]},{"type":"error","name":"TIER_REMOVED","inputs":[]},{"type":"error","name":"VOTING_UNITS_NOT_ALLOWED","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506131c4806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea2646970667358221220be349ccb52f19134ba50e6a363b0a710a3b45eb30374a8e8cc88f2c2d1c35a6b64736f6c63430008170033","sourceMap":"713:49382:3:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea2646970667358221220be349ccb52f19134ba50e6a363b0a710a3b45eb30374a8e8cc88f2c2d1c35a6b64736f6c63430008170033","sourceMap":"713:49382:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39030:1667;;;;;;:::i;:::-;;:::i;:::-;;6752:77;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;6752:77:3;;;;;;-1:-1:-1;;;;;737:32:195;;;719:51;;707:2;692:18;6752:77:3;;;;;;;;21127:543;;;;;;:::i;:::-;;:::i;18671:545::-;;;;;;:::i;:::-;;:::i;:::-;;;2513:25:195;;;2501:2;2486:18;18671:545:3;2367:177:195;33648:607:3;;;;;;:::i;:::-;;:::i;19421:977::-;;;;;;:::i;:::-;;:::i;6208:81::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;15570:456;;;;;;:::i;:::-;;:::i;13493:260::-;;;;;;:::i;:::-;;:::i;5437:97::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20678:127;;;;;;:::i;:::-;;:::i;38534:167::-;;;;;;:::i;:::-;38656:10;38639:28;;;;:16;:28;;;;;;;;:37;;;;;;;;;;:55;38534:167;17053:243;;;;;;:::i;:::-;;:::i;:::-;;;4151:14:195;;4144:22;4126:41;;4114:2;4099:18;17053:243:3;3986:187:195;11247:247:3;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5830:89::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;16651:126;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16756:14:3;;;;;:8;:14;;;;;;;;;16749:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16651:126;;;;;;;7028:13:195;;7021:21;7014:29;6996:48;;7114:4;7102:17;;;7096:24;7089:32;7082:40;7060:20;;;7053:70;7193:4;7181:17;;;7175:24;7168:32;7161:40;7139:20;;;7132:70;7272:4;7260:17;;;7254:24;7247:32;7240:40;7218:20;;;7211:70;;;;6983:3;6968:19;;6779:508;37321:784:3;;;;;;:::i;:::-;;:::i;22036:9024::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6500:77::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;6500:77:3;;;14128:1051;;;;;;:::i;:::-;;:::i;8118:2791::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;31342:1337::-;;;;;;:::i;:::-;;:::i;7243:80::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;32929:612;;;;;;:::i;:::-;;:::i;11842:365::-;;;;;;:::i;:::-;;:::i;16317:174::-;;;;;;:::i;:::-;;:::i;38775:119::-;;;;;;:::i;:::-;;:::i;12440:683::-;;;;;;:::i;:::-;;:::i;38202:146::-;;;;;;:::i;:::-;38318:10;38299:30;;;;:18;:30;;;;;:42;;-1:-1:-1;;;;;;38299:42:3;-1:-1:-1;;;;;38299:42:3;;;;;;;;;;38202:146;34713:2504;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5057:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;17842:491;;;;;;:::i;:::-;;:::i;39030:1667::-;39141:25;39169;39189:4;39169:19;:25::i;:::-;39141:53;;39302:28;39333:29;39354:4;39360:1;39333:20;:29::i;:::-;39302:60;;39432:17;39510:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;39510:31:3;39593:25;;39586:1061;;39639:66;39665:4;39671:20;39693:11;39639:25;:66::i;:::-;39634:856;;39887:13;:9;39899:1;39887:13;:::i;:::-;39863:20;:37;39859:495;;-1:-1:-1;;;;;39928:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;;:53;;39924:160;;-1:-1:-1;;;;;40009:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;:52;;;39924:160;39859:495;;;-1:-1:-1;;;;;40244:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;;:34;40240:114;;-1:-1:-1;;;;;40302:18:3;;40334:1;40302:18;;;;;;;;;;;:29;;;;;;;;:33;40240:114;40455:20;40443:32;;39634:856;40570:66;40590:4;40596:20;40618:17;40570:19;:66::i;:::-;40547:89;;39586:1061;;;40662:28;;40679:10;719:51:195;;-1:-1:-1;;;;;40662:28:3;;;;;707:2:195;692:18;40662:28:3;;;;;;;39082:1615;;;;39030:1667;:::o;21127:543::-;-1:-1:-1;;;;;21345:33:3;;;21224:7;21345:33;;;:27;:33;;;;;;;;:42;;;;;;;;;21224:7;;21345:42;21454:51;;21450:126;;21528:37;-1:-1:-1;21521:44:3;;21450:126;-1:-1:-1;;;;;;;21624:39:3;;;;;;;:33;:39;;;;;;;21127:543;;;;;:::o;18671:545::-;18805:14;18921:9;18805:14;19017:193;19039:17;19034:2;:22;19017:193;;;-1:-1:-1;;;;;19083:19:3;;;;;;:13;:19;;;;;;19103:28;19117:9;;19127:2;19117:13;;;;;;;:::i;:::-;;;;;;;19103;:28::i;:::-;19083:49;;;;;;;;;;;-1:-1:-1;19083:49:3;:55;19073:65;;-1:-1:-1;;;;;19083:55:3;19073:65;;:::i;:::-;;-1:-1:-1;19181:4:3;;19017:193;;;;18825:391;18671:545;;;;;:::o;33648:607::-;33819:8;33799:17;;33935:314;33957:9;33952:2;:14;33935:314;;;34054:8;;34063:2;34054:12;;;;;;;:::i;:::-;34146:10;34121:36;;;;:24;34054:12;34121:36;;;;;;;34054:12;;;;;;;;-1:-1:-1;34121:56:3;;:36;-1:-1:-1;34054:12:3;34121:47;:56::i;:::-;34220:4;;33935:314;;;;33724:531;;33648:607;;:::o;19421:977::-;-1:-1:-1;;;;;19596:17:3;;19496:14;19596:17;;;:11;:17;;;;;;19685:34;;:::i;:::-;19804:10;19799:593;19821:10;19816:2;:15;19799:593;;;-1:-1:-1;;;;;19942:19:3;;;;;;:13;:19;;;;;;;;19967:1;19962:6;;;19942:27;;;;;;;;;19928:41;;;;;;;;;-1:-1:-1;;;;;19928:41:3;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;-1:-1:-1;20238:64:3;;19942:19;;20282:6;;19962;;20282;:::i;:::-;20290:11;20238:37;:64::i;:::-;20181:11;:29;;;20151:11;:27;;;:59;;;;:::i;:::-;20150:152;;;;;;:::i;:::-;20092:17;;:228;;;-1:-1:-1;;;;;20092:228:3;;:::i;:::-;20082:238;;;;:::i;:::-;;-1:-1:-1;20363:4:3;;19799:593;;;;19512:886;;19421:977;;;:::o;15570:456::-;-1:-1:-1;;;;;15834:19:3;;;15726:7;15834:19;;;:13;:19;;;;;;;;:29;;;;;;;;;;;:38;;;;;;;;;15887:13;;;15883:27;;15909:1;15902:8;;;;;15883:27;-1:-1:-1;;;;;15979:19:3;;;;;;:13;:19;;;;;;;;:28;;;;;;;;:40;15968:51;;-1:-1:-1;;;15979:40:3;;;;15968:8;:51;:::i;:::-;15961:58;;;15570:456;;;;;;:::o;13493:260::-;-1:-1:-1;;;;;13717:19:3;;13634:7;13717:19;;;:13;:19;;;;;;;;:28;;;;;;;;13664:82;;;;;;;;;-1:-1:-1;;;;;13664:82:3;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;13717:19;;:28;;13664:37;:82::i;20678:127::-;20749:7;20775:23;1892:13;20775:8;:23;:::i;17053:243::-;-1:-1:-1;;;;;17189:30:3;;17139:4;17189:30;;;:24;:30;;;;;17139:4;;17189:46;;17227:7;17189:37;:46::i;:::-;17155:80;-1:-1:-1;17253:36:3;17155:80;17281:7;17253:27;:36::i;:::-;17246:43;17053:243;-1:-1:-1;;;;17053:243:3:o;11247:247::-;11378:16;;:::i;:::-;-1:-1:-1;;;;;11441:19:3;;;;;;:13;:19;;;;;;;;:24;;;;;;;;;11417:70;;;;;;;;;-1:-1:-1;;;;;11417:70:3;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;11430:4;;11436:3;;11467:19;11417:12;:70::i;37321:784::-;37491:9;37463:25;;37675:424;37697:17;37692:2;:22;37675:424;;;37777:9;;37787:2;37777:13;;;;;;;:::i;:::-;;;;;;;37766:24;;37805:15;37823:23;37837:8;37823:13;:23::i;:::-;37936:10;37918:29;;;;:17;:29;;;;;;;;:38;;;;;;;;:40;;37805:41;;-1:-1:-1;37918:38:3;:40;;;:::i;:::-;;;;-1:-1:-1;;37987:10:3;37973:25;;;;:13;:25;;;;;;;;:34;;;;;;;;:54;;-1:-1:-1;;;37973:54:3;;;;;:52;:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;38070:4;;;;;37717:382;37675:424;;22036:9024;22398:10;22246:25;22386:23;;;:11;:23;;;;;;22151:24;;22274:11;;22532:16;22490:39;22274:11;22386:23;22490:39;:::i;:::-;:58;22486:91;;;22557:20;;-1:-1:-1;;;22557:20:3;;;;;;;;;;;22486:91;22652:32;22687:31;22707:10;22687:19;:31::i;:::-;22652:66;;22813:17;22799:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22799:32:3;-1:-1:-1;22789:42:3;-1:-1:-1;22999:26:3;23028:24;;:66;;23059:35;23080:10;23092:1;23059:20;:35::i;:::-;23028:66;;;23055:1;23028:66;22999:95;;23152:17;23241:33;;:::i;:::-;23369:10;23327:30;23360:20;;;:8;:20;;;;;;;;23327:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23391:7587;23413:17;23408:2;:22;23391:7587;;;23509:11;;23521:2;23509:15;;;;;;;:::i;:::-;;;;;;23496:28;;;;;;;;;;:::i;:::-;;-1:-1:-1;23618:16:3;23633:1;1892:13;23618:16;:::i;:::-;23589:10;:26;;;:45;;;23585:76;;;23643:18;;-1:-1:-1;;;23643:18:3;;;;;;;;;;;23585:76;23730:36;;:::i;:::-;23888:7;;23884:291;;23990:11;;24002:6;24007:1;24002:2;:6;:::i;:::-;23990:19;;;;;;;:::i;:::-;;;;;;23974:35;;;;;;;;;;:::i;:::-;;;24100:13;:22;;;24078:44;;:10;:19;;;:44;;;24074:86;;;24131:29;;-1:-1:-1;;;24131:29:3;;;;;;;;;;;24074:86;24289:6;:28;;;:243;;;;;24368:10;:25;;;:56;;;;-1:-1:-1;24397:22:3;;;;:27;;;;24368:56;24367:143;;;;24459:10;:25;;;24458:26;:51;;;;-1:-1:-1;24488:16:3;;-1:-1:-1;;;;;24488:21:3;;;24458:51;24268:345;;;24572:26;;-1:-1:-1;;;24572:26:3;;;;;;;;;;;24268:345;24745:31;;;:61;;;24780:10;:26;;;24745:61;24744:95;;;;-1:-1:-1;24811:23:3;;;;:28;;;;24744:95;24740:168;;;24866:27;;-1:-1:-1;;;24866:27:3;;;;;;;;;;;24740:168;24993:6;:31;;;:61;;;;;25028:10;:26;;;24993:61;24989:135;;;25081:28;;-1:-1:-1;;;25081:28:3;;;;;;;;;;;24989:135;25191:10;:26;;;:31;;25221:1;25191:31;25187:57;;25231:13;;-1:-1:-1;;;25231:13:3;;;;;;;;;;;25187:57;25306:15;25324:24;25346:2;25324:19;:24;:::i;:::-;:28;;25351:1;25324:28;:::i;:::-;25306:46;;25455:526;;;;;;;;25504:10;:16;;;-1:-1:-1;;;;;25455:526:3;;;;;25565:10;:26;;;25455:526;;;;;;25634:10;:26;;;25455:526;;;;;;25699:10;:22;;;25692:30;;25455:526;;;;;;25820:10;:19;;;25455:526;;;;;;25761:10;:23;;;25455:526;;;;;;25871:95;25882:10;:26;;;25910:10;:28;;;25940:10;:25;;;49302:3;49298:25;49237:3;49233:28;;;;49230:41;;;49295:38;;48977:372;25871:95;25455:526;;;;;;;25432:10;25418:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;:563;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25418:563:3;;;-1:-1:-1;;25418:563:3;;;;;;;-1:-1:-1;;;25418:563:3;;;;;;-1:-1:-1;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;;;;-1:-1:-1;;;;25418:563:3;;;;;-1:-1:-1;;;25418:563:3;;;;;;;;;-1:-1:-1;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;-1:-1:-1;;;;25418:563:3;;-1:-1:-1;;;25418:563:3;;;;;;;;;;;;-1:-1:-1;;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;;;;;;;;;;;26218:19;;;;26192:22;;;;:45;;;;;;;;;:73;;-1:-1:-1;26241:19:3;;;;:24;;;;26192:73;26188:180;;;26311:10;26285:37;;;;:25;:37;;;;;;;;26323:19;;;;26285:58;;;;;;;;;:68;;;26188:180;26447:35;;;;-1:-1:-1;;;;;26447:49:3;;26443:541;;26520:10;:53;;;26516:454;;;26650:35;;;;26635:10;26601:45;;;;:33;:45;;;;;;-1:-1:-1;;;;;26601:45:3;;;:84;;;26597:222;;26761:35;;;;26747:10;26713:45;;;;:33;:45;;;;;:83;;-1:-1:-1;;;;;;26713:83:3;-1:-1:-1;;;;;26713:83:3;;;;;;;;;26597:222;26516:454;;;26916:35;;;;26893:10;26865:39;;;;:27;:39;;;;;;;;:48;;;;;;;;:86;;-1:-1:-1;;;;;;26865:86:3;-1:-1:-1;;;;;26865:86:3;;;;;;;;;26516:454;27051:25;;;;:39;27047:143;;27150:25;;;;27127:10;27110:28;;;;:16;:28;;;;;;;;:37;;;;;;;;:65;27047:143;27208:23;;27204:3613;;27335:18;27304:28;27475:3328;27482:25;;27475:3328;;27584:79;27604:10;27616:20;27638:24;27584:19;:79::i;:::-;27919:10;27905:25;;;;:13;:25;;;;;;;;:47;;;;;;;;:56;27882:19;;;;27576:87;;-1:-1:-1;27905:56:3;-1:-1:-1;;;27905:56:3;;;;;27882:79;;;;;;:154;;;28017:19;27993:20;:43;;27882:154;27853:2932;;;28220:11;:7;28230:1;28220:11;:::i;:::-;28196:20;:35;28192:154;;28276:10;28263:12;:24;;;;;;;;;;;:33;;;;;;;;:56;;;28192:154;28534:10;28509:36;;;;:24;:36;;;;;;:64;;28505:190;;28630:10;28605:36;;;;:24;:36;;;;;:63;;;28505:190;28854:11;28864:1;28854:7;:11;:::i;:::-;28841:9;:24;;:68;;;-1:-1:-1;28882:10:3;28869:12;:24;;;;;;;;;;;:35;;;;;;;;;:40;;28841:68;28837:353;;;29138:11;29148:1;29138:7;:11;:::i;:::-;29125:9;:24;:38;;29156:7;29125:38;;;29152:1;29125:38;29100:10;29087:12;:24;;;;;;;;;;;:35;;;;;;;;:76;28837:353;29326:20;29305:41;;29479:7;29467:19;;29609:1;29586:24;;27475:3328;;27853:2932;29757:10;;;:41;;;29779:19;29771:5;:27;29757:41;29753:1032;;;29841:24;:20;29864:1;29841:24;:::i;:::-;29830:7;:35;29826:154;;29910:10;29897:12;:24;;;;;;;;;;;:46;;;;;;;;:56;;;29826:154;30360:10;30211:1;30335:36;;;:24;:36;;;;;;30116:7;;-1:-1:-1;30116:7:3;;30211:1;;-1:-1:-1;30335:41:3;30331:87;;30403:10;30417:1;30378:36;;;:24;:36;;;;;:40;30331:87;27475:3328;;29753:1032;30636:20;;-1:-1:-1;30757:5:3;27475:3328;;;27233:3584;;27204:3613;30899:7;30885;30893:2;30885:11;;;;;;;;:::i;:::-;;;;;;;;;;:21;-1:-1:-1;;30949:4:3;;23391:7587;;;-1:-1:-1;31014:39:3;31036:17;31014:19;:39;:::i;:::-;31000:10;30988:23;;;;:11;:23;;;;;:65;-1:-1:-1;22036:9024:3;;;-1:-1:-1;;;;;;;;22036:9024:3:o;14128:1051::-;-1:-1:-1;;;;;14322:17:3;;14223:13;14322:17;;;:11;:17;;;;;;14223:13;14489:34;;:::i;:::-;14587:10;14569:604;14599:7;;14569:604;;-1:-1:-1;;;;;14704:19:3;;;;;;;:13;:19;;;;;;;;:29;;;;;;;;;;;:33;;;;;;;;-1:-1:-1;14756:13:3;;14752:56;;-1:-1:-1;;;;;14785:19:3;;;;;;:13;:19;;;;;;;;:23;;;;;;;;;14771:37;;;;;;;;;-1:-1:-1;;;;;14771:37:3;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;-1:-1:-1;14752:56:3;14827:20;14851:37;14864:11;:23;;;49929:3;49925:17;;49918:25;49911:33;;49997:3;49993:17;;49986:25;49979:33;;50062:3;50058:17;50051:25;50044:33;;49700:393;14851:37;14823:65;;;;15039:15;:61;;15083:17;;15039:61;;;15057:11;:23;;;15039:61;;;15027:74;;-1:-1:-1;;;;;15027:74:3;:8;:74;:::i;:::-;15018:83;;;;:::i;:::-;;-1:-1:-1;;;;15144:4:3;14569:604;;;;14238:941;;;14128:1051;;;;:::o;8118:2791::-;8321:25;8407:19;8429:25;8449:4;8429:19;:25::i;:::-;8407:47;;8525:11;8540:1;8525:16;8521:35;;8543:13;;;8521:35;8652:5;8636:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8627:31;;8716:30;8818:34;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;9031:10:3;9086:1595;9160:42;;;9197:5;9160:42;9349:28;9380:11;9395:1;9380:16;:138;;9445:73;9466:4;9472:23;;:45;;9502:11;;9514:2;9502:15;;;;;;;:::i;:::-;;;;;;;9445:20;:73::i;9472:45::-;9498:1;9445:20;:73::i;:::-;9380:138;;;9415:11;9380:138;9349:169;;9571:1006;9578:25;;;;;:59;;;9632:5;9607:22;:30;9578:59;9571:1006;;;9662:66;9688:4;9694:20;9716:11;9662:25;:66::i;:::-;9657:757;;-1:-1:-1;;;;;9766:19:3;;;;;;:13;:19;;;;;;;;:41;;;;;;;;;9752:55;;;;;;;;;-1:-1:-1;;;;;9752:55:3;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;-1:-1:-1;9834:23:3;;;;;:65;;;9884:11;;9896:2;9884:15;;;;;;;:::i;:::-;;;;;;;9861:11;:20;;;:38;;;9834:65;9927:5;9830:566;10073:23;;;:66;;;10124:11;;10136:2;10124:15;;;;;;;:::i;:::-;;;;;;;10100:11;:20;;;:39;;;10073:66;10069:327;;;10299:74;10312:4;10318:20;10340:11;10353:19;10299:12;:74::i;:::-;10236:6;10243:24;;;;:::i;:::-;;;10236:32;;;;;;;;:::i;:::-;;;;;;:137;;;;10069:327;10502:60;10522:4;10528:20;10550:11;10502:19;:60::i;:::-;10479:83;;9571:1006;;;-1:-1:-1;10619:4:3;;10656:23;;;9086:1595;;;10777:5;10751:22;:31;10747:156;;10856:22;10848:6;10841:38;10747:156;8348:2561;;;;;8118:2791;;;;;;;;;:::o;31342:1337::-;31590:10;31538:35;31576:25;;;:13;:25;;;;;;;;:34;;;;;;;;31761:71;;;;;;;;;-1:-1:-1;;;;;31761:71:3;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;;;;-1:-1:-1;;;31761:71:3;;;;31457:25;31761:71;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;31457:25;;31576:34;;31538:35;31761:71;;31576:34;;31761:37;:71::i;:::-;31704:128;;31907:34;31898:6;:43;31894:79;;;31950:23;;-1:-1:-1;;;31950:23:3;;;;;;;;;;;31894:79;32069:10;32043:37;;;;:25;:37;;;;;;;;:46;;;;;;;;:56;;32093:6;;32043:37;:56;;32093:6;;32043:56;:::i;:::-;;;;-1:-1:-1;32195:6:3;;-1:-1:-1;32181:21:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32181:21:3;-1:-1:-1;32330:10:3;32278:31;32312:29;;;:17;:29;;;;;;;;:38;;;;;;;;;32170:32;;-1:-1:-1;32361:312:3;32383:6;32378:2;:11;32361:312;;;32457:144;32491:7;32564:23;32532:11;:29;;;32530:31;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;32500:11;:27;;;;;;;;;;;;:61;;;;:::i;:::-;:87;;;;;;:::i;:::-;32457:16;:144::i;:::-;32442:8;32451:2;32442:12;;;;;;;;:::i;:::-;;;;;;;;;;:159;32644:4;;32361:312;;32929:612;-1:-1:-1;;;;;33127:19:3;;;33123:150;;33235:10;33221:25;;;;:13;:25;;;;;;;;-1:-1:-1;;;;;33221:32:3;;;;;;;;;:41;;;;;;;;33219:43;;33221:41;;:25;33219:43;;;:::i;:::-;;;;-1:-1:-1;33123:150:3;-1:-1:-1;;;;;33342:17:3;;;33338:197;;33485:10;33471:25;;;;:13;:25;;;;;;;;-1:-1:-1;;;;;33471:30:3;;;;;;;;;:39;;;;;;;;33469:41;;;;;;33338:197;32929:612;;;:::o;11842:365::-;11987:16;;:::i;:::-;12064:15;12082:23;12096:8;12082:13;:23::i;:::-;-1:-1:-1;;;;;12150:19:3;;;;;;:13;:19;;;;;;;;:28;;;;;;;;;12122:78;;;;;;;;;-1:-1:-1;;;;;12122:78:3;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;12064:41;;-1:-1:-1;12122:78:3;;12135:4;;12064:41;;12180:19;12122:12;:78::i;16317:174::-;-1:-1:-1;;;;;16437:22:3;;16411:7;16437:22;;;:16;:22;;;;;16411:7;16460:23;16474:8;16460:13;:23::i;:::-;16437:47;;;;;;;;;;;;16430:54;;16317:174;;;;:::o;38775:119::-;38867:10;38858:20;;;;:8;:20;;;;;38881:6;;38858:29;38881:6;38858:20;:29;:::i;12440:683::-;12509:14;12594:34;;:::i;:::-;-1:-1:-1;;;;;12713:17:3;;12692:18;12713:17;;;:11;:17;;;;;;;12741:376;12771:7;;12741:376;;-1:-1:-1;;;;;12856:19:3;;;;;;:13;:19;;;;;;;;:23;;;;;;;;;12842:37;;;;;;;;;-1:-1:-1;;;;;12842:37:3;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;-1:-1:-1;12986:59:3;;;:::i;:::-;12976:69;;;;;;:::i;:::-;;-1:-1:-1;;;13088:4:3;12741:376;;34713:2504;34849:25;34989:7;35083:8;34876:22;;35083:8;35373:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35373:29:3;;35362:40;;35463:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;35463:31:3;35510:10;35505:1706;35527:14;35522:2;:19;35505:1706;;;35618:8;;35627:2;35618:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;35608:22;;;;35704:59;35730:10;35742:7;35751:11;35704:25;:59::i;:::-;35700:86;;;35772:14;;-1:-1:-1;;;35772:14:3;;;;;;;;;;;35700:86;35892:10;35878:25;;;;:13;:25;;;;;;;;:34;;;;;;;;35968:23;;35878:34;;-1:-1:-1;;;;35968:23:3;;49929:3;49925:17;49918:25;49911:33;36089:13;:34;;;;;36107:16;36106:17;36089:34;36085:67;;;36132:20;;-1:-1:-1;;;36132:20:3;;;;;;;;;;;36085:67;36222:27;;-1:-1:-1;;;36222:27:3;;;;;:32;36218:59;;36263:14;;-1:-1:-1;;;36263:14:3;;;;;;;;;;;36218:59;36369:17;;-1:-1:-1;;;;;36369:17:3;:34;-1:-1:-1;36365:68:3;;;36412:21;;-1:-1:-1;;;36412:21:3;;;;;;;;;;;36365:68;36561:71;;;;;;;;;;-1:-1:-1;;;;;36561:71:3;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;;36599:10;;36611:7;;36561:37;:71::i;:::-;36528:29;;-1:-1:-1;;;36528:29:3;;;;:104;36507:152;;36654:5;;-1:-1:-1;;;36654:5:3;;;;;;;;;;;36507:152;36975:10;36957:29;;;;:17;:29;;;;;;;;:38;;;;;;;;;36899:31;;-1:-1:-1;;36899:31:3;-1:-1:-1;;;36899:31:3;;;;;;;;;;;-1:-1:-1;;;;36899:31:3;;;;;;;;;;36802:211;;36840:7;;-1:-1:-1;;;36869:27:3;;;;;:61;;;;36899:31;36869:61;:126;;36802:16;:211::i;:::-;36787:8;36796:2;36787:12;;;;;;;;:::i;:::-;;;;;;;;;;:226;-1:-1:-1;37147:17:3;;-1:-1:-1;;;;;37147:17:3;37130:34;;;;37147:17;37182:4;35505:1706;;;;34904:2313;;;;34713:2504;;;;;;;:::o;17842:491::-;-1:-1:-1;;;;;18022:17:3;;17921:15;18022:17;;;:11;:17;;;;;;;18085:242;18115:7;;18085:242;;-1:-1:-1;;;;;18224:19:3;;;;;;;:13;:19;;;;;;;;:27;;;;;;;;;;;:31;;;;;;;18213:42;;;;:::i;:::-;;-1:-1:-1;;;18298:4:3;18085:242;;;;17938:395;17842:491;;;;:::o;48397:233::-;-1:-1:-1;;;;;48490:30:3;;48463:10;48490:30;;;:24;:30;;;;;;;48592:7;;;48588:35;;-1:-1:-1;;;;;;48606:17:3;;;;;;:11;:17;;;;;;48588:35;48397:233;;;:::o;47929:295::-;48015:10;48042:14;;:83;;-1:-1:-1;;;;;48083:31:3;;;;;;:25;:31;;;;;;;;:42;;;;;;;;;48042:83;;;-1:-1:-1;;;;;48059:18:3;;:12;:18;;;;;;;;;;;:21;;;;;;;;;48042:83;48037:88;;48202:2;48208:1;48202:7;48198:19;;-1:-1:-1;48216:1:3;47929:295;;;;:::o;43100:521::-;43246:4;43359:40;:11;43391:7;43359:31;:40::i;:::-;:107;;;-1:-1:-1;43404:23:3;;:28;:61;;;;-1:-1:-1;43436:24:3;;;;:29;43404:61;43355:206;;;-1:-1:-1;;;;;43504:30:3;;;;;;:24;:30;;;;;:46;;43542:7;43504:37;:46::i;:::-;43490:60;;43355:206;43578:36;:11;43606:7;43578:27;:36::i;47097:455::-;47190:7;47270:4;47263:3;:11;47259:25;;-1:-1:-1;47283:1:3;47276:8;;47259:25;-1:-1:-1;;;;;47402:18:3;;47380:19;47402:18;;;;;;;;;;;:23;;;;;;;;;47440:16;;47436:40;;47465:11;-1:-1:-1;47458:18:3;;47436:40;47538:7;:3;47544:1;47538:7;:::i;1381:197:28:-;1478:14;1495:22;1510:6;2061:1;2051:11;;1962:121;1495:22;1478:39;-1:-1:-1;1557:12:28;1566:3;1557:6;:12;:::i;:::-;1527;;;;;;;;;;;;:44;;1551:1;:19;;;1527:44;;;;;;-1:-1:-1;1381:197:28:o;44081:2323:3:-;44242:7;44383:11;:24;;;:29;;44411:1;44383:29;:93;;;;44447:11;:29;;;44416:60;;:11;:27;;;:60;;;44383:93;:168;;;-1:-1:-1;44549:1:3;44496:41;44523:4;44529:7;44496:26;:41::i;:::-;-1:-1:-1;;;;;44496:55:3;;44383:168;44366:205;;;-1:-1:-1;44570:1:3;44563:8;;44366:205;-1:-1:-1;;;;;44682:31:3;;44651:28;44682:31;;;:25;:31;;;;;;;;:40;;;;;;;;;;44886:29;;;;44832:27;;;;44682:40;;44832:83;;;;;:50;;44682:40;;44832:50;;:::i;:::-;:83;44828:122;;44938:1;44931:8;;;;;44828:122;45152:34;45327:20;45295:11;:29;;;45265:11;:27;;;:59;:82;;;45220:127;;45492:37;45561:11;:24;;;45532:53;;:26;:53;;;;:::i;:::-;45492:93;;45677:1;45650:11;:24;;;45621:53;;:26;:53;;;;:::i;:::-;:57;45617:94;;;45680:31;;;:::i;:::-;;;45617:94;45891:11;:27;;;45800:118;;45859:29;45831:11;:24;;;45801:54;;:11;:27;;;:54;;;;:::i;:::-;45800:88;;;;;;:::i;:::-;:118;45796:211;;;-1:-1:-1;45966:29:3;;;;45934:61;;45796:211;46162:29;46139:20;:52;46135:66;;;46200:1;46193:8;;;;;;;46135:66;46335:52;;;;;44081:2323;-1:-1:-1;;;;;44081:2323:3:o;338:283:28:-;-1:-1:-1;;;;;;;;;;;;;;;;;494:14:28;511:22;526:6;2061:1;2051:11;;1962:121;511:22;551:63;;;;;;;;-1:-1:-1;578:12:28;;;;;;;;;;;;551:63;;;;;;-1:-1:-1;551:63:28;;338:283;-1:-1:-1;;338:283:28:o;728:165::-;818:4;863:12;872:3;863:6;:12;:::i;:::-;842:16;;880:1;842:34;;841:40;;:45;;-1:-1:-1;728:165:28;;;;:::o;41335:1416:3:-;41497:16;;:::i;:::-;41591:33;41627:41;41654:4;41660:7;41627:26;:41::i;:::-;41591:77;;41680:21;41703:23;41728:20;41752:37;41765:11;:23;;;49929:3;49925:17;;49918:25;49911:33;;49997:3;49993:17;;49986:25;49979:33;;50062:3;50058:17;50051:25;50044:33;;49700:393;41752:37;41679:110;;;;;;41807:937;;;;;;;;41835:7;41807:937;;;;41863:11;:17;;;-1:-1:-1;;;;;41807:937:3;;;;;41913:11;:29;;;41807:937;;;;;;41973:11;:27;;;41807:937;;;;;;42027:15;:61;;42071:17;;42027:61;;;42045:11;:23;;;42027:61;;;-1:-1:-1;;;;;41807:937:3;;;;;-1:-1:-1;;;;;42171:39:3;;;:70;;42217:11;:24;;;42171:70;;;42213:1;42171:70;41807:937;;;;-1:-1:-1;;;;;41807:937:3;;;;;;;;;;;42336:22;;;-1:-1:-1;42336:22:3;;;:16;:22;;41807:937;42336:22;;;:31;;;;;;;;;;41807:937;;;;42391:20;;;;;41807:937;;;;;;;;;;;;;;;;;;;;;;42536:20;;;:86;;-1:-1:-1;;;;;;42560:24:3;;;42619:1;42560:24;;;:18;:24;;;;;;;:62;42536:86;:197;;-1:-1:-1;;;;;42662:24:3;;;;;;;:18;:24;;;;;;;;;;:35;;42681:4;;42704:28;;42721:7;;42704:16;:28::i;:::-;42662:71;;-1:-1:-1;;;;;;42662:71:3;;;;;;;-1:-1:-1;;;;;19019:32:195;;;42662:71:3;;;19001:51:195;19068:18;;;19061:34;18974:18;;42662:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;42662:71:3;;;;;;;;;;;;:::i;:::-;42536:197;;;;;;;;;;;;;;;;41807:937;;41800:944;41335:1416;-1:-1:-1;;;;;;;;;41335:1416:3:o;46665:160::-;46753:7;46806:12;46780:22;1892:13;46780:7;:22;:::i;:::-;46779:39;;;;:::i;1693:167:28:-;1787:4;1836;:17;;;1810:22;1825:6;2061:1;2051:11;;1962:121;1810:22;:43;;;1693:167;-1:-1:-1;;;1693:167:28:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:195:-;-1:-1:-1;;;;;89:31:195;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:134::-;218:20;;247:31;218:20;247:31;:::i;289:247::-;348:6;401:2;389:9;380:7;376:23;372:32;369:52;;;417:1;414;407:12;369:52;456:9;443:23;475:31;500:5;475:31;:::i;781:315::-;849:6;857;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;965:9;952:23;984:31;1009:5;984:31;:::i;:::-;1034:5;1086:2;1071:18;;;;1058:32;;-1:-1:-1;;;781:315:195:o;1418:367::-;1481:8;1491:6;1545:3;1538:4;1530:6;1526:17;1522:27;1512:55;;1563:1;1560;1553:12;1512:55;-1:-1:-1;1586:20:195;;1629:18;1618:30;;1615:50;;;1661:1;1658;1651:12;1615:50;1698:4;1690:6;1686:17;1674:29;;1758:3;1751:4;1741:6;1738:1;1734:14;1726:6;1722:27;1718:38;1715:47;1712:67;;;1775:1;1772;1765:12;1712:67;1418:367;;;;;:::o;1790:572::-;1885:6;1893;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:52;;;1970:1;1967;1960:12;1922:52;2009:9;1996:23;2028:31;2053:5;2028:31;:::i;:::-;2078:5;-1:-1:-1;2134:2:195;2119:18;;2106:32;2161:18;2150:30;;2147:50;;;2193:1;2190;2183:12;2147:50;2232:70;2294:7;2285:6;2274:9;2270:22;2232:70;:::i;:::-;1790:572;;2321:8;;-1:-1:-1;2206:96:195;;-1:-1:-1;;;;1790:572:195:o;2549:437::-;2635:6;2643;2696:2;2684:9;2675:7;2671:23;2667:32;2664:52;;;2712:1;2709;2702:12;2664:52;2752:9;2739:23;2785:18;2777:6;2774:30;2771:50;;;2817:1;2814;2807:12;2771:50;2856:70;2918:7;2909:6;2898:9;2894:22;2856:70;:::i;:::-;2945:8;;2830:96;;-1:-1:-1;2549:437:195;-1:-1:-1;;;;2549:437:195:o;2991:456::-;3068:6;3076;3084;3137:2;3125:9;3116:7;3112:23;3108:32;3105:52;;;3153:1;3150;3143:12;3105:52;3192:9;3179:23;3211:31;3236:5;3211:31;:::i;:::-;3261:5;-1:-1:-1;3318:2:195;3303:18;;3290:32;3331:33;3290:32;3331:33;:::i;:::-;2991:456;;3383:7;;-1:-1:-1;;;3437:2:195;3422:18;;;;3409:32;;2991:456::o;3452:180::-;3511:6;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;3603:23:195;;3452:180;-1:-1:-1;3452:180:195:o;3637:248::-;3705:6;3713;3766:2;3754:9;3745:7;3741:23;3737:32;3734:52;;;3782:1;3779;3772:12;3734:52;-1:-1:-1;;3805:23:195;;;3875:2;3860:18;;;3847:32;;-1:-1:-1;3637:248:195:o;4178:118::-;4264:5;4257:13;4250:21;4243:5;4240:32;4230:60;;4286:1;4283;4276:12;4301:128;4366:20;;4395:28;4366:20;4395:28;:::i;4434:450::-;4508:6;4516;4524;4577:2;4565:9;4556:7;4552:23;4548:32;4545:52;;;4593:1;4590;4583:12;4545:52;4632:9;4619:23;4651:31;4676:5;4651:31;:::i;:::-;4701:5;-1:-1:-1;4753:2:195;4738:18;;4725:32;;-1:-1:-1;4809:2:195;4794:18;;4781:32;4822:30;4781:32;4822:30;:::i;:::-;4871:7;4861:17;;;4434:450;;;;;:::o;4889:250::-;4974:1;4984:113;4998:6;4995:1;4992:13;4984:113;;;5074:11;;;5068:18;5055:11;;;5048:39;5020:2;5013:10;4984:113;;;-1:-1:-1;;5131:1:195;5113:16;;5106:27;4889:250::o;5144:271::-;5186:3;5224:5;5218:12;5251:6;5246:3;5239:19;5267:76;5336:6;5329:4;5324:3;5320:14;5313:4;5306:5;5302:16;5267:76;:::i;:::-;5397:2;5376:15;-1:-1:-1;;5372:29:195;5363:39;;;;5404:4;5359:50;;5144:271;-1:-1:-1;;5144:271:195:o;5420:1083::-;5472:3;5500:6;5533:5;5527:12;5522:3;5515:25;5589:4;5582:5;5578:16;5572:23;5565:4;5560:3;5556:14;5549:47;5645:4;5638:5;5634:16;5628:23;5621:4;5616:3;5612:14;5605:47;5701:4;5694:5;5690:16;5684:23;5677:4;5672:3;5668:14;5661:47;5757:4;5750:5;5746:16;5740:23;5733:4;5728:3;5724:14;5717:47;5813:4;5806:5;5802:16;5796:23;5789:4;5784:3;5780:14;5773:47;5866:4;5859:5;5855:16;5849:23;5881:48;5923:4;5918:3;5914:14;5900:12;-1:-1:-1;;;;;1167:31:195;1155:44;;1101:104;5881:48;-1:-1:-1;5978:4:195;5967:16;;;5961:23;5945:14;;;5938:47;6004:6;6046:14;;;6040:21;6026:12;;;6019:43;6081:6;6124:14;;;6118:21;3960:13;3953:21;6180:12;;;3941:34;6212:6;6255:14;;;6249:21;3960:13;3953:21;6311:12;;;3941:34;6343:6;6386:14;;;6380:21;6417:12;;;6410:24;;;6450:47;6484:12;;;6380:21;6450:47;:::i;6508:266::-;6693:2;6682:9;6675:21;6656:4;6713:55;6764:2;6753:9;6749:18;6741:6;6713:55;:::i;7292:656::-;7414:6;7422;7475:2;7463:9;7454:7;7450:23;7446:32;7443:52;;;7491:1;7488;7481:12;7443:52;7531:9;7518:23;7560:18;7601:2;7593:6;7590:14;7587:34;;;7617:1;7614;7607:12;7587:34;7655:6;7644:9;7640:22;7630:32;;7700:7;7693:4;7689:2;7685:13;7681:27;7671:55;;7722:1;7719;7712:12;7671:55;7762:2;7749:16;7788:2;7780:6;7777:14;7774:34;;;7804:1;7801;7794:12;7774:34;7862:7;7857:2;7847:6;7839;7835:19;7831:2;7827:28;7823:37;7820:50;7817:70;;;7883:1;7880;7873:12;7817:70;7914:2;7906:11;;;;;7936:6;;-1:-1:-1;7292:656:195;;-1:-1:-1;;;;7292:656:195:o;7953:439::-;8006:3;8044:5;8038:12;8071:6;8066:3;8059:19;8097:4;8126;8121:3;8117:14;8110:21;;8165:4;8158:5;8154:16;8188:1;8198:169;8212:6;8209:1;8206:13;8198:169;;;8273:13;;8261:26;;8307:12;;;;8342:15;;;;8234:1;8227:9;8198:169;;;-1:-1:-1;8383:3:195;;7953:439;-1:-1:-1;;;;;7953:439:195:o;8397:261::-;8576:2;8565:9;8558:21;8539:4;8596:56;8648:2;8637:9;8633:18;8625:6;8596:56;:::i;8663:388::-;8731:6;8739;8792:2;8780:9;8771:7;8767:23;8763:32;8760:52;;;8808:1;8805;8798:12;8760:52;8847:9;8834:23;8866:31;8891:5;8866:31;:::i;:::-;8916:5;-1:-1:-1;8973:2:195;8958:18;;8945:32;8986:33;8945:32;8986:33;:::i;:::-;9038:7;9028:17;;;8663:388;;;;;:::o;9056:845::-;9175:6;9183;9191;9199;9207;9215;9268:3;9256:9;9247:7;9243:23;9239:33;9236:53;;;9285:1;9282;9275:12;9236:53;9324:9;9311:23;9343:31;9368:5;9343:31;:::i;:::-;9393:5;-1:-1:-1;9449:2:195;9434:18;;9421:32;9476:18;9465:30;;9462:50;;;9508:1;9505;9498:12;9462:50;9547:70;9609:7;9600:6;9589:9;9585:22;9547:70;:::i;:::-;9636:8;;-1:-1:-1;9521:96:195;-1:-1:-1;;9723:2:195;9708:18;;9695:32;9736:30;9695:32;9736:30;:::i;:::-;9056:845;;;;-1:-1:-1;9056:845:195;;9839:2;9824:18;;9811:32;;9890:3;9875:19;;;9862:33;;-1:-1:-1;9056:845:195;-1:-1:-1;;9056:845:195:o;9906:849::-;10104:4;10133:2;10173;10162:9;10158:18;10203:2;10192:9;10185:21;10226:6;10261;10255:13;10292:6;10284;10277:22;10330:2;10319:9;10315:18;10308:25;;10392:2;10382:6;10379:1;10375:14;10364:9;10360:30;10356:39;10342:53;;10430:2;10422:6;10418:15;10451:1;10461:265;10475:6;10472:1;10469:13;10461:265;;;10568:2;10564:7;10552:9;10544:6;10540:22;10536:36;10531:3;10524:49;10596:50;10639:6;10630;10624:13;10596:50;:::i;:::-;10586:60;-1:-1:-1;10704:12:195;;;;10669:15;;;;10497:1;10490:9;10461:265;;;-1:-1:-1;10743:6:195;;9906:849;-1:-1:-1;;;;;;;9906:849:195:o;11195:456::-;11272:6;11280;11288;11341:2;11329:9;11320:7;11316:23;11312:32;11309:52;;;11357:1;11354;11347:12;11309:52;11393:9;11380:23;11370:33;;11453:2;11442:9;11438:18;11425:32;11466:31;11491:5;11466:31;:::i;:::-;11516:5;-1:-1:-1;11573:2:195;11558:18;;11545:32;11586:33;11545:32;11586:33;:::i;11656:204::-;11752:6;11805:3;11793:9;11784:7;11780:23;11776:33;11773:53;;;11822:1;11819;11812:12;11773:53;-1:-1:-1;11845:9:195;11656:204;-1:-1:-1;11656:204:195:o;12149:633::-;12249:6;12257;12265;12273;12326:2;12314:9;12305:7;12301:23;12297:32;12294:52;;;12342:1;12339;12332:12;12294:52;12378:9;12365:23;12355:33;;12439:2;12428:9;12424:18;12411:32;12466:18;12458:6;12455:30;12452:50;;;12498:1;12495;12488:12;12452:50;12537:70;12599:7;12590:6;12579:9;12575:22;12537:70;:::i;:::-;12626:8;;-1:-1:-1;12511:96:195;-1:-1:-1;;12711:2:195;12696:18;;12683:32;12724:28;12683:32;12724:28;:::i;:::-;12149:633;;;;-1:-1:-1;12149:633:195;;-1:-1:-1;;12149:633:195:o;12787:332::-;12994:2;12983:9;12976:21;12957:4;13014:56;13066:2;13055:9;13051:18;13043:6;13014:56;:::i;:::-;13006:64;;13106:6;13101:2;13090:9;13086:18;13079:34;12787:332;;;;;:::o;13124:127::-;13185:10;13180:3;13176:20;13173:1;13166:31;13216:4;13213:1;13206:15;13240:4;13237:1;13230:15;13256:125;13321:9;;;13342:10;;;13339:36;;;13355:18;;:::i;13386:127::-;13447:10;13442:3;13438:20;13435:1;13428:31;13478:4;13475:1;13468:15;13502:4;13499:1;13492:15;13518:175;13586:10;13629;;;13617;;;13613:27;;13652:12;;;13649:38;;;13667:18;;:::i;:::-;13649:38;13518:175;;;;:::o;13698:168::-;13771:9;;;13802;;13819:15;;;13813:22;;13799:37;13789:71;;13840:18;;:::i;13871:127::-;13932:10;13927:3;13923:20;13920:1;13913:31;13963:4;13960:1;13953:15;13987:4;13984:1;13977:15;14003:120;14043:1;14069;14059:35;;14074:18;;:::i;:::-;-1:-1:-1;14108:9:195;;14003:120::o;14128:135::-;14167:3;14188:17;;;14185:43;;14208:18;;:::i;:::-;-1:-1:-1;14255:1:195;14244:13;;14128:135::o;14268:201::-;14306:3;14334:10;14379:2;14372:5;14368:14;14406:2;14397:7;14394:15;14391:41;;14412:18;;:::i;:::-;14461:1;14448:15;;14268:201;-1:-1:-1;;;14268:201:195:o;14474:127::-;14535:10;14530:3;14526:20;14523:1;14516:31;14566:4;14563:1;14556:15;14590:4;14587:1;14580:15;14606:247;14673:2;14667:9;14715:3;14703:16;;14749:18;14734:34;;14770:22;;;14731:62;14728:88;;;14796:18;;:::i;:::-;14832:2;14825:22;14606:247;:::o;14858:182::-;14926:20;;-1:-1:-1;;;;;14975:40:195;;14965:51;;14955:79;;15030:1;15027;15020:12;15045:163;15112:20;;15172:10;15161:22;;15151:33;;15141:61;;15198:1;15195;15188:12;15213:159;15280:20;;15340:6;15329:18;;15319:29;;15309:57;;15362:1;15359;15352:12;15377:161;15444:20;;15504:8;15493:20;;15483:31;;15473:59;;15528:1;15525;15518:12;15543:1051;15636:6;15689:3;15677:9;15668:7;15664:23;15660:33;15657:53;;;15706:1;15703;15696:12;15657:53;15732:17;;:::i;:::-;15772:29;15791:9;15772:29;:::i;:::-;15765:5;15758:44;15834:37;15867:2;15856:9;15852:18;15834:37;:::i;:::-;15829:2;15822:5;15818:14;15811:61;15904:37;15937:2;15926:9;15922:18;15904:37;:::i;:::-;15899:2;15892:5;15888:14;15881:61;15974:37;16007:2;15996:9;15992:18;15974:37;:::i;:::-;15969:2;15962:5;15958:14;15951:61;16045:39;16079:3;16068:9;16064:19;16045:39;:::i;:::-;16039:3;16032:5;16028:15;16021:64;16146:3;16135:9;16131:19;16118:33;16112:3;16105:5;16101:15;16094:58;16185:38;16218:3;16207:9;16203:19;16185:38;:::i;:::-;16179:3;16172:5;16168:15;16161:63;16257:36;16288:3;16277:9;16273:19;16257:36;:::i;:::-;16251:3;16244:5;16240:15;16233:61;16313:3;16348:35;16379:2;16368:9;16364:18;16348:35;:::i;:::-;16332:14;;;16325:59;16403:3;16438:35;16454:18;;;16438:35;:::i;:::-;16422:14;;;16415:59;16493:3;16528:35;16544:18;;;16528:35;:::i;:::-;16512:14;;;16505:59;16516:5;15543:1051;-1:-1:-1;;;15543:1051:195:o;16599:128::-;16666:9;;;16687:11;;;16684:37;;;16701:18;;:::i;16732:185::-;16770:3;16814:10;16807:5;16803:22;16844:7;16834:41;;16855:18;;:::i;:::-;-1:-1:-1;;16891:20:195;;16732:185;-1:-1:-1;;16732:185:195:o;16922:136::-;16961:3;16989:5;16979:39;;16998:18;;:::i;:::-;-1:-1:-1;;;17034:18:195;;16922:136::o;17063:170::-;17105:11;17157:3;17144:17;17170:28;17192:5;17170:28;:::i;17448:880::-;17633:5;17620:19;17648:30;17670:7;17648:30;:::i;:::-;17697:11;;-1:-1:-1;;17785:17:195;;17738:15;;17731:23;17756:3;17727:33;17782:25;;;17769:39;;17856:2;17845:14;;17832:28;17869:30;17832:28;17869:30;:::i;:::-;17955:5;17936:15;;17929:23;17926:1;17922:31;17918:43;-1:-1:-1;;17989:19:195;;17986:27;;17983:35;;17970:49;;18067:2;18056:14;;18043:28;18080:30;18043:28;18080:30;:::i;:::-;18213:8;18201:7;18194:15;18187:23;18183:2;18179:32;18175:47;18169:2;18157:8;18153:13;18149:2;18145:22;18142:30;18138:2;18135:38;18132:91;18126:4;18119:105;;;;;18233:89;18281:40;18317:2;18310:5;18306:14;18281:40;:::i;:::-;18275:4;17326:11;;-1:-1:-1;;17362:24:195;17407:13;;17400:21;17396:2;17392:30;17424:10;17388:47;17359:77;;;;17346:91;;17238:205;18233:89;17448:880;;:::o;18333:184::-;18391:6;18444:2;18432:9;18423:7;18419:23;18415:32;18412:52;;;18460:1;18457;18450:12;18412:52;18483:28;18501:9;18483:28;:::i;18522:112::-;18554:1;18580;18570:35;;18585:18;;:::i;:::-;-1:-1:-1;18619:9:195;;18522:112::o;18639:183::-;18670:1;18696:10;18733:2;18730:1;18726:10;18755:3;18745:37;;18762:18;;:::i;:::-;18800:10;;18796:20;;;;;18639:183;-1:-1:-1;;18639:183:195:o;19106:897::-;19186:6;19239:2;19227:9;19218:7;19214:23;19210:32;19207:52;;;19255:1;19252;19245:12;19207:52;19288:9;19282:16;19317:18;19358:2;19350:6;19347:14;19344:34;;;19374:1;19371;19364:12;19344:34;19412:6;19401:9;19397:22;19387:32;;19457:7;19450:4;19446:2;19442:13;19438:27;19428:55;;19479:1;19476;19469:12;19428:55;19508:2;19502:9;19530:2;19526;19523:10;19520:36;;;19536:18;;:::i;:::-;19611:2;19605:9;19579:2;19665:13;;-1:-1:-1;;19661:22:195;;;19685:2;19657:31;19653:40;19641:53;;;19709:18;;;19729:22;;;19706:46;19703:72;;;19755:18;;:::i;:::-;19795:10;19791:2;19784:22;19830:2;19822:6;19815:18;19870:7;19865:2;19860;19856;19852:11;19848:20;19845:33;19842:53;;;19891:1;19888;19881:12;19842:53;19904:68;19969:2;19964;19956:6;19952:15;19947:2;19943;19939:11;19904:68;:::i;:::-;19991:6;19106:897;-1:-1:-1;;;;;;;19106:897:195:o","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,address)":"f7888aec","cleanTiers(address)":"086bb19a","defaultReservedTokenBeneficiaryOf(address)":"911c80b5","encodedIPFSUriOf(address,uint256)":"bd51923c","encodedTierIPFSUriOf(address,uint256)":"c8df1710","flagsOf(address)":"845104de","isTierRemoved(address,uint256)":"5f646611","maxTierIdOf(address)":"f1bea54f","numberOfBurnedFor(address,uint256)":"2b7e6ef0","numberOfReservedTokensOutstandingFor(address,uint256)":"35314b92","numberOfReservesMintedFor(address,uint256)":"6825bb80","recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":"8da5e32b","recordBurn(uint256[])":"86bc2be3","recordFlags((bool,bool,bool,bool))":"cb827e32","recordMint(uint256,uint16[],bool)":"eaa19ab3","recordMintReservesFor(uint256,uint256)":"baa7e80e","recordRemoveTierIds(uint256[])":"20512ba1","recordSetEncodedIPFSUriOf(uint256,bytes32)":"49bd1ac6","recordSetTokenUriResolver(address)":"d84a72c0","recordTransferForTier(uint256,address,address)":"c2c55f94","redemptionWeightOf(address,uint256[])":"144cc2d4","reservedTokenBeneficiaryOf(address,uint256)":"136e651c","tierBalanceOf(address,address,uint256)":"37f44652","tierIdOfToken(uint256)":"42f9914b","tierOf(address,uint256,bool)":"64faa159","tierOfTokenId(address,uint256,bool)":"c44a8e6d","tierVotingUnitsOf(address,address,uint256)":"2e4d0ea8","tiersOf(address,uint256[],bool,uint256,uint256)":"9403a74f","tokenUriResolverOf(address)":"0fab0947","totalRedemptionWeight(address)":"2ae5e492","totalSupplyOf(address)":"cf9530d0","votingUnitsOf(address,address)":"93355578"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CANT_MINT_MANUALLY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_AMOUNT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_RESERVES\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_CATEGORY_SORT_ORDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_QUANTITY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TIER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MANUAL_MINTING_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MAX_TIERS_EXCEEDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NO_QUANTITY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OUT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESERVED_RATE_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TIER_REMOVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VOTING_UNITS_NOT_ALLOWED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CleanTiers\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"cleanTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"defaultReservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"encodedIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"encodedTierIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"flagsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"isTierRemoved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"maxTierIdOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"numberOfBurnedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservedTokensOutstandingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"numberOfReservesMintedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"_tiersToAdd\",\"type\":\"tuple[]\"}],\"name\":\"recordAddTiers\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"recordBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"_flags\",\"type\":\"tuple\"}],\"name\":\"recordFlags\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint16[]\",\"name\":\"_tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"bool\",\"name\":\"_isManualMint\",\"type\":\"bool\"}],\"name\":\"recordMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_count\",\"type\":\"uint256\"}],\"name\":\"recordMintReservesFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tierIds\",\"type\":\"uint256[]\"}],\"name\":\"recordRemoveTierIds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"recordSetEncodedIPFSUriOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"recordSetTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"recordTransferForTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tierBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tierIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOfTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"tierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_categories\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_startingId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_size\",\"type\":\"uint256\"}],\"name\":\"tiersOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier[]\",\"name\":\"_tiers\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenUriResolverOf\",\"outputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"votingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balanceOf(address,address)\":{\"params\":{\"_nft\":\"The NFT contract to check the balance within.\",\"_owner\":\"The address to check the balance of.\"},\"returns\":{\"balance\":\"The number of tokens owned by the owner across all tiers within the NFT contract.\"}},\"cleanTiers(address)\":{\"params\":{\"_nft\":\"The NFT contract to clean tiers for.\"}},\"encodedTierIPFSUriOf(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to which the encoded IPFS URI belongs.\",\"_tokenId\":\"The token ID to get the encoded IPFS URI of.\"},\"returns\":{\"_0\":\"The encoded IPFS URI.\"}},\"flagsOf(address)\":{\"params\":{\"_nft\":\"The NFT contract for which the flags apply.\"},\"returns\":{\"_0\":\"The flags.\"}},\"isTierRemoved(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract of the tier to check for removal.\",\"_tierId\":\"The tier ID to check for removal.\"},\"returns\":{\"_0\":\"True if the tier has been removed.\"}},\"numberOfReservedTokensOutstandingFor(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to check for mintable reserved tokens.\",\"_tierId\":\"The tier ID to check for mintable reserved tokens.\"},\"returns\":{\"_0\":\"The number of currently outstanding reserved tokens within the tier and contract.\"}},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])\":{\"params\":{\"_tiersToAdd\":\"The tiers to add.\"},\"returns\":{\"tierIds\":\"The IDs of the tiers added.\"}},\"recordBurn(uint256[])\":{\"params\":{\"_tokenIds\":\"The IDs of the tokens being burned.\"}},\"recordFlags((bool,bool,bool,bool))\":{\"params\":{\"_flags\":\"The flags to set.\"}},\"recordMint(uint256,uint16[],bool)\":{\"params\":{\"_amount\":\"The amount to base the mints on. All mints' price floors must fit within this amount.\",\"_isManualMint\":\"A flag indicating if the mint is being made manually by the NFT contract's owner.\",\"_tierIds\":\"The tier IDs to mint from.\"},\"returns\":{\"leftoverAmount\":\"The amount left over after the mint.\",\"tokenIds\":\"The IDs of the minted tokens.\"}},\"recordMintReservesFor(uint256,uint256)\":{\"params\":{\"_count\":\"The number of reserved tokens to mint.\",\"_tierId\":\"The ID of the tier to mint reserved tokens from.\"},\"returns\":{\"tokenIds\":\"The IDs of the tokens being minted as reserves.\"}},\"recordRemoveTierIds(uint256[])\":{\"params\":{\"_tierIds\":\"The tiers IDs to remove.\"}},\"recordSetEncodedIPFSUriOf(uint256,bytes32)\":{\"params\":{\"_encodedIPFSUri\":\"The encoded IPFS URI to set.\",\"_tierId\":\"The tier ID to set the encoded IPFS URI of.\"}},\"recordSetTokenUriResolver(address)\":{\"params\":{\"_resolver\":\"The resolver to set.\"}},\"recordTransferForTier(uint256,address,address)\":{\"params\":{\"_from\":\"The address the token is being transferred from.\",\"_tierId\":\"The tier ID of the token being transferred.\",\"_to\":\"The address the token is being transferred to.\"}},\"redemptionWeightOf(address,uint256[])\":{\"params\":{\"_nft\":\"The NFT contract which the redemption weight is being calculated within.\",\"_tokenIds\":\"The IDs of the tokens to get the cumulative redemption weight of.\"},\"returns\":{\"weight\":\"The weight.\"}},\"reservedTokenBeneficiaryOf(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to check the reserved token beneficiary within.\",\"_tierId\":\"The tier ID to get the reserved token beneficiary of.\"},\"returns\":{\"_0\":\"The reserved token beneficiary address.\"}},\"tierIdOfToken(uint256)\":{\"details\":\"Tiers are 1-indexed from the `tiers` array, meaning the 0th element of the array is tier 1.\",\"params\":{\"_tokenId\":\"The token ID to get the tier ID of.\"},\"returns\":{\"_0\":\"The tier ID for the provided token ID.\"}},\"tierOf(address,uint256,bool)\":{\"params\":{\"_id\":\"The tier ID of the tier to get.\",\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get a tier from.\"},\"returns\":{\"_0\":\"The tier.\"}},\"tierOfTokenId(address,uint256,bool)\":{\"params\":{\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get a tier from.\",\"_tokenId\":\"The token ID to return the tier of.\"},\"returns\":{\"_0\":\"The tier.\"}},\"tierVotingUnitsOf(address,address,uint256)\":{\"params\":{\"_account\":\"The address to get the voting units of.\",\"_nft\":\"The NFT contract to get voting units within.\",\"_tierId\":\"The tier ID to get voting units within.\"},\"returns\":{\"_0\":\"The voting units for the address within the tier.\"}},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"params\":{\"_categories\":\"The categories of the tiers to get. Send empty for all categories.\",\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get tiers for.\",\"_size\":\"The number of tiers to include.\",\"_startingId\":\"The starting tier ID of the array of tiers sorted by contribution floor. Send 0 to get all active tiers.\"},\"returns\":{\"_tiers\":\"An array of active tiers.\"}},\"totalRedemptionWeight(address)\":{\"params\":{\"_nft\":\"The NFT contract for which the redemption weight is being calculated.\"},\"returns\":{\"weight\":\"The total weight.\"}},\"totalSupplyOf(address)\":{\"params\":{\"_nft\":\"The NFT contract to get a total supply of.\"},\"returns\":{\"supply\":\"The total number of NFTs issued from all tiers.\"}},\"votingUnitsOf(address,address)\":{\"params\":{\"_account\":\"The address to get the voting units of.\",\"_nft\":\"The NFT contract to get voting units within.\"},\"returns\":{\"units\":\"The total voting units for the address.\"}}},\"stateVariables\":{\"_ONE_BILLION\":{\"details\":\"Used in token ID generation.\"},\"_flagsOf\":{\"custom:param\":\"_nft The NFT contract for which the flags apply.\",\"custom:returns\":\"The flags.\"},\"_isTierRemovedBitmapWord\":{\"custom:param\":\"_nft The NFT contract to which the tier belongs._depth The bitmap row. Each row stores 256 tiers.\",\"custom:returns\":\"_word The bitmap row's content.\"},\"_reservedTokenBeneficiaryOf\":{\"custom:param\":\"_nft The NFT contract to which the reserved token beneficiary belongs._tierId The ID of the tier.\",\"custom:returns\":\"The address of the reserved token beneficiary.\"},\"_startingTierIdOfCategory\":{\"custom:param\":\"_nft The NFT contract to get the tier ID of._category The category to get the first tier ID of.\"},\"_storedTierOf\":{\"custom:param\":\"_nft The NFT contract to which the tiers belong._tierId The tier ID.\",\"custom:returns\":\"The stored tier.\"},\"_tierIdAfter\":{\"custom:param\":\"_nft The NFT contract to get ordered tier ID from._tierId The tier ID to get the following tier for.\",\"custom:returns\":\"The following tier's ID.\",\"details\":\"If empty, assume the next tier ID should come after.\"},\"_trackedLastSortTierIdOf\":{\"custom:param\":\"_nft The NFT contract to which the tier belongs.\",\"details\":\"If not set, it is assumed the `maxTierIdOf` is the last sorted.\"},\"defaultReservedTokenBeneficiaryOf\":{\"custom:param\":\"_nft The NFT contract to which the reserved token beneficiary applies.\"},\"encodedIPFSUriOf\":{\"custom:param\":\"_nft The NFT contract to which the encoded IPFS URI belongs._tierId The tier ID to which the encoded IPFS URI belongs.\",\"custom:returns\":\"The encoded IPFS URI.\",\"details\":\"Token URIs managed by this contract are stored as 32 bytes and based on stripped down IPFS hashes.\"},\"maxTierIdOf\":{\"custom:param\":\"_nft The NFT contract to get the largest tier ID from.\",\"details\":\"This may not include the last tier ID if it has been removed.\"},\"numberOfBurnedFor\":{\"custom:param\":\"_nft The NFT contract that the burning data belongs to._tierId The tier ID of the tier to get a burned token count for.\"},\"numberOfReservesMintedFor\":{\"custom:param\":\"_nft The NFT contract that the reserved minting data belongs to._tierId The tier ID to get a reserved token mint count for.\"},\"tierBalanceOf\":{\"custom:param\":\"_nft The NFT contract to check balances for._owner The address to get a balance for._tierId The tier ID to get a balance for.\"},\"tokenUriResolverOf\":{\"custom:param\":\"_nft The NFT contract to which the token URI resolver applies.\"}},\"title\":\"JBTiered721DelegateStore\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address,address)\":{\"notice\":\"The total number of tokens owned by the provided address.\"},\"cleanTiers(address)\":{\"notice\":\"Removes an NFT contract's removed tiers from sequencing.\"},\"defaultReservedTokenBeneficiaryOf(address)\":{\"notice\":\"Returns the reserved token beneficiary address used when a tier doesn't specify a beneficiary.\"},\"encodedIPFSUriOf(address,uint256)\":{\"notice\":\"Returns the encoded IPFS URI for the provided tier and NFT contract.\"},\"encodedTierIPFSUriOf(address,uint256)\":{\"notice\":\"Resolves the encoded IPFS URI of the tier for the provided token ID and NFT contract.\"},\"flagsOf(address)\":{\"notice\":\"Flags that influence the behavior of each NFT.\"},\"isTierRemoved(address,uint256)\":{\"notice\":\"Check if the provided tier has been removed from the current set of tiers.\"},\"maxTierIdOf(address)\":{\"notice\":\"Returns the largest tier ID used on the provided NFT contract.\"},\"numberOfBurnedFor(address,uint256)\":{\"notice\":\"Returns the number of tokens belonging to the provided tier and NFT contract which have been burned.\"},\"numberOfReservedTokensOutstandingFor(address,uint256)\":{\"notice\":\"Returns the number of currently mintable reserved tokens for the provided tier ID and NFT contract.\"},\"numberOfReservesMintedFor(address,uint256)\":{\"notice\":\"Returns the number of reserved tokens which have been minted within the provided tier and NFT contract.\"},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])\":{\"notice\":\"Adds tiers.\"},\"recordBurn(uint256[])\":{\"notice\":\"Records token burns.\"},\"recordFlags((bool,bool,bool,bool))\":{\"notice\":\"Sets flags.\"},\"recordMint(uint256,uint16[],bool)\":{\"notice\":\"Record token mints in the provided tiers.\"},\"recordMintReservesFor(uint256,uint256)\":{\"notice\":\"Record reserved token mints within the provided tier.\"},\"recordRemoveTierIds(uint256[])\":{\"notice\":\"Record removing the provided tiers.\"},\"recordSetEncodedIPFSUriOf(uint256,bytes32)\":{\"notice\":\"Sets the encoded IPFS URI of a tier.\"},\"recordSetTokenUriResolver(address)\":{\"notice\":\"Sets the token URI resolver.\"},\"recordTransferForTier(uint256,address,address)\":{\"notice\":\"Record a token transfer.\"},\"redemptionWeightOf(address,uint256[])\":{\"notice\":\"The cumulative redemption weight of the given token IDs compared to the `totalRedemptionWeight`.\"},\"reservedTokenBeneficiaryOf(address,uint256)\":{\"notice\":\"The reserved token beneficiary address for the provided tier ID and NFT contract.\"},\"tierBalanceOf(address,address,uint256)\":{\"notice\":\"Returns the number of NFTs held by the provided address which belong to the provided tier and NFT contract.\"},\"tierIdOfToken(uint256)\":{\"notice\":\"The tier ID of the provided token ID.\"},\"tierOf(address,uint256,bool)\":{\"notice\":\"Return the tier for the provided tier ID and NFT contract.\"},\"tierOfTokenId(address,uint256,bool)\":{\"notice\":\"Return the tier for the provided token ID and NFT contract.\"},\"tierVotingUnitsOf(address,address,uint256)\":{\"notice\":\"Returns the voting units for an addresses' NFTs in one tier. NFTs have a tier-specific number of voting units.\"},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"notice\":\"Gets an array of active tiers.\"},\"tokenUriResolverOf(address)\":{\"notice\":\"Returns a custom token URI resolver which supersedes the base URI.\"},\"totalRedemptionWeight(address)\":{\"notice\":\"The cumulative redemption weight for all token IDs.\"},\"totalSupplyOf(address)\":{\"notice\":\"The total number of NFTs issued from all tiers of the provided NFT contract.\"},\"votingUnitsOf(address,address)\":{\"notice\":\"Returns the total voting units from all of an addresses' NFTs (across all tiers) for the provided NFT contract. NFTs have a tier-specific number of voting units.\"}},\"notice\":\"This contract stores and manages data for an IJBTiered721Delegate's NFTs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateStore.sol\":\"JBTiered721DelegateStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c\",\"dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CANT_MINT_MANUALLY"},{"inputs":[],"type":"error","name":"INSUFFICIENT_AMOUNT"},{"inputs":[],"type":"error","name":"INSUFFICIENT_RESERVES"},{"inputs":[],"type":"error","name":"INVALID_CATEGORY_SORT_ORDER"},{"inputs":[],"type":"error","name":"INVALID_QUANTITY"},{"inputs":[],"type":"error","name":"INVALID_TIER"},{"inputs":[],"type":"error","name":"MANUAL_MINTING_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"MAX_TIERS_EXCEEDED"},{"inputs":[],"type":"error","name":"NO_QUANTITY"},{"inputs":[],"type":"error","name":"OUT"},{"inputs":[],"type":"error","name":"RESERVED_RATE_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"TIER_REMOVED"},{"inputs":[],"type":"error","name":"VOTING_UNITS_NOT_ALLOWED"},{"inputs":[{"internalType":"address","name":"nft","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"CleanTiers","anonymous":false},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cleanTiers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"defaultReservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedTierIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"flagsOf","outputs":[{"internalType":"struct JBTiered721Flags","name":"","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isTierRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"maxTierIdOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfBurnedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservedTokensOutstandingFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservesMintedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"_tiersToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordAddTiers","outputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordBurn"},{"inputs":[{"internalType":"struct JBTiered721Flags","name":"_flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordFlags"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint16[]","name":"_tierIds","type":"uint16[]"},{"internalType":"bool","name":"_isManualMint","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"recordMint","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256","name":"leftoverAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"recordMintReservesFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"_tierIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordRemoveTierIds"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"bytes32","name":"_encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"recordSetEncodedIPFSUriOf"},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordSetTokenUriResolver"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordTransferForTier"},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"pure","type":"function","name":"tierIdOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOf","outputs":[{"internalType":"struct JB721Tier","name":"","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOfTokenId","outputs":[{"internalType":"struct JB721Tier","name":"","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierVotingUnitsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256[]","name":"_categories","type":"uint256[]"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"},{"internalType":"uint256","name":"_startingId","type":"uint256"},{"internalType":"uint256","name":"_size","type":"uint256"}],"stateMutability":"view","type":"function","name":"tiersOf","outputs":[{"internalType":"struct JB721Tier[]","name":"_tiers","type":"tuple[]","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenUriResolverOf","outputs":[{"internalType":"contract IJB721TokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"supply","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"votingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"balanceOf(address,address)":{"params":{"_nft":"The NFT contract to check the balance within.","_owner":"The address to check the balance of."},"returns":{"balance":"The number of tokens owned by the owner across all tiers within the NFT contract."}},"cleanTiers(address)":{"params":{"_nft":"The NFT contract to clean tiers for."}},"encodedTierIPFSUriOf(address,uint256)":{"params":{"_nft":"The NFT contract to which the encoded IPFS URI belongs.","_tokenId":"The token ID to get the encoded IPFS URI of."},"returns":{"_0":"The encoded IPFS URI."}},"flagsOf(address)":{"params":{"_nft":"The NFT contract for which the flags apply."},"returns":{"_0":"The flags."}},"isTierRemoved(address,uint256)":{"params":{"_nft":"The NFT contract of the tier to check for removal.","_tierId":"The tier ID to check for removal."},"returns":{"_0":"True if the tier has been removed."}},"numberOfReservedTokensOutstandingFor(address,uint256)":{"params":{"_nft":"The NFT contract to check for mintable reserved tokens.","_tierId":"The tier ID to check for mintable reserved tokens."},"returns":{"_0":"The number of currently outstanding reserved tokens within the tier and contract."}},"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":{"params":{"_tiersToAdd":"The tiers to add."},"returns":{"tierIds":"The IDs of the tiers added."}},"recordBurn(uint256[])":{"params":{"_tokenIds":"The IDs of the tokens being burned."}},"recordFlags((bool,bool,bool,bool))":{"params":{"_flags":"The flags to set."}},"recordMint(uint256,uint16[],bool)":{"params":{"_amount":"The amount to base the mints on. All mints' price floors must fit within this amount.","_isManualMint":"A flag indicating if the mint is being made manually by the NFT contract's owner.","_tierIds":"The tier IDs to mint from."},"returns":{"leftoverAmount":"The amount left over after the mint.","tokenIds":"The IDs of the minted tokens."}},"recordMintReservesFor(uint256,uint256)":{"params":{"_count":"The number of reserved tokens to mint.","_tierId":"The ID of the tier to mint reserved tokens from."},"returns":{"tokenIds":"The IDs of the tokens being minted as reserves."}},"recordRemoveTierIds(uint256[])":{"params":{"_tierIds":"The tiers IDs to remove."}},"recordSetEncodedIPFSUriOf(uint256,bytes32)":{"params":{"_encodedIPFSUri":"The encoded IPFS URI to set.","_tierId":"The tier ID to set the encoded IPFS URI of."}},"recordSetTokenUriResolver(address)":{"params":{"_resolver":"The resolver to set."}},"recordTransferForTier(uint256,address,address)":{"params":{"_from":"The address the token is being transferred from.","_tierId":"The tier ID of the token being transferred.","_to":"The address the token is being transferred to."}},"redemptionWeightOf(address,uint256[])":{"params":{"_nft":"The NFT contract which the redemption weight is being calculated within.","_tokenIds":"The IDs of the tokens to get the cumulative redemption weight of."},"returns":{"weight":"The weight."}},"reservedTokenBeneficiaryOf(address,uint256)":{"params":{"_nft":"The NFT contract to check the reserved token beneficiary within.","_tierId":"The tier ID to get the reserved token beneficiary of."},"returns":{"_0":"The reserved token beneficiary address."}},"tierIdOfToken(uint256)":{"details":"Tiers are 1-indexed from the `tiers` array, meaning the 0th element of the array is tier 1.","params":{"_tokenId":"The token ID to get the tier ID of."},"returns":{"_0":"The tier ID for the provided token ID."}},"tierOf(address,uint256,bool)":{"params":{"_id":"The tier ID of the tier to get.","_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get a tier from."},"returns":{"_0":"The tier."}},"tierOfTokenId(address,uint256,bool)":{"params":{"_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get a tier from.","_tokenId":"The token ID to return the tier of."},"returns":{"_0":"The tier."}},"tierVotingUnitsOf(address,address,uint256)":{"params":{"_account":"The address to get the voting units of.","_nft":"The NFT contract to get voting units within.","_tierId":"The tier ID to get voting units within."},"returns":{"_0":"The voting units for the address within the tier."}},"tiersOf(address,uint256[],bool,uint256,uint256)":{"params":{"_categories":"The categories of the tiers to get. Send empty for all categories.","_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get tiers for.","_size":"The number of tiers to include.","_startingId":"The starting tier ID of the array of tiers sorted by contribution floor. Send 0 to get all active tiers."},"returns":{"_tiers":"An array of active tiers."}},"totalRedemptionWeight(address)":{"params":{"_nft":"The NFT contract for which the redemption weight is being calculated."},"returns":{"weight":"The total weight."}},"totalSupplyOf(address)":{"params":{"_nft":"The NFT contract to get a total supply of."},"returns":{"supply":"The total number of NFTs issued from all tiers."}},"votingUnitsOf(address,address)":{"params":{"_account":"The address to get the voting units of.","_nft":"The NFT contract to get voting units within."},"returns":{"units":"The total voting units for the address."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,address)":{"notice":"The total number of tokens owned by the provided address."},"cleanTiers(address)":{"notice":"Removes an NFT contract's removed tiers from sequencing."},"defaultReservedTokenBeneficiaryOf(address)":{"notice":"Returns the reserved token beneficiary address used when a tier doesn't specify a beneficiary."},"encodedIPFSUriOf(address,uint256)":{"notice":"Returns the encoded IPFS URI for the provided tier and NFT contract."},"encodedTierIPFSUriOf(address,uint256)":{"notice":"Resolves the encoded IPFS URI of the tier for the provided token ID and NFT contract."},"flagsOf(address)":{"notice":"Flags that influence the behavior of each NFT."},"isTierRemoved(address,uint256)":{"notice":"Check if the provided tier has been removed from the current set of tiers."},"maxTierIdOf(address)":{"notice":"Returns the largest tier ID used on the provided NFT contract."},"numberOfBurnedFor(address,uint256)":{"notice":"Returns the number of tokens belonging to the provided tier and NFT contract which have been burned."},"numberOfReservedTokensOutstandingFor(address,uint256)":{"notice":"Returns the number of currently mintable reserved tokens for the provided tier ID and NFT contract."},"numberOfReservesMintedFor(address,uint256)":{"notice":"Returns the number of reserved tokens which have been minted within the provided tier and NFT contract."},"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":{"notice":"Adds tiers."},"recordBurn(uint256[])":{"notice":"Records token burns."},"recordFlags((bool,bool,bool,bool))":{"notice":"Sets flags."},"recordMint(uint256,uint16[],bool)":{"notice":"Record token mints in the provided tiers."},"recordMintReservesFor(uint256,uint256)":{"notice":"Record reserved token mints within the provided tier."},"recordRemoveTierIds(uint256[])":{"notice":"Record removing the provided tiers."},"recordSetEncodedIPFSUriOf(uint256,bytes32)":{"notice":"Sets the encoded IPFS URI of a tier."},"recordSetTokenUriResolver(address)":{"notice":"Sets the token URI resolver."},"recordTransferForTier(uint256,address,address)":{"notice":"Record a token transfer."},"redemptionWeightOf(address,uint256[])":{"notice":"The cumulative redemption weight of the given token IDs compared to the `totalRedemptionWeight`."},"reservedTokenBeneficiaryOf(address,uint256)":{"notice":"The reserved token beneficiary address for the provided tier ID and NFT contract."},"tierBalanceOf(address,address,uint256)":{"notice":"Returns the number of NFTs held by the provided address which belong to the provided tier and NFT contract."},"tierIdOfToken(uint256)":{"notice":"The tier ID of the provided token ID."},"tierOf(address,uint256,bool)":{"notice":"Return the tier for the provided tier ID and NFT contract."},"tierOfTokenId(address,uint256,bool)":{"notice":"Return the tier for the provided token ID and NFT contract."},"tierVotingUnitsOf(address,address,uint256)":{"notice":"Returns the voting units for an addresses' NFTs in one tier. NFTs have a tier-specific number of voting units."},"tiersOf(address,uint256[],bool,uint256,uint256)":{"notice":"Gets an array of active tiers."},"tokenUriResolverOf(address)":{"notice":"Returns a custom token URI resolver which supersedes the base URI."},"totalRedemptionWeight(address)":{"notice":"The cumulative redemption weight for all token IDs."},"totalSupplyOf(address)":{"notice":"The total number of NFTs issued from all tiers of the provided NFT contract."},"votingUnitsOf(address,address)":{"notice":"Returns the total voting units from all of an addresses' NFTs (across all tiers) for the provided NFT contract. NFTs have a tier-specific number of voting units."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateStore.sol":"JBTiered721DelegateStore"},"libraries":{}},"sources":{"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x702a4dfb7d8ff303babad80982e95adf3e61f3875319ddc444b703c614b547f2","urls":["bzz-raw://fed76bb5e61e4415579e0585d7c8708b942cf7e6148bfb94175e16b43b49874c","dweb:/ipfs/QmWLygMZNWdnvioYjGRqgpVRKFwWyauhHMVf5raXYSyr4R"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/JBTiered721DelegateStore.sol","id":4478,"exportedSymbols":{"IJB721TokenUriResolver":[27819],"IJBTiered721DelegateStore":[28474],"JB721Tier":[29428],"JB721TierParams":[29454],"JBBitmap":[28637],"JBBitmapWord":[29462],"JBStored721Tier":[29649],"JBTiered721DelegateStore":[4477],"JBTiered721Flags":[29661]},"nodeType":"SourceUnit","src":"32:50064:3","nodes":[{"id":2171,"nodeType":"PragmaDirective","src":"32:24:3","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":2173,"nodeType":"ImportDirective","src":"58:87:3","nodes":[],"absolutePath":"contracts/interfaces/IJBTiered721DelegateStore.sol","file":"./interfaces/IJBTiered721DelegateStore.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":28475,"symbolAliases":[{"foreign":{"id":2172,"name":"IJBTiered721DelegateStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28474,"src":"67:25:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2175,"nodeType":"ImportDirective","src":"146:81:3","nodes":[],"absolutePath":"contracts/interfaces/IJB721TokenUriResolver.sol","file":"./interfaces/IJB721TokenUriResolver.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":27820,"symbolAliases":[{"foreign":{"id":2174,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27819,"src":"155:22:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2177,"nodeType":"ImportDirective","src":"228:52:3","nodes":[],"absolutePath":"contracts/libraries/JBBitmap.sol","file":"./libraries/JBBitmap.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":28638,"symbolAliases":[{"foreign":{"id":2176,"name":"JBBitmap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28637,"src":"237:8:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2179,"nodeType":"ImportDirective","src":"281:58:3","nodes":[],"absolutePath":"contracts/structs/JBBitmapWord.sol","file":"./structs/JBBitmapWord.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":29463,"symbolAliases":[{"foreign":{"id":2178,"name":"JBBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29462,"src":"290:12:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2181,"nodeType":"ImportDirective","src":"340:52:3","nodes":[],"absolutePath":"contracts/structs/JB721Tier.sol","file":"./structs/JB721Tier.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":29429,"symbolAliases":[{"foreign":{"id":2180,"name":"JB721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29428,"src":"349:9:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2183,"nodeType":"ImportDirective","src":"393:64:3","nodes":[],"absolutePath":"contracts/structs/JB721TierParams.sol","file":"./structs/JB721TierParams.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":29455,"symbolAliases":[{"foreign":{"id":2182,"name":"JB721TierParams","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29454,"src":"402:15:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2185,"nodeType":"ImportDirective","src":"458:64:3","nodes":[],"absolutePath":"contracts/structs/JBStored721Tier.sol","file":"./structs/JBStored721Tier.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":29650,"symbolAliases":[{"foreign":{"id":2184,"name":"JBStored721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29649,"src":"467:15:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":2187,"nodeType":"ImportDirective","src":"523:66:3","nodes":[],"absolutePath":"contracts/structs/JBTiered721Flags.sol","file":"./structs/JBTiered721Flags.sol","nameLocation":"-1:-1:-1","scope":4478,"sourceUnit":29662,"symbolAliases":[{"foreign":{"id":2186,"name":"JBTiered721Flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29661,"src":"532:16:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4477,"nodeType":"ContractDefinition","src":"713:49382:3","nodes":[{"id":2195,"nodeType":"UsingForDirective","src":"782:47:3","nodes":[],"global":false,"libraryName":{"id":2191,"name":"JBBitmap","nameLocations":["788:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":28637,"src":"788:8:3"},"typeName":{"id":2194,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2192,"name":"uint256","nodeType":"ElementaryTypeName","src":"809:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"801:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2193,"name":"uint256","nodeType":"ElementaryTypeName","src":"820:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},{"id":2199,"nodeType":"UsingForDirective","src":"834:32:3","nodes":[],"global":false,"libraryName":{"id":2196,"name":"JBBitmap","nameLocations":["840:8:3"],"nodeType":"IdentifierPath","referencedDeclaration":28637,"src":"840:8:3"},"typeName":{"id":2198,"nodeType":"UserDefinedTypeName","pathNode":{"id":2197,"name":"JBBitmapWord","nameLocations":["853:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"853:12:3"},"referencedDeclaration":29462,"src":"853:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}}},{"id":2201,"nodeType":"ErrorDefinition","src":"1107:27:3","nodes":[],"errorSelector":"5ef25a72","name":"CANT_MINT_MANUALLY","nameLocation":"1113:18:3","parameters":{"id":2200,"nodeType":"ParameterList","parameters":[],"src":"1131:2:3"}},{"id":2203,"nodeType":"ErrorDefinition","src":"1139:28:3","nodes":[],"errorSelector":"2cd294cf","name":"INSUFFICIENT_AMOUNT","nameLocation":"1145:19:3","parameters":{"id":2202,"nodeType":"ParameterList","parameters":[],"src":"1164:2:3"}},{"id":2205,"nodeType":"ErrorDefinition","src":"1172:30:3","nodes":[],"errorSelector":"44df3332","name":"INSUFFICIENT_RESERVES","nameLocation":"1178:21:3","parameters":{"id":2204,"nodeType":"ParameterList","parameters":[],"src":"1199:2:3"}},{"id":2207,"nodeType":"ErrorDefinition","src":"1207:36:3","nodes":[],"errorSelector":"72afaf54","name":"INVALID_CATEGORY_SORT_ORDER","nameLocation":"1213:27:3","parameters":{"id":2206,"nodeType":"ParameterList","parameters":[],"src":"1240:2:3"}},{"id":2209,"nodeType":"ErrorDefinition","src":"1248:25:3","nodes":[],"errorSelector":"49016ea3","name":"INVALID_QUANTITY","nameLocation":"1254:16:3","parameters":{"id":2208,"nodeType":"ParameterList","parameters":[],"src":"1270:2:3"}},{"id":2211,"nodeType":"ErrorDefinition","src":"1278:21:3","nodes":[],"errorSelector":"0de5859f","name":"INVALID_TIER","nameLocation":"1284:12:3","parameters":{"id":2210,"nodeType":"ParameterList","parameters":[],"src":"1296:2:3"}},{"id":2213,"nodeType":"ErrorDefinition","src":"1304:27:3","nodes":[],"errorSelector":"378d1916","name":"MAX_TIERS_EXCEEDED","nameLocation":"1310:18:3","parameters":{"id":2212,"nodeType":"ParameterList","parameters":[],"src":"1328:2:3"}},{"id":2215,"nodeType":"ErrorDefinition","src":"1336:20:3","nodes":[],"errorSelector":"f0543188","name":"NO_QUANTITY","nameLocation":"1342:11:3","parameters":{"id":2214,"nodeType":"ParameterList","parameters":[],"src":"1353:2:3"}},{"id":2217,"nodeType":"ErrorDefinition","src":"1361:12:3","nodes":[],"errorSelector":"985a45d9","name":"OUT","nameLocation":"1367:3:3","parameters":{"id":2216,"nodeType":"ParameterList","parameters":[],"src":"1370:2:3"}},{"id":2219,"nodeType":"ErrorDefinition","src":"1378:34:3","nodes":[],"errorSelector":"a75b1cd5","name":"RESERVED_RATE_NOT_ALLOWED","nameLocation":"1384:25:3","parameters":{"id":2218,"nodeType":"ParameterList","parameters":[],"src":"1409:2:3"}},{"id":2221,"nodeType":"ErrorDefinition","src":"1417:35:3","nodes":[],"errorSelector":"30ec637f","name":"MANUAL_MINTING_NOT_ALLOWED","nameLocation":"1423:26:3","parameters":{"id":2220,"nodeType":"ParameterList","parameters":[],"src":"1449:2:3"}},{"id":2223,"nodeType":"ErrorDefinition","src":"1457:21:3","nodes":[],"errorSelector":"d32cb5c1","name":"TIER_REMOVED","nameLocation":"1463:12:3","parameters":{"id":2222,"nodeType":"ParameterList","parameters":[],"src":"1475:2:3"}},{"id":2225,"nodeType":"ErrorDefinition","src":"1483:33:3","nodes":[],"errorSelector":"03124006","name":"VOTING_UNITS_NOT_ALLOWED","nameLocation":"1489:24:3","parameters":{"id":2224,"nodeType":"ParameterList","parameters":[],"src":"1513:2:3"}},{"id":2229,"nodeType":"VariableDeclaration","src":"1852:53:3","nodes":[],"constant":true,"documentation":{"id":2226,"nodeType":"StructuredDocumentation","src":"1757:90:3","text":"@notice Just a kind reminder to our readers.\n @dev Used in token ID generation."},"mutability":"constant","name":"_ONE_BILLION","nameLocation":"1877:12:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2227,"name":"uint256","nodeType":"ElementaryTypeName","src":"1852:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"315f3030305f3030305f303030","id":2228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1892:13:3","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"visibility":"private"},{"id":2236,"nodeType":"VariableDeclaration","src":"2525:69:3","nodes":[],"constant":false,"documentation":{"id":2230,"nodeType":"StructuredDocumentation","src":"2147:373:3","text":"@notice Returns the tier ID which should come after the provided tier ID when sorting by contribution floor.\n @dev If empty, assume the next tier ID should come after.\n @custom:param _nft The NFT contract to get ordered tier ID from.\n @custom:param _tierId The tier ID to get the following tier for.\n @custom:returns The following tier's ID."},"mutability":"mutable","name":"_tierIdAfter","nameLocation":"2582:12:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":2235,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2231,"name":"address","nodeType":"ElementaryTypeName","src":"2533:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2525:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2234,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2232,"name":"uint256","nodeType":"ElementaryTypeName","src":"2552:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2544:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2233,"name":"uint256","nodeType":"ElementaryTypeName","src":"2563:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":2243,"nodeType":"VariableDeclaration","src":"2925:84:3","nodes":[],"constant":false,"documentation":{"id":2237,"nodeType":"StructuredDocumentation","src":"2601:319:3","text":"@notice Returns optional reserved token beneficiary addresses for the provided tier and NFT contract.\n @custom:param _nft The NFT contract to which the reserved token beneficiary belongs.\n @custom:param _tierId The ID of the tier.\n @custom:returns The address of the reserved token beneficiary."},"mutability":"mutable","name":"_reservedTokenBeneficiaryOf","nameLocation":"2982:27:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$","typeString":"mapping(address => mapping(uint256 => address))"},"typeName":{"id":2242,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2238,"name":"address","nodeType":"ElementaryTypeName","src":"2933:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2925:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$","typeString":"mapping(address => mapping(uint256 => address))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2241,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2239,"name":"uint256","nodeType":"ElementaryTypeName","src":"2952:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2944:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2240,"name":"address","nodeType":"ElementaryTypeName","src":"2963:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}}},"visibility":"internal"},{"id":2251,"nodeType":"VariableDeclaration","src":"3242:78:3","nodes":[],"constant":false,"documentation":{"id":2244,"nodeType":"StructuredDocumentation","src":"3016:221:3","text":"@notice Returns the tier at the provided contract and tier ID.\n @custom:param _nft The NFT contract to which the tiers belong.\n @custom:param _tierId The tier ID.\n @custom:returns The stored tier."},"mutability":"mutable","name":"_storedTierOf","nameLocation":"3307:13:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier))"},"typeName":{"id":2250,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2245,"name":"address","nodeType":"ElementaryTypeName","src":"3250:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3242:55:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2249,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2246,"name":"uint256","nodeType":"ElementaryTypeName","src":"3269:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3261:35:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2248,"nodeType":"UserDefinedTypeName","pathNode":{"id":2247,"name":"JBStored721Tier","nameLocations":["3280:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"3280:15:3"},"referencedDeclaration":29649,"src":"3280:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}}}},"visibility":"internal"},{"id":2257,"nodeType":"VariableDeclaration","src":"3513:54:3","nodes":[],"constant":false,"documentation":{"id":2252,"nodeType":"StructuredDocumentation","src":"3327:181:3","text":"@notice Returns flags that influence the behavior of each NFT contract.\n @custom:param _nft The NFT contract for which the flags apply.\n @custom:returns The flags."},"mutability":"mutable","name":"_flagsOf","nameLocation":"3559:8:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_JBTiered721Flags_$29661_storage_$","typeString":"mapping(address => struct JBTiered721Flags)"},"typeName":{"id":2256,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2253,"name":"address","nodeType":"ElementaryTypeName","src":"3521:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3513:36:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_JBTiered721Flags_$29661_storage_$","typeString":"mapping(address => struct JBTiered721Flags)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2255,"nodeType":"UserDefinedTypeName","pathNode":{"id":2254,"name":"JBTiered721Flags","nameLocations":["3532:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":29661,"src":"3532:16:3"},"referencedDeclaration":29661,"src":"3532:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage_ptr","typeString":"struct JBTiered721Flags"}}},"visibility":"internal"},{"id":2264,"nodeType":"VariableDeclaration","src":"3886:81:3","nodes":[],"constant":false,"documentation":{"id":2258,"nodeType":"StructuredDocumentation","src":"3574:307:3","text":"@notice For each tier ID, return a bitmap containing flags indicating whether the tier has been removed.\n @custom:param _nft The NFT contract to which the tier belongs.\n @custom:param _depth The bitmap row. Each row stores 256 tiers.\n @custom:returns _word The bitmap row's content."},"mutability":"mutable","name":"_isTierRemovedBitmapWord","nameLocation":"3943:24:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":2263,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2259,"name":"address","nodeType":"ElementaryTypeName","src":"3894:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3886:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2262,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2260,"name":"uint256","nodeType":"ElementaryTypeName","src":"3913:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3905:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2261,"name":"uint256","nodeType":"ElementaryTypeName","src":"3924:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":2269,"nodeType":"VariableDeclaration","src":"4201:61:3","nodes":[],"constant":false,"documentation":{"id":2265,"nodeType":"StructuredDocumentation","src":"3974:222:3","text":"@notice For each NFT, return the tier ID that comes last when sorting.\n @dev If not set, it is assumed the `maxTierIdOf` is the last sorted.\n @custom:param _nft The NFT contract to which the tier belongs."},"mutability":"mutable","name":"_trackedLastSortTierIdOf","nameLocation":"4238:24:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2268,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2266,"name":"address","nodeType":"ElementaryTypeName","src":"4209:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4201:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2267,"name":"uint256","nodeType":"ElementaryTypeName","src":"4220:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"internal"},{"id":2276,"nodeType":"VariableDeclaration","src":"4502:82:3","nodes":[],"constant":false,"documentation":{"id":2270,"nodeType":"StructuredDocumentation","src":"4269:228:3","text":"@notice Returns the ID of the first tier in the provided NFT contract and category.\n @custom:param _nft The NFT contract to get the tier ID of.\n @custom:param _category The category to get the first tier ID of."},"mutability":"mutable","name":"_startingTierIdOfCategory","nameLocation":"4559:25:3","scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":2275,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2271,"name":"address","nodeType":"ElementaryTypeName","src":"4510:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"4502:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2274,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2272,"name":"uint256","nodeType":"ElementaryTypeName","src":"4529:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"4521:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2273,"name":"uint256","nodeType":"ElementaryTypeName","src":"4540:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"id":2282,"nodeType":"VariableDeclaration","src":"5057:55:3","nodes":[],"baseFunctions":[28210],"constant":false,"documentation":{"id":2277,"nodeType":"StructuredDocumentation","src":"4826:226:3","text":"@notice Returns the largest tier ID used on the provided NFT contract.\n @dev This may not include the last tier ID if it has been removed.\n @custom:param _nft The NFT contract to get the largest tier ID from."},"functionSelector":"f1bea54f","mutability":"mutable","name":"maxTierIdOf","nameLocation":"5101:11:3","overrides":{"id":2281,"nodeType":"OverrideSpecifier","overrides":[],"src":"5092:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2280,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2278,"name":"address","nodeType":"ElementaryTypeName","src":"5065:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5057:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2279,"name":"uint256","nodeType":"ElementaryTypeName","src":"5076:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":2292,"nodeType":"VariableDeclaration","src":"5437:97:3","nodes":[],"baseFunctions":[28251],"constant":false,"documentation":{"id":2283,"nodeType":"StructuredDocumentation","src":"5119:313:3","text":"@notice Returns the number of NFTs held by the provided address which belong to the provided tier and NFT contract.\n @custom:param _nft The NFT contract to check balances for.\n @custom:param _owner The address to get a balance for.\n @custom:param _tierId The tier ID to get a balance for."},"functionSelector":"37f44652","mutability":"mutable","name":"tierBalanceOf","nameLocation":"5521:13:3","overrides":{"id":2291,"nodeType":"OverrideSpecifier","overrides":[],"src":"5512:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"typeName":{"id":2290,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2284,"name":"address","nodeType":"ElementaryTypeName","src":"5445:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5437:67:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2289,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2285,"name":"address","nodeType":"ElementaryTypeName","src":"5464:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5456:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2288,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2286,"name":"uint256","nodeType":"ElementaryTypeName","src":"5483:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5475:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2287,"name":"uint256","nodeType":"ElementaryTypeName","src":"5494:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}}},"visibility":"public"},{"id":2300,"nodeType":"VariableDeclaration","src":"5830:89:3","nodes":[],"baseFunctions":[28314],"constant":false,"documentation":{"id":2293,"nodeType":"StructuredDocumentation","src":"5541:284:3","text":"@notice Returns the number of reserved tokens which have been minted within the provided tier and NFT contract.\n @custom:param _nft The NFT contract that the reserved minting data belongs to.\n @custom:param _tierId The tier ID to get a reserved token mint count for."},"functionSelector":"6825bb80","mutability":"mutable","name":"numberOfReservesMintedFor","nameLocation":"5894:25:3","overrides":{"id":2299,"nodeType":"OverrideSpecifier","overrides":[],"src":"5885:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":2298,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2294,"name":"address","nodeType":"ElementaryTypeName","src":"5838:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"5830:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2297,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2295,"name":"uint256","nodeType":"ElementaryTypeName","src":"5857:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"5849:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2296,"name":"uint256","nodeType":"ElementaryTypeName","src":"5868:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":2308,"nodeType":"VariableDeclaration","src":"6208:81:3","nodes":[],"baseFunctions":[28323],"constant":false,"documentation":{"id":2301,"nodeType":"StructuredDocumentation","src":"5926:277:3","text":"@notice Returns the number of tokens belonging to the provided tier and NFT contract which have been burned.\n @custom:param _nft The NFT contract that the burning data belongs to.\n @custom:param _tierId The tier ID of the tier to get a burned token count for."},"functionSelector":"2b7e6ef0","mutability":"mutable","name":"numberOfBurnedFor","nameLocation":"6272:17:3","overrides":{"id":2307,"nodeType":"OverrideSpecifier","overrides":[],"src":"6263:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":2306,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2302,"name":"address","nodeType":"ElementaryTypeName","src":"6216:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6208:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2305,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2303,"name":"uint256","nodeType":"ElementaryTypeName","src":"6235:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"6227:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2304,"name":"uint256","nodeType":"ElementaryTypeName","src":"6246:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":2314,"nodeType":"VariableDeclaration","src":"6500:77:3","nodes":[],"baseFunctions":[28367],"constant":false,"documentation":{"id":2309,"nodeType":"StructuredDocumentation","src":"6296:199:3","text":"@notice Returns the reserved token beneficiary address used when a tier doesn't specify a beneficiary.\n @custom:param _nft The NFT contract to which the reserved token beneficiary applies."},"functionSelector":"911c80b5","mutability":"mutable","name":"defaultReservedTokenBeneficiaryOf","nameLocation":"6544:33:3","overrides":{"id":2313,"nodeType":"OverrideSpecifier","overrides":[],"src":"6535:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":2312,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2310,"name":"address","nodeType":"ElementaryTypeName","src":"6508:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6500:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2311,"name":"address","nodeType":"ElementaryTypeName","src":"6519:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"public"},{"id":2321,"nodeType":"VariableDeclaration","src":"6752:77:3","nodes":[],"baseFunctions":[28384],"constant":false,"documentation":{"id":2315,"nodeType":"StructuredDocumentation","src":"6584:163:3","text":"@notice Returns a custom token URI resolver which supersedes the base URI.\n @custom:param _nft The NFT contract to which the token URI resolver applies."},"functionSelector":"0fab0947","mutability":"mutable","name":"tokenUriResolverOf","nameLocation":"6811:18:3","overrides":{"id":2320,"nodeType":"OverrideSpecifier","overrides":[],"src":"6802:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"mapping(address => contract IJB721TokenUriResolver)"},"typeName":{"id":2319,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2316,"name":"address","nodeType":"ElementaryTypeName","src":"6760:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"6752:42:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"mapping(address => contract IJB721TokenUriResolver)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2318,"nodeType":"UserDefinedTypeName","pathNode":{"id":2317,"name":"IJB721TokenUriResolver","nameLocations":["6771:22:3"],"nodeType":"IdentifierPath","referencedDeclaration":27819,"src":"6771:22:3"},"referencedDeclaration":27819,"src":"6771:22:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}}},"visibility":"public"},{"id":2329,"nodeType":"VariableDeclaration","src":"7243:80:3","nodes":[],"baseFunctions":[28279],"constant":false,"documentation":{"id":2322,"nodeType":"StructuredDocumentation","src":"6836:402:3","text":"@notice Returns the encoded IPFS URI for the provided tier and NFT contract.\n @dev Token URIs managed by this contract are stored as 32 bytes and based on stripped down IPFS hashes.\n @custom:param _nft The NFT contract to which the encoded IPFS URI belongs.\n @custom:param _tierId The tier ID to which the encoded IPFS URI belongs.\n @custom:returns The encoded IPFS URI."},"functionSelector":"bd51923c","mutability":"mutable","name":"encodedIPFSUriOf","nameLocation":"7307:16:3","overrides":{"id":2328,"nodeType":"OverrideSpecifier","overrides":[],"src":"7298:8:3"},"scope":4477,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"},"typeName":{"id":2327,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2323,"name":"address","nodeType":"ElementaryTypeName","src":"7251:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"7243:47:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2326,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":2324,"name":"uint256","nodeType":"ElementaryTypeName","src":"7270:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"7262:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":2325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7281:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}}},"visibility":"public"},{"id":2498,"nodeType":"FunctionDefinition","src":"8118:2791:3","nodes":[],"body":{"id":2497,"nodeType":"Block","src":"8348:2561:3","nodes":[],"statements":[{"assignments":[2350],"declarations":[{"constant":false,"id":2350,"mutability":"mutable","name":"_lastTierId","nameLocation":"8415:11:3","nodeType":"VariableDeclaration","scope":2497,"src":"8407:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2349,"name":"uint256","nodeType":"ElementaryTypeName","src":"8407:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2354,"initialValue":{"arguments":[{"id":2352,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"8449:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2351,"name":"_lastSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4448,"src":"8429:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8429:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8407:47:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2355,"name":"_lastTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"8525:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8540:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8525:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2360,"nodeType":"IfStatement","src":"8521:35:3","trueBody":{"expression":{"id":2358,"name":"_tiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2347,"src":"8550:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier memory[] memory"}},"functionReturnParameters":2348,"id":2359,"nodeType":"Return","src":"8543:13:3"}},{"expression":{"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2361,"name":"_tiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2347,"src":"8627:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier memory[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2366,"name":"_size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"8652:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2365,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8636:15:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct JB721Tier memory[] memory)"},"typeName":{"baseType":{"id":2363,"nodeType":"UserDefinedTypeName","pathNode":{"id":2362,"name":"JB721Tier","nameLocations":["8640:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":29428,"src":"8640:9:3"},"referencedDeclaration":29428,"src":"8640:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_storage_ptr","typeString":"struct JB721Tier"}},"id":2364,"nodeType":"ArrayTypeName","src":"8640:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_storage_$dyn_storage_ptr","typeString":"struct JB721Tier[]"}}},"id":2367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8636:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier memory[] memory"}},"src":"8627:31:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier memory[] memory"}},"id":2369,"nodeType":"ExpressionStatement","src":"8627:31:3"},{"assignments":[2371],"declarations":[{"constant":false,"id":2371,"mutability":"mutable","name":"_numberOfIncludedTiers","nameLocation":"8724:22:3","nodeType":"VariableDeclaration","scope":2497,"src":"8716:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2370,"name":"uint256","nodeType":"ElementaryTypeName","src":"8716:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2372,"nodeType":"VariableDeclarationStatement","src":"8716:30:3"},{"assignments":[2375],"declarations":[{"constant":false,"id":2375,"mutability":"mutable","name":"_storedTier","nameLocation":"8841:11:3","nodeType":"VariableDeclaration","scope":2497,"src":"8818:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":2374,"nodeType":"UserDefinedTypeName","pathNode":{"id":2373,"name":"JBStored721Tier","nameLocations":["8818:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"8818:15:3"},"referencedDeclaration":29649,"src":"8818:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":2376,"nodeType":"VariableDeclarationStatement","src":"8818:34:3"},{"assignments":[2379],"declarations":[{"constant":false,"id":2379,"mutability":"mutable","name":"_bitmapWord","nameLocation":"8955:11:3","nodeType":"VariableDeclaration","scope":2497,"src":"8935:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":2378,"nodeType":"UserDefinedTypeName","pathNode":{"id":2377,"name":"JBBitmapWord","nameLocations":["8935:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"8935:12:3"},"referencedDeclaration":29462,"src":"8935:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"id":2380,"nodeType":"VariableDeclarationStatement","src":"8935:31:3"},{"assignments":[2382],"declarations":[{"constant":false,"id":2382,"mutability":"mutable","name":"_i","nameLocation":"9039:2:3","nodeType":"VariableDeclaration","scope":2497,"src":"9031:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2381,"name":"uint256","nodeType":"ElementaryTypeName","src":"9031:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2383,"nodeType":"VariableDeclarationStatement","src":"9031:10:3"},{"body":{"id":2485,"nodeType":"Block","src":"9089:1559:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2384,"name":"_numberOfIncludedTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2371,"src":"9164:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":2385,"name":"_size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"9190:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9164:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2388,"nodeType":"IfStatement","src":"9160:42:3","trueBody":{"id":2387,"nodeType":"Break","src":"9197:5:3"}},{"assignments":[2390],"declarations":[{"constant":false,"id":2390,"mutability":"mutable","name":"_currentSortedTierId","nameLocation":"9357:20:3","nodeType":"VariableDeclaration","scope":2485,"src":"9349:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2389,"name":"uint256","nodeType":"ElementaryTypeName","src":"9349:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2408,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2391,"name":"_startingId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"9380:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9395:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9380:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":2396,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"9466:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2397,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"9472:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9484:6:3","memberName":"length","nodeType":"MemberAccess","src":"9472:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9494:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9472:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"id":2402,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"9502:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2404,"indexExpression":{"id":2403,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"9514:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9502:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9472:45:3","trueExpression":{"hexValue":"30","id":2401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9498:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2395,"name":"_firstSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4423,"src":"9445:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2406,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9445:73:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9380:138:3","trueExpression":{"id":2394,"name":"_startingId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2339,"src":"9415:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9349:169:3"},{"body":{"id":2479,"nodeType":"Block","src":"9639:938:3","statements":[{"condition":{"id":2421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"9661:67:3","subExpression":{"arguments":[{"id":2417,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"9688:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2418,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"9694:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2419,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2379,"src":"9716:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}],"id":2416,"name":"_isTierRemovedWithRefresh","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"9662:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBBitmapWord_$29462_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,struct JBBitmapWord memory) view returns (bool)"}},"id":2420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9662:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2470,"nodeType":"IfStatement","src":"9657:757:3","trueBody":{"id":2469,"nodeType":"Block","src":"9730:684:3","statements":[{"expression":{"id":2428,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2422,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"9752:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":2423,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"9766:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2425,"indexExpression":{"id":2424,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"9780:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9766:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2427,"indexExpression":{"id":2426,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"9786:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9766:41:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"src":"9752:55:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2429,"nodeType":"ExpressionStatement","src":"9752:55:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2430,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"9834:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9846:6:3","memberName":"length","nodeType":"MemberAccess","src":"9834:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9856:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9834:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2434,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"9861:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2435,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9873:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29644,"src":"9861:20:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"baseExpression":{"id":2436,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"9884:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2438,"indexExpression":{"id":2437,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"9896:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9884:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9861:38:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9834:65:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2443,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"10073:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10085:6:3","memberName":"length","nodeType":"MemberAccess","src":"10073:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10095:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10073:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2447,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"10100:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2448,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10112:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29644,"src":"10100:20:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"baseExpression":{"id":2449,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"10124:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2451,"indexExpression":{"id":2450,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"10136:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10124:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10100:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10073:66:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2467,"nodeType":"IfStatement","src":"10069:327:3","trueBody":{"id":2466,"nodeType":"Block","src":"10141:255:3","statements":[{"expression":{"id":2464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":2454,"name":"_tiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2347,"src":"10236:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier memory[] memory"}},"id":2457,"indexExpression":{"id":2456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"10243:24:3","subExpression":{"id":2455,"name":"_numberOfIncludedTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2371,"src":"10243:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10236:32:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2459,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"10312:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2460,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"10318:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2461,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2375,"src":"10340:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},{"id":2462,"name":"_includeResolvedUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2337,"src":"10353:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2458,"name":"_getTierFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4171,"src":"10299:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$_t_bool_$returns$_t_struct$_JB721Tier_$29428_memory_ptr_$","typeString":"function (address,uint256,struct JBStored721Tier memory,bool) view returns (struct JB721Tier memory)"}},"id":2463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10299:74:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"src":"10236:137:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"id":2465,"nodeType":"ExpressionStatement","src":"10236:137:3"}]}},"id":2468,"nodeType":"IfStatement","src":"9830:566:3","trueBody":{"id":2442,"nodeType":"Block","src":"9901:54:3","statements":[{"id":2441,"nodeType":"Break","src":"9927:5:3"}]}}]}},{"expression":{"id":2477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2471,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"10479:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":2473,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2332,"src":"10522:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2474,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"10528:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2475,"name":"_lastTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"10550:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2472,"name":"_nextSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"10502:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":2476,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10502:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10479:83:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2478,"nodeType":"ExpressionStatement","src":"10479:83:3"}]},"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2415,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2409,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2390,"src":"9578:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9602:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9578:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2412,"name":"_numberOfIncludedTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2371,"src":"9607:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2413,"name":"_size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"9632:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9607:30:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9578:59:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2480,"nodeType":"WhileStatement","src":"9571:1006:3"},{"id":2484,"nodeType":"UncheckedBlock","src":"10591:47:3","statements":[{"expression":{"id":2482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"10619:4:3","subExpression":{"id":2481,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"10621:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2483,"nodeType":"ExpressionStatement","src":"10619:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2486,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2382,"src":"10656:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":2487,"name":"_categories","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"10661:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10673:6:3","memberName":"length","nodeType":"MemberAccess","src":"10661:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10656:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2490,"nodeType":"DoWhileStatement","src":"9086:1595:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2493,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2491,"name":"_numberOfIncludedTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2371,"src":"10751:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":2492,"name":"_size","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2341,"src":"10777:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10751:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2496,"nodeType":"IfStatement","src":"10747:156:3","trueBody":{"id":2495,"nodeType":"Block","src":"10784:119:3","statements":[{"AST":{"nativeSrc":"10823:70:3","nodeType":"YulBlock","src":"10823:70:3","statements":[{"expression":{"arguments":[{"name":"_tiers","nativeSrc":"10848:6:3","nodeType":"YulIdentifier","src":"10848:6:3"},{"name":"_numberOfIncludedTiers","nativeSrc":"10856:22:3","nodeType":"YulIdentifier","src":"10856:22:3"}],"functionName":{"name":"mstore","nativeSrc":"10841:6:3","nodeType":"YulIdentifier","src":"10841:6:3"},"nativeSrc":"10841:38:3","nodeType":"YulFunctionCall","src":"10841:38:3"},"nativeSrc":"10841:38:3","nodeType":"YulExpressionStatement","src":"10841:38:3"}]},"evmVersion":"paris","externalReferences":[{"declaration":2371,"isOffset":false,"isSlot":false,"src":"10856:22:3","valueSize":1},{"declaration":2347,"isOffset":false,"isSlot":false,"src":"10848:6:3","valueSize":1}],"flags":["memory-safe"],"id":2494,"nodeType":"InlineAssembly","src":"10798:95:3"}]}}]},"baseFunctions":[28228],"documentation":{"id":2330,"nodeType":"StructuredDocumentation","src":"7565:548:3","text":"@notice Gets an array of active tiers.\n @param _nft The NFT contract to get tiers for.\n @param _categories The categories of the tiers to get. Send empty for all categories.\n @param _includeResolvedUri If enabled, if there's a token URI resolver, the content will be resolved and included.\n @param _startingId The starting tier ID of the array of tiers sorted by contribution floor. Send 0 to get all active tiers.\n @param _size The number of tiers to include.\n @return _tiers An array of active tiers."},"functionSelector":"9403a74f","implemented":true,"kind":"function","modifiers":[],"name":"tiersOf","nameLocation":"8127:7:3","overrides":{"id":2343,"nodeType":"OverrideSpecifier","overrides":[],"src":"8303:8:3"},"parameters":{"id":2342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2332,"mutability":"mutable","name":"_nft","nameLocation":"8152:4:3","nodeType":"VariableDeclaration","scope":2498,"src":"8144:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2331,"name":"address","nodeType":"ElementaryTypeName","src":"8144:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2335,"mutability":"mutable","name":"_categories","nameLocation":"8185:11:3","nodeType":"VariableDeclaration","scope":2498,"src":"8166:30:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2333,"name":"uint256","nodeType":"ElementaryTypeName","src":"8166:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2334,"nodeType":"ArrayTypeName","src":"8166:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":2337,"mutability":"mutable","name":"_includeResolvedUri","nameLocation":"8211:19:3","nodeType":"VariableDeclaration","scope":2498,"src":"8206:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2336,"name":"bool","nodeType":"ElementaryTypeName","src":"8206:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":2339,"mutability":"mutable","name":"_startingId","nameLocation":"8248:11:3","nodeType":"VariableDeclaration","scope":2498,"src":"8240:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2338,"name":"uint256","nodeType":"ElementaryTypeName","src":"8240:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2341,"mutability":"mutable","name":"_size","nameLocation":"8277:5:3","nodeType":"VariableDeclaration","scope":2498,"src":"8269:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2340,"name":"uint256","nodeType":"ElementaryTypeName","src":"8269:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8134:154:3"},"returnParameters":{"id":2348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2347,"mutability":"mutable","name":"_tiers","nameLocation":"8340:6:3","nodeType":"VariableDeclaration","scope":2498,"src":"8321:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_memory_ptr_$dyn_memory_ptr","typeString":"struct JB721Tier[]"},"typeName":{"baseType":{"id":2345,"nodeType":"UserDefinedTypeName","pathNode":{"id":2344,"name":"JB721Tier","nameLocations":["8321:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":29428,"src":"8321:9:3"},"referencedDeclaration":29428,"src":"8321:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_storage_ptr","typeString":"struct JB721Tier"}},"id":2346,"nodeType":"ArrayTypeName","src":"8321:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721Tier_$29428_storage_$dyn_storage_ptr","typeString":"struct JB721Tier[]"}},"visibility":"internal"}],"src":"8320:27:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2524,"nodeType":"FunctionDefinition","src":"11247:247:3","nodes":[],"body":{"id":2523,"nodeType":"Block","src":"11400:94:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":2513,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2501,"src":"11430:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2514,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2503,"src":"11436:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"baseExpression":{"id":2515,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"11441:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2517,"indexExpression":{"id":2516,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2501,"src":"11455:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11441:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2519,"indexExpression":{"id":2518,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2503,"src":"11461:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11441:24:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},{"id":2520,"name":"_includeResolvedUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2505,"src":"11467:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2512,"name":"_getTierFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4171,"src":"11417:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$_t_bool_$returns$_t_struct$_JB721Tier_$29428_memory_ptr_$","typeString":"function (address,uint256,struct JBStored721Tier memory,bool) view returns (struct JB721Tier memory)"}},"id":2521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11417:70:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"functionReturnParameters":2511,"id":2522,"nodeType":"Return","src":"11410:77:3"}]},"baseFunctions":[28240],"documentation":{"id":2499,"nodeType":"StructuredDocumentation","src":"10915:327:3","text":"@notice Return the tier for the provided tier ID and NFT contract.\n @param _nft The NFT contract to get a tier from.\n @param _id The tier ID of the tier to get.\n @param _includeResolvedUri If enabled, if there's a token URI resolver, the content will be resolved and included.\n @return The tier."},"functionSelector":"64faa159","implemented":true,"kind":"function","modifiers":[],"name":"tierOf","nameLocation":"11256:6:3","overrides":{"id":2507,"nodeType":"OverrideSpecifier","overrides":[],"src":"11352:8:3"},"parameters":{"id":2506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2501,"mutability":"mutable","name":"_nft","nameLocation":"11271:4:3","nodeType":"VariableDeclaration","scope":2524,"src":"11263:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2500,"name":"address","nodeType":"ElementaryTypeName","src":"11263:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2503,"mutability":"mutable","name":"_id","nameLocation":"11285:3:3","nodeType":"VariableDeclaration","scope":2524,"src":"11277:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2502,"name":"uint256","nodeType":"ElementaryTypeName","src":"11277:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2505,"mutability":"mutable","name":"_includeResolvedUri","nameLocation":"11295:19:3","nodeType":"VariableDeclaration","scope":2524,"src":"11290:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2504,"name":"bool","nodeType":"ElementaryTypeName","src":"11290:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11262:53:3"},"returnParameters":{"id":2511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2524,"src":"11378:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":2509,"nodeType":"UserDefinedTypeName","pathNode":{"id":2508,"name":"JB721Tier","nameLocations":["11378:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":29428,"src":"11378:9:3"},"referencedDeclaration":29428,"src":"11378:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"11377:18:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":2556,"nodeType":"FunctionDefinition","src":"11842:365:3","nodes":[],"body":{"id":2555,"nodeType":"Block","src":"12009:198:3","nodes":[],"statements":[{"assignments":[2539],"declarations":[{"constant":false,"id":2539,"mutability":"mutable","name":"_tierId","nameLocation":"12072:7:3","nodeType":"VariableDeclaration","scope":2555,"src":"12064:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2538,"name":"uint256","nodeType":"ElementaryTypeName","src":"12064:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2543,"initialValue":{"arguments":[{"id":2541,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2529,"src":"12096:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2540,"name":"tierIdOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"12082:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12082:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12064:41:3"},{"expression":{"arguments":[{"id":2545,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2527,"src":"12135:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2546,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2539,"src":"12141:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"baseExpression":{"id":2547,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"12150:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2549,"indexExpression":{"id":2548,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2527,"src":"12164:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12150:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2551,"indexExpression":{"id":2550,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2539,"src":"12170:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12150:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},{"id":2552,"name":"_includeResolvedUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2531,"src":"12180:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2544,"name":"_getTierFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4171,"src":"12122:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$_t_bool_$returns$_t_struct$_JB721Tier_$29428_memory_ptr_$","typeString":"function (address,uint256,struct JBStored721Tier memory,bool) view returns (struct JB721Tier memory)"}},"id":2553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12122:78:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"functionReturnParameters":2537,"id":2554,"nodeType":"Return","src":"12115:85:3"}]},"baseFunctions":[28263],"documentation":{"id":2525,"nodeType":"StructuredDocumentation","src":"11500:337:3","text":"@notice Return the tier for the provided token ID and NFT contract.\n @param _nft The NFT contract to get a tier from.\n @param _tokenId The token ID to return the tier of.\n @param _includeResolvedUri If enabled, if there's a token URI resolver, the content will be resolved and included.\n @return The tier."},"functionSelector":"c44a8e6d","implemented":true,"kind":"function","modifiers":[],"name":"tierOfTokenId","nameLocation":"11851:13:3","overrides":{"id":2533,"nodeType":"OverrideSpecifier","overrides":[],"src":"11961:8:3"},"parameters":{"id":2532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2527,"mutability":"mutable","name":"_nft","nameLocation":"11873:4:3","nodeType":"VariableDeclaration","scope":2556,"src":"11865:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2526,"name":"address","nodeType":"ElementaryTypeName","src":"11865:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2529,"mutability":"mutable","name":"_tokenId","nameLocation":"11887:8:3","nodeType":"VariableDeclaration","scope":2556,"src":"11879:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2528,"name":"uint256","nodeType":"ElementaryTypeName","src":"11879:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":2531,"mutability":"mutable","name":"_includeResolvedUri","nameLocation":"11902:19:3","nodeType":"VariableDeclaration","scope":2556,"src":"11897:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2530,"name":"bool","nodeType":"ElementaryTypeName","src":"11897:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11864:58:3"},"returnParameters":{"id":2537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2536,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2556,"src":"11987:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":2535,"nodeType":"UserDefinedTypeName","pathNode":{"id":2534,"name":"JB721Tier","nameLocations":["11987:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":29428,"src":"11987:9:3"},"referencedDeclaration":29428,"src":"11987:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"11986:18:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2605,"nodeType":"FunctionDefinition","src":"12440:683:3","nodes":[],"body":{"id":2604,"nodeType":"Block","src":"12525:598:3","nodes":[],"statements":[{"assignments":[2567],"declarations":[{"constant":false,"id":2567,"mutability":"mutable","name":"_storedTier","nameLocation":"12617:11:3","nodeType":"VariableDeclaration","scope":2604,"src":"12594:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":2566,"nodeType":"UserDefinedTypeName","pathNode":{"id":2565,"name":"JBStored721Tier","nameLocations":["12594:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"12594:15:3"},"referencedDeclaration":29649,"src":"12594:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":2568,"nodeType":"VariableDeclarationStatement","src":"12594:34:3"},{"assignments":[2570],"declarations":[{"constant":false,"id":2570,"mutability":"mutable","name":"_maxTierId","nameLocation":"12700:10:3","nodeType":"VariableDeclaration","scope":2604,"src":"12692:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2569,"name":"uint256","nodeType":"ElementaryTypeName","src":"12692:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2574,"initialValue":{"baseExpression":{"id":2571,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"12713:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2573,"indexExpression":{"id":2572,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2559,"src":"12725:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12713:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12692:38:3"},{"body":{"id":2602,"nodeType":"Block","src":"12781:336:3","statements":[{"expression":{"id":2588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2582,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2567,"src":"12842:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":2583,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"12856:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2585,"indexExpression":{"id":2584,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2559,"src":"12870:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12856:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2587,"indexExpression":{"id":2586,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"12876:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12856:23:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"src":"12842:37:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2589,"nodeType":"ExpressionStatement","src":"12842:37:3"},{"expression":{"id":2596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2590,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2563,"src":"12976:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":2595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2591,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2567,"src":"12986:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2592,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12998:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"12986:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":2593,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2567,"src":"13016:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2594,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13028:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"13016:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"12986:59:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"12976:69:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2597,"nodeType":"ExpressionStatement","src":"12976:69:3"},{"id":2601,"nodeType":"UncheckedBlock","src":"13060:47:3","statements":[{"expression":{"id":2599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"13088:4:3","subExpression":{"id":2598,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"13090:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2600,"nodeType":"ExpressionStatement","src":"13088:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2579,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2576,"src":"12771:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12777:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12771:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2603,"initializationExpression":{"assignments":[2576],"declarations":[{"constant":false,"id":2576,"mutability":"mutable","name":"_i","nameLocation":"12754:2:3","nodeType":"VariableDeclaration","scope":2603,"src":"12746:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2575,"name":"uint256","nodeType":"ElementaryTypeName","src":"12746:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2578,"initialValue":{"id":2577,"name":"_maxTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2570,"src":"12759:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12746:23:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"12741:376:3"}]},"baseFunctions":[28194],"documentation":{"id":2557,"nodeType":"StructuredDocumentation","src":"12213:222:3","text":"@notice The total number of NFTs issued from all tiers of the provided NFT contract.\n @param _nft The NFT contract to get a total supply of.\n @return supply The total number of NFTs issued from all tiers."},"functionSelector":"cf9530d0","implemented":true,"kind":"function","modifiers":[],"name":"totalSupplyOf","nameLocation":"12449:13:3","overrides":{"id":2561,"nodeType":"OverrideSpecifier","overrides":[],"src":"12491:8:3"},"parameters":{"id":2560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2559,"mutability":"mutable","name":"_nft","nameLocation":"12471:4:3","nodeType":"VariableDeclaration","scope":2605,"src":"12463:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2558,"name":"address","nodeType":"ElementaryTypeName","src":"12463:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12462:14:3"},"returnParameters":{"id":2564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2563,"mutability":"mutable","name":"supply","nameLocation":"12517:6:3","nodeType":"VariableDeclaration","scope":2605,"src":"12509:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2562,"name":"uint256","nodeType":"ElementaryTypeName","src":"12509:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12508:16:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2627,"nodeType":"FunctionDefinition","src":"13493:260:3","nodes":[],"body":{"id":2626,"nodeType":"Block","src":"13647:106:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":2617,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"src":"13702:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":2618,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"13708:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"baseExpression":{"baseExpression":{"id":2619,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"13717:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2621,"indexExpression":{"id":2620,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2608,"src":"13731:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13717:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2623,"indexExpression":{"id":2622,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2610,"src":"13737:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13717:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}],"id":2616,"name":"_numberOfReservedTokensOutstandingFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"13664:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,struct JBStored721Tier memory) view returns (uint256)"}},"id":2624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13664:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2615,"id":2625,"nodeType":"Return","src":"13657:89:3"}]},"baseFunctions":[28305],"documentation":{"id":2606,"nodeType":"StructuredDocumentation","src":"13129:359:3","text":"@notice Returns the number of currently mintable reserved tokens for the provided tier ID and NFT contract.\n @param _nft The NFT contract to check for mintable reserved tokens.\n @param _tierId The tier ID to check for mintable reserved tokens.\n @return The number of currently outstanding reserved tokens within the tier and contract."},"functionSelector":"35314b92","implemented":true,"kind":"function","modifiers":[],"name":"numberOfReservedTokensOutstandingFor","nameLocation":"13502:36:3","overrides":{"id":2612,"nodeType":"OverrideSpecifier","overrides":[],"src":"13608:8:3"},"parameters":{"id":2611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2608,"mutability":"mutable","name":"_nft","nameLocation":"13547:4:3","nodeType":"VariableDeclaration","scope":2627,"src":"13539:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2607,"name":"address","nodeType":"ElementaryTypeName","src":"13539:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2610,"mutability":"mutable","name":"_tierId","nameLocation":"13561:7:3","nodeType":"VariableDeclaration","scope":2627,"src":"13553:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2609,"name":"uint256","nodeType":"ElementaryTypeName","src":"13553:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13538:31:3"},"returnParameters":{"id":2615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2627,"src":"13634:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2613,"name":"uint256","nodeType":"ElementaryTypeName","src":"13634:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13633:9:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2706,"nodeType":"FunctionDefinition","src":"14128:1051:3","nodes":[],"body":{"id":2705,"nodeType":"Block","src":"14238:941:3","nodes":[],"statements":[{"assignments":[2639],"declarations":[{"constant":false,"id":2639,"mutability":"mutable","name":"_maxTierId","nameLocation":"14309:10:3","nodeType":"VariableDeclaration","scope":2705,"src":"14301:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2638,"name":"uint256","nodeType":"ElementaryTypeName","src":"14301:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2643,"initialValue":{"baseExpression":{"id":2640,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"14322:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2642,"indexExpression":{"id":2641,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2630,"src":"14334:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14322:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14301:38:3"},{"assignments":[2645],"declarations":[{"constant":false,"id":2645,"mutability":"mutable","name":"_balance","nameLocation":"14422:8:3","nodeType":"VariableDeclaration","scope":2705,"src":"14414:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2644,"name":"uint256","nodeType":"ElementaryTypeName","src":"14414:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2646,"nodeType":"VariableDeclarationStatement","src":"14414:16:3"},{"assignments":[2649],"declarations":[{"constant":false,"id":2649,"mutability":"mutable","name":"_storedTier","nameLocation":"14512:11:3","nodeType":"VariableDeclaration","scope":2705,"src":"14489:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":2648,"nodeType":"UserDefinedTypeName","pathNode":{"id":2647,"name":"JBStored721Tier","nameLocations":["14489:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"14489:15:3"},"referencedDeclaration":29649,"src":"14489:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":2650,"nodeType":"VariableDeclarationStatement","src":"14489:34:3"},{"body":{"id":2703,"nodeType":"Block","src":"14609:564:3","statements":[{"expression":{"id":2666,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2658,"name":"_balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"14693:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":2659,"name":"tierBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"14704:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":2661,"indexExpression":{"id":2660,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2630,"src":"14718:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14704:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":2663,"indexExpression":{"id":2662,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2632,"src":"14724:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14704:29:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":2665,"indexExpression":{"id":2664,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"14734:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14704:33:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14693:44:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2667,"nodeType":"ExpressionStatement","src":"14693:44:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2668,"name":"_balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"14756:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14768:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14756:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2679,"nodeType":"IfStatement","src":"14752:56:3","trueBody":{"expression":{"id":2677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2671,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"14771:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":2672,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"14785:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2674,"indexExpression":{"id":2673,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2630,"src":"14799:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14785:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2676,"indexExpression":{"id":2675,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"14805:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14785:23:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"src":"14771:37:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2678,"nodeType":"ExpressionStatement","src":"14771:37:3"}},{"assignments":[null,null,2681],"declarations":[null,null,{"constant":false,"id":2681,"mutability":"mutable","name":"_useVotingUnits","nameLocation":"14832:15:3","nodeType":"VariableDeclaration","scope":2703,"src":"14827:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2680,"name":"bool","nodeType":"ElementaryTypeName","src":"14827:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":2686,"initialValue":{"arguments":[{"expression":{"id":2683,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"14864:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2684,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"14876:11:3","memberName":"packedBools","nodeType":"MemberAccess","referencedDeclaration":29648,"src":"14864:23:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":2682,"name":"_unpackBools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4476,"src":"14851:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$_t_bool_$_t_bool_$","typeString":"function (uint8) pure returns (bool,bool,bool)"}},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14851:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"14823:65:3"},{"expression":{"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2687,"name":"units","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2636,"src":"15018:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2688,"name":"_balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2645,"src":"15027:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"condition":{"id":2689,"name":"_useVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2681,"src":"15039:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":2692,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"15083:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2693,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15095:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"15083:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"id":2694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"15039:61:3","trueExpression":{"expression":{"id":2690,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2649,"src":"15057:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2691,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15069:11:3","memberName":"votingUnits","nodeType":"MemberAccess","referencedDeclaration":29642,"src":"15057:23:3","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}}],"id":2695,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"15038:63:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"15027:74:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15018:83:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2698,"nodeType":"ExpressionStatement","src":"15018:83:3"},{"id":2702,"nodeType":"UncheckedBlock","src":"15116:47:3","statements":[{"expression":{"id":2700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"15144:4:3","subExpression":{"id":2699,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"15146:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2701,"nodeType":"ExpressionStatement","src":"15144:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2655,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2652,"src":"14599:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14605:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14599:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2704,"initializationExpression":{"assignments":[2652],"declarations":[{"constant":false,"id":2652,"mutability":"mutable","name":"_i","nameLocation":"14582:2:3","nodeType":"VariableDeclaration","scope":2704,"src":"14574:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2651,"name":"uint256","nodeType":"ElementaryTypeName","src":"14574:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2654,"initialValue":{"id":2653,"name":"_maxTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2639,"src":"14587:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14574:23:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"14569:604:3"}]},"baseFunctions":[28349],"documentation":{"id":2628,"nodeType":"StructuredDocumentation","src":"13759:364:3","text":"@notice Returns the total voting units from all of an addresses' NFTs (across all tiers) for the provided NFT contract. NFTs have a tier-specific number of voting units.\n @param _nft The NFT contract to get voting units within.\n @param _account The address to get the voting units of.\n @return units The total voting units for the address."},"functionSelector":"93355578","implemented":true,"kind":"function","modifiers":[],"name":"votingUnitsOf","nameLocation":"14137:13:3","overrides":{"id":2634,"nodeType":"OverrideSpecifier","overrides":[],"src":"14205:8:3"},"parameters":{"id":2633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2630,"mutability":"mutable","name":"_nft","nameLocation":"14159:4:3","nodeType":"VariableDeclaration","scope":2706,"src":"14151:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2629,"name":"address","nodeType":"ElementaryTypeName","src":"14151:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2632,"mutability":"mutable","name":"_account","nameLocation":"14173:8:3","nodeType":"VariableDeclaration","scope":2706,"src":"14165:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2631,"name":"address","nodeType":"ElementaryTypeName","src":"14165:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14150:32:3"},"returnParameters":{"id":2637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2636,"mutability":"mutable","name":"units","nameLocation":"14231:5:3","nodeType":"VariableDeclaration","scope":2706,"src":"14223:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2635,"name":"uint256","nodeType":"ElementaryTypeName","src":"14223:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14222:15:3"},"scope":4477,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":2745,"nodeType":"FunctionDefinition","src":"15570:456:3","nodes":[],"body":{"id":2744,"nodeType":"Block","src":"15739:287:3","nodes":[],"statements":[{"assignments":[2720],"declarations":[{"constant":false,"id":2720,"mutability":"mutable","name":"_balance","nameLocation":"15823:8:3","nodeType":"VariableDeclaration","scope":2744,"src":"15815:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2719,"name":"uint256","nodeType":"ElementaryTypeName","src":"15815:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2728,"initialValue":{"baseExpression":{"baseExpression":{"baseExpression":{"id":2721,"name":"tierBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"15834:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":2723,"indexExpression":{"id":2722,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2709,"src":"15848:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15834:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":2725,"indexExpression":{"id":2724,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2711,"src":"15854:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15834:29:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":2727,"indexExpression":{"id":2726,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"15864:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15834:38:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15815:57:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2731,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2729,"name":"_balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2720,"src":"15887:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":2730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15899:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15887:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2734,"nodeType":"IfStatement","src":"15883:27:3","trueBody":{"expression":{"hexValue":"30","id":2732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15909:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":2718,"id":2733,"nodeType":"Return","src":"15902:8:3"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2735,"name":"_balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2720,"src":"15968:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"expression":{"baseExpression":{"baseExpression":{"id":2736,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"15979:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2738,"indexExpression":{"id":2737,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2709,"src":"15993:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15979:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2740,"indexExpression":{"id":2739,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"15999:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15979:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"id":2741,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"16008:11:3","memberName":"votingUnits","nodeType":"MemberAccess","referencedDeclaration":29642,"src":"15979:40:3","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"15968:51:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2718,"id":2743,"nodeType":"Return","src":"15961:58:3"}]},"baseFunctions":[28360],"documentation":{"id":2707,"nodeType":"StructuredDocumentation","src":"15185:380:3","text":"@notice Returns the voting units for an addresses' NFTs in one tier. NFTs have a tier-specific number of voting units.\n @param _nft The NFT contract to get voting units within.\n @param _account The address to get the voting units of.\n @param _tierId The tier ID to get voting units within.\n @return The voting units for the address within the tier."},"functionSelector":"2e4d0ea8","implemented":true,"kind":"function","modifiers":[],"name":"tierVotingUnitsOf","nameLocation":"15579:17:3","overrides":{"id":2715,"nodeType":"OverrideSpecifier","overrides":[],"src":"15700:8:3"},"parameters":{"id":2714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2709,"mutability":"mutable","name":"_nft","nameLocation":"15605:4:3","nodeType":"VariableDeclaration","scope":2745,"src":"15597:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2708,"name":"address","nodeType":"ElementaryTypeName","src":"15597:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2711,"mutability":"mutable","name":"_account","nameLocation":"15619:8:3","nodeType":"VariableDeclaration","scope":2745,"src":"15611:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2710,"name":"address","nodeType":"ElementaryTypeName","src":"15611:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2713,"mutability":"mutable","name":"_tierId","nameLocation":"15637:7:3","nodeType":"VariableDeclaration","scope":2745,"src":"15629:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2712,"name":"uint256","nodeType":"ElementaryTypeName","src":"15629:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15596:49:3"},"returnParameters":{"id":2718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2745,"src":"15726:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2716,"name":"uint256","nodeType":"ElementaryTypeName","src":"15726:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15725:9:3"},"scope":4477,"stateMutability":"view","virtual":true,"visibility":"external"},{"id":2765,"nodeType":"FunctionDefinition","src":"16317:174:3","nodes":[],"body":{"id":2764,"nodeType":"Block","src":"16420:71:3","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":2756,"name":"encodedIPFSUriOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2329,"src":"16437:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"}},"id":2758,"indexExpression":{"id":2757,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2748,"src":"16454:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16437:22:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":2762,"indexExpression":{"arguments":[{"id":2760,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2750,"src":"16474:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2759,"name":"tierIdOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"16460:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16460:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16437:47:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":2755,"id":2763,"nodeType":"Return","src":"16430:54:3"}]},"baseFunctions":[28393],"documentation":{"id":2746,"nodeType":"StructuredDocumentation","src":"16032:280:3","text":"@notice Resolves the encoded IPFS URI of the tier for the provided token ID and NFT contract.\n @param _nft The NFT contract to which the encoded IPFS URI belongs.\n @param _tokenId The token ID to get the encoded IPFS URI of.\n @return The encoded IPFS URI."},"functionSelector":"c8df1710","implemented":true,"kind":"function","modifiers":[],"name":"encodedTierIPFSUriOf","nameLocation":"16326:20:3","overrides":{"id":2752,"nodeType":"OverrideSpecifier","overrides":[],"src":"16393:8:3"},"parameters":{"id":2751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2748,"mutability":"mutable","name":"_nft","nameLocation":"16355:4:3","nodeType":"VariableDeclaration","scope":2765,"src":"16347:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2747,"name":"address","nodeType":"ElementaryTypeName","src":"16347:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2750,"mutability":"mutable","name":"_tokenId","nameLocation":"16369:8:3","nodeType":"VariableDeclaration","scope":2765,"src":"16361:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2749,"name":"uint256","nodeType":"ElementaryTypeName","src":"16361:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16346:32:3"},"returnParameters":{"id":2755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2754,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2765,"src":"16411:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16411:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16410:9:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2780,"nodeType":"FunctionDefinition","src":"16651:126:3","nodes":[],"body":{"id":2779,"nodeType":"Block","src":"16739:38:3","nodes":[],"statements":[{"expression":{"baseExpression":{"id":2775,"name":"_flagsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2257,"src":"16756:8:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_JBTiered721Flags_$29661_storage_$","typeString":"mapping(address => struct JBTiered721Flags storage ref)"}},"id":2777,"indexExpression":{"id":2776,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2768,"src":"16765:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16756:14:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage","typeString":"struct JBTiered721Flags storage ref"}},"functionReturnParameters":2774,"id":2778,"nodeType":"Return","src":"16749:21:3"}]},"baseFunctions":[28340],"documentation":{"id":2766,"nodeType":"StructuredDocumentation","src":"16497:149:3","text":"@notice Flags that influence the behavior of each NFT.\n @param _nft The NFT contract for which the flags apply.\n @return The flags."},"functionSelector":"845104de","implemented":true,"kind":"function","modifiers":[],"name":"flagsOf","nameLocation":"16660:7:3","overrides":{"id":2770,"nodeType":"OverrideSpecifier","overrides":[],"src":"16696:8:3"},"parameters":{"id":2769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2768,"mutability":"mutable","name":"_nft","nameLocation":"16676:4:3","nodeType":"VariableDeclaration","scope":2780,"src":"16668:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2767,"name":"address","nodeType":"ElementaryTypeName","src":"16668:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16667:14:3"},"returnParameters":{"id":2774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2773,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2780,"src":"16714:23:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_memory_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":2772,"nodeType":"UserDefinedTypeName","pathNode":{"id":2771,"name":"JBTiered721Flags","nameLocations":["16714:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":29661,"src":"16714:16:3"},"referencedDeclaration":29661,"src":"16714:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"16713:25:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2807,"nodeType":"FunctionDefinition","src":"17053:243:3","nodes":[],"body":{"id":2806,"nodeType":"Block","src":"17145:151:3","nodes":[],"statements":[{"assignments":[2793],"declarations":[{"constant":false,"id":2793,"mutability":"mutable","name":"_bitmapWord","nameLocation":"17175:11:3","nodeType":"VariableDeclaration","scope":2806,"src":"17155:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":2792,"nodeType":"UserDefinedTypeName","pathNode":{"id":2791,"name":"JBBitmapWord","nameLocations":["17155:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"17155:12:3"},"referencedDeclaration":29462,"src":"17155:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"id":2800,"initialValue":{"arguments":[{"id":2798,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2785,"src":"17227:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":2794,"name":"_isTierRemovedBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"17189:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":2796,"indexExpression":{"id":2795,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2783,"src":"17214:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17189:30:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":2797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"17220:6:3","memberName":"readId","nodeType":"MemberAccess","referencedDeclaration":28519,"src":"17189:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_mapping$_t_uint256_$_t_uint256_$_$_t_uint256_$returns$_t_struct$_JBBitmapWord_$29462_memory_ptr_$attached_to$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"function (mapping(uint256 => uint256),uint256) view returns (struct JBBitmapWord memory)"}},"id":2799,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17189:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"nodeType":"VariableDeclarationStatement","src":"17155:80:3"},{"expression":{"arguments":[{"id":2803,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2785,"src":"17281:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":2801,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2793,"src":"17253:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":2802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"17265:15:3","memberName":"isTierIdRemoved","nodeType":"MemberAccess","referencedDeclaration":28544,"src":"17253:27:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBBitmapWord_$29462_memory_ptr_$_t_uint256_$returns$_t_bool_$attached_to$_t_struct$_JBBitmapWord_$29462_memory_ptr_$","typeString":"function (struct JBBitmapWord memory,uint256) pure returns (bool)"}},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2790,"id":2805,"nodeType":"Return","src":"17246:43:3"}]},"baseFunctions":[28332],"documentation":{"id":2781,"nodeType":"StructuredDocumentation","src":"16783:265:3","text":"@notice Check if the provided tier has been removed from the current set of tiers.\n @param _nft The NFT contract of the tier to check for removal.\n @param _tierId The tier ID to check for removal.\n @return True if the tier has been removed."},"functionSelector":"5f646611","implemented":true,"kind":"function","modifiers":[],"name":"isTierRemoved","nameLocation":"17062:13:3","overrides":{"id":2787,"nodeType":"OverrideSpecifier","overrides":[],"src":"17121:8:3"},"parameters":{"id":2786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2783,"mutability":"mutable","name":"_nft","nameLocation":"17084:4:3","nodeType":"VariableDeclaration","scope":2807,"src":"17076:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2782,"name":"address","nodeType":"ElementaryTypeName","src":"17076:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2785,"mutability":"mutable","name":"_tierId","nameLocation":"17098:7:3","nodeType":"VariableDeclaration","scope":2807,"src":"17090:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2784,"name":"uint256","nodeType":"ElementaryTypeName","src":"17090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17075:31:3"},"returnParameters":{"id":2790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2789,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2807,"src":"17139:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2788,"name":"bool","nodeType":"ElementaryTypeName","src":"17139:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17138:6:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":2848,"nodeType":"FunctionDefinition","src":"17842:491:3","nodes":[],"body":{"id":2847,"nodeType":"Block","src":"17938:395:3","nodes":[],"statements":[{"assignments":[2819],"declarations":[{"constant":false,"id":2819,"mutability":"mutable","name":"_maxTierId","nameLocation":"18009:10:3","nodeType":"VariableDeclaration","scope":2847,"src":"18001:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2818,"name":"uint256","nodeType":"ElementaryTypeName","src":"18001:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2823,"initialValue":{"baseExpression":{"id":2820,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"18022:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2822,"indexExpression":{"id":2821,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2810,"src":"18034:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18022:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18001:38:3"},{"body":{"id":2845,"nodeType":"Block","src":"18125:202:3","statements":[{"expression":{"id":2839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2831,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2816,"src":"18213:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"baseExpression":{"baseExpression":{"baseExpression":{"id":2832,"name":"tierBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"18224:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":2834,"indexExpression":{"id":2833,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2810,"src":"18238:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18224:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":2836,"indexExpression":{"id":2835,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2812,"src":"18244:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18224:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":2838,"indexExpression":{"id":2837,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"18252:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"18224:31:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18213:42:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2840,"nodeType":"ExpressionStatement","src":"18213:42:3"},{"id":2844,"nodeType":"UncheckedBlock","src":"18270:47:3","statements":[{"expression":{"id":2842,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"18298:4:3","subExpression":{"id":2841,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"18300:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2843,"nodeType":"ExpressionStatement","src":"18298:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2828,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2825,"src":"18115:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":2829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18121:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18115:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2846,"initializationExpression":{"assignments":[2825],"declarations":[{"constant":false,"id":2825,"mutability":"mutable","name":"_i","nameLocation":"18098:2:3","nodeType":"VariableDeclaration","scope":2846,"src":"18090:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2824,"name":"uint256","nodeType":"ElementaryTypeName","src":"18090:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2827,"initialValue":{"id":2826,"name":"_maxTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2819,"src":"18103:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18090:23:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"18085:242:3"}]},"baseFunctions":[28203],"documentation":{"id":2808,"nodeType":"StructuredDocumentation","src":"17537:300:3","text":"@notice The total number of tokens owned by the provided address.\n @param _nft The NFT contract to check the balance within.\n @param _owner The address to check the balance of.\n @return balance The number of tokens owned by the owner across all tiers within the NFT contract."},"functionSelector":"f7888aec","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"17851:9:3","overrides":{"id":2814,"nodeType":"OverrideSpecifier","overrides":[],"src":"17903:8:3"},"parameters":{"id":2813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2810,"mutability":"mutable","name":"_nft","nameLocation":"17869:4:3","nodeType":"VariableDeclaration","scope":2848,"src":"17861:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2809,"name":"address","nodeType":"ElementaryTypeName","src":"17861:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2812,"mutability":"mutable","name":"_owner","nameLocation":"17883:6:3","nodeType":"VariableDeclaration","scope":2848,"src":"17875:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2811,"name":"address","nodeType":"ElementaryTypeName","src":"17875:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17860:30:3"},"returnParameters":{"id":2817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2816,"mutability":"mutable","name":"balance","nameLocation":"17929:7:3","nodeType":"VariableDeclaration","scope":2848,"src":"17921:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2815,"name":"uint256","nodeType":"ElementaryTypeName","src":"17921:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17920:17:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":2891,"nodeType":"FunctionDefinition","src":"18671:545:3","nodes":[],"body":{"id":2890,"nodeType":"Block","src":"18825:391:3","nodes":[],"statements":[{"assignments":[2861],"declarations":[{"constant":false,"id":2861,"mutability":"mutable","name":"_numberOfTokenIds","nameLocation":"18901:17:3","nodeType":"VariableDeclaration","scope":2890,"src":"18893:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2860,"name":"uint256","nodeType":"ElementaryTypeName","src":"18893:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2864,"initialValue":{"expression":{"id":2862,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"18921:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"18931:6:3","memberName":"length","nodeType":"MemberAccess","src":"18921:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18893:44:3"},{"body":{"id":2888,"nodeType":"Block","src":"19059:151:3","statements":[{"expression":{"id":2882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2871,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2858,"src":"19073:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"baseExpression":{"baseExpression":{"id":2872,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"19083:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2874,"indexExpression":{"id":2873,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2851,"src":"19097:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19083:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2880,"indexExpression":{"arguments":[{"baseExpression":{"id":2876,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2854,"src":"19117:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":2878,"indexExpression":{"id":2877,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2866,"src":"19127:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19117:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2875,"name":"tierIdOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"19103:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":2879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19103:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19083:49:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"id":2881,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"19133:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"19083:55:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"19073:65:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2883,"nodeType":"ExpressionStatement","src":"19073:65:3"},{"id":2887,"nodeType":"UncheckedBlock","src":"19153:47:3","statements":[{"expression":{"id":2885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"19181:4:3","subExpression":{"id":2884,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2866,"src":"19183:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2886,"nodeType":"ExpressionStatement","src":"19181:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2868,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2866,"src":"19034:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2869,"name":"_numberOfTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2861,"src":"19039:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19034:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2889,"initializationExpression":{"assignments":[2866],"declarations":[{"constant":false,"id":2866,"mutability":"mutable","name":"_i","nameLocation":"19030:2:3","nodeType":"VariableDeclaration","scope":2889,"src":"19022:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2865,"name":"uint256","nodeType":"ElementaryTypeName","src":"19022:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2867,"nodeType":"VariableDeclarationStatement","src":"19022:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"19017:193:3"}]},"baseFunctions":[28289],"documentation":{"id":2849,"nodeType":"StructuredDocumentation","src":"18339:327:3","text":"@notice The cumulative redemption weight of the given token IDs compared to the `totalRedemptionWeight`.\n @param _nft The NFT contract which the redemption weight is being calculated within.\n @param _tokenIds The IDs of the tokens to get the cumulative redemption weight of.\n @return weight The weight."},"functionSelector":"144cc2d4","implemented":true,"kind":"function","modifiers":[],"name":"redemptionWeightOf","nameLocation":"18680:18:3","overrides":{"id":2856,"nodeType":"OverrideSpecifier","overrides":[],"src":"18779:8:3"},"parameters":{"id":2855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2851,"mutability":"mutable","name":"_nft","nameLocation":"18707:4:3","nodeType":"VariableDeclaration","scope":2891,"src":"18699:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2850,"name":"address","nodeType":"ElementaryTypeName","src":"18699:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2854,"mutability":"mutable","name":"_tokenIds","nameLocation":"18732:9:3","nodeType":"VariableDeclaration","scope":2891,"src":"18713:28:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":2852,"name":"uint256","nodeType":"ElementaryTypeName","src":"18713:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2853,"nodeType":"ArrayTypeName","src":"18713:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"18698:44:3"},"returnParameters":{"id":2859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2858,"mutability":"mutable","name":"weight","nameLocation":"18813:6:3","nodeType":"VariableDeclaration","scope":2891,"src":"18805:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2857,"name":"uint256","nodeType":"ElementaryTypeName","src":"18805:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18804:16:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":2955,"nodeType":"FunctionDefinition","src":"19421:977:3","nodes":[],"body":{"id":2954,"nodeType":"Block","src":"19512:886:3","nodes":[],"statements":[{"assignments":[2901],"declarations":[{"constant":false,"id":2901,"mutability":"mutable","name":"_maxTierId","nameLocation":"19583:10:3","nodeType":"VariableDeclaration","scope":2954,"src":"19575:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2900,"name":"uint256","nodeType":"ElementaryTypeName","src":"19575:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2905,"initialValue":{"baseExpression":{"id":2902,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"19596:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2904,"indexExpression":{"id":2903,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"19608:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19596:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"19575:38:3"},{"assignments":[2908],"declarations":[{"constant":false,"id":2908,"mutability":"mutable","name":"_storedTier","nameLocation":"19708:11:3","nodeType":"VariableDeclaration","scope":2954,"src":"19685:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":2907,"nodeType":"UserDefinedTypeName","pathNode":{"id":2906,"name":"JBStored721Tier","nameLocations":["19685:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"19685:15:3"},"referencedDeclaration":29649,"src":"19685:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":2909,"nodeType":"VariableDeclarationStatement","src":"19685:34:3"},{"body":{"id":2952,"nodeType":"Block","src":"19834:558:3","statements":[{"id":2926,"nodeType":"UncheckedBlock","src":"19900:84:3","statements":[{"expression":{"id":2924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2916,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"19928:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":2917,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"19942:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":2919,"indexExpression":{"id":2918,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"19956:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19942:19:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":2923,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2922,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2920,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2911,"src":"19962:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2921,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19967:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"19962:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19942:27:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"src":"19928:41:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2925,"nodeType":"ExpressionStatement","src":"19928:41:3"}]},{"expression":{"id":2946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":2927,"name":"weight","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2898,"src":"20082:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2945,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2928,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"20092:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2929,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20104:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"20092:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":2934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":2930,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"20151:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2931,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20163:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"20151:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":2932,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"20181:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":2933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"20193:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"20181:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"20151:59:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"id":2935,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20150:61:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":2937,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"20276:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2938,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2911,"src":"20282:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":2939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20287:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"20282:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":2941,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2908,"src":"20290:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}],"id":2936,"name":"_numberOfReservedTokensOutstandingFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"20238:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,struct JBStored721Tier memory) view returns (uint256)"}},"id":2942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20238:64:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20150:152:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":2944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20128:192:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20092:228:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20082:238:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2947,"nodeType":"ExpressionStatement","src":"20082:238:3"},{"id":2951,"nodeType":"UncheckedBlock","src":"20335:47:3","statements":[{"expression":{"id":2949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"20363:4:3","subExpression":{"id":2948,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2911,"src":"20365:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2950,"nodeType":"ExpressionStatement","src":"20363:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2913,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2911,"src":"19816:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":2914,"name":"_maxTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2901,"src":"19821:10:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19816:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2953,"initializationExpression":{"assignments":[2911],"declarations":[{"constant":false,"id":2911,"mutability":"mutable","name":"_i","nameLocation":"19812:2:3","nodeType":"VariableDeclaration","scope":2953,"src":"19804:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2910,"name":"uint256","nodeType":"ElementaryTypeName","src":"19804:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":2912,"nodeType":"VariableDeclarationStatement","src":"19804:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"19799:593:3"}]},"baseFunctions":[28296],"documentation":{"id":2892,"nodeType":"StructuredDocumentation","src":"19222:194:3","text":"@notice The cumulative redemption weight for all token IDs.\n @param _nft The NFT contract for which the redemption weight is being calculated.\n @return weight The total weight."},"functionSelector":"2ae5e492","implemented":true,"kind":"function","modifiers":[],"name":"totalRedemptionWeight","nameLocation":"19430:21:3","overrides":{"id":2896,"nodeType":"OverrideSpecifier","overrides":[],"src":"19478:8:3"},"parameters":{"id":2895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2894,"mutability":"mutable","name":"_nft","nameLocation":"19460:4:3","nodeType":"VariableDeclaration","scope":2955,"src":"19452:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2893,"name":"address","nodeType":"ElementaryTypeName","src":"19452:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19451:14:3"},"returnParameters":{"id":2899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2898,"mutability":"mutable","name":"weight","nameLocation":"19504:6:3","nodeType":"VariableDeclaration","scope":2955,"src":"19496:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2897,"name":"uint256","nodeType":"ElementaryTypeName","src":"19496:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19495:16:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":2969,"nodeType":"FunctionDefinition","src":"20678:127:3","nodes":[],"body":{"id":2968,"nodeType":"Block","src":"20758:47:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2964,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2958,"src":"20775:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":2965,"name":"_ONE_BILLION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"20786:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20775:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2963,"id":2967,"nodeType":"Return","src":"20768:30:3"}]},"baseFunctions":[28270],"documentation":{"id":2956,"nodeType":"StructuredDocumentation","src":"20404:269:3","text":"@notice The tier ID of the provided token ID.\n @dev Tiers are 1-indexed from the `tiers` array, meaning the 0th element of the array is tier 1.\n @param _tokenId The token ID to get the tier ID of.\n @return The tier ID for the provided token ID."},"functionSelector":"42f9914b","implemented":true,"kind":"function","modifiers":[],"name":"tierIdOfToken","nameLocation":"20687:13:3","overrides":{"id":2960,"nodeType":"OverrideSpecifier","overrides":[],"src":"20731:8:3"},"parameters":{"id":2959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2958,"mutability":"mutable","name":"_tokenId","nameLocation":"20709:8:3","nodeType":"VariableDeclaration","scope":2969,"src":"20701:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2957,"name":"uint256","nodeType":"ElementaryTypeName","src":"20701:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20700:18:3"},"returnParameters":{"id":2963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":2969,"src":"20749:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2961,"name":"uint256","nodeType":"ElementaryTypeName","src":"20749:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20748:9:3"},"scope":4477,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":3003,"nodeType":"FunctionDefinition","src":"21127:543:3","nodes":[],"body":{"id":3002,"nodeType":"Block","src":"21233:437:3","nodes":[],"statements":[{"assignments":[2981],"declarations":[{"constant":false,"id":2981,"mutability":"mutable","name":"_storedReservedTokenBeneficiaryOfTier","nameLocation":"21305:37:3","nodeType":"VariableDeclaration","scope":3002,"src":"21297:45:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2980,"name":"address","nodeType":"ElementaryTypeName","src":"21297:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":2987,"initialValue":{"baseExpression":{"baseExpression":{"id":2982,"name":"_reservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2243,"src":"21345:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$","typeString":"mapping(address => mapping(uint256 => address))"}},"id":2984,"indexExpression":{"id":2983,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2972,"src":"21373:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21345:33:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":2986,"indexExpression":{"id":2985,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2974,"src":"21379:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21345:42:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"21297:90:3"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":2988,"name":"_storedReservedTokenBeneficiaryOfTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"21454:37:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":2991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"21503:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":2990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21495:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":2989,"name":"address","nodeType":"ElementaryTypeName","src":"21495:7:3","typeDescriptions":{}}},"id":2992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21495:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"21454:51:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2997,"nodeType":"IfStatement","src":"21450:126:3","trueBody":{"id":2996,"nodeType":"Block","src":"21507:69:3","statements":[{"expression":{"id":2994,"name":"_storedReservedTokenBeneficiaryOfTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2981,"src":"21528:37:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2979,"id":2995,"nodeType":"Return","src":"21521:44:3"}]}},{"expression":{"baseExpression":{"id":2998,"name":"defaultReservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2314,"src":"21624:33:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":3000,"indexExpression":{"id":2999,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2972,"src":"21658:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"21624:39:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":2979,"id":3001,"nodeType":"Return","src":"21617:46:3"}]},"baseFunctions":[28376],"documentation":{"id":2970,"nodeType":"StructuredDocumentation","src":"20811:311:3","text":"@notice The reserved token beneficiary address for the provided tier ID and NFT contract.\n @param _nft The NFT contract to check the reserved token beneficiary within.\n @param _tierId The tier ID to get the reserved token beneficiary of.\n @return The reserved token beneficiary address."},"functionSelector":"136e651c","implemented":true,"kind":"function","modifiers":[],"name":"reservedTokenBeneficiaryOf","nameLocation":"21136:26:3","overrides":{"id":2976,"nodeType":"OverrideSpecifier","overrides":[],"src":"21206:8:3"},"parameters":{"id":2975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2972,"mutability":"mutable","name":"_nft","nameLocation":"21171:4:3","nodeType":"VariableDeclaration","scope":3003,"src":"21163:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2971,"name":"address","nodeType":"ElementaryTypeName","src":"21163:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":2974,"mutability":"mutable","name":"_tierId","nameLocation":"21185:7:3","nodeType":"VariableDeclaration","scope":3003,"src":"21177:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2973,"name":"uint256","nodeType":"ElementaryTypeName","src":"21177:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21162:31:3"},"returnParameters":{"id":2979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":3003,"src":"21224:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2977,"name":"address","nodeType":"ElementaryTypeName","src":"21224:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21223:9:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":3525,"nodeType":"FunctionDefinition","src":"22036:9024:3","nodes":[],"body":{"id":3524,"nodeType":"Block","src":"22181:8879:3","nodes":[],"statements":[{"assignments":[3016],"declarations":[{"constant":false,"id":3016,"mutability":"mutable","name":"_numberOfNewTiers","nameLocation":"22254:17:3","nodeType":"VariableDeclaration","scope":3524,"src":"22246:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3015,"name":"uint256","nodeType":"ElementaryTypeName","src":"22246:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3019,"initialValue":{"expression":{"id":3017,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"22274:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29454_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}},"id":3018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22286:6:3","memberName":"length","nodeType":"MemberAccess","src":"22274:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22246:46:3"},{"assignments":[3021],"declarations":[{"constant":false,"id":3021,"mutability":"mutable","name":"_currentMaxTierIdOf","nameLocation":"22364:19:3","nodeType":"VariableDeclaration","scope":3524,"src":"22356:27:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3020,"name":"uint256","nodeType":"ElementaryTypeName","src":"22356:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3026,"initialValue":{"baseExpression":{"id":3022,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"22386:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3025,"indexExpression":{"expression":{"id":3023,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22398:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22402:6:3","memberName":"sender","nodeType":"MemberAccess","src":"22398:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"22386:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22356:53:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3035,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3027,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"22490:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":3028,"name":"_numberOfNewTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3016,"src":"22512:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22490:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":3032,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22537:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":3031,"name":"uint16","nodeType":"ElementaryTypeName","src":"22537:6:3","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":3030,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"22532:4:3","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":3033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22532:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":3034,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22545:3:3","memberName":"max","nodeType":"MemberAccess","src":"22532:16:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"22490:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3039,"nodeType":"IfStatement","src":"22486:91:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3036,"name":"MAX_TIERS_EXCEEDED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2213,"src":"22557:18:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22557:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3038,"nodeType":"RevertStatement","src":"22550:27:3"}},{"assignments":[3041],"declarations":[{"constant":false,"id":3041,"mutability":"mutable","name":"_currentLastSortedTierId","nameLocation":"22660:24:3","nodeType":"VariableDeclaration","scope":3524,"src":"22652:32:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3040,"name":"uint256","nodeType":"ElementaryTypeName","src":"22652:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3046,"initialValue":{"arguments":[{"expression":{"id":3043,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"22707:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"22711:6:3","memberName":"sender","nodeType":"MemberAccess","src":"22707:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3042,"name":"_lastSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4448,"src":"22687:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22687:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22652:66:3"},{"expression":{"id":3053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3047,"name":"tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3013,"src":"22789:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3051,"name":"_numberOfNewTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3016,"src":"22813:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"22799:13:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":3048,"name":"uint256","nodeType":"ElementaryTypeName","src":"22803:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3049,"nodeType":"ArrayTypeName","src":"22803:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":3052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22799:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"22789:42:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3054,"nodeType":"ExpressionStatement","src":"22789:42:3"},{"assignments":[3056],"declarations":[{"constant":false,"id":3056,"mutability":"mutable","name":"_startSortedTierId","nameLocation":"23007:18:3","nodeType":"VariableDeclaration","scope":3524,"src":"22999:26:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3055,"name":"uint256","nodeType":"ElementaryTypeName","src":"22999:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3067,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3057,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"23028:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23051:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23028:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"expression":{"id":3062,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23080:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23084:6:3","memberName":"sender","nodeType":"MemberAccess","src":"23080:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":3064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23092:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3061,"name":"_firstSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4423,"src":"23059:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23059:35:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23028:66:3","trueExpression":{"hexValue":"30","id":3060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23055:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22999:95:3"},{"assignments":[3069],"declarations":[{"constant":false,"id":3069,"mutability":"mutable","name":"_previous","nameLocation":"23160:9:3","nodeType":"VariableDeclaration","scope":3524,"src":"23152:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3068,"name":"uint256","nodeType":"ElementaryTypeName","src":"23152:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3070,"nodeType":"VariableDeclarationStatement","src":"23152:17:3"},{"assignments":[3073],"declarations":[{"constant":false,"id":3073,"mutability":"mutable","name":"_tierToAdd","nameLocation":"23264:10:3","nodeType":"VariableDeclaration","scope":3524,"src":"23241:33:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams"},"typeName":{"id":3072,"nodeType":"UserDefinedTypeName","pathNode":{"id":3071,"name":"JB721TierParams","nameLocations":["23241:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29454,"src":"23241:15:3"},"referencedDeclaration":29454,"src":"23241:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_storage_ptr","typeString":"struct JB721TierParams"}},"visibility":"internal"}],"id":3074,"nodeType":"VariableDeclarationStatement","src":"23241:33:3"},{"assignments":[3077],"declarations":[{"constant":false,"id":3077,"mutability":"mutable","name":"_flags","nameLocation":"23351:6:3","nodeType":"VariableDeclaration","scope":3524,"src":"23327:30:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_memory_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":3076,"nodeType":"UserDefinedTypeName","pathNode":{"id":3075,"name":"JBTiered721Flags","nameLocations":["23327:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":29661,"src":"23327:16:3"},"referencedDeclaration":29661,"src":"23327:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"id":3082,"initialValue":{"baseExpression":{"id":3078,"name":"_flagsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2257,"src":"23360:8:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_JBTiered721Flags_$29661_storage_$","typeString":"mapping(address => struct JBTiered721Flags storage ref)"}},"id":3081,"indexExpression":{"expression":{"id":3079,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"23369:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"23373:6:3","memberName":"sender","nodeType":"MemberAccess","src":"23369:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23360:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage","typeString":"struct JBTiered721Flags storage ref"}},"nodeType":"VariableDeclarationStatement","src":"23327:53:3"},{"body":{"id":3513,"nodeType":"Block","src":"23433:7545:3","statements":[{"expression":{"id":3093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3089,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"23496:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3090,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"23509:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29454_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}},"id":3092,"indexExpression":{"id":3091,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"23521:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23509:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_calldata_ptr","typeString":"struct JB721TierParams calldata"}},"src":"23496:28:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3094,"nodeType":"ExpressionStatement","src":"23496:28:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3095,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"23589:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3096,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"23600:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29435,"src":"23589:26:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3099,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"id":3097,"name":"_ONE_BILLION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"23618:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23633:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"23618:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23589:45:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3104,"nodeType":"IfStatement","src":"23585:76:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3101,"name":"INVALID_QUANTITY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2209,"src":"23643:16:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23643:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3103,"nodeType":"RevertStatement","src":"23636:25:3"}},{"assignments":[3107],"declarations":[{"constant":false,"id":3107,"mutability":"mutable","name":"_previousTier","nameLocation":"23753:13:3","nodeType":"VariableDeclaration","scope":3513,"src":"23730:36:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams"},"typeName":{"id":3106,"nodeType":"UserDefinedTypeName","pathNode":{"id":3105,"name":"JB721TierParams","nameLocations":["23730:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29454,"src":"23730:15:3"},"referencedDeclaration":29454,"src":"23730:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_storage_ptr","typeString":"struct JB721TierParams"}},"visibility":"internal"}],"id":3108,"nodeType":"VariableDeclarationStatement","src":"23730:36:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3109,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"23888:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23894:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23888:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3130,"nodeType":"IfStatement","src":"23884:291:3","trueBody":{"id":3129,"nodeType":"Block","src":"23897:278:3","statements":[{"expression":{"id":3118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3112,"name":"_previousTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"23974:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3113,"name":"_tiersToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3008,"src":"23990:11:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29454_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams calldata[] calldata"}},"id":3117,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3114,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"24002:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24007:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24002:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"23990:19:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_calldata_ptr","typeString":"struct JB721TierParams calldata"}},"src":"23974:35:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3119,"nodeType":"ExpressionStatement","src":"23974:35:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3120,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24078:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24089:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"24078:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":3122,"name":"_previousTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"24100:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3123,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24114:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"24100:22:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"24078:44:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3128,"nodeType":"IfStatement","src":"24074:86:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3125,"name":"INVALID_CATEGORY_SORT_ORDER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2207,"src":"24131:27:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24131:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3127,"nodeType":"RevertStatement","src":"24124:36:3"}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3131,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"24289:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":3132,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24296:21:3","memberName":"lockVotingUnitChanges","nodeType":"MemberAccess","referencedDeclaration":29656,"src":"24289:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3133,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24368:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3134,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24379:14:3","memberName":"useVotingUnits","nodeType":"MemberAccess","referencedDeclaration":29453,"src":"24368:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":3138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3135,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24397:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3136,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24408:11:3","memberName":"votingUnits","nodeType":"MemberAccess","referencedDeclaration":29437,"src":"24397:22:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24423:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24397:27:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24368:56:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3140,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24367:58:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"24458:26:3","subExpression":{"expression":{"id":3141,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24459:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3142,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24470:14:3","memberName":"useVotingUnits","nodeType":"MemberAccess","referencedDeclaration":29453,"src":"24459:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint104","typeString":"uint104"},"id":3147,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3144,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24488:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3145,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24499:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29433,"src":"24488:16:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24508:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24488:21:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24458:51:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3149,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24457:53:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24367:143:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3151,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24341:191:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24289:243:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3157,"nodeType":"IfStatement","src":"24268:345:3","trueBody":{"id":3156,"nodeType":"Block","src":"24547:66:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3153,"name":"VOTING_UNITS_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2225,"src":"24572:24:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24572:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3155,"nodeType":"RevertStatement","src":"24565:33:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3158,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"24745:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":3159,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24752:24:3","memberName":"lockReservedTokenChanges","nodeType":"MemberAccess","referencedDeclaration":29654,"src":"24745:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"expression":{"id":3160,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24780:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3161,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24791:15:3","memberName":"allowManualMint","nodeType":"MemberAccess","referencedDeclaration":29447,"src":"24780:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24745:61:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3163,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24744:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":3167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3164,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"24811:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3165,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"24822:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29439,"src":"24811:23:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24838:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"24811:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24744:95:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3173,"nodeType":"IfStatement","src":"24740:168:3","trueBody":{"id":3172,"nodeType":"Block","src":"24841:67:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3169,"name":"RESERVED_RATE_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2219,"src":"24866:25:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24866:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3171,"nodeType":"RevertStatement","src":"24859:34:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3178,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3174,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3077,"src":"24993:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_memory_ptr","typeString":"struct JBTiered721Flags memory"}},"id":3175,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25000:24:3","memberName":"lockManualMintingChanges","nodeType":"MemberAccess","referencedDeclaration":29658,"src":"24993:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"expression":{"id":3176,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25028:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3177,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25039:15:3","memberName":"allowManualMint","nodeType":"MemberAccess","referencedDeclaration":29447,"src":"25028:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"24993:61:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3183,"nodeType":"IfStatement","src":"24989:135:3","trueBody":{"id":3182,"nodeType":"Block","src":"25056:68:3","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3179,"name":"MANUAL_MINTING_NOT_ALLOWED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2221,"src":"25081:26:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25081:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3181,"nodeType":"RevertStatement","src":"25074:35:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":3187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3184,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25191:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25202:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29435,"src":"25191:26:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25221:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"25191:31:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3191,"nodeType":"IfStatement","src":"25187:57:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3188,"name":"NO_QUANTITY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2215,"src":"25231:11:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25231:13:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3190,"nodeType":"RevertStatement","src":"25224:20:3"}},{"assignments":[3193],"declarations":[{"constant":false,"id":3193,"mutability":"mutable","name":"_tierId","nameLocation":"25314:7:3","nodeType":"VariableDeclaration","scope":3513,"src":"25306:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3192,"name":"uint256","nodeType":"ElementaryTypeName","src":"25306:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3199,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3194,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"25324:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":3195,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"25346:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25324:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":3197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25351:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25324:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25306:46:3"},{"expression":{"id":3246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3200,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"25418:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":3204,"indexExpression":{"expression":{"id":3201,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"25432:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"25436:6:3","memberName":"sender","nodeType":"MemberAccess","src":"25432:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"25418:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":3205,"indexExpression":{"id":3203,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"25444:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"25418:34:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"expression":{"id":3209,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25504:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3210,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25515:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29433,"src":"25504:16:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint104","typeString":"uint104"}],"id":3208,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25496:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":3207,"name":"uint104","nodeType":"ElementaryTypeName","src":"25496:7:3","typeDescriptions":{}}},"id":3211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25496:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},{"arguments":[{"expression":{"id":3214,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25565:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25576:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29435,"src":"25565:26:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":3213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25558:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":3212,"name":"uint32","nodeType":"ElementaryTypeName","src":"25558:6:3","typeDescriptions":{}}},"id":3216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25558:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"expression":{"id":3219,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25634:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25645:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29435,"src":"25634:26:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":3218,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25627:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":3217,"name":"uint32","nodeType":"ElementaryTypeName","src":"25627:6:3","typeDescriptions":{}}},"id":3221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25627:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"expression":{"id":3224,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25699:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25710:11:3","memberName":"votingUnits","nodeType":"MemberAccess","referencedDeclaration":29437,"src":"25699:22:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"id":3223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25692:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":3222,"name":"uint40","nodeType":"ElementaryTypeName","src":"25692:6:3","typeDescriptions":{}}},"id":3226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25692:30:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},{"arguments":[{"expression":{"id":3229,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25761:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25772:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29439,"src":"25761:23:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"}],"id":3228,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25754:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":3227,"name":"uint16","nodeType":"ElementaryTypeName","src":"25754:6:3","typeDescriptions":{}}},"id":3231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25754:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"arguments":[{"expression":{"id":3234,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25820:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3235,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25831:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"25820:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint24","typeString":"uint24"}],"id":3233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25813:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":3232,"name":"uint24","nodeType":"ElementaryTypeName","src":"25813:6:3","typeDescriptions":{}}},"id":3236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25813:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"arguments":[{"expression":{"id":3238,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25882:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25893:15:3","memberName":"allowManualMint","nodeType":"MemberAccess","referencedDeclaration":29447,"src":"25882:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":3240,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25910:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3241,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25921:17:3","memberName":"transfersPausable","nodeType":"MemberAccess","referencedDeclaration":29451,"src":"25910:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":3242,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"25940:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3243,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"25951:14:3","memberName":"useVotingUnits","nodeType":"MemberAccess","referencedDeclaration":29453,"src":"25940:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3237,"name":"_packBools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4462,"src":"25871:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bool_$_t_bool_$_t_bool_$returns$_t_uint8_$","typeString":"function (bool,bool,bool) pure returns (uint8)"}},"id":3244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25871:95:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint104","typeString":"uint104"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint40","typeString":"uint40"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3206,"name":"JBStored721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29649,"src":"25455:15:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBStored721Tier_$29649_storage_ptr_$","typeString":"type(struct JBStored721Tier storage pointer)"}},"id":3245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["25489:5:3","25539:17:3","25610:15:3","25679:11:3","25740:12:3","25803:8:3","25858:11:3"],"names":["price","remainingQuantity","initialQuantity","votingUnits","reservedRate","category","packedBools"],"nodeType":"FunctionCall","src":"25455:526:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"src":"25418:563:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"id":3247,"nodeType":"ExpressionStatement","src":"25418:563:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3257,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":3252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3248,"name":"_previousTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"26192:13:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3249,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26206:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26192:22:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":3250,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26218:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3251,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26229:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26218:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"26192:45:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":3256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3253,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26241:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3254,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26252:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26241:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26264:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"26241:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"26192:73:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3269,"nodeType":"IfStatement","src":"26188:180:3","trueBody":{"id":3268,"nodeType":"Block","src":"26267:101:3","statements":[{"expression":{"id":3266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3258,"name":"_startingTierIdOfCategory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2276,"src":"26285:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3263,"indexExpression":{"expression":{"id":3259,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26311:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26315:6:3","memberName":"sender","nodeType":"MemberAccess","src":"26311:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26285:37:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3264,"indexExpression":{"expression":{"id":3261,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26323:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3262,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26334:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"26323:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26285:58:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3265,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"26346:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"26285:68:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3267,"nodeType":"ExpressionStatement","src":"26285:68:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3270,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26447:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3271,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26458:24:3","memberName":"reservedTokenBeneficiary","nodeType":"MemberAccess","referencedDeclaration":29441,"src":"26447:35:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"26494:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3273,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26486:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3272,"name":"address","nodeType":"ElementaryTypeName","src":"26486:7:3","typeDescriptions":{}}},"id":3275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26486:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26447:49:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3310,"nodeType":"IfStatement","src":"26443:541:3","trueBody":{"id":3309,"nodeType":"Block","src":"26498:486:3","statements":[{"condition":{"expression":{"id":3277,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26520:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26531:42:3","memberName":"shouldUseReservedTokenBeneficiaryAsDefault","nodeType":"MemberAccess","referencedDeclaration":29449,"src":"26520:53:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3307,"nodeType":"Block","src":"26843:127:3","statements":[{"expression":{"id":3305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3297,"name":"_reservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2243,"src":"26865:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_address_$_$","typeString":"mapping(address => mapping(uint256 => address))"}},"id":3301,"indexExpression":{"expression":{"id":3298,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26893:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26897:6:3","memberName":"sender","nodeType":"MemberAccess","src":"26893:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26865:39:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_address_$","typeString":"mapping(uint256 => address)"}},"id":3302,"indexExpression":{"id":3300,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"26905:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26865:48:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3303,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26916:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26927:24:3","memberName":"reservedTokenBeneficiary","nodeType":"MemberAccess","referencedDeclaration":29441,"src":"26916:35:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26865:86:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3306,"nodeType":"ExpressionStatement","src":"26865:86:3"}]},"id":3308,"nodeType":"IfStatement","src":"26516:454:3","trueBody":{"id":3296,"nodeType":"Block","src":"26575:262:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":3279,"name":"defaultReservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2314,"src":"26601:33:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":3282,"indexExpression":{"expression":{"id":3280,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26635:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26639:6:3","memberName":"sender","nodeType":"MemberAccess","src":"26635:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"26601:45:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":3283,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26650:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3284,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26661:24:3","memberName":"reservedTokenBeneficiary","nodeType":"MemberAccess","referencedDeclaration":29441,"src":"26650:35:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26601:84:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3295,"nodeType":"IfStatement","src":"26597:222:3","trueBody":{"id":3294,"nodeType":"Block","src":"26687:132:3","statements":[{"expression":{"id":3292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3286,"name":"defaultReservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2314,"src":"26713:33:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":3289,"indexExpression":{"expression":{"id":3287,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"26747:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"26751:6:3","memberName":"sender","nodeType":"MemberAccess","src":"26747:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"26713:45:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3290,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"26761:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3291,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"26772:24:3","memberName":"reservedTokenBeneficiary","nodeType":"MemberAccess","referencedDeclaration":29441,"src":"26761:35:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"26713:83:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":3293,"nodeType":"ExpressionStatement","src":"26713:83:3"}]}}]}}]}},{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3311,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"27051:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3312,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27062:14:3","memberName":"encodedIPFSUri","nodeType":"MemberAccess","referencedDeclaration":29443,"src":"27051:25:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27088:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27080:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":3313,"name":"bytes32","nodeType":"ElementaryTypeName","src":"27080:7:3","typeDescriptions":{}}},"id":3316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27080:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"27051:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3329,"nodeType":"IfStatement","src":"27047:143:3","trueBody":{"id":3328,"nodeType":"Block","src":"27092:98:3","statements":[{"expression":{"id":3326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3318,"name":"encodedIPFSUriOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2329,"src":"27110:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"}},"id":3322,"indexExpression":{"expression":{"id":3319,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27127:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27131:6:3","memberName":"sender","nodeType":"MemberAccess","src":"27127:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27110:28:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":3323,"indexExpression":{"id":3321,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"27139:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"27110:37:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":3324,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"27150:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3325,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27161:14:3","memberName":"encodedIPFSUri","nodeType":"MemberAccess","referencedDeclaration":29443,"src":"27150:25:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"27110:65:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3327,"nodeType":"ExpressionStatement","src":"27110:65:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3330,"name":"_startSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3056,"src":"27208:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27230:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27208:23:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3502,"nodeType":"IfStatement","src":"27204:3613:3","trueBody":{"id":3501,"nodeType":"Block","src":"27233:3584:3","statements":[{"assignments":[3334],"declarations":[{"constant":false,"id":3334,"mutability":"mutable","name":"_currentSortedTierId","nameLocation":"27312:20:3","nodeType":"VariableDeclaration","scope":3501,"src":"27304:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3333,"name":"uint256","nodeType":"ElementaryTypeName","src":"27304:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3336,"initialValue":{"id":3335,"name":"_startSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3056,"src":"27335:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"27304:49:3"},{"assignments":[3338],"declarations":[{"constant":false,"id":3338,"mutability":"mutable","name":"_next","nameLocation":"27451:5:3","nodeType":"VariableDeclaration","scope":3501,"src":"27443:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3337,"name":"uint256","nodeType":"ElementaryTypeName","src":"27443:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3339,"nodeType":"VariableDeclarationStatement","src":"27443:13:3"},{"body":{"id":3499,"nodeType":"Block","src":"27509:3294:3","statements":[{"expression":{"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3343,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"27576:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"expression":{"id":3345,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27604:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3346,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27608:6:3","memberName":"sender","nodeType":"MemberAccess","src":"27604:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3347,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"27616:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3348,"name":"_currentLastSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"27638:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3344,"name":"_nextSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"27584:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":3349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27584:79:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27576:87:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3351,"nodeType":"ExpressionStatement","src":"27576:87:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint24","typeString":"uint24"},"id":3361,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3352,"name":"_tierToAdd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3073,"src":"27882:10:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_memory_ptr","typeString":"struct JB721TierParams memory"}},"id":3353,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27893:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29445,"src":"27882:19:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"baseExpression":{"baseExpression":{"id":3354,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"27905:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":3357,"indexExpression":{"expression":{"id":3355,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"27919:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"27923:6:3","memberName":"sender","nodeType":"MemberAccess","src":"27919:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27905:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":3359,"indexExpression":{"id":3358,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"27931:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"27905:47:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"id":3360,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"27953:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29644,"src":"27905:56:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"27882:79:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3362,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"27993:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":3363,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"28017:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"27993:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"27882:154:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3442,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"29757:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29766:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29757:10:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3445,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"29771:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3446,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"29779:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29771:27:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"29757:41:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3496,"nodeType":"Block","src":"30519:266:3","statements":[{"expression":{"id":3490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3488,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"30624:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3489,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"30636:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30624:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3491,"nodeType":"ExpressionStatement","src":"30624:32:3"},{"expression":{"id":3494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3492,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"30734:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3493,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3338,"src":"30757:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30734:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3495,"nodeType":"ExpressionStatement","src":"30734:28:3"}]},"id":3497,"nodeType":"IfStatement","src":"29753:1032:3","trueBody":{"id":3487,"nodeType":"Block","src":"29800:641:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3449,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"29830:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3450,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"29841:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":3451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29864:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29841:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29830:35:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3464,"nodeType":"IfStatement","src":"29826:154:3","trueBody":{"id":3463,"nodeType":"Block","src":"29867:113:3","statements":[{"expression":{"id":3461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3454,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"29897:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3458,"indexExpression":{"expression":{"id":3455,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29910:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29914:6:3","memberName":"sender","nodeType":"MemberAccess","src":"29910:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29897:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3459,"indexExpression":{"id":3457,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"29922:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29897:46:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3460,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"29946:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29897:56:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3462,"nodeType":"ExpressionStatement","src":"29897:56:3"}]}},{"expression":{"id":3467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3465,"name":"_startSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3056,"src":"30095:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3466,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"30116:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30095:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3468,"nodeType":"ExpressionStatement","src":"30095:28:3"},{"expression":{"id":3471,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3469,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"30188:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":3470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30211:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30188:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3472,"nodeType":"ExpressionStatement","src":"30188:24:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3478,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":3473,"name":"_trackedLastSortTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"30335:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3476,"indexExpression":{"expression":{"id":3474,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30360:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30364:6:3","memberName":"sender","nodeType":"MemberAccess","src":"30360:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"30335:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30375:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30335:41:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3486,"nodeType":"IfStatement","src":"30331:87:3","trueBody":{"expression":{"id":3484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3479,"name":"_trackedLastSortTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"30378:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3482,"indexExpression":{"expression":{"id":3480,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"30403:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"30407:6:3","memberName":"sender","nodeType":"MemberAccess","src":"30403:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30378:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":3483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"30417:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"30378:40:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3485,"nodeType":"ExpressionStatement","src":"30378:40:3"}}]}},"id":3498,"nodeType":"IfStatement","src":"27853:2932:3","trueBody":{"id":3441,"nodeType":"Block","src":"28059:1574:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3366,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"28196:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3367,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"28220:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":3368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28230:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28220:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28196:35:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3381,"nodeType":"IfStatement","src":"28192:154:3","trueBody":{"id":3380,"nodeType":"Block","src":"28233:113:3","statements":[{"expression":{"id":3378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3371,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"28263:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3375,"indexExpression":{"expression":{"id":3372,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28276:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28280:6:3","memberName":"sender","nodeType":"MemberAccess","src":"28276:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28263:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3376,"indexExpression":{"id":3374,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"28288:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28263:33:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3377,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"28299:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28263:56:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3379,"nodeType":"ExpressionStatement","src":"28263:56:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":3382,"name":"_trackedLastSortTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"28509:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3385,"indexExpression":{"expression":{"id":3383,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28534:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28538:6:3","memberName":"sender","nodeType":"MemberAccess","src":"28534:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28509:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":3386,"name":"_currentLastSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"28549:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28509:64:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3396,"nodeType":"IfStatement","src":"28505:190:3","trueBody":{"id":3395,"nodeType":"Block","src":"28575:120:3","statements":[{"expression":{"id":3393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3388,"name":"_trackedLastSortTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"28605:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3391,"indexExpression":{"expression":{"id":3389,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28630:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28634:6:3","memberName":"sender","nodeType":"MemberAccess","src":"28630:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"28605:36:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3392,"name":"_currentLastSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3041,"src":"28644:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28605:63:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3394,"nodeType":"ExpressionStatement","src":"28605:63:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3397,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"28841:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3398,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"28854:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28864:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"28854:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"28841:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":3402,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"28869:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3405,"indexExpression":{"expression":{"id":3403,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"28882:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"28886:6:3","memberName":"sender","nodeType":"MemberAccess","src":"28882:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28869:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3407,"indexExpression":{"id":3406,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"28894:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"28869:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"28908:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"28869:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"28841:68:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3428,"nodeType":"IfStatement","src":"28837:353:3","trueBody":{"id":3427,"nodeType":"Block","src":"28911:279:3","statements":[{"expression":{"id":3425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3411,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"29087:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3415,"indexExpression":{"expression":{"id":3412,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"29100:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"29104:6:3","memberName":"sender","nodeType":"MemberAccess","src":"29100:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"29087:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3416,"indexExpression":{"id":3414,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"29112:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"29087:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3417,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"29125:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3418,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"29138:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":3419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29148:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"29138:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29125:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":3423,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"29156:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"29125:38:3","trueExpression":{"hexValue":"30","id":3422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29152:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29087:76:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3426,"nodeType":"ExpressionStatement","src":"29087:76:3"}]}},{"expression":{"id":3431,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3429,"name":"_startSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3056,"src":"29305:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3430,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"29326:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29305:41:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3432,"nodeType":"ExpressionStatement","src":"29305:41:3"},{"expression":{"id":3435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3433,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3069,"src":"29467:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3434,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"29479:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"29467:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3436,"nodeType":"ExpressionStatement","src":"29467:19:3"},{"expression":{"id":3439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3437,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"29586:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":3438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"29609:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"29586:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3440,"nodeType":"ExpressionStatement","src":"29586:24:3"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3340,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3334,"src":"27482:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":3341,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"27506:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"27482:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3500,"nodeType":"WhileStatement","src":"27475:3328:3"}]}},{"expression":{"id":3507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3503,"name":"tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3013,"src":"30885:7:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3505,"indexExpression":{"id":3504,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"30893:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30885:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3506,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3193,"src":"30899:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30885:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3508,"nodeType":"ExpressionStatement","src":"30885:21:3"},{"id":3512,"nodeType":"UncheckedBlock","src":"30921:47:3","statements":[{"expression":{"id":3510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"30949:4:3","subExpression":{"id":3509,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"30951:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3511,"nodeType":"ExpressionStatement","src":"30949:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3086,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3084,"src":"23408:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3087,"name":"_numberOfNewTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3016,"src":"23413:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23408:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3514,"initializationExpression":{"assignments":[3084],"declarations":[{"constant":false,"id":3084,"mutability":"mutable","name":"_i","nameLocation":"23404:2:3","nodeType":"VariableDeclaration","scope":3514,"src":"23396:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3083,"name":"uint256","nodeType":"ElementaryTypeName","src":"23396:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3085,"nodeType":"VariableDeclarationStatement","src":"23396:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"23391:7587:3"},{"expression":{"id":3522,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3515,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"30988:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3518,"indexExpression":{"expression":{"id":3516,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"31000:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31004:6:3","memberName":"sender","nodeType":"MemberAccess","src":"31000:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"30988:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3519,"name":"_currentMaxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3021,"src":"31014:19:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":3520,"name":"_numberOfNewTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3016,"src":"31036:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31014:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"30988:65:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3523,"nodeType":"ExpressionStatement","src":"30988:65:3"}]},"baseFunctions":[28403],"documentation":{"id":3004,"nodeType":"StructuredDocumentation","src":"21911:120:3","text":"@notice Adds tiers.\n @param _tiersToAdd The tiers to add.\n @return tierIds The IDs of the tiers added."},"functionSelector":"8da5e32b","implemented":true,"kind":"function","modifiers":[],"name":"recordAddTiers","nameLocation":"22045:14:3","overrides":{"id":3010,"nodeType":"OverrideSpecifier","overrides":[],"src":"22125:8:3"},"parameters":{"id":3009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3008,"mutability":"mutable","name":"_tiersToAdd","nameLocation":"22087:11:3","nodeType":"VariableDeclaration","scope":3525,"src":"22060:38:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29454_calldata_ptr_$dyn_calldata_ptr","typeString":"struct JB721TierParams[]"},"typeName":{"baseType":{"id":3006,"nodeType":"UserDefinedTypeName","pathNode":{"id":3005,"name":"JB721TierParams","nameLocations":["22060:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29454,"src":"22060:15:3"},"referencedDeclaration":29454,"src":"22060:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721TierParams_$29454_storage_ptr","typeString":"struct JB721TierParams"}},"id":3007,"nodeType":"ArrayTypeName","src":"22060:17:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JB721TierParams_$29454_storage_$dyn_storage_ptr","typeString":"struct JB721TierParams[]"}},"visibility":"internal"}],"src":"22059:40:3"},"returnParameters":{"id":3014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3013,"mutability":"mutable","name":"tierIds","nameLocation":"22168:7:3","nodeType":"VariableDeclaration","scope":3525,"src":"22151:24:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3011,"name":"uint256","nodeType":"ElementaryTypeName","src":"22151:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3012,"nodeType":"ArrayTypeName","src":"22151:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"22150:26:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3618,"nodeType":"FunctionDefinition","src":"31342:1337:3","nodes":[],"body":{"id":3617,"nodeType":"Block","src":"31488:1191:3","nodes":[],"statements":[{"assignments":[3539],"declarations":[{"constant":false,"id":3539,"mutability":"mutable","name":"_storedTier","nameLocation":"31562:11:3","nodeType":"VariableDeclaration","scope":3617,"src":"31538:35:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":3538,"nodeType":"UserDefinedTypeName","pathNode":{"id":3537,"name":"JBStored721Tier","nameLocations":["31538:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"31538:15:3"},"referencedDeclaration":29649,"src":"31538:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":3546,"initialValue":{"baseExpression":{"baseExpression":{"id":3540,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"31576:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":3543,"indexExpression":{"expression":{"id":3541,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"31590:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3542,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31594:6:3","memberName":"sender","nodeType":"MemberAccess","src":"31590:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31576:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":3545,"indexExpression":{"id":3544,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3528,"src":"31602:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"31576:34:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"nodeType":"VariableDeclarationStatement","src":"31538:72:3"},{"assignments":[3548],"declarations":[{"constant":false,"id":3548,"mutability":"mutable","name":"_numberOfReservedTokensOutstanding","nameLocation":"31712:34:3","nodeType":"VariableDeclaration","scope":3617,"src":"31704:42:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3547,"name":"uint256","nodeType":"ElementaryTypeName","src":"31704:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3555,"initialValue":{"arguments":[{"expression":{"id":3550,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"31799:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"31803:6:3","memberName":"sender","nodeType":"MemberAccess","src":"31799:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3552,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3528,"src":"31811:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3553,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3539,"src":"31820:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}],"id":3549,"name":"_numberOfReservedTokensOutstandingFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"31761:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,struct JBStored721Tier memory) view returns (uint256)"}},"id":3554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31761:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"31704:128:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3556,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3530,"src":"31898:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3557,"name":"_numberOfReservedTokensOutstanding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"31907:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"31898:43:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3562,"nodeType":"IfStatement","src":"31894:79:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3559,"name":"INSUFFICIENT_RESERVES","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2205,"src":"31950:21:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31950:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3561,"nodeType":"RevertStatement","src":"31943:30:3"}},{"expression":{"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3563,"name":"numberOfReservesMintedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2300,"src":"32043:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3567,"indexExpression":{"expression":{"id":3564,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"32069:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32073:6:3","memberName":"sender","nodeType":"MemberAccess","src":"32069:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32043:37:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3568,"indexExpression":{"id":3566,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3528,"src":"32081:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32043:46:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":3569,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3530,"src":"32093:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32043:56:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3571,"nodeType":"ExpressionStatement","src":"32043:56:3"},{"expression":{"id":3578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3572,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3535,"src":"32170:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3576,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3530,"src":"32195:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3575,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"32181:13:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":3573,"name":"uint256","nodeType":"ElementaryTypeName","src":"32185:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3574,"nodeType":"ArrayTypeName","src":"32185:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":3577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32181:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"32170:32:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3579,"nodeType":"ExpressionStatement","src":"32170:32:3"},{"assignments":[3581],"declarations":[{"constant":false,"id":3581,"mutability":"mutable","name":"_numberOfBurnedFromTier","nameLocation":"32286:23:3","nodeType":"VariableDeclaration","scope":3617,"src":"32278:31:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3580,"name":"uint256","nodeType":"ElementaryTypeName","src":"32278:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3588,"initialValue":{"baseExpression":{"baseExpression":{"id":3582,"name":"numberOfBurnedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"32312:17:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3585,"indexExpression":{"expression":{"id":3583,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"32330:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"32334:6:3","memberName":"sender","nodeType":"MemberAccess","src":"32330:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32312:29:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3587,"indexExpression":{"id":3586,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3528,"src":"32342:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"32312:38:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"32278:72:3"},{"body":{"id":3615,"nodeType":"Block","src":"32392:281:3","statements":[{"expression":{"id":3609,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3595,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3535,"src":"32442:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3597,"indexExpression":{"id":3596,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3590,"src":"32451:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"32442:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3599,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3528,"src":"32491:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":3605,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3600,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3539,"src":"32500:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3601,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"32512:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"32500:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"32530:31:3","subExpression":{"expression":{"id":3602,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3539,"src":"32532:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3603,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"32544:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"32532:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"32500:61:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":3606,"name":"_numberOfBurnedFromTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"32564:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32500:87:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3598,"name":"_generateTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4350,"src":"32457:16:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":3608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32457:144:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32442:159:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3610,"nodeType":"ExpressionStatement","src":"32442:159:3"},{"id":3614,"nodeType":"UncheckedBlock","src":"32616:47:3","statements":[{"expression":{"id":3612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"32644:4:3","subExpression":{"id":3611,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3590,"src":"32646:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3613,"nodeType":"ExpressionStatement","src":"32644:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3592,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3590,"src":"32378:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3593,"name":"_count","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3530,"src":"32383:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"32378:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3616,"initializationExpression":{"assignments":[3590],"declarations":[{"constant":false,"id":3590,"mutability":"mutable","name":"_i","nameLocation":"32374:2:3","nodeType":"VariableDeclaration","scope":3616,"src":"32366:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3589,"name":"uint256","nodeType":"ElementaryTypeName","src":"32366:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3591,"nodeType":"VariableDeclarationStatement","src":"32366:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"32361:312:3"}]},"baseFunctions":[28413],"documentation":{"id":3526,"nodeType":"StructuredDocumentation","src":"31066:271:3","text":"@notice Record reserved token mints within the provided tier.\n @param _tierId The ID of the tier to mint reserved tokens from.\n @param _count The number of reserved tokens to mint.\n @return tokenIds The IDs of the tokens being minted as reserves."},"functionSelector":"baa7e80e","implemented":true,"kind":"function","modifiers":[],"name":"recordMintReservesFor","nameLocation":"31351:21:3","overrides":{"id":3532,"nodeType":"OverrideSpecifier","overrides":[],"src":"31431:8:3"},"parameters":{"id":3531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3528,"mutability":"mutable","name":"_tierId","nameLocation":"31381:7:3","nodeType":"VariableDeclaration","scope":3618,"src":"31373:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3527,"name":"uint256","nodeType":"ElementaryTypeName","src":"31373:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3530,"mutability":"mutable","name":"_count","nameLocation":"31398:6:3","nodeType":"VariableDeclaration","scope":3618,"src":"31390:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3529,"name":"uint256","nodeType":"ElementaryTypeName","src":"31390:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31372:33:3"},"returnParameters":{"id":3536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3535,"mutability":"mutable","name":"tokenIds","nameLocation":"31474:8:3","nodeType":"VariableDeclaration","scope":3618,"src":"31457:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3533,"name":"uint256","nodeType":"ElementaryTypeName","src":"31457:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3534,"nodeType":"ArrayTypeName","src":"31457:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"31456:27:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3667,"nodeType":"FunctionDefinition","src":"32929:612:3","nodes":[],"body":{"id":3666,"nodeType":"Block","src":"33023:518:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3629,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3623,"src":"33127:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33144:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33136:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3630,"name":"address","nodeType":"ElementaryTypeName","src":"33136:7:3","typeDescriptions":{}}},"id":3633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33136:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33127:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3646,"nodeType":"IfStatement","src":"33123:150:3","trueBody":{"id":3645,"nodeType":"Block","src":"33148:125:3","statements":[{"expression":{"id":3643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"33219:43:3","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":3635,"name":"tierBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"33221:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":3638,"indexExpression":{"expression":{"id":3636,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"33235:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33239:6:3","memberName":"sender","nodeType":"MemberAccess","src":"33235:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33221:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3640,"indexExpression":{"id":3639,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3623,"src":"33247:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33221:32:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3642,"indexExpression":{"id":3641,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3621,"src":"33254:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33221:41:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3644,"nodeType":"ExpressionStatement","src":"33219:43:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":3652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3647,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"33342:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":3650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"33357:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33349:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":3648,"name":"address","nodeType":"ElementaryTypeName","src":"33349:7:3","typeDescriptions":{}}},"id":3651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33349:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"33342:17:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3665,"nodeType":"IfStatement","src":"33338:197:3","trueBody":{"id":3664,"nodeType":"Block","src":"33361:174:3","statements":[{"id":3663,"nodeType":"UncheckedBlock","src":"33375:150:3","statements":[{"expression":{"id":3661,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"33469:41:3","subExpression":{"baseExpression":{"baseExpression":{"baseExpression":{"id":3653,"name":"tierBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"33471:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$_$","typeString":"mapping(address => mapping(address => mapping(uint256 => uint256)))"}},"id":3656,"indexExpression":{"expression":{"id":3654,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"33485:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33489:6:3","memberName":"sender","nodeType":"MemberAccess","src":"33485:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33471:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3658,"indexExpression":{"id":3657,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3625,"src":"33497:3:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"33471:30:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3660,"indexExpression":{"id":3659,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3621,"src":"33502:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"33471:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3662,"nodeType":"ExpressionStatement","src":"33469:41:3"}]}]}}]},"baseFunctions":[28443],"documentation":{"id":3619,"nodeType":"StructuredDocumentation","src":"32685:239:3","text":"@notice Record a token transfer.\n @param _tierId The tier ID of the token being transferred.\n @param _from The address the token is being transferred from.\n @param _to The address the token is being transferred to."},"functionSelector":"c2c55f94","implemented":true,"kind":"function","modifiers":[],"name":"recordTransferForTier","nameLocation":"32938:21:3","overrides":{"id":3627,"nodeType":"OverrideSpecifier","overrides":[],"src":"33014:8:3"},"parameters":{"id":3626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3621,"mutability":"mutable","name":"_tierId","nameLocation":"32968:7:3","nodeType":"VariableDeclaration","scope":3667,"src":"32960:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3620,"name":"uint256","nodeType":"ElementaryTypeName","src":"32960:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3623,"mutability":"mutable","name":"_from","nameLocation":"32985:5:3","nodeType":"VariableDeclaration","scope":3667,"src":"32977:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3622,"name":"address","nodeType":"ElementaryTypeName","src":"32977:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":3625,"mutability":"mutable","name":"_to","nameLocation":"33000:3:3","nodeType":"VariableDeclaration","scope":3667,"src":"32992:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3624,"name":"address","nodeType":"ElementaryTypeName","src":"32992:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32959:45:3"},"returnParameters":{"id":3628,"nodeType":"ParameterList","parameters":[],"src":"33023:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3710,"nodeType":"FunctionDefinition","src":"33648:607:3","nodes":[],"body":{"id":3709,"nodeType":"Block","src":"33724:531:3","nodes":[],"statements":[{"assignments":[3676],"declarations":[{"constant":false,"id":3676,"mutability":"mutable","name":"_numTiers","nameLocation":"33807:9:3","nodeType":"VariableDeclaration","scope":3709,"src":"33799:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3675,"name":"uint256","nodeType":"ElementaryTypeName","src":"33799:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3679,"initialValue":{"expression":{"id":3677,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3671,"src":"33819:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":3678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"33828:6:3","memberName":"length","nodeType":"MemberAccess","src":"33819:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"33799:35:3"},{"assignments":[3681],"declarations":[{"constant":false,"id":3681,"mutability":"mutable","name":"_tierId","nameLocation":"33917:7:3","nodeType":"VariableDeclaration","scope":3709,"src":"33909:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3680,"name":"uint256","nodeType":"ElementaryTypeName","src":"33909:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3682,"nodeType":"VariableDeclarationStatement","src":"33909:15:3"},{"body":{"id":3707,"nodeType":"Block","src":"33969:280:3","statements":[{"expression":{"id":3693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3689,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3681,"src":"34044:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3690,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3671,"src":"34054:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":3692,"indexExpression":{"id":3691,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3684,"src":"34063:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34054:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34044:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3694,"nodeType":"ExpressionStatement","src":"34044:22:3"},{"expression":{"arguments":[{"id":3700,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3681,"src":"34169:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":3695,"name":"_isTierRemovedBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"34121:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3698,"indexExpression":{"expression":{"id":3696,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"34146:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34150:6:3","memberName":"sender","nodeType":"MemberAccess","src":"34146:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"34121:36:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"34158:10:3","memberName":"removeTier","nodeType":"MemberAccess","referencedDeclaration":28604,"src":"34121:47:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_mapping$_t_uint256_$_t_uint256_$_$_t_uint256_$returns$__$attached_to$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"function (mapping(uint256 => uint256),uint256)"}},"id":3701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34121:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3702,"nodeType":"ExpressionStatement","src":"34121:56:3"},{"id":3706,"nodeType":"UncheckedBlock","src":"34192:47:3","statements":[{"expression":{"id":3704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"34220:4:3","subExpression":{"id":3703,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3684,"src":"34222:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3705,"nodeType":"ExpressionStatement","src":"34220:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3686,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3684,"src":"33952:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3687,"name":"_numTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3676,"src":"33957:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"33952:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3708,"initializationExpression":{"assignments":[3684],"declarations":[{"constant":false,"id":3684,"mutability":"mutable","name":"_i","nameLocation":"33948:2:3","nodeType":"VariableDeclaration","scope":3708,"src":"33940:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3683,"name":"uint256","nodeType":"ElementaryTypeName","src":"33940:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3685,"nodeType":"VariableDeclarationStatement","src":"33940:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"33935:314:3"}]},"baseFunctions":[28449],"documentation":{"id":3668,"nodeType":"StructuredDocumentation","src":"33547:96:3","text":"@notice Record removing the provided tiers.\n @param _tierIds The tiers IDs to remove."},"functionSelector":"20512ba1","implemented":true,"kind":"function","modifiers":[],"name":"recordRemoveTierIds","nameLocation":"33657:19:3","overrides":{"id":3673,"nodeType":"OverrideSpecifier","overrides":[],"src":"33715:8:3"},"parameters":{"id":3672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3671,"mutability":"mutable","name":"_tierIds","nameLocation":"33696:8:3","nodeType":"VariableDeclaration","scope":3710,"src":"33677:27:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3669,"name":"uint256","nodeType":"ElementaryTypeName","src":"33677:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3670,"nodeType":"ArrayTypeName","src":"33677:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"33676:29:3"},"returnParameters":{"id":3674,"nodeType":"ParameterList","parameters":[],"src":"33724:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3866,"nodeType":"FunctionDefinition","src":"34713:2504:3","nodes":[],"body":{"id":3865,"nodeType":"Block","src":"34904:2313:3","nodes":[],"statements":[{"expression":{"id":3729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3727,"name":"leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3725,"src":"34972:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3728,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3713,"src":"34989:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34972:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3730,"nodeType":"ExpressionStatement","src":"34972:24:3"},{"assignments":[3732],"declarations":[{"constant":false,"id":3732,"mutability":"mutable","name":"_numberOfTiers","nameLocation":"35066:14:3","nodeType":"VariableDeclaration","scope":3865,"src":"35058:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3731,"name":"uint256","nodeType":"ElementaryTypeName","src":"35058:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3735,"initialValue":{"expression":{"id":3733,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3716,"src":"35083:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"}},"id":3734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35092:6:3","memberName":"length","nodeType":"MemberAccess","src":"35083:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"35058:40:3"},{"assignments":[3738],"declarations":[{"constant":false,"id":3738,"mutability":"mutable","name":"_storedTier","nameLocation":"35192:11:3","nodeType":"VariableDeclaration","scope":3865,"src":"35168:35:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":3737,"nodeType":"UserDefinedTypeName","pathNode":{"id":3736,"name":"JBStored721Tier","nameLocations":["35168:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"35168:15:3"},"referencedDeclaration":29649,"src":"35168:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"id":3739,"nodeType":"VariableDeclarationStatement","src":"35168:35:3"},{"assignments":[3741],"declarations":[{"constant":false,"id":3741,"mutability":"mutable","name":"_tierId","nameLocation":"35284:7:3","nodeType":"VariableDeclaration","scope":3865,"src":"35276:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3740,"name":"uint256","nodeType":"ElementaryTypeName","src":"35276:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3742,"nodeType":"VariableDeclarationStatement","src":"35276:15:3"},{"expression":{"id":3749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3743,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3723,"src":"35362:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3747,"name":"_numberOfTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"35387:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3746,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"35373:13:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (uint256[] memory)"},"typeName":{"baseType":{"id":3744,"name":"uint256","nodeType":"ElementaryTypeName","src":"35377:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3745,"nodeType":"ArrayTypeName","src":"35377:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}}},"id":3748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35373:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"src":"35362:40:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3750,"nodeType":"ExpressionStatement","src":"35362:40:3"},{"assignments":[3753],"declarations":[{"constant":false,"id":3753,"mutability":"mutable","name":"_bitmapWord","nameLocation":"35483:11:3","nodeType":"VariableDeclaration","scope":3865,"src":"35463:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":3752,"nodeType":"UserDefinedTypeName","pathNode":{"id":3751,"name":"JBBitmapWord","nameLocations":["35463:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"35463:12:3"},"referencedDeclaration":29462,"src":"35463:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"id":3754,"nodeType":"VariableDeclarationStatement","src":"35463:31:3"},{"body":{"id":3863,"nodeType":"Block","src":"35544:1667:3","statements":[{"expression":{"id":3765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3761,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"35608:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3762,"name":"_tierIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3716,"src":"35618:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[] calldata"}},"id":3764,"indexExpression":{"id":3763,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"35627:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35618:12:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"35608:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3766,"nodeType":"ExpressionStatement","src":"35608:22:3"},{"condition":{"arguments":[{"expression":{"id":3768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"35730:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35734:6:3","memberName":"sender","nodeType":"MemberAccess","src":"35730:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3770,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"35742:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3771,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3753,"src":"35751:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}],"id":3767,"name":"_isTierRemovedWithRefresh","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"35704:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBBitmapWord_$29462_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,struct JBBitmapWord memory) view returns (bool)"}},"id":3772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35704:59:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3776,"nodeType":"IfStatement","src":"35700:86:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3773,"name":"TIER_REMOVED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2223,"src":"35772:12:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35772:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3775,"nodeType":"RevertStatement","src":"35765:21:3"}},{"expression":{"id":3784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3777,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"35864:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":3778,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"35878:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":3781,"indexExpression":{"expression":{"id":3779,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"35892:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"35896:6:3","memberName":"sender","nodeType":"MemberAccess","src":"35892:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35878:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":3783,"indexExpression":{"id":3782,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"35904:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"35878:34:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"src":"35864:48:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3785,"nodeType":"ExpressionStatement","src":"35864:48:3"},{"assignments":[3787,null,null],"declarations":[{"constant":false,"id":3787,"mutability":"mutable","name":"_allowManualMint","nameLocation":"35933:16:3","nodeType":"VariableDeclaration","scope":3863,"src":"35928:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3786,"name":"bool","nodeType":"ElementaryTypeName","src":"35928:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null,null],"id":3792,"initialValue":{"arguments":[{"expression":{"id":3789,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"35968:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"35980:11:3","memberName":"packedBools","nodeType":"MemberAccess","referencedDeclaration":29648,"src":"35968:23:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":3788,"name":"_unpackBools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4476,"src":"35955:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$_t_bool_$_t_bool_$","typeString":"function (uint8) pure returns (bool,bool,bool)"}},"id":3791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35955:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"35927:65:3"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3793,"name":"_isManualMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3718,"src":"36089:13:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":3795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"36106:17:3","subExpression":{"id":3794,"name":"_allowManualMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3787,"src":"36107:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"36089:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3800,"nodeType":"IfStatement","src":"36085:67:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3797,"name":"CANT_MINT_MANUALLY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2201,"src":"36132:18:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36132:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3799,"nodeType":"RevertStatement","src":"36125:27:3"}},{"condition":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":3804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3801,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36222:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36234:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"36222:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":3803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"36253:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"36222:32:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3808,"nodeType":"IfStatement","src":"36218:59:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3805,"name":"INVALID_TIER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2211,"src":"36263:12:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36263:14:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3807,"nodeType":"RevertStatement","src":"36256:21:3"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3809,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36369:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3810,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36381:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"36369:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":3811,"name":"leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3725,"src":"36389:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36369:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3816,"nodeType":"IfStatement","src":"36365:68:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3813,"name":"INSUFFICIENT_AMOUNT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2203,"src":"36412:19:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36412:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3815,"nodeType":"RevertStatement","src":"36405:28:3"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3817,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36528:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3818,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36540:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"36528:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"expression":{"id":3820,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"36599:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36603:6:3","memberName":"sender","nodeType":"MemberAccess","src":"36599:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":3822,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"36611:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":3823,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36620:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}],"id":3819,"name":"_numberOfReservedTokensOutstandingFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4332,"src":"36561:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBStored721Tier_$29649_memory_ptr_$returns$_t_uint256_$","typeString":"function (address,uint256,struct JBStored721Tier memory) view returns (uint256)"}},"id":3824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36561:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36528:104:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3829,"nodeType":"IfStatement","src":"36507:152:3","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":3826,"name":"OUT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2217,"src":"36654:3:3","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":3827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36654:5:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3828,"nodeType":"RevertStatement","src":"36647:12:3"}},{"id":3851,"nodeType":"UncheckedBlock","src":"36706:322:3","statements":[{"expression":{"id":3849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3830,"name":"tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3723,"src":"36787:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"id":3832,"indexExpression":{"id":3831,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"36796:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"36787:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":3834,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"36840:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":3840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":3835,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36869:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"36881:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"36869:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":3839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"36899:31:3","subExpression":{"expression":{"id":3837,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"36901:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"36913:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"36901:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"36869:61:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"baseExpression":{"baseExpression":{"id":3841,"name":"numberOfBurnedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"36957:17:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3844,"indexExpression":{"expression":{"id":3842,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"36975:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"36979:6:3","memberName":"sender","nodeType":"MemberAccess","src":"36975:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36957:29:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3846,"indexExpression":{"id":3845,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3741,"src":"36987:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"36957:38:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36869:126:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3833,"name":"_generateTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4350,"src":"36802:16:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":3848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36802:211:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"36787:226:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3850,"nodeType":"ExpressionStatement","src":"36787:226:3"}]},{"id":3862,"nodeType":"UncheckedBlock","src":"37085:116:3","statements":[{"expression":{"id":3857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3852,"name":"leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3725,"src":"37113:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3853,"name":"leftoverAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3725,"src":"37130:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":3854,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3738,"src":"37147:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier storage pointer"}},"id":3855,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"37159:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"37147:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"37130:34:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37113:51:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3858,"nodeType":"ExpressionStatement","src":"37113:51:3"},{"expression":{"id":3860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"37182:4:3","subExpression":{"id":3859,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"37184:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3861,"nodeType":"ExpressionStatement","src":"37182:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3758,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"35522:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3759,"name":"_numberOfTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3732,"src":"35527:14:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"35522:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3864,"initializationExpression":{"assignments":[3756],"declarations":[{"constant":false,"id":3756,"mutability":"mutable","name":"_i","nameLocation":"35518:2:3","nodeType":"VariableDeclaration","scope":3864,"src":"35510:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3755,"name":"uint256","nodeType":"ElementaryTypeName","src":"35510:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3757,"nodeType":"VariableDeclarationStatement","src":"35510:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"35505:1706:3"}]},"baseFunctions":[28434],"documentation":{"id":3711,"nodeType":"StructuredDocumentation","src":"34261:447:3","text":"@notice Record token mints in the provided tiers.\n @param _amount The amount to base the mints on. All mints' price floors must fit within this amount.\n @param _tierIds The tier IDs to mint from.\n @param _isManualMint A flag indicating if the mint is being made manually by the NFT contract's owner.\n @return tokenIds The IDs of the minted tokens.\n @return leftoverAmount The amount left over after the mint."},"functionSelector":"eaa19ab3","implemented":true,"kind":"function","modifiers":[],"name":"recordMint","nameLocation":"34722:10:3","overrides":{"id":3720,"nodeType":"OverrideSpecifier","overrides":[],"src":"34823:8:3"},"parameters":{"id":3719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3713,"mutability":"mutable","name":"_amount","nameLocation":"34741:7:3","nodeType":"VariableDeclaration","scope":3866,"src":"34733:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3712,"name":"uint256","nodeType":"ElementaryTypeName","src":"34733:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3716,"mutability":"mutable","name":"_tierIds","nameLocation":"34768:8:3","nodeType":"VariableDeclaration","scope":3866,"src":"34750:26:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_calldata_ptr","typeString":"uint16[]"},"typeName":{"baseType":{"id":3714,"name":"uint16","nodeType":"ElementaryTypeName","src":"34750:6:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":3715,"nodeType":"ArrayTypeName","src":"34750:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint16_$dyn_storage_ptr","typeString":"uint16[]"}},"visibility":"internal"},{"constant":false,"id":3718,"mutability":"mutable","name":"_isManualMint","nameLocation":"34783:13:3","nodeType":"VariableDeclaration","scope":3866,"src":"34778:18:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3717,"name":"bool","nodeType":"ElementaryTypeName","src":"34778:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34732:65:3"},"returnParameters":{"id":3726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3723,"mutability":"mutable","name":"tokenIds","nameLocation":"34866:8:3","nodeType":"VariableDeclaration","scope":3866,"src":"34849:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3721,"name":"uint256","nodeType":"ElementaryTypeName","src":"34849:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3722,"nodeType":"ArrayTypeName","src":"34849:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":3725,"mutability":"mutable","name":"leftoverAmount","nameLocation":"34884:14:3","nodeType":"VariableDeclaration","scope":3866,"src":"34876:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3724,"name":"uint256","nodeType":"ElementaryTypeName","src":"34876:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34848:51:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3924,"nodeType":"FunctionDefinition","src":"37321:784:3","nodes":[],"body":{"id":3923,"nodeType":"Block","src":"37389:716:3","nodes":[],"statements":[{"assignments":[3875],"declarations":[{"constant":false,"id":3875,"mutability":"mutable","name":"_numberOfTokenIds","nameLocation":"37471:17:3","nodeType":"VariableDeclaration","scope":3923,"src":"37463:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3874,"name":"uint256","nodeType":"ElementaryTypeName","src":"37463:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3878,"initialValue":{"expression":{"id":3876,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"37491:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":3877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37501:6:3","memberName":"length","nodeType":"MemberAccess","src":"37491:16:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37463:44:3"},{"assignments":[3880],"declarations":[{"constant":false,"id":3880,"mutability":"mutable","name":"_tokenId","nameLocation":"37589:8:3","nodeType":"VariableDeclaration","scope":3923,"src":"37581:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3879,"name":"uint256","nodeType":"ElementaryTypeName","src":"37581:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3881,"nodeType":"VariableDeclarationStatement","src":"37581:16:3"},{"body":{"id":3921,"nodeType":"Block","src":"37717:382:3","statements":[{"expression":{"id":3892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":3888,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3880,"src":"37766:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":3889,"name":"_tokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"37777:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[] calldata"}},"id":3891,"indexExpression":{"id":3890,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3883,"src":"37787:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37777:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37766:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3893,"nodeType":"ExpressionStatement","src":"37766:24:3"},{"assignments":[3895],"declarations":[{"constant":false,"id":3895,"mutability":"mutable","name":"_tierId","nameLocation":"37813:7:3","nodeType":"VariableDeclaration","scope":3921,"src":"37805:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3894,"name":"uint256","nodeType":"ElementaryTypeName","src":"37805:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3899,"initialValue":{"arguments":[{"id":3897,"name":"_tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3880,"src":"37837:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3896,"name":"tierIdOfToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2969,"src":"37823:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":3898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37823:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"37805:41:3"},{"expression":{"id":3906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37918:40:3","subExpression":{"baseExpression":{"baseExpression":{"id":3900,"name":"numberOfBurnedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"37918:17:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":3904,"indexExpression":{"expression":{"id":3901,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"37936:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37940:6:3","memberName":"sender","nodeType":"MemberAccess","src":"37936:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37918:29:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":3905,"indexExpression":{"id":3903,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3895,"src":"37948:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"37918:38:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3907,"nodeType":"ExpressionStatement","src":"37918:40:3"},{"expression":{"id":3915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"37973:54:3","subExpression":{"expression":{"baseExpression":{"baseExpression":{"id":3908,"name":"_storedTierOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"37973:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$_$","typeString":"mapping(address => mapping(uint256 => struct JBStored721Tier storage ref))"}},"id":3912,"indexExpression":{"expression":{"id":3909,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"37987:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"37991:6:3","memberName":"sender","nodeType":"MemberAccess","src":"37987:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37973:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_JBStored721Tier_$29649_storage_$","typeString":"mapping(uint256 => struct JBStored721Tier storage ref)"}},"id":3913,"indexExpression":{"id":3911,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3895,"src":"37999:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"37973:34:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage","typeString":"struct JBStored721Tier storage ref"}},"id":3914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"38008:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"37973:52:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"id":3916,"nodeType":"ExpressionStatement","src":"37973:54:3"},{"id":3920,"nodeType":"UncheckedBlock","src":"38042:47:3","statements":[{"expression":{"id":3918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"38070:4:3","subExpression":{"id":3917,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3883,"src":"38072:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3919,"nodeType":"ExpressionStatement","src":"38070:4:3"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3887,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":3885,"name":"_i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3883,"src":"37692:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":3886,"name":"_numberOfTokenIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3875,"src":"37697:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"37692:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3922,"initializationExpression":{"assignments":[3883],"declarations":[{"constant":false,"id":3883,"mutability":"mutable","name":"_i","nameLocation":"37688:2:3","nodeType":"VariableDeclaration","scope":3922,"src":"37680:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3882,"name":"uint256","nodeType":"ElementaryTypeName","src":"37680:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3884,"nodeType":"VariableDeclarationStatement","src":"37680:10:3"},"isSimpleCounterLoop":false,"nodeType":"ForStatement","src":"37675:424:3"}]},"baseFunctions":[28419],"documentation":{"id":3867,"nodeType":"StructuredDocumentation","src":"37223:93:3","text":"@notice Records token burns.\n @param _tokenIds The IDs of the tokens being burned."},"functionSelector":"86bc2be3","implemented":true,"kind":"function","modifiers":[],"name":"recordBurn","nameLocation":"37330:10:3","overrides":{"id":3872,"nodeType":"OverrideSpecifier","overrides":[],"src":"37380:8:3"},"parameters":{"id":3871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3870,"mutability":"mutable","name":"_tokenIds","nameLocation":"37360:9:3","nodeType":"VariableDeclaration","scope":3924,"src":"37341:28:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":3868,"name":"uint256","nodeType":"ElementaryTypeName","src":"37341:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3869,"nodeType":"ArrayTypeName","src":"37341:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"37340:30:3"},"returnParameters":{"id":3873,"nodeType":"ParameterList","parameters":[],"src":"37389:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3940,"nodeType":"FunctionDefinition","src":"38202:146:3","nodes":[],"body":{"id":3939,"nodeType":"Block","src":"38289:59:3","nodes":[],"statements":[{"expression":{"id":3937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3932,"name":"tokenUriResolverOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"38299:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"mapping(address => contract IJB721TokenUriResolver)"}},"id":3935,"indexExpression":{"expression":{"id":3933,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"38318:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38322:6:3","memberName":"sender","nodeType":"MemberAccess","src":"38318:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"38299:30:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3936,"name":"_resolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"38332:9:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"src":"38299:42:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"id":3938,"nodeType":"ExpressionStatement","src":"38299:42:3"}]},"baseFunctions":[28455],"documentation":{"id":3925,"nodeType":"StructuredDocumentation","src":"38111:86:3","text":"@notice Sets the token URI resolver.\n @param _resolver The resolver to set."},"functionSelector":"d84a72c0","implemented":true,"kind":"function","modifiers":[],"name":"recordSetTokenUriResolver","nameLocation":"38211:25:3","overrides":{"id":3930,"nodeType":"OverrideSpecifier","overrides":[],"src":"38280:8:3"},"parameters":{"id":3929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3928,"mutability":"mutable","name":"_resolver","nameLocation":"38260:9:3","nodeType":"VariableDeclaration","scope":3940,"src":"38237:32:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"},"typeName":{"id":3927,"nodeType":"UserDefinedTypeName","pathNode":{"id":3926,"name":"IJB721TokenUriResolver","nameLocations":["38237:22:3"],"nodeType":"IdentifierPath","referencedDeclaration":27819,"src":"38237:22:3"},"referencedDeclaration":27819,"src":"38237:22:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"visibility":"internal"}],"src":"38236:34:3"},"returnParameters":{"id":3931,"nodeType":"ParameterList","parameters":[],"src":"38289:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3959,"nodeType":"FunctionDefinition","src":"38534:167:3","nodes":[],"body":{"id":3958,"nodeType":"Block","src":"38629:72:3","nodes":[],"statements":[{"expression":{"id":3956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":3949,"name":"encodedIPFSUriOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2329,"src":"38639:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"}},"id":3953,"indexExpression":{"expression":{"id":3950,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"38656:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38660:6:3","memberName":"sender","nodeType":"MemberAccess","src":"38656:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"38639:28:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":3954,"indexExpression":{"id":3952,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3943,"src":"38668:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"38639:37:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3955,"name":"_encodedIPFSUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3945,"src":"38679:15:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"38639:55:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":3957,"nodeType":"ExpressionStatement","src":"38639:55:3"}]},"baseFunctions":[28462],"documentation":{"id":3941,"nodeType":"StructuredDocumentation","src":"38354:175:3","text":"@notice Sets the encoded IPFS URI of a tier.\n @param _tierId The tier ID to set the encoded IPFS URI of.\n @param _encodedIPFSUri The encoded IPFS URI to set."},"functionSelector":"49bd1ac6","implemented":true,"kind":"function","modifiers":[],"name":"recordSetEncodedIPFSUriOf","nameLocation":"38543:25:3","overrides":{"id":3947,"nodeType":"OverrideSpecifier","overrides":[],"src":"38620:8:3"},"parameters":{"id":3946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3943,"mutability":"mutable","name":"_tierId","nameLocation":"38577:7:3","nodeType":"VariableDeclaration","scope":3959,"src":"38569:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3942,"name":"uint256","nodeType":"ElementaryTypeName","src":"38569:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":3945,"mutability":"mutable","name":"_encodedIPFSUri","nameLocation":"38594:15:3","nodeType":"VariableDeclaration","scope":3959,"src":"38586:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3944,"name":"bytes32","nodeType":"ElementaryTypeName","src":"38586:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"38568:42:3"},"returnParameters":{"id":3948,"nodeType":"ParameterList","parameters":[],"src":"38629:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":3975,"nodeType":"FunctionDefinition","src":"38775:119:3","nodes":[],"body":{"id":3974,"nodeType":"Block","src":"38848:46:3","nodes":[],"statements":[{"expression":{"id":3972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":3967,"name":"_flagsOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2257,"src":"38858:8:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_JBTiered721Flags_$29661_storage_$","typeString":"mapping(address => struct JBTiered721Flags storage ref)"}},"id":3970,"indexExpression":{"expression":{"id":3968,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"38867:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"38871:6:3","memberName":"sender","nodeType":"MemberAccess","src":"38867:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"38858:20:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage","typeString":"struct JBTiered721Flags storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":3971,"name":"_flags","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3963,"src":"38881:6:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_calldata_ptr","typeString":"struct JBTiered721Flags calldata"}},"src":"38858:29:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage","typeString":"struct JBTiered721Flags storage ref"}},"id":3973,"nodeType":"ExpressionStatement","src":"38858:29:3"}]},"baseFunctions":[28468],"documentation":{"id":3960,"nodeType":"StructuredDocumentation","src":"38707:63:3","text":"@notice Sets flags.\n @param _flags The flags to set."},"functionSelector":"cb827e32","implemented":true,"kind":"function","modifiers":[],"name":"recordFlags","nameLocation":"38784:11:3","overrides":{"id":3965,"nodeType":"OverrideSpecifier","overrides":[],"src":"38839:8:3"},"parameters":{"id":3964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3963,"mutability":"mutable","name":"_flags","nameLocation":"38822:6:3","nodeType":"VariableDeclaration","scope":3975,"src":"38796:32:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_calldata_ptr","typeString":"struct JBTiered721Flags"},"typeName":{"id":3962,"nodeType":"UserDefinedTypeName","pathNode":{"id":3961,"name":"JBTiered721Flags","nameLocations":["38796:16:3"],"nodeType":"IdentifierPath","referencedDeclaration":29661,"src":"38796:16:3"},"referencedDeclaration":29661,"src":"38796:16:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721Flags_$29661_storage_ptr","typeString":"struct JBTiered721Flags"}},"visibility":"internal"}],"src":"38795:34:3"},"returnParameters":{"id":3966,"nodeType":"ParameterList","parameters":[],"src":"38848:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4075,"nodeType":"FunctionDefinition","src":"39030:1667:3","nodes":[],"body":{"id":4074,"nodeType":"Block","src":"39082:1615:3","nodes":[],"statements":[{"assignments":[3983],"declarations":[{"constant":false,"id":3983,"mutability":"mutable","name":"_lastSortedTierId","nameLocation":"39149:17:3","nodeType":"VariableDeclaration","scope":4074,"src":"39141:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3982,"name":"uint256","nodeType":"ElementaryTypeName","src":"39141:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3987,"initialValue":{"arguments":[{"id":3985,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"39189:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3984,"name":"_lastSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4448,"src":"39169:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39169:25:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39141:53:3"},{"assignments":[3989],"declarations":[{"constant":false,"id":3989,"mutability":"mutable","name":"_currentSortedTierId","nameLocation":"39310:20:3","nodeType":"VariableDeclaration","scope":4074,"src":"39302:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3988,"name":"uint256","nodeType":"ElementaryTypeName","src":"39302:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3994,"initialValue":{"arguments":[{"id":3991,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"39354:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":3992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39360:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":3990,"name":"_firstSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4423,"src":"39333:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39333:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"39302:60:3"},{"assignments":[3996],"declarations":[{"constant":false,"id":3996,"mutability":"mutable","name":"_previous","nameLocation":"39440:9:3","nodeType":"VariableDeclaration","scope":4074,"src":"39432:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3995,"name":"uint256","nodeType":"ElementaryTypeName","src":"39432:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":3997,"nodeType":"VariableDeclarationStatement","src":"39432:17:3"},{"assignments":[4000],"declarations":[{"constant":false,"id":4000,"mutability":"mutable","name":"_bitmapWord","nameLocation":"39530:11:3","nodeType":"VariableDeclaration","scope":4074,"src":"39510:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":3999,"nodeType":"UserDefinedTypeName","pathNode":{"id":3998,"name":"JBBitmapWord","nameLocations":["39510:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"39510:12:3"},"referencedDeclaration":29462,"src":"39510:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"id":4001,"nodeType":"VariableDeclarationStatement","src":"39510:31:3"},{"body":{"id":4066,"nodeType":"Block","src":"39620:1027:3","statements":[{"condition":{"id":4010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"39638:67:3","subExpression":{"arguments":[{"id":4006,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"39665:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4007,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"39671:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4008,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4000,"src":"39693:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}],"id":4005,"name":"_isTierRemovedWithRefresh","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4216,"src":"39639:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_struct$_JBBitmapWord_$29462_memory_ptr_$returns$_t_bool_$","typeString":"function (address,uint256,struct JBBitmapWord memory) view returns (bool)"}},"id":4009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39639:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4057,"nodeType":"IfStatement","src":"39634:856:3","trueBody":{"id":4056,"nodeType":"Block","src":"39707:783:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4015,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4011,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"39863:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4012,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"39887:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":4013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39899:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"39887:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39863:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4034,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"40244:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4036,"indexExpression":{"id":4035,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"40257:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40244:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4038,"indexExpression":{"id":4037,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"40263:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40244:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40277:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40244:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4050,"nodeType":"IfStatement","src":"40240:114:3","trueBody":{"id":4049,"nodeType":"Block","src":"40280:74:3","statements":[{"expression":{"id":4047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":4041,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"40302:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4044,"indexExpression":{"id":4042,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"40315:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40302:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4045,"indexExpression":{"id":4043,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"40321:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"40302:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":4046,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"40334:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"40302:33:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4048,"nodeType":"ExpressionStatement","src":"40302:33:3"}]}},"id":4051,"nodeType":"IfStatement","src":"39859:495:3","trueBody":{"id":4033,"nodeType":"Block","src":"39902:332:3","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":4016,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"39928:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4018,"indexExpression":{"id":4017,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"39941:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39928:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4020,"indexExpression":{"id":4019,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"39947:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"39928:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":4021,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"39961:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"39928:53:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4032,"nodeType":"IfStatement","src":"39924:160:3","trueBody":{"id":4031,"nodeType":"Block","src":"39983:101:3","statements":[{"expression":{"id":4029,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":4023,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"40009:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4026,"indexExpression":{"id":4024,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"40022:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"40009:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4027,"indexExpression":{"id":4025,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"40028:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"40009:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4028,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"40041:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40009:52:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4030,"nodeType":"ExpressionStatement","src":"40009:52:3"}]}}]}},{"expression":{"id":4054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4052,"name":"_previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3996,"src":"40443:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":4053,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"40455:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40443:32:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4055,"nodeType":"ExpressionStatement","src":"40443:32:3"}]}},{"expression":{"id":4064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4058,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"40547:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4060,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"40590:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4061,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"40596:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4062,"name":"_lastSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3983,"src":"40618:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4059,"name":"_nextSortedTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4387,"src":"40570:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":4063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40570:66:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"40547:89:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4065,"nodeType":"ExpressionStatement","src":"40547:89:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4002,"name":"_currentSortedTierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3989,"src":"39593:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"39617:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"39593:25:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4067,"nodeType":"WhileStatement","src":"39586:1061:3"},{"eventCall":{"arguments":[{"id":4069,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3978,"src":"40673:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":4070,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"40679:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"40683:6:3","memberName":"sender","nodeType":"MemberAccess","src":"40679:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4068,"name":"CleanTiers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28187,"src":"40662:10:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":4072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40662:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4073,"nodeType":"EmitStatement","src":"40657:33:3"}]},"baseFunctions":[28473],"documentation":{"id":3976,"nodeType":"StructuredDocumentation","src":"38900:125:3","text":"@notice Removes an NFT contract's removed tiers from sequencing.\n @param _nft The NFT contract to clean tiers for."},"functionSelector":"086bb19a","implemented":true,"kind":"function","modifiers":[],"name":"cleanTiers","nameLocation":"39039:10:3","overrides":{"id":3980,"nodeType":"OverrideSpecifier","overrides":[],"src":"39073:8:3"},"parameters":{"id":3979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3978,"mutability":"mutable","name":"_nft","nameLocation":"39058:4:3","nodeType":"VariableDeclaration","scope":4075,"src":"39050:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3977,"name":"address","nodeType":"ElementaryTypeName","src":"39050:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39049:14:3"},"returnParameters":{"id":3981,"nodeType":"ParameterList","parameters":[],"src":"39082:0:3"},"scope":4477,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4171,"nodeType":"FunctionDefinition","src":"41335:1416:3","nodes":[],"body":{"id":4170,"nodeType":"Block","src":"41519:1232:3","nodes":[],"statements":[{"assignments":[4092],"declarations":[{"constant":false,"id":4092,"mutability":"mutable","name":"_reservedTokenBeneficiary","nameLocation":"41599:25:3","nodeType":"VariableDeclaration","scope":4170,"src":"41591:33:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4091,"name":"address","nodeType":"ElementaryTypeName","src":"41591:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":4097,"initialValue":{"arguments":[{"id":4094,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4078,"src":"41654:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4095,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4080,"src":"41660:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4093,"name":"reservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3003,"src":"41627:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view returns (address)"}},"id":4096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41627:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"41591:77:3"},{"assignments":[4099,4101,4103],"declarations":[{"constant":false,"id":4099,"mutability":"mutable","name":"_allowManualMint","nameLocation":"41685:16:3","nodeType":"VariableDeclaration","scope":4170,"src":"41680:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4098,"name":"bool","nodeType":"ElementaryTypeName","src":"41680:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4101,"mutability":"mutable","name":"_transfersPausable","nameLocation":"41708:18:3","nodeType":"VariableDeclaration","scope":4170,"src":"41703:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4100,"name":"bool","nodeType":"ElementaryTypeName","src":"41703:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4103,"mutability":"mutable","name":"_useVotingUnits","nameLocation":"41733:15:3","nodeType":"VariableDeclaration","scope":4170,"src":"41728:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4102,"name":"bool","nodeType":"ElementaryTypeName","src":"41728:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":4108,"initialValue":{"arguments":[{"expression":{"id":4105,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"41765:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4106,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41777:11:3","memberName":"packedBools","nodeType":"MemberAccess","referencedDeclaration":29648,"src":"41765:23:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":4104,"name":"_unpackBools","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4476,"src":"41752:12:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint8_$returns$_t_bool_$_t_bool_$_t_bool_$","typeString":"function (uint8) pure returns (bool,bool,bool)"}},"id":4107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41752:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bool_$_t_bool_$","typeString":"tuple(bool,bool,bool)"}},"nodeType":"VariableDeclarationStatement","src":"41679:110:3"},{"expression":{"arguments":[{"id":4110,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4080,"src":"41835:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":4111,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"41863:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4112,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41875:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"41863:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},{"expression":{"id":4113,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"41913:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4114,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41925:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"41913:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"expression":{"id":4115,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"41973:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4116,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"41985:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"41973:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"condition":{"id":4117,"name":"_useVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4103,"src":"42027:15:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":4120,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"42071:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4121,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42083:5:3","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":29636,"src":"42071:17:3","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"id":4122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42027:61:3","trueExpression":{"expression":{"id":4118,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"42045:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4119,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42057:11:3","memberName":"votingUnits","nodeType":"MemberAccess","referencedDeclaration":29642,"src":"42045:23:3","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4123,"name":"_reservedTokenBeneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4092,"src":"42171:25:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42208:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42200:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4124,"name":"address","nodeType":"ElementaryTypeName","src":"42200:7:3","typeDescriptions":{}}},"id":4127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42200:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"42171:39:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"expression":{"id":4130,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"42217:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4131,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42229:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29646,"src":"42217:24:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":4132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42171:70:3","trueExpression":{"hexValue":"30","id":4129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42213:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":4133,"name":"_reservedTokenBeneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4092,"src":"42281:25:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"baseExpression":{"baseExpression":{"id":4134,"name":"encodedIPFSUriOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2329,"src":"42336:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bytes32_$_$","typeString":"mapping(address => mapping(uint256 => bytes32))"}},"id":4136,"indexExpression":{"id":4135,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4078,"src":"42353:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42336:22:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":4138,"indexExpression":{"id":4137,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4080,"src":"42359:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42336:31:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":4139,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4083,"src":"42391:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4140,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"42403:8:3","memberName":"category","nodeType":"MemberAccess","referencedDeclaration":29644,"src":"42391:20:3","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},{"id":4141,"name":"_allowManualMint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4099,"src":"42442:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":4142,"name":"_transfersPausable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4101,"src":"42491:18:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"42536:20:3","subExpression":{"id":4143,"name":"_includeResolvedUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4085,"src":"42537:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"},"id":4154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":4145,"name":"tokenUriResolverOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"42560:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"mapping(address => contract IJB721TokenUriResolver)"}},"id":4147,"indexExpression":{"id":4146,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4078,"src":"42579:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42560:24:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":4151,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42619:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4150,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"42611:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4149,"name":"address","nodeType":"ElementaryTypeName","src":"42611:7:3","typeDescriptions":{}}},"id":4152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42611:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4148,"name":"IJB721TokenUriResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":27819,"src":"42588:22:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"type(contract IJB721TokenUriResolver)"}},"id":4153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42588:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"src":"42560:62:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"42536:86:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":4161,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4078,"src":"42698:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":4163,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4080,"src":"42721:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"30","id":4164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"42730:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4162,"name":"_generateTokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4350,"src":"42704:16:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":4165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42704:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":4157,"name":"tokenUriResolverOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2321,"src":"42662:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_contract$_IJB721TokenUriResolver_$27819_$","typeString":"mapping(address => contract IJB721TokenUriResolver)"}},"id":4159,"indexExpression":{"id":4158,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4078,"src":"42681:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"42662:24:3","typeDescriptions":{"typeIdentifier":"t_contract$_IJB721TokenUriResolver_$27819","typeString":"contract IJB721TokenUriResolver"}},"id":4160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"42687:10:3","memberName":"tokenUriOf","nodeType":"MemberAccess","referencedDeclaration":27818,"src":"42662:35:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (address,uint256) view external returns (string memory)"}},"id":4166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42662:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"id":4167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"42536:197:3","trueExpression":{"hexValue":"","id":4156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42641:2:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint104","typeString":"uint104"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint104","typeString":"uint104"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint24","typeString":"uint24"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":4109,"name":"JB721Tier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29428,"src":"41807:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JB721Tier_$29428_storage_ptr_$","typeString":"type(struct JB721Tier storage pointer)"}},"id":4168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["41831:2:3","41856:5:3","41894:17:3","41956:15:3","42014:11:3","42157:12:3","42255:24:3","42320:14:3","42381:8:3","42425:15:3","42472:17:3","42523:11:3"],"names":["id","price","remainingQuantity","initialQuantity","votingUnits","reservedRate","reservedTokenBeneficiary","encodedIPFSUri","category","allowManualMint","transfersPausable","resolvedUri"],"nodeType":"FunctionCall","src":"41807:937:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier memory"}},"functionReturnParameters":4090,"id":4169,"nodeType":"Return","src":"41800:944:3"}]},"documentation":{"id":4076,"nodeType":"StructuredDocumentation","src":"40938:392:3","text":"@notice Returns a tier given a provided stored tier.\n @param _nft The NFT contract to get the tier from.\n @param _tierId The tier ID of the tier to get.\n @param _storedTier The stored tier to base the tier on.\n @param _includeResolvedUri If true, if there's a token URI resolver, the content will be resolved and included.\n @return tier The tier object."},"implemented":true,"kind":"function","modifiers":[],"name":"_getTierFrom","nameLocation":"41344:12:3","parameters":{"id":4086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4078,"mutability":"mutable","name":"_nft","nameLocation":"41365:4:3","nodeType":"VariableDeclaration","scope":4171,"src":"41357:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4077,"name":"address","nodeType":"ElementaryTypeName","src":"41357:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4080,"mutability":"mutable","name":"_tierId","nameLocation":"41379:7:3","nodeType":"VariableDeclaration","scope":4171,"src":"41371:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4079,"name":"uint256","nodeType":"ElementaryTypeName","src":"41371:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4083,"mutability":"mutable","name":"_storedTier","nameLocation":"41411:11:3","nodeType":"VariableDeclaration","scope":4171,"src":"41388:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":4082,"nodeType":"UserDefinedTypeName","pathNode":{"id":4081,"name":"JBStored721Tier","nameLocations":["41388:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"41388:15:3"},"referencedDeclaration":29649,"src":"41388:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"},{"constant":false,"id":4085,"mutability":"mutable","name":"_includeResolvedUri","nameLocation":"41429:19:3","nodeType":"VariableDeclaration","scope":4171,"src":"41424:24:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4084,"name":"bool","nodeType":"ElementaryTypeName","src":"41424:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41356:93:3"},"returnParameters":{"id":4090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4171,"src":"41497:16:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_memory_ptr","typeString":"struct JB721Tier"},"typeName":{"id":4088,"nodeType":"UserDefinedTypeName","pathNode":{"id":4087,"name":"JB721Tier","nameLocations":["41497:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":29428,"src":"41497:9:3"},"referencedDeclaration":29428,"src":"41497:9:3","typeDescriptions":{"typeIdentifier":"t_struct$_JB721Tier_$29428_storage_ptr","typeString":"struct JB721Tier"}},"visibility":"internal"}],"src":"41496:18:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4216,"nodeType":"FunctionDefinition","src":"43100:521:3","nodes":[],"body":{"id":4215,"nodeType":"Block","src":"43256:365:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4186,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"43391:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4184,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4179,"src":"43359:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":4185,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43371:19:3","memberName":"refreshBitmapNeeded","nodeType":"MemberAccess","referencedDeclaration":28623,"src":"43359:31:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBBitmapWord_$29462_memory_ptr_$_t_uint256_$returns$_t_bool_$attached_to$_t_struct$_JBBitmapWord_$29462_memory_ptr_$","typeString":"function (struct JBBitmapWord memory,uint256) pure returns (bool)"}},"id":4187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43359:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4188,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4179,"src":"43404:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":4189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43416:11:3","memberName":"currentWord","nodeType":"MemberAccess","referencedDeclaration":29459,"src":"43404:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43431:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43404:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4195,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4192,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4179,"src":"43436:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":4193,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43448:12:3","memberName":"currentDepth","nodeType":"MemberAccess","referencedDeclaration":29461,"src":"43436:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"43464:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"43436:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43404:61:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":4197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"43403:63:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"43359:107:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4209,"nodeType":"IfStatement","src":"43355:206:3","trueBody":{"id":4208,"nodeType":"Block","src":"43476:85:3","statements":[{"expression":{"id":4206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4199,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4179,"src":"43490:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":4204,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"43542:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":4200,"name":"_isTierRemovedBitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2264,"src":"43504:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4202,"indexExpression":{"id":4201,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4174,"src":"43529:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"43504:30:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4203,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"43535:6:3","memberName":"readId","nodeType":"MemberAccess","referencedDeclaration":28519,"src":"43504:37:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_mapping$_t_uint256_$_t_uint256_$_$_t_uint256_$returns$_t_struct$_JBBitmapWord_$29462_memory_ptr_$attached_to$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"function (mapping(uint256 => uint256),uint256) view returns (struct JBBitmapWord memory)"}},"id":4205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43504:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"src":"43490:60:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":4207,"nodeType":"ExpressionStatement","src":"43490:60:3"}]}},{"expression":{"arguments":[{"id":4212,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4176,"src":"43606:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":4210,"name":"_bitmapWord","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4179,"src":"43578:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord memory"}},"id":4211,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"43590:15:3","memberName":"isTierIdRemoved","nodeType":"MemberAccess","referencedDeclaration":28544,"src":"43578:27:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBBitmapWord_$29462_memory_ptr_$_t_uint256_$returns$_t_bool_$attached_to$_t_struct$_JBBitmapWord_$29462_memory_ptr_$","typeString":"function (struct JBBitmapWord memory,uint256) pure returns (bool)"}},"id":4213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43578:36:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":4183,"id":4214,"nodeType":"Return","src":"43571:43:3"}]},"documentation":{"id":4172,"nodeType":"StructuredDocumentation","src":"42757:338:3","text":"@notice Check if a tier is removed from the current set of tiers, while reusing a bitmap word.\n @param _nft The NFT contract on which to check if the tier is removed.\n @param _tierId The tier ID to check for removal.\n @param _bitmapWord The bitmap word to reuse.\n @return True if the tier has been removed."},"implemented":true,"kind":"function","modifiers":[],"name":"_isTierRemovedWithRefresh","nameLocation":"43109:25:3","parameters":{"id":4180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4174,"mutability":"mutable","name":"_nft","nameLocation":"43143:4:3","nodeType":"VariableDeclaration","scope":4216,"src":"43135:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4173,"name":"address","nodeType":"ElementaryTypeName","src":"43135:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4176,"mutability":"mutable","name":"_tierId","nameLocation":"43157:7:3","nodeType":"VariableDeclaration","scope":4216,"src":"43149:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4175,"name":"uint256","nodeType":"ElementaryTypeName","src":"43149:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4179,"mutability":"mutable","name":"_bitmapWord","nameLocation":"43186:11:3","nodeType":"VariableDeclaration","scope":4216,"src":"43166:31:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_memory_ptr","typeString":"struct JBBitmapWord"},"typeName":{"id":4178,"nodeType":"UserDefinedTypeName","pathNode":{"id":4177,"name":"JBBitmapWord","nameLocations":["43166:12:3"],"nodeType":"IdentifierPath","referencedDeclaration":29462,"src":"43166:12:3"},"referencedDeclaration":29462,"src":"43166:12:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBBitmapWord_$29462_storage_ptr","typeString":"struct JBBitmapWord"}},"visibility":"internal"}],"src":"43134:64:3"},"returnParameters":{"id":4183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4182,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4216,"src":"43246:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4181,"name":"bool","nodeType":"ElementaryTypeName","src":"43246:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43245:6:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4332,"nodeType":"FunctionDefinition","src":"44081:2323:3","nodes":[],"body":{"id":4331,"nodeType":"Block","src":"44255:2149:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":4238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":4232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4229,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"44383:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4230,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44395:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29646,"src":"44383:24:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44411:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"44383:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4233,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"44416:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4234,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44428:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"44416:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4235,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"44447:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4236,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44459:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"44447:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"44416:60:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44383:93:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":4247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4240,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4219,"src":"44523:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4241,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4221,"src":"44529:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":4239,"name":"reservedTokenBeneficiaryOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3003,"src":"44496:26:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) view returns (address)"}},"id":4242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44496:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":4245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44549:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":4244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"44541:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":4243,"name":"address","nodeType":"ElementaryTypeName","src":"44541:7:3","typeDescriptions":{}}},"id":4246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44541:10:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"44496:55:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"44383:168:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4251,"nodeType":"IfStatement","src":"44366:205:3","trueBody":{"expression":{"hexValue":"30","id":4249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44570:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":4228,"id":4250,"nodeType":"Return","src":"44563:8:3"}},{"assignments":[4253],"declarations":[{"constant":false,"id":4253,"mutability":"mutable","name":"_reserveTokensMinted","nameLocation":"44659:20:3","nodeType":"VariableDeclaration","scope":4331,"src":"44651:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4252,"name":"uint256","nodeType":"ElementaryTypeName","src":"44651:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4259,"initialValue":{"baseExpression":{"baseExpression":{"id":4254,"name":"numberOfReservesMintedFor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2300,"src":"44682:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4256,"indexExpression":{"id":4255,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4219,"src":"44708:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44682:31:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4258,"indexExpression":{"id":4257,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4221,"src":"44714:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"44682:40:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"44651:71:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4260,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"44832:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4261,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44844:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"44832:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4262,"name":"_reserveTokensMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4253,"src":"44862:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"44832:50:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":4264,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"44886:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4265,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"44898:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"44886:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"44832:83:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4270,"nodeType":"IfStatement","src":"44828:122:3","trueBody":{"id":4269,"nodeType":"Block","src":"44917:33:3","statements":[{"expression":{"hexValue":"30","id":4267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"44938:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":4228,"id":4268,"nodeType":"Return","src":"44931:8:3"}]}},{"assignments":[4272],"declarations":[{"constant":false,"id":4272,"mutability":"mutable","name":"_numberOfNonReservesMinted","nameLocation":"45160:26:3","nodeType":"VariableDeclaration","scope":4331,"src":"45152:34:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4271,"name":"uint256","nodeType":"ElementaryTypeName","src":"45152:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4273,"nodeType":"VariableDeclarationStatement","src":"45152:34:3"},{"id":4284,"nodeType":"UncheckedBlock","src":"45196:162:3","statements":[{"expression":{"id":4282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4274,"name":"_numberOfNonReservesMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4272,"src":"45220:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4275,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45265:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4276,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45277:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"45265:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"expression":{"id":4277,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45295:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4278,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45307:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"45295:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"45265:59:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4280,"name":"_reserveTokensMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4253,"src":"45327:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45265:82:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45220:127:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4283,"nodeType":"ExpressionStatement","src":"45220:127:3"}]},{"assignments":[4286],"declarations":[{"constant":false,"id":4286,"mutability":"mutable","name":"_numberReservedTokensMintable","nameLocation":"45500:29:3","nodeType":"VariableDeclaration","scope":4331,"src":"45492:37:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4285,"name":"uint256","nodeType":"ElementaryTypeName","src":"45492:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4291,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4290,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4287,"name":"_numberOfNonReservesMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4272,"src":"45532:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"expression":{"id":4288,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45561:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4289,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45573:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29646,"src":"45561:24:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"45532:53:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"45492:93:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4292,"name":"_numberOfNonReservesMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4272,"src":"45621:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"id":4293,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45650:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45662:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29646,"src":"45650:24:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"45621:53:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":4296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"45677:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"45621:57:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4301,"nodeType":"IfStatement","src":"45617:94:3","trueBody":{"expression":{"id":4299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"45680:31:3","subExpression":{"id":4298,"name":"_numberReservedTokensMintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4286,"src":"45682:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4300,"nodeType":"ExpressionStatement","src":"45680:31:3"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint32","typeString":"uint32"},"id":4306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":4302,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45801:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45813:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"45801:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"%","rightExpression":{"expression":{"id":4304,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45831:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4305,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45843:12:3","memberName":"reservedRate","nodeType":"MemberAccess","referencedDeclaration":29646,"src":"45831:24:3","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"45801:54:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"id":4307,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"45800:56:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4308,"name":"_numberReservedTokensMintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4286,"src":"45859:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"45800:88:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"id":4310,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45891:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4311,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45903:15:3","memberName":"initialQuantity","nodeType":"MemberAccess","referencedDeclaration":29640,"src":"45891:27:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"45800:118:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4319,"nodeType":"IfStatement","src":"45796:211:3","trueBody":{"id":4318,"nodeType":"Block","src":"45920:87:3","statements":[{"expression":{"id":4316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4313,"name":"_numberReservedTokensMintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4286,"src":"45934:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":4314,"name":"_storedTier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4224,"src":"45966:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier memory"}},"id":4315,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"45978:17:3","memberName":"remainingQuantity","nodeType":"MemberAccess","referencedDeclaration":29638,"src":"45966:29:3","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"45934:61:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4317,"nodeType":"ExpressionStatement","src":"45934:61:3"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4322,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4320,"name":"_reserveTokensMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4253,"src":"46139:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":4321,"name":"_numberReservedTokensMintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4286,"src":"46162:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46139:52:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4325,"nodeType":"IfStatement","src":"46135:66:3","trueBody":{"expression":{"hexValue":"30","id":4323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"46200:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":4228,"id":4324,"nodeType":"Return","src":"46193:8:3"}},{"id":4330,"nodeType":"UncheckedBlock","src":"46304:94:3","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4326,"name":"_numberReservedTokensMintable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4286,"src":"46335:29:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":4327,"name":"_reserveTokensMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4253,"src":"46367:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46335:52:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4228,"id":4329,"nodeType":"Return","src":"46328:59:3"}]}]},"documentation":{"id":4217,"nodeType":"StructuredDocumentation","src":"43627:449:3","text":"@notice The number of mintable reserved tokens within the provided tier.\n @param _nft The NFT contract to check mintable reserved tokens on.\n @param _tierId The tier ID to check the number of mintable reserved tokens for.\n @param _storedTier The stored tier to get the number of mintable reserved tokens for.\n @return numberReservedTokensOutstanding The number of outstanding mintable reserved tokens within the tier."},"implemented":true,"kind":"function","modifiers":[],"name":"_numberOfReservedTokensOutstandingFor","nameLocation":"44090:37:3","parameters":{"id":4225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4219,"mutability":"mutable","name":"_nft","nameLocation":"44136:4:3","nodeType":"VariableDeclaration","scope":4332,"src":"44128:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4218,"name":"address","nodeType":"ElementaryTypeName","src":"44128:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4221,"mutability":"mutable","name":"_tierId","nameLocation":"44150:7:3","nodeType":"VariableDeclaration","scope":4332,"src":"44142:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4220,"name":"uint256","nodeType":"ElementaryTypeName","src":"44142:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4224,"mutability":"mutable","name":"_storedTier","nameLocation":"44182:11:3","nodeType":"VariableDeclaration","scope":4332,"src":"44159:34:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_memory_ptr","typeString":"struct JBStored721Tier"},"typeName":{"id":4223,"nodeType":"UserDefinedTypeName","pathNode":{"id":4222,"name":"JBStored721Tier","nameLocations":["44159:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":29649,"src":"44159:15:3"},"referencedDeclaration":29649,"src":"44159:15:3","typeDescriptions":{"typeIdentifier":"t_struct$_JBStored721Tier_$29649_storage_ptr","typeString":"struct JBStored721Tier"}},"visibility":"internal"}],"src":"44127:67:3"},"returnParameters":{"id":4228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4227,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4332,"src":"44242:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4226,"name":"uint256","nodeType":"ElementaryTypeName","src":"44242:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44241:9:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4350,"nodeType":"FunctionDefinition","src":"46665:160:3","nodes":[],"body":{"id":4349,"nodeType":"Block","src":"46762:63:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4342,"name":"_tierId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4335,"src":"46780:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":4343,"name":"_ONE_BILLION","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2229,"src":"46790:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46780:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":4345,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"46779:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":4346,"name":"_tokenNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4337,"src":"46806:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"46779:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4341,"id":4348,"nodeType":"Return","src":"46772:46:3"}]},"documentation":{"id":4333,"nodeType":"StructuredDocumentation","src":"46410:250:3","text":"@notice Finds the token ID given a tier ID and a token number within that tier.\n @param _tierId The ID of the tier to generate an ID for.\n @param _tokenNumber The number of the token in the tier.\n @return The ID of the token."},"implemented":true,"kind":"function","modifiers":[],"name":"_generateTokenId","nameLocation":"46674:16:3","parameters":{"id":4338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4335,"mutability":"mutable","name":"_tierId","nameLocation":"46699:7:3","nodeType":"VariableDeclaration","scope":4350,"src":"46691:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4334,"name":"uint256","nodeType":"ElementaryTypeName","src":"46691:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4337,"mutability":"mutable","name":"_tokenNumber","nameLocation":"46716:12:3","nodeType":"VariableDeclaration","scope":4350,"src":"46708:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4336,"name":"uint256","nodeType":"ElementaryTypeName","src":"46708:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46690:39:3"},"returnParameters":{"id":4341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4340,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4350,"src":"46753:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4339,"name":"uint256","nodeType":"ElementaryTypeName","src":"46753:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46752:9:3"},"scope":4477,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4387,"nodeType":"FunctionDefinition","src":"47097:455:3","nodes":[],"body":{"id":4386,"nodeType":"Block","src":"47199:353:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4362,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4355,"src":"47263:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":4363,"name":"_max","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4357,"src":"47270:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"47263:11:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4367,"nodeType":"IfStatement","src":"47259:25:3","trueBody":{"expression":{"hexValue":"30","id":4365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47283:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":4361,"id":4366,"nodeType":"Return","src":"47276:8:3"}},{"assignments":[4369],"declarations":[{"constant":false,"id":4369,"mutability":"mutable","name":"_storedNext","nameLocation":"47388:11:3","nodeType":"VariableDeclaration","scope":4386,"src":"47380:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4368,"name":"uint256","nodeType":"ElementaryTypeName","src":"47380:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4375,"initialValue":{"baseExpression":{"baseExpression":{"id":4370,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"47402:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4372,"indexExpression":{"id":4371,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4353,"src":"47415:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47402:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4374,"indexExpression":{"id":4373,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4355,"src":"47421:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"47402:23:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"47380:45:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4376,"name":"_storedNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4369,"src":"47440:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":4377,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47455:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"47440:16:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4381,"nodeType":"IfStatement","src":"47436:40:3","trueBody":{"expression":{"id":4379,"name":"_storedNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4369,"src":"47465:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4361,"id":4380,"nodeType":"Return","src":"47458:18:3"}},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4382,"name":"_id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4355,"src":"47538:3:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":4383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"47544:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"47538:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4361,"id":4385,"nodeType":"Return","src":"47531:14:3"}]},"documentation":{"id":4351,"nodeType":"StructuredDocumentation","src":"46831:261:3","text":"@notice The next sorted tier ID.\n @param _nft The NFT contract for which the sorted tier ID applies.\n @param _id The ID relative to which the next sorted ID will be returned.\n @param _max The maximum possible ID.\n @return The ID."},"implemented":true,"kind":"function","modifiers":[],"name":"_nextSortedTierIdOf","nameLocation":"47106:19:3","parameters":{"id":4358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4353,"mutability":"mutable","name":"_nft","nameLocation":"47134:4:3","nodeType":"VariableDeclaration","scope":4387,"src":"47126:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4352,"name":"address","nodeType":"ElementaryTypeName","src":"47126:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4355,"mutability":"mutable","name":"_id","nameLocation":"47148:3:3","nodeType":"VariableDeclaration","scope":4387,"src":"47140:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4354,"name":"uint256","nodeType":"ElementaryTypeName","src":"47140:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4357,"mutability":"mutable","name":"_max","nameLocation":"47161:4:3","nodeType":"VariableDeclaration","scope":4387,"src":"47153:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4356,"name":"uint256","nodeType":"ElementaryTypeName","src":"47153:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47125:41:3"},"returnParameters":{"id":4361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4387,"src":"47190:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4359,"name":"uint256","nodeType":"ElementaryTypeName","src":"47190:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47189:9:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4423,"nodeType":"FunctionDefinition","src":"47929:295:3","nodes":[],"body":{"id":4422,"nodeType":"Block","src":"48027:197:3","nodes":[],"statements":[{"expression":{"id":4412,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4397,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"48037:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4398,"name":"_category","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"48042:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48055:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48042:14:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"baseExpression":{"baseExpression":{"id":4406,"name":"_startingTierIdOfCategory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2276,"src":"48083:25:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4408,"indexExpression":{"id":4407,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4390,"src":"48109:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48083:31:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4410,"indexExpression":{"id":4409,"name":"_category","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4392,"src":"48115:9:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48083:42:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4411,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"48042:83:3","trueExpression":{"baseExpression":{"baseExpression":{"id":4401,"name":"_tierIdAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2236,"src":"48059:12:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":4403,"indexExpression":{"id":4402,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4390,"src":"48072:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48059:18:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":4405,"indexExpression":{"hexValue":"30","id":4404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48078:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48059:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48037:88:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4413,"nodeType":"ExpressionStatement","src":"48037:88:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4414,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"48202:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48208:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48202:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4421,"nodeType":"IfStatement","src":"48198:19:3","trueBody":{"expression":{"id":4419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4417,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4395,"src":"48211:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":4418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48216:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"48211:6:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4420,"nodeType":"ExpressionStatement","src":"48211:6:3"}}]},"documentation":{"id":4388,"nodeType":"StructuredDocumentation","src":"47558:366:3","text":"@notice The first sorted tier ID of an NFT contract.\n @param _nft The NFT contract to get the first sorted tier ID of.\n @param _category The category to get the first sorted tier ID of. Send 0 for the first overall sorted ID, which might not be of the 0 category if there isn't a tier of the 0 category.\n @return id The first sorted tier ID."},"implemented":true,"kind":"function","modifiers":[],"name":"_firstSortedTierIdOf","nameLocation":"47938:20:3","parameters":{"id":4393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4390,"mutability":"mutable","name":"_nft","nameLocation":"47967:4:3","nodeType":"VariableDeclaration","scope":4423,"src":"47959:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4389,"name":"address","nodeType":"ElementaryTypeName","src":"47959:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4392,"mutability":"mutable","name":"_category","nameLocation":"47981:9:3","nodeType":"VariableDeclaration","scope":4423,"src":"47973:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4391,"name":"uint256","nodeType":"ElementaryTypeName","src":"47973:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47958:33:3"},"returnParameters":{"id":4396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4395,"mutability":"mutable","name":"id","nameLocation":"48023:2:3","nodeType":"VariableDeclaration","scope":4423,"src":"48015:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4394,"name":"uint256","nodeType":"ElementaryTypeName","src":"48015:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48014:12:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4448,"nodeType":"FunctionDefinition","src":"48397:233:3","nodes":[],"body":{"id":4447,"nodeType":"Block","src":"48475:155:3","nodes":[],"statements":[{"expression":{"id":4435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4431,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4429,"src":"48485:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":4432,"name":"_trackedLastSortTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2269,"src":"48490:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":4434,"indexExpression":{"id":4433,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4426,"src":"48515:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48490:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48485:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4436,"nodeType":"ExpressionStatement","src":"48485:35:3"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":4437,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4429,"src":"48592:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":4438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"48598:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"48592:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4446,"nodeType":"IfStatement","src":"48588:35:3","trueBody":{"expression":{"id":4444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":4440,"name":"id","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4429,"src":"48601:2:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":4441,"name":"maxTierIdOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2282,"src":"48606:11:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":4443,"indexExpression":{"id":4442,"name":"_nft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4426,"src":"48618:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"48606:17:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"48601:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":4445,"nodeType":"ExpressionStatement","src":"48601:22:3"}}]},"documentation":{"id":4424,"nodeType":"StructuredDocumentation","src":"48230:162:3","text":"@notice The last sorted tier ID of an NFT.\n @param _nft The NFT contract to get the last sorted tier ID of.\n @return id The last sorted tier ID."},"implemented":true,"kind":"function","modifiers":[],"name":"_lastSortedTierIdOf","nameLocation":"48406:19:3","parameters":{"id":4427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4426,"mutability":"mutable","name":"_nft","nameLocation":"48434:4:3","nodeType":"VariableDeclaration","scope":4448,"src":"48426:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4425,"name":"address","nodeType":"ElementaryTypeName","src":"48426:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48425:14:3"},"returnParameters":{"id":4430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4429,"mutability":"mutable","name":"id","nameLocation":"48471:2:3","nodeType":"VariableDeclaration","scope":4448,"src":"48463:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4428,"name":"uint256","nodeType":"ElementaryTypeName","src":"48463:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48462:12:3"},"scope":4477,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":4462,"nodeType":"FunctionDefinition","src":"48977:372:3","nodes":[],"body":{"id":4461,"nodeType":"Block","src":"49133:216:3","nodes":[],"statements":[{"AST":{"nativeSrc":"49152:191:3","nodeType":"YulBlock","src":"49152:191:3","statements":[{"nativeSrc":"49166:40:3","nodeType":"YulAssignment","src":"49166:40:3","value":{"arguments":[{"name":"_allowManualMint","nativeSrc":"49180:16:3","nodeType":"YulIdentifier","src":"49180:16:3"},{"name":"_packed","nativeSrc":"49198:7:3","nodeType":"YulIdentifier","src":"49198:7:3"}],"functionName":{"name":"or","nativeSrc":"49177:2:3","nodeType":"YulIdentifier","src":"49177:2:3"},"nativeSrc":"49177:29:3","nodeType":"YulFunctionCall","src":"49177:29:3"},"variableNames":[{"name":"_packed","nativeSrc":"49166:7:3","nodeType":"YulIdentifier","src":"49166:7:3"}]},{"nativeSrc":"49219:52:3","nodeType":"YulAssignment","src":"49219:52:3","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"49237:3:3","nodeType":"YulLiteral","src":"49237:3:3","type":"","value":"0x1"},{"name":"_transfersPausable","nativeSrc":"49242:18:3","nodeType":"YulIdentifier","src":"49242:18:3"}],"functionName":{"name":"shl","nativeSrc":"49233:3:3","nodeType":"YulIdentifier","src":"49233:3:3"},"nativeSrc":"49233:28:3","nodeType":"YulFunctionCall","src":"49233:28:3"},{"name":"_packed","nativeSrc":"49263:7:3","nodeType":"YulIdentifier","src":"49263:7:3"}],"functionName":{"name":"or","nativeSrc":"49230:2:3","nodeType":"YulIdentifier","src":"49230:2:3"},"nativeSrc":"49230:41:3","nodeType":"YulFunctionCall","src":"49230:41:3"},"variableNames":[{"name":"_packed","nativeSrc":"49219:7:3","nodeType":"YulIdentifier","src":"49219:7:3"}]},{"nativeSrc":"49284:49:3","nodeType":"YulAssignment","src":"49284:49:3","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"49302:3:3","nodeType":"YulLiteral","src":"49302:3:3","type":"","value":"0x2"},{"name":"_useVotingUnits","nativeSrc":"49307:15:3","nodeType":"YulIdentifier","src":"49307:15:3"}],"functionName":{"name":"shl","nativeSrc":"49298:3:3","nodeType":"YulIdentifier","src":"49298:3:3"},"nativeSrc":"49298:25:3","nodeType":"YulFunctionCall","src":"49298:25:3"},{"name":"_packed","nativeSrc":"49325:7:3","nodeType":"YulIdentifier","src":"49325:7:3"}],"functionName":{"name":"or","nativeSrc":"49295:2:3","nodeType":"YulIdentifier","src":"49295:2:3"},"nativeSrc":"49295:38:3","nodeType":"YulFunctionCall","src":"49295:38:3"},"variableNames":[{"name":"_packed","nativeSrc":"49284:7:3","nodeType":"YulIdentifier","src":"49284:7:3"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":4451,"isOffset":false,"isSlot":false,"src":"49180:16:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49166:7:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49198:7:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49219:7:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49263:7:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49284:7:3","valueSize":1},{"declaration":4458,"isOffset":false,"isSlot":false,"src":"49325:7:3","valueSize":1},{"declaration":4453,"isOffset":false,"isSlot":false,"src":"49242:18:3","valueSize":1},{"declaration":4455,"isOffset":false,"isSlot":false,"src":"49307:15:3","valueSize":1}],"id":4460,"nodeType":"InlineAssembly","src":"49143:200:3"}]},"documentation":{"id":4449,"nodeType":"StructuredDocumentation","src":"48636:336:3","text":"@notice Pack three bools into a single uint8.\n @param _allowManualMint Whether or not manual mints are allowed.\n @param _transfersPausable Whether or not transfers are pausable.\n @param _useVotingUnits A flag indicating whether the voting units override should be used.\n @return _packed The packed bools."},"implemented":true,"kind":"function","modifiers":[],"name":"_packBools","nameLocation":"48986:10:3","parameters":{"id":4456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4451,"mutability":"mutable","name":"_allowManualMint","nameLocation":"49002:16:3","nodeType":"VariableDeclaration","scope":4462,"src":"48997:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4450,"name":"bool","nodeType":"ElementaryTypeName","src":"48997:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4453,"mutability":"mutable","name":"_transfersPausable","nameLocation":"49025:18:3","nodeType":"VariableDeclaration","scope":4462,"src":"49020:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4452,"name":"bool","nodeType":"ElementaryTypeName","src":"49020:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4455,"mutability":"mutable","name":"_useVotingUnits","nameLocation":"49050:15:3","nodeType":"VariableDeclaration","scope":4462,"src":"49045:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4454,"name":"bool","nodeType":"ElementaryTypeName","src":"49045:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48996:70:3"},"returnParameters":{"id":4459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4458,"mutability":"mutable","name":"_packed","nameLocation":"49120:7:3","nodeType":"VariableDeclaration","scope":4462,"src":"49114:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4457,"name":"uint8","nodeType":"ElementaryTypeName","src":"49114:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"49113:15:3"},"scope":4477,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":4476,"nodeType":"FunctionDefinition","src":"49700:393:3","nodes":[],"body":{"id":4475,"nodeType":"Block","src":"49858:235:3","nodes":[],"statements":[{"AST":{"nativeSrc":"49877:210:3","nodeType":"YulBlock","src":"49877:210:3","statements":[{"nativeSrc":"49891:53:3","nodeType":"YulAssignment","src":"49891:53:3","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"49929:3:3","nodeType":"YulLiteral","src":"49929:3:3","type":"","value":"0x1"},{"name":"_packed","nativeSrc":"49934:7:3","nodeType":"YulIdentifier","src":"49934:7:3"}],"functionName":{"name":"and","nativeSrc":"49925:3:3","nodeType":"YulIdentifier","src":"49925:3:3"},"nativeSrc":"49925:17:3","nodeType":"YulFunctionCall","src":"49925:17:3"}],"functionName":{"name":"iszero","nativeSrc":"49918:6:3","nodeType":"YulIdentifier","src":"49918:6:3"},"nativeSrc":"49918:25:3","nodeType":"YulFunctionCall","src":"49918:25:3"}],"functionName":{"name":"iszero","nativeSrc":"49911:6:3","nodeType":"YulIdentifier","src":"49911:6:3"},"nativeSrc":"49911:33:3","nodeType":"YulFunctionCall","src":"49911:33:3"},"variableNames":[{"name":"_allowManualMint","nativeSrc":"49891:16:3","nodeType":"YulIdentifier","src":"49891:16:3"}]},{"nativeSrc":"49957:55:3","nodeType":"YulAssignment","src":"49957:55:3","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"49997:3:3","nodeType":"YulLiteral","src":"49997:3:3","type":"","value":"0x2"},{"name":"_packed","nativeSrc":"50002:7:3","nodeType":"YulIdentifier","src":"50002:7:3"}],"functionName":{"name":"and","nativeSrc":"49993:3:3","nodeType":"YulIdentifier","src":"49993:3:3"},"nativeSrc":"49993:17:3","nodeType":"YulFunctionCall","src":"49993:17:3"}],"functionName":{"name":"iszero","nativeSrc":"49986:6:3","nodeType":"YulIdentifier","src":"49986:6:3"},"nativeSrc":"49986:25:3","nodeType":"YulFunctionCall","src":"49986:25:3"}],"functionName":{"name":"iszero","nativeSrc":"49979:6:3","nodeType":"YulIdentifier","src":"49979:6:3"},"nativeSrc":"49979:33:3","nodeType":"YulFunctionCall","src":"49979:33:3"},"variableNames":[{"name":"_transfersPausable","nativeSrc":"49957:18:3","nodeType":"YulIdentifier","src":"49957:18:3"}]},{"nativeSrc":"50025:52:3","nodeType":"YulAssignment","src":"50025:52:3","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"50062:3:3","nodeType":"YulLiteral","src":"50062:3:3","type":"","value":"0x4"},{"name":"_packed","nativeSrc":"50067:7:3","nodeType":"YulIdentifier","src":"50067:7:3"}],"functionName":{"name":"and","nativeSrc":"50058:3:3","nodeType":"YulIdentifier","src":"50058:3:3"},"nativeSrc":"50058:17:3","nodeType":"YulFunctionCall","src":"50058:17:3"}],"functionName":{"name":"iszero","nativeSrc":"50051:6:3","nodeType":"YulIdentifier","src":"50051:6:3"},"nativeSrc":"50051:25:3","nodeType":"YulFunctionCall","src":"50051:25:3"}],"functionName":{"name":"iszero","nativeSrc":"50044:6:3","nodeType":"YulIdentifier","src":"50044:6:3"},"nativeSrc":"50044:33:3","nodeType":"YulFunctionCall","src":"50044:33:3"},"variableNames":[{"name":"_useVotingUnits","nativeSrc":"50025:15:3","nodeType":"YulIdentifier","src":"50025:15:3"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":4468,"isOffset":false,"isSlot":false,"src":"49891:16:3","valueSize":1},{"declaration":4465,"isOffset":false,"isSlot":false,"src":"49934:7:3","valueSize":1},{"declaration":4465,"isOffset":false,"isSlot":false,"src":"50002:7:3","valueSize":1},{"declaration":4465,"isOffset":false,"isSlot":false,"src":"50067:7:3","valueSize":1},{"declaration":4470,"isOffset":false,"isSlot":false,"src":"49957:18:3","valueSize":1},{"declaration":4472,"isOffset":false,"isSlot":false,"src":"50025:15:3","valueSize":1}],"id":4474,"nodeType":"InlineAssembly","src":"49868:219:3"}]},"documentation":{"id":4463,"nodeType":"StructuredDocumentation","src":"49355:340:3","text":"@notice Unpack three bools from a single uint8.\n @param _packed The packed bools.\n @return _allowManualMint Whether or not manual mints are allowed.\n @return _transfersPausable Whether or not transfers are pausable.\n @return _useVotingUnits A flag indicating whether the voting units override should be used."},"implemented":true,"kind":"function","modifiers":[],"name":"_unpackBools","nameLocation":"49709:12:3","parameters":{"id":4466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4465,"mutability":"mutable","name":"_packed","nameLocation":"49728:7:3","nodeType":"VariableDeclaration","scope":4476,"src":"49722:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":4464,"name":"uint8","nodeType":"ElementaryTypeName","src":"49722:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"49721:15:3"},"returnParameters":{"id":4473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4468,"mutability":"mutable","name":"_allowManualMint","nameLocation":"49789:16:3","nodeType":"VariableDeclaration","scope":4476,"src":"49784:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4467,"name":"bool","nodeType":"ElementaryTypeName","src":"49784:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4470,"mutability":"mutable","name":"_transfersPausable","nameLocation":"49812:18:3","nodeType":"VariableDeclaration","scope":4476,"src":"49807:23:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4469,"name":"bool","nodeType":"ElementaryTypeName","src":"49807:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":4472,"mutability":"mutable","name":"_useVotingUnits","nameLocation":"49837:15:3","nodeType":"VariableDeclaration","scope":4476,"src":"49832:20:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":4471,"name":"bool","nodeType":"ElementaryTypeName","src":"49832:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49783:70:3"},"scope":4477,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":2189,"name":"IJBTiered721DelegateStore","nameLocations":["750:25:3"],"nodeType":"IdentifierPath","referencedDeclaration":28474,"src":"750:25:3"},"id":2190,"nodeType":"InheritanceSpecifier","src":"750:25:3"}],"canonicalName":"JBTiered721DelegateStore","contractDependencies":[],"contractKind":"contract","documentation":{"id":2188,"nodeType":"StructuredDocumentation","src":"591:122:3","text":"@title JBTiered721DelegateStore\n @notice This contract stores and manages data for an IJBTiered721Delegate's NFTs."},"fullyImplemented":true,"linearizedBaseContracts":[4477,28474],"name":"JBTiered721DelegateStore","nameLocation":"722:24:3","scope":4478,"usedErrors":[2201,2203,2205,2207,2209,2211,2213,2215,2217,2219,2221,2223,2225],"usedEvents":[28187]}],"license":"MIT"},"id":3} \ No newline at end of file +{"abi":[{"type":"function","name":"balanceOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_owner","type":"address","internalType":"address"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"cleanTiers","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"defaultReservedTokenBeneficiaryOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"encodedIPFSUriOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"encodedTierIPFSUriOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"flagsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"isTierRemoved","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxTierIdOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfBurnedFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservedTokensOutstandingFor","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numberOfReservesMintedFor","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"recordAddTiers","inputs":[{"name":"_tiersToAdd","type":"tuple[]","internalType":"struct JB721TierParams[]","components":[{"name":"price","type":"uint104","internalType":"uint104"},{"name":"initialQuantity","type":"uint32","internalType":"uint32"},{"name":"votingUnits","type":"uint32","internalType":"uint32"},{"name":"reservedRate","type":"uint16","internalType":"uint16"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint24","internalType":"uint24"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"useVotingUnits","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"tierIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordBurn","inputs":[{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordFlags","inputs":[{"name":"_flags","type":"tuple","internalType":"struct JBTiered721Flags","components":[{"name":"lockReservedTokenChanges","type":"bool","internalType":"bool"},{"name":"lockVotingUnitChanges","type":"bool","internalType":"bool"},{"name":"lockManualMintingChanges","type":"bool","internalType":"bool"},{"name":"preventOverspending","type":"bool","internalType":"bool"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordMint","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_tierIds","type":"uint16[]","internalType":"uint16[]"},{"name":"_isManualMint","type":"bool","internalType":"bool"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"},{"name":"leftoverAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordMintReservesFor","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_count","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenIds","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"recordRemoveTierIds","inputs":[{"name":"_tierIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetEncodedIPFSUriOf","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_encodedIPFSUri","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordSetTokenUriResolver","inputs":[{"name":"_resolver","type":"address","internalType":"contract IJB721TokenUriResolver"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordTransferForTier","inputs":[{"name":"_tierId","type":"uint256","internalType":"uint256"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"redemptionWeightOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenIds","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"reservedTokenBeneficiaryOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"tierBalanceOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tierIdOfToken","inputs":[{"name":"_tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"tierOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_id","type":"uint256","internalType":"uint256"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierOfTokenId","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_tokenId","type":"uint256","internalType":"uint256"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"}],"outputs":[{"name":"","type":"tuple","internalType":"struct JB721Tier","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tierVotingUnitsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"},{"name":"_tierId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tiersOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_categories","type":"uint256[]","internalType":"uint256[]"},{"name":"_includeResolvedUri","type":"bool","internalType":"bool"},{"name":"_startingId","type":"uint256","internalType":"uint256"},{"name":"_size","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"_tiers","type":"tuple[]","internalType":"struct JB721Tier[]","components":[{"name":"id","type":"uint256","internalType":"uint256"},{"name":"price","type":"uint256","internalType":"uint256"},{"name":"remainingQuantity","type":"uint256","internalType":"uint256"},{"name":"initialQuantity","type":"uint256","internalType":"uint256"},{"name":"votingUnits","type":"uint256","internalType":"uint256"},{"name":"reservedRate","type":"uint256","internalType":"uint256"},{"name":"reservedTokenBeneficiary","type":"address","internalType":"address"},{"name":"encodedIPFSUri","type":"bytes32","internalType":"bytes32"},{"name":"category","type":"uint256","internalType":"uint256"},{"name":"allowManualMint","type":"bool","internalType":"bool"},{"name":"transfersPausable","type":"bool","internalType":"bool"},{"name":"resolvedUri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"tokenUriResolverOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"contract IJB721TokenUriResolver"}],"stateMutability":"view"},{"type":"function","name":"totalRedemptionWeight","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"weight","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_nft","type":"address","internalType":"address"}],"outputs":[{"name":"supply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"votingUnitsOf","inputs":[{"name":"_nft","type":"address","internalType":"address"},{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"units","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"CleanTiers","inputs":[{"name":"nft","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"CANT_MINT_MANUALLY","inputs":[]},{"type":"error","name":"INSUFFICIENT_AMOUNT","inputs":[]},{"type":"error","name":"INSUFFICIENT_RESERVES","inputs":[]},{"type":"error","name":"INVALID_CATEGORY_SORT_ORDER","inputs":[]},{"type":"error","name":"INVALID_QUANTITY","inputs":[]},{"type":"error","name":"INVALID_TIER","inputs":[]},{"type":"error","name":"MANUAL_MINTING_NOT_ALLOWED","inputs":[]},{"type":"error","name":"MAX_TIERS_EXCEEDED","inputs":[]},{"type":"error","name":"NO_QUANTITY","inputs":[]},{"type":"error","name":"OUT","inputs":[]},{"type":"error","name":"RESERVED_RATE_NOT_ALLOWED","inputs":[]},{"type":"error","name":"TIER_REMOVED","inputs":[]},{"type":"error","name":"VOTING_UNITS_NOT_ALLOWED","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506131c4806100206000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea264697066735822122003ce823ae89534c4ac83520a7551796dcef6da2792c75897200a5361be1b5afb64736f6c63430008170033","sourceMap":"713:49365:3:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101f05760003560e01c806386bc2be31161010f578063c44a8e6d116100a2578063d84a72c011610071578063d84a72c0146105d6578063eaa19ab314610613578063f1bea54f14610634578063f7888aec1461065457600080fd5b8063c44a8e6d1461058a578063c8df17101461059d578063cb827e32146105b0578063cf9530d0146105c357600080fd5b80639403a74f116100de5780639403a74f14610519578063baa7e80e14610539578063bd51923c1461054c578063c2c55f941461057757600080fd5b806386bc2be3146104aa5780638da5e32b146104bd578063911c80b5146104dd578063933555781461050657600080fd5b806335314b92116101875780635f646611116101565780635f6466111461036c57806364faa1591461038f5780636825bb80146103af578063845104de146103da57600080fd5b806335314b92146102e857806337f44652146102fb57806342f9914b1461032c57806349bd1ac61461033f57600080fd5b806320512ba1116101c357806320512ba1146102845780632ae5e492146102975780632b7e6ef0146102aa5780632e4d0ea8146102d557600080fd5b8063086bb19a146101f55780630fab09471461020a578063136e651c14610250578063144cc2d414610263575b600080fd5b6102086102033660046127a8565b610667565b005b6102336102183660046127a8565b600c602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61023361025e3660046127c5565b6107bf565b61027661027136600461283d565b610818565b604051908152602001610247565b610208610292366004612892565b610896565b6102766102a53660046127a8565b6108eb565b6102766102b83660046127c5565b600a60209081526000928352604080842090915290825290205481565b6102766102e33660046128d4565b610a2f565b6102766102f63660046127c5565b610ab7565b6102766103093660046128d4565b600860209081526000938452604080852082529284528284209052825290205481565b61027661033a366004612915565b610b68565b61020861034d36600461292e565b336000908152600d602090815260408083209483529390529190912055565b61037f61037a3660046127c5565b610b78565b6040519015158152602001610247565b6103a261039d366004612969565b610bb0565b6040516102479190612a99565b6102766103bd3660046127c5565b600960209081526000928352604080842090915290825290205481565b61046f6103e83660046127a8565b604080516080810182526000808252602082018190529181018290526060810191909152506001600160a01b03166000908152600360209081526040918290208251608081018452905460ff808216151583526101008204811615159383019390935262010000810483161515938201939093526301000000909204161515606082015290565b604051610247919081511515815260208083015115159082015260408083015115159082015260609182015115159181019190915260800190565b6102086104b8366004612892565b610c6a565b6104d06104cb366004612aac565b610d2b565b6040516102479190612b5e565b6102336104eb3660046127a8565b600b602052600090815260409020546001600160a01b031681565b610276610514366004612b71565b611508565b61052c610527366004612baa565b61167f565b6040516102479190612c24565b6104d061054736600461292e565b6118f7565b61027661055a3660046127c5565b600d60209081526000928352604080842090915290825290205481565b610208610585366004612c88565b611afe565b6103a2610598366004612969565b611b92565b6102766105ab3660046127c5565b611c5a565b6102086105be366004612cbf565b611c93565b6102766105d13660046127a8565b611cae565b6102086105e43660046127a8565b336000908152600c6020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b610626610621366004612cd7565b611d9f565b604051610247929190612d36565b6102766106423660046127a8565b60076020526000908152604090205481565b610276610662366004612b71565b612079565b6000610672826120e5565b90506000610681836000612126565b905060006106a2604051806040016040528060008152602001600081525090565b821561077a576106b385848361218d565b610768576106c2826001612d6e565b831461071a576001600160a01b0385166000908152602081815260408083208584529091529020548314610715576001600160a01b03851660009081526020818152604080832085845290915290208390555b610764565b6001600160a01b03851660009081526020818152604080832085845290915290205415610764576001600160a01b0385166000908152602081815260408083208584529091528120555b8291505b6107738584866121e4565b92506106a2565b6040513381526001600160a01b038616907f4a0f854ce3c180d56f3e9eb47eb064c595bf3de0ab9af45425291e5b1bb733a89060200160405180910390a25050505050565b6001600160a01b03808316600090815260016020908152604080832085845290915281205490911680156107f4579050610812565b50506001600160a01b038083166000908152600b6020526040902054165b92915050565b600081815b8181101561088d576001600160a01b03861660009081526002602052604081209061085f87878581811061085357610853612d81565b90506020020135610b68565b8152602081019190915260400160002054610883906001600160681b031684612d6e565b925060010161081d565b50509392505050565b806000805b828110156108e4578484828181106108b5576108b5612d81565b3360009081526004602090815260409091209102929092013593506108dc9190508361222f565b60010161089b565b5050505050565b6001600160a01b03811660009081526007602052604081205461090c61267c565b60005b82811015610a27576001600160a01b03851660009081526002602090815260408083206001858101855290835292819020815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c082015292506109da9086906109d4908490612d6e565b84612268565b826020015183604001516109ee9190612d97565b63ffffffff166109fe9190612d6e565b8251610a1391906001600160681b0316612dbb565b610a1d9085612d6e565b935060010161090f565b505050919050565b6001600160a01b0380841660009081526008602090815260408083209386168352928152828220848352905290812054808203610a70576000915050610ab0565b6001600160a01b0385166000908152600260209081526040808320868452909152902054610aac90600160a81b900464ffffffffff1682612dbb565b9150505b9392505050565b6001600160a01b03821660009081526002602090815260408083208484528252808320815160e08101835290546001600160681b0381168252600160681b810463ffffffff90811694830194909452600160881b810490931691810191909152600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152610ab09084908490612268565b6000610812633b9aca0083612de8565b6001600160a01b03821660009081526004602052604081208190610b9c90846123d0565b9050610ba88184612416565b949350505050565b610bb86126b8565b6001600160a01b0384166000908152600260209081526040808320868452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152610ba8908590859085612435565b806000805b828110156108e457848482818110610c8957610c89612d81565b9050602002013591506000610c9d83610b68565b336000908152600a602090815260408083208484529091528120805492935090610cc683612dfc565b909155505033600090815260026020908152604080832084845290915290208054600160681b900463ffffffff1690600d610d0083612e15565b91906101000a81548163ffffffff021916908363ffffffff1602179055505081600101915050610c6f565b33600090815260076020526040902054606090829061ffff610d4d8383612d6e565b1115610d6c57604051631bc68c8b60e11b815260040160405180910390fd5b6000610d77336120e5565b90508267ffffffffffffffff811115610d9257610d92612e38565b604051908082528060200260200182016040528015610dbb578160200160208202803683370190505b50935060008215610dd657610dd1336000612126565b610dd9565b60005b90506000610de5612729565b3360009081526003602090815260408083208151608081018352905460ff80821615158352610100820481161515948301949094526201000081048416151592820192909252630100000090910490911615156060820152905b878110156114df578a8a82818110610e5957610e59612d81565b90506101600201803603810190610e709190612ec8565b9250610e816001633b9aca00612f9b565b836020015163ffffffff161115610eab576040516349016ea360e01b815260040160405180910390fd5b610eb3612729565b8115610f21578b8b610ec6600185612f9b565b818110610ed557610ed5612d81565b90506101600201803603810190610eec9190612ec8565b90508060c0015162ffffff168460c0015162ffffff161015610f2157604051631cabebd560e21b815260040160405180910390fd5b82602001518015610f6a57508361014001518015610f485750604084015163ffffffff1615155b80610f6a5750836101400151158015610f6a575083516001600160681b031615155b15610f8857604051630189200360e11b815260040160405180910390fd5b825180610f9657508360e001515b8015610fa95750606084015161ffff1615155b15610fc75760405163a75b1cd560e01b815260040160405180910390fd5b82604001518015610fd957508360e001515b15610ff7576040516330ec637f60e01b815260040160405180910390fd5b836020015163ffffffff1660000361102257604051631e0a863160e31b815260040160405180910390fd5b600061102e838a612d6e565b611039906001612d6e565b90506040518060e0016040528086600001516001600160681b03168152602001866020015163ffffffff168152602001866020015163ffffffff168152602001866040015163ffffffff1664ffffffffff1681526020018660c0015162ffffff168152602001866060015161ffff1681526020016110d18760e0015188610120015189610140015160021b60019190911b9091171790565b60ff9081169091523360009081526002602090815260408083208684528252918290208451815492860151938601516060870151608088015160a089015160c0998a01516001600160681b0390951670ffffffffffffffffffffffffffffffffff1990971696909617600160681b63ffffffff988916021768ffffffffffffffffff60881b1916600160881b979093169690960264ffffffffff60a81b191691909117600160a81b64ffffffffff909216919091021764ffffffffff60d01b1916600160d01b62ffffff9586160261ffff60e81b191617600160e81b61ffff90941693909302929092176001600160f81b0316600160f81b92909416919091029290921790915586820151918401519181169116148015906111fb575060c085015162ffffff1615155b156112275733600090815260066020908152604080832060c089015162ffffff16845290915290208190555b60808501516001600160a01b0316156112e057846101000151156112a3576080850151336000908152600b60205260409020546001600160a01b0390811691161461129e576080850151336000908152600b6020526040902080546001600160a01b0319166001600160a01b039092169190911790555b6112e0565b6080850151336000908152600160209081526040808320858452909152902080546001600160a01b0319166001600160a01b039092169190911790555b60a08501511561130b5760a0850151336000908152600d602090815260408083208584529091529020555b86156114b7578660005b81156114b45761132633838c6121e4565b33600090815260026020908152604080832086845290915290205460c089015191925062ffffff600160d01b909104811691161180159061136757508a8211155b1561143a57611377836001612d6e565b8214611399573360009081526020818152604080832086845290915290208290555b336000908152600560205260409020548a146113c2573360009081526005602052604090208a90555b6113cd600184612f9b565b881415806113f25750336000908152602081815260408083208b845290915290205415155b1561142b57611402600184612f9b565b881461140e5782611411565b60005b336000908152602081815260408083208c84529091529020555b81985082975060009150611315565b80158061144657508a81115b156114ab57611456826001612d6e565b8314611478573360009081526020818152604080832085845290915290208390555b336000908152600560205260408120549399508993909250156114a657336000908152600560205260408120555b611315565b90965080611315565b50505b808b84815181106114ca576114ca612d81565b60209081029190910101525050600101610e3f565b506114ea8787612d6e565b33600090815260076020526040902055509598975050505050505050565b6001600160a01b0382166000908152600760205260408120548161152a61267c565b825b8015611675576001600160a01b038088166000908152600860209081526040808320938a168352928152828220848352905220549250821561160f576001600160a01b0387166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015291505b600061162f8360c001516001811615159160028216151591600416151590565b925050508061163f57825161164c565b826060015164ffffffffff165b61165f906001600160681b031685612dbb565b6116699087612d6e565b9550506000190161152c565b5050505092915050565b6060600061168c886120e5565b90508060000361169c57506118ed565b8267ffffffffffffffff8111156116b5576116b5612e38565b6040519080825280602002602001820160405280156116ee57816020015b6116db6126b8565b8152602001906001900390816116d35790505b50915060006116fb61267c565b604080518082019091526000808252602082015260005b8387146118dc57600088600003611757576117528d8c1561174b578d8d8581811061173f5761173f612d81565b90506020020135612126565b6000612126565b611759565b885b90505b801580159061176a57508785105b156118d05761177a8d828561218d565b6118be576001600160a01b038d166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c082015293508a1580159061185357508b8b8381811061184057611840612d81565b90506020020135846080015162ffffff16115b6118d0578a158061188457508b8b8381811061187157611871612d81565b90506020020135846080015162ffffff16145b156118be576118958d82868d612435565b87866118a081612dfc565b9750815181106118b2576118b2612d81565b60200260200101819052505b6118c98d82886121e4565b905061175c565b50600101898110611712575b8684146118e7578386525b50505050505b9695505050505050565b3360008181526002602090815260408083208684528252808320815160e08101835281546001600160681b0381168252600160681b810463ffffffff90811695830195909552600160881b810490941692810192909252600160a81b830464ffffffffff16606080840191909152600160d01b840462ffffff166080840152600160e81b840461ffff1660a0840152600160f81b90930460ff1660c083015291939192916119a6918790612268565b9050808411156119c95760405163226f999960e11b815260040160405180910390fd5b336000908152600960209081526040808320888452909152812080548692906119f3908490612d6e565b9091555084905067ffffffffffffffff811115611a1257611a12612e38565b604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50336000908152600a602090815260408083208984529091528120549194505b8581101561167557611ad9878386600001600d81819054906101000a900463ffffffff16611a8890612fae565b91906101000a81548163ffffffff021916908363ffffffff16021790558760000160119054906101000a900463ffffffff16611ac49190612d97565b63ffffffff16611ad49190612d6e565b612647565b858281518110611aeb57611aeb612d81565b6020908102919091010152600101611a5b565b6001600160a01b03821615611b4b573360009081526008602090815260408083206001600160a01b0386168452825280832086845290915281208054909190611b4690612fce565b909155505b6001600160a01b03811615611b8d573360009081526008602090815260408083206001600160a01b038516845282528083208684529091529020805460010190555b505050565b611b9a6126b8565b6000611ba584610b68565b6001600160a01b0386166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b8204811693830193909352600160881b81049092169281019290925264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c0820152909150610aac908690839086612435565b6001600160a01b0382166000908152600d6020526040812081611c7c84610b68565b815260200190815260200160002054905092915050565b3360009081526003602052604090208190611b8d8282612ff2565b6000611cb861267c565b6001600160a01b038316600090815260076020526040902054805b8015610a27576001600160a01b0385166000908152600260209081526040808320848452825291829020825160e08101845290546001600160681b038116825263ffffffff600160681b82048116938301849052600160881b82041693820184905264ffffffffff600160a81b820416606083015262ffffff600160d01b820416608083015261ffff600160e81b82041660a083015260ff600160f81b9091041660c08201529450611d8491612d97565b611d949063ffffffff1685612d6e565b935060001901611cd3565b606084836000808267ffffffffffffffff811115611dbf57611dbf612e38565b604051908082528060200260200182016040528015611de8578160200160208202803683370190505b509450611e08604051806040016040528060008152602001600081525090565b60005b8481101561206b57898982818110611e2557611e25612d81565b9050602002016020810190611e3a919061308f565b61ffff169250611e4b33848461218d565b15611e695760405163d32cb5c160e01b815260040160405180910390fd5b33600090815260026020908152604080832086845290915290208054909450600160f81b90046001161515888015611e9f575080155b15611ebd57604051632f792d3960e11b815260040160405180910390fd5b8454600160881b900463ffffffff16600003611eec57604051630de5859f60e01b815260040160405180910390fd5b84546001600160681b0316871015611f1757604051632cd294cf60e01b815260040160405180910390fd5b6040805160e08101825286546001600160681b0381168252600160681b810463ffffffff9081166020840152600160881b82041692820192909252600160a81b820464ffffffffff166060820152600160d01b820462ffffff166080820152600160e81b820461ffff1660a0820152600160f81b90910460ff1660c0820152611fa39033908690612268565b8554600160681b900463ffffffff1611611fd05760405163985a45d960e01b815260040160405180910390fd5b336000908152600a60209081526040808320878452909152902054855460001963ffffffff600160681b808404821692830182160263ffffffff60681b1990931692909217808955612036938893600160881b9092048216929092036001011601612647565b88838151811061204857612048612d81565b60209081029190910101525083546001600160681b031690950394600101611e0b565b505050505094509492505050565b6001600160a01b038216600090815260076020526040812054805b80156120dd576001600160a01b0380861660009081526008602090815260408083209388168352928152828220848352905220546120d29084612d6e565b925060001901612094565b505092915050565b6001600160a01b0381166000908152600560205260408120549081900361212157506001600160a01b0381166000908152600760205260409020545b919050565b60008115612157576001600160a01b038316600090815260066020908152604080832085845290915290205461217a565b6001600160a01b0383166000908152602081815260408083208380529091529020545b9050806000036108125750600192915050565b60006121998284612662565b806121b0575081511580156121b057506020820151155b156121da576001600160a01b03841660009081526004602052604090206121d790846123d0565b91505b610ba88284612416565b60008183036121f557506000610ab0565b6001600160a01b0384166000908152602081815260408083208684529091529020548015612224579050610ab0565b610aac846001612d6e565b600061223b8260081c90565b9050612249610100836130aa565b6000918252602093909352604090208054600190931b90921790915550565b60008160a0015161ffff16600014806122945750816020015163ffffffff16826040015163ffffffff16145b806122b1575060006122a685856107bf565b6001600160a01b0316145b156122be57506000610ab0565b6001600160a01b0384166000908152600960209081526040808320868452825291829020549084015191840151909163ffffffff9081169161230291849116612f9b565b03612311576000915050610ab0565b600081846020015185604001510363ffffffff1603905060008460a0015161ffff168261233e9190612de8565b905060008560a0015161ffff168361235691906130aa565b11156123685761236581612dfc565b90505b846040015163ffffffff16818660a0015161ffff16876040015161238c91906130be565b63ffffffff1661239c9190612d6e565b11156123af5750602084015163ffffffff165b808311156123c35760009350505050610ab0565b9190910395945050505050565b604080518082019091526000808252602082015260006123f08360081c90565b604080518082018252600083815260209788529190912054815294850152509192915050565b6000612424610100836130aa565b83516001911c811614905092915050565b61243d6126b8565b600061244986866107bf565b9050600080600061246e8760c001516001811615159160028216151591600416151590565b92509250925060405180610180016040528089815260200188600001516001600160681b03168152602001886020015163ffffffff168152602001886040015163ffffffff168152602001826124c55788516124d2565b886060015164ffffffffff165b6001600160681b031681526020016001600160a01b038616156124f9578860a001516124fc565b60005b61ffff1681526001600160a01b03808716602080840191909152908c166000908152600d825260408082208d835290925281902054908201526080808a015162ffffff1660608301528515159082015283151560a082015260c00187158061257c57506001600160a01b038b81166000908152600c602052604090205416155b612627576001600160a01b03808c166000908152600c602052604081205490911690635e703e71908d906125b1908e90612647565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381865afa1580156125fa573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261262291908101906130e1565b612638565b604051806020016040528060008152505b90529998505050505050505050565b600081612658633b9aca0085612dbb565b610ab09190612d6e565b600082602001516126738360081c90565b14159392505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b60405180610180016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160008152602001600015158152602001600015158152602001606081525090565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290565b6001600160a01b038116811461279a57600080fd5b50565b803561212181612785565b6000602082840312156127ba57600080fd5b8135610ab081612785565b600080604083850312156127d857600080fd5b82356127e381612785565b946020939093013593505050565b60008083601f84011261280357600080fd5b50813567ffffffffffffffff81111561281b57600080fd5b6020830191508360208260051b850101111561283657600080fd5b9250929050565b60008060006040848603121561285257600080fd5b833561285d81612785565b9250602084013567ffffffffffffffff81111561287957600080fd5b612885868287016127f1565b9497909650939450505050565b600080602083850312156128a557600080fd5b823567ffffffffffffffff8111156128bc57600080fd5b6128c8858286016127f1565b90969095509350505050565b6000806000606084860312156128e957600080fd5b83356128f481612785565b9250602084013561290481612785565b929592945050506040919091013590565b60006020828403121561292757600080fd5b5035919050565b6000806040838503121561294157600080fd5b50508035926020909101359150565b801515811461279a57600080fd5b803561212181612950565b60008060006060848603121561297e57600080fd5b833561298981612785565b92506020840135915060408401356129a081612950565b809150509250925092565b60005b838110156129c65781810151838201526020016129ae565b50506000910152565b600081518084526129e78160208601602086016129ab565b601f01601f19169290920160200192915050565b6000610180825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c0830151612a5060c08601826001600160a01b03169052565b5060e0838101519085015261010080840151908501526101208084015115159085015261014080840151151590850152610160808401518186018390526118ed838701826129cf565b602081526000610ab060208301846129fb565b60008060208385031215612abf57600080fd5b823567ffffffffffffffff80821115612ad757600080fd5b818501915085601f830112612aeb57600080fd5b813581811115612afa57600080fd5b86602061016083028501011115612b1057600080fd5b60209290920196919550909350505050565b60008151808452602080850194506020840160005b83811015612b5357815187529582019590820190600101612b37565b509495945050505050565b602081526000610ab06020830184612b22565b60008060408385031215612b8457600080fd5b8235612b8f81612785565b91506020830135612b9f81612785565b809150509250929050565b60008060008060008060a08789031215612bc357600080fd5b8635612bce81612785565b9550602087013567ffffffffffffffff811115612bea57600080fd5b612bf689828a016127f1565b9096509450506040870135612c0a81612950565b959894975092956060810135946080909101359350915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015612c7b57603f19888603018452612c698583516129fb565b94509285019290850190600101612c4d565b5092979650505050505050565b600080600060608486031215612c9d57600080fd5b833592506020840135612caf81612785565b915060408401356129a081612785565b600060808284031215612cd157600080fd5b50919050565b60008060008060608587031215612ced57600080fd5b84359350602085013567ffffffffffffffff811115612d0b57600080fd5b612d17878288016127f1565b9094509250506040850135612d2b81612950565b939692955090935050565b604081526000612d496040830185612b22565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561081257610812612d58565b634e487b7160e01b600052603260045260246000fd5b63ffffffff828116828216039080821115612db457612db4612d58565b5092915050565b808202811582820484141761081257610812612d58565b634e487b7160e01b600052601260045260246000fd5b600082612df757612df7612dd2565b500490565b600060018201612e0e57612e0e612d58565b5060010190565b600063ffffffff808316818103612e2e57612e2e612d58565b6001019392505050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715612e7257612e72612e38565b60405290565b80356001600160681b038116811461212157600080fd5b803563ffffffff8116811461212157600080fd5b803561ffff8116811461212157600080fd5b803562ffffff8116811461212157600080fd5b60006101608284031215612edb57600080fd5b612ee3612e4e565b612eec83612e78565b8152612efa60208401612e8f565b6020820152612f0b60408401612e8f565b6040820152612f1c60608401612ea3565b6060820152612f2d6080840161279d565b608082015260a083013560a0820152612f4860c08401612eb5565b60c0820152612f5960e0840161295e565b60e0820152610100612f6c81850161295e565b90820152610120612f7e84820161295e565b90820152610140612f9084820161295e565b908201529392505050565b8181038181111561081257610812612d58565b600063ffffffff821680612fc457612fc4612d58565b6000190192915050565b600081612fdd57612fdd612d58565b506000190190565b6000813561081281612950565b8135612ffd81612950565b815460ff19811691151560ff169182178355602084013561301d81612950565b61ff0090151560081b1661ffff198216831781178455604085013561304181612950565b62ff000081151560101b168462ffffff1985161783171785555050505061308b61306d60608401612fe5565b82805463ff000000191691151560181b63ff00000016919091179055565b5050565b6000602082840312156130a157600080fd5b610ab082612ea3565b6000826130b9576130b9612dd2565b500690565b600063ffffffff808416806130d5576130d5612dd2565b92169190910692915050565b6000602082840312156130f357600080fd5b815167ffffffffffffffff8082111561310b57600080fd5b818401915084601f83011261311f57600080fd5b81518181111561313157613131612e38565b604051601f8201601f19908116603f0116810190838211818310171561315957613159612e38565b8160405282815287602084870101111561317257600080fd5b6131838360208301602088016129ab565b97965050505050505056fea264697066735822122003ce823ae89534c4ac83520a7551796dcef6da2792c75897200a5361be1b5afb64736f6c63430008170033","sourceMap":"713:49365:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39030:1667;;;;;;:::i;:::-;;:::i;:::-;;6752:77;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;6752:77:3;;;;;;-1:-1:-1;;;;;737:32:197;;;719:51;;707:2;692:18;6752:77:3;;;;;;;;21127:543;;;;;;:::i;:::-;;:::i;18671:545::-;;;;;;:::i;:::-;;:::i;:::-;;;2513:25:197;;;2501:2;2486:18;18671:545:3;2367:177:197;33648:607:3;;;;;;:::i;:::-;;:::i;19421:977::-;;;;;;:::i;:::-;;:::i;6208:81::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;15570:456;;;;;;:::i;:::-;;:::i;13493:260::-;;;;;;:::i;:::-;;:::i;5437:97::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20678:127;;;;;;:::i;:::-;;:::i;38534:167::-;;;;;;:::i;:::-;38656:10;38639:28;;;;:16;:28;;;;;;;;:37;;;;;;;;;;:55;38534:167;17053:243;;;;;;:::i;:::-;;:::i;:::-;;;4151:14:197;;4144:22;4126:41;;4114:2;4099:18;17053:243:3;3986:187:197;11247:247:3;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5830:89::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;16651:126;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16756:14:3;;;;;:8;:14;;;;;;;;;16749:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16651:126;;;;;;;7028:13:197;;7021:21;7014:29;6996:48;;7114:4;7102:17;;;7096:24;7089:32;7082:40;7060:20;;;7053:70;7193:4;7181:17;;;7175:24;7168:32;7161:40;7139:20;;;7132:70;7272:4;7260:17;;;7254:24;7247:32;7240:40;7218:20;;;7211:70;;;;6983:3;6968:19;;6779:508;37321:784:3;;;;;;:::i;:::-;;:::i;22036:9024::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6500:77::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;6500:77:3;;;14128:1051;;;;;;:::i;:::-;;:::i;8118:2791::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;31342:1337::-;;;;;;:::i;:::-;;:::i;7243:80::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;32929:612;;;;;;:::i;:::-;;:::i;11842:365::-;;;;;;:::i;:::-;;:::i;16317:174::-;;;;;;:::i;:::-;;:::i;38775:119::-;;;;;;:::i;:::-;;:::i;12440:683::-;;;;;;:::i;:::-;;:::i;38202:146::-;;;;;;:::i;:::-;38318:10;38299:30;;;;:18;:30;;;;;:42;;-1:-1:-1;;;;;;38299:42:3;-1:-1:-1;;;;;38299:42:3;;;;;;;;;;38202:146;34713:2504;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;5057:55::-;;;;;;:::i;:::-;;;;;;;;;;;;;;17842:491;;;;;;:::i;:::-;;:::i;39030:1667::-;39141:25;39169;39189:4;39169:19;:25::i;:::-;39141:53;;39302:28;39333:29;39354:4;39360:1;39333:20;:29::i;:::-;39302:60;;39432:17;39510:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;39510:31:3;39593:25;;39586:1061;;39639:66;39665:4;39671:20;39693:11;39639:25;:66::i;:::-;39634:856;;39887:13;:9;39899:1;39887:13;:::i;:::-;39863:20;:37;39859:495;;-1:-1:-1;;;;;39928:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;;:53;;39924:160;;-1:-1:-1;;;;;40009:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;:52;;;39924:160;39859:495;;;-1:-1:-1;;;;;40244:18:3;;:12;:18;;;;;;;;;;;:29;;;;;;;;;:34;40240:114;;-1:-1:-1;;;;;40302:18:3;;40334:1;40302:18;;;;;;;;;;;:29;;;;;;;;:33;40240:114;40455:20;40443:32;;39634:856;40570:66;40590:4;40596:20;40618:17;40570:19;:66::i;:::-;40547:89;;39586:1061;;;40662:28;;40679:10;719:51:197;;-1:-1:-1;;;;;40662:28:3;;;;;707:2:197;692:18;40662:28:3;;;;;;;39082:1615;;;;39030:1667;:::o;21127:543::-;-1:-1:-1;;;;;21345:33:3;;;21224:7;21345:33;;;:27;:33;;;;;;;;:42;;;;;;;;;21224:7;;21345:42;21454:51;;21450:126;;21528:37;-1:-1:-1;21521:44:3;;21450:126;-1:-1:-1;;;;;;;21624:39:3;;;;;;;:33;:39;;;;;;;21127:543;;;;;:::o;18671:545::-;18805:14;18921:9;18805:14;19017:193;19039:17;19034:2;:22;19017:193;;;-1:-1:-1;;;;;19083:19:3;;;;;;:13;:19;;;;;;19103:28;19117:9;;19127:2;19117:13;;;;;;;:::i;:::-;;;;;;;19103;:28::i;:::-;19083:49;;;;;;;;;;;-1:-1:-1;19083:49:3;:55;19073:65;;-1:-1:-1;;;;;19083:55:3;19073:65;;:::i;:::-;;-1:-1:-1;19181:4:3;;19017:193;;;;18825:391;18671:545;;;;;:::o;33648:607::-;33819:8;33799:17;;33935:314;33957:9;33952:2;:14;33935:314;;;34054:8;;34063:2;34054:12;;;;;;;:::i;:::-;34146:10;34121:36;;;;:24;34054:12;34121:36;;;;;;;34054:12;;;;;;;;-1:-1:-1;34121:56:3;;:36;-1:-1:-1;34054:12:3;34121:47;:56::i;:::-;34220:4;;33935:314;;;;33724:531;;33648:607;;:::o;19421:977::-;-1:-1:-1;;;;;19596:17:3;;19496:14;19596:17;;;:11;:17;;;;;;19685:34;;:::i;:::-;19804:10;19799:593;19821:10;19816:2;:15;19799:593;;;-1:-1:-1;;;;;19942:19:3;;;;;;:13;:19;;;;;;;;19967:1;19962:6;;;19942:27;;;;;;;;;19928:41;;;;;;;;;-1:-1:-1;;;;;19928:41:3;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;-1:-1:-1;;;19928:41:3;;;;;;;;;;-1:-1:-1;20238:64:3;;19942:19;;20282:6;;19962;;20282;:::i;:::-;20290:11;20238:37;:64::i;:::-;20181:11;:29;;;20151:11;:27;;;:59;;;;:::i;:::-;20150:152;;;;;;:::i;:::-;20092:17;;:228;;;-1:-1:-1;;;;;20092:228:3;;:::i;:::-;20082:238;;;;:::i;:::-;;-1:-1:-1;20363:4:3;;19799:593;;;;19512:886;;19421:977;;;:::o;15570:456::-;-1:-1:-1;;;;;15834:19:3;;;15726:7;15834:19;;;:13;:19;;;;;;;;:29;;;;;;;;;;;:38;;;;;;;;;15887:13;;;15883:27;;15909:1;15902:8;;;;;15883:27;-1:-1:-1;;;;;15979:19:3;;;;;;:13;:19;;;;;;;;:28;;;;;;;;:40;15968:51;;-1:-1:-1;;;15979:40:3;;;;15968:8;:51;:::i;:::-;15961:58;;;15570:456;;;;;;:::o;13493:260::-;-1:-1:-1;;;;;13717:19:3;;13634:7;13717:19;;;:13;:19;;;;;;;;:28;;;;;;;;13664:82;;;;;;;;;-1:-1:-1;;;;;13664:82:3;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;-1:-1:-1;;;13664:82:3;;;;;;;;;;;13717:19;;:28;;13664:37;:82::i;20678:127::-;20749:7;20775:23;1892:13;20775:8;:23;:::i;17053:243::-;-1:-1:-1;;;;;17189:30:3;;17139:4;17189:30;;;:24;:30;;;;;17139:4;;17189:46;;17227:7;17189:37;:46::i;:::-;17155:80;-1:-1:-1;17253:36:3;17155:80;17281:7;17253:27;:36::i;:::-;17246:43;17053:243;-1:-1:-1;;;;17053:243:3:o;11247:247::-;11378:16;;:::i;:::-;-1:-1:-1;;;;;11441:19:3;;;;;;:13;:19;;;;;;;;:24;;;;;;;;;11417:70;;;;;;;;;-1:-1:-1;;;;;11417:70:3;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;-1:-1:-1;;;11417:70:3;;;;;;;;;;11430:4;;11436:3;;11467:19;11417:12;:70::i;37321:784::-;37491:9;37463:25;;37675:424;37697:17;37692:2;:22;37675:424;;;37777:9;;37787:2;37777:13;;;;;;;:::i;:::-;;;;;;;37766:24;;37805:15;37823:23;37837:8;37823:13;:23::i;:::-;37936:10;37918:29;;;;:17;:29;;;;;;;;:38;;;;;;;;:40;;37805:41;;-1:-1:-1;37918:38:3;:40;;;:::i;:::-;;;;-1:-1:-1;;37987:10:3;37973:25;;;;:13;:25;;;;;;;;:34;;;;;;;;:54;;-1:-1:-1;;;37973:54:3;;;;;:52;:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;38070:4;;;;;37717:382;37675:424;;22036:9024;22398:10;22246:25;22386:23;;;:11;:23;;;;;;22151:24;;22274:11;;22532:16;22490:39;22274:11;22386:23;22490:39;:::i;:::-;:58;22486:91;;;22557:20;;-1:-1:-1;;;22557:20:3;;;;;;;;;;;22486:91;22652:32;22687:31;22707:10;22687:19;:31::i;:::-;22652:66;;22813:17;22799:32;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22799:32:3;-1:-1:-1;22789:42:3;-1:-1:-1;22999:26:3;23028:24;;:66;;23059:35;23080:10;23092:1;23059:20;:35::i;:::-;23028:66;;;23055:1;23028:66;22999:95;;23152:17;23241:33;;:::i;:::-;23369:10;23327:30;23360:20;;;:8;:20;;;;;;;;23327:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23391:7587;23413:17;23408:2;:22;23391:7587;;;23509:11;;23521:2;23509:15;;;;;;;:::i;:::-;;;;;;23496:28;;;;;;;;;;:::i;:::-;;-1:-1:-1;23618:16:3;23633:1;1892:13;23618:16;:::i;:::-;23589:10;:26;;;:45;;;23585:76;;;23643:18;;-1:-1:-1;;;23643:18:3;;;;;;;;;;;23585:76;23730:36;;:::i;:::-;23888:7;;23884:291;;23990:11;;24002:6;24007:1;24002:2;:6;:::i;:::-;23990:19;;;;;;;:::i;:::-;;;;;;23974:35;;;;;;;;;;:::i;:::-;;;24100:13;:22;;;24078:44;;:10;:19;;;:44;;;24074:86;;;24131:29;;-1:-1:-1;;;24131:29:3;;;;;;;;;;;24074:86;24289:6;:28;;;:243;;;;;24368:10;:25;;;:56;;;;-1:-1:-1;24397:22:3;;;;:27;;;;24368:56;24367:143;;;;24459:10;:25;;;24458:26;:51;;;;-1:-1:-1;24488:16:3;;-1:-1:-1;;;;;24488:21:3;;;24458:51;24268:345;;;24572:26;;-1:-1:-1;;;24572:26:3;;;;;;;;;;;24268:345;24745:31;;;:61;;;24780:10;:26;;;24745:61;24744:95;;;;-1:-1:-1;24811:23:3;;;;:28;;;;24744:95;24740:168;;;24866:27;;-1:-1:-1;;;24866:27:3;;;;;;;;;;;24740:168;24993:6;:31;;;:61;;;;;25028:10;:26;;;24993:61;24989:135;;;25081:28;;-1:-1:-1;;;25081:28:3;;;;;;;;;;;24989:135;25191:10;:26;;;:31;;25221:1;25191:31;25187:57;;25231:13;;-1:-1:-1;;;25231:13:3;;;;;;;;;;;25187:57;25306:15;25324:24;25346:2;25324:19;:24;:::i;:::-;:28;;25351:1;25324:28;:::i;:::-;25306:46;;25455:526;;;;;;;;25504:10;:16;;;-1:-1:-1;;;;;25455:526:3;;;;;25565:10;:26;;;25455:526;;;;;;25634:10;:26;;;25455:526;;;;;;25699:10;:22;;;25692:30;;25455:526;;;;;;25820:10;:19;;;25455:526;;;;;;25761:10;:23;;;25455:526;;;;;;25871:95;25882:10;:26;;;25910:10;:28;;;25940:10;:25;;;49285:3;49281:25;49220:3;49216:28;;;;49213:41;;;49278:38;;48960:372;25871:95;25455:526;;;;;;;25432:10;25418:25;;;;:13;:25;;;;;;;;:34;;;;;;;;;:563;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25418:563:3;;;-1:-1:-1;;25418:563:3;;;;;;;-1:-1:-1;;;25418:563:3;;;;;;-1:-1:-1;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;;;;-1:-1:-1;;;;25418:563:3;;;;;-1:-1:-1;;;25418:563:3;;;;;;;;;-1:-1:-1;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;-1:-1:-1;;;;25418:563:3;;-1:-1:-1;;;25418:563:3;;;;;;;;;;;;-1:-1:-1;;;;;25418:563:3;-1:-1:-1;;;25418:563:3;;;;;;;;;;;;;;;26218:19;;;;26192:22;;;;:45;;;;;;;;;:73;;-1:-1:-1;26241:19:3;;;;:24;;;;26192:73;26188:180;;;26311:10;26285:37;;;;:25;:37;;;;;;;;26323:19;;;;26285:58;;;;;;;;;:68;;;26188:180;26447:35;;;;-1:-1:-1;;;;;26447:49:3;;26443:541;;26520:10;:53;;;26516:454;;;26650:35;;;;26635:10;26601:45;;;;:33;:45;;;;;;-1:-1:-1;;;;;26601:45:3;;;:84;;;26597:222;;26761:35;;;;26747:10;26713:45;;;;:33;:45;;;;;:83;;-1:-1:-1;;;;;;26713:83:3;-1:-1:-1;;;;;26713:83:3;;;;;;;;;26597:222;26516:454;;;26916:35;;;;26893:10;26865:39;;;;:27;:39;;;;;;;;:48;;;;;;;;:86;;-1:-1:-1;;;;;;26865:86:3;-1:-1:-1;;;;;26865:86:3;;;;;;;;;26516:454;27051:25;;;;:39;27047:143;;27150:25;;;;27127:10;27110:28;;;;:16;:28;;;;;;;;:37;;;;;;;;:65;27047:143;27208:23;;27204:3613;;27335:18;27304:28;27475:3328;27482:25;;27475:3328;;27584:79;27604:10;27616:20;27638:24;27584:19;:79::i;:::-;27919:10;27905:25;;;;:13;:25;;;;;;;;:47;;;;;;;;:56;27882:19;;;;27576:87;;-1:-1:-1;27905:56:3;-1:-1:-1;;;27905:56:3;;;;;27882:79;;;;;;:154;;;28017:19;27993:20;:43;;27882:154;27853:2932;;;28220:11;:7;28230:1;28220:11;:::i;:::-;28196:20;:35;28192:154;;28276:10;28263:12;:24;;;;;;;;;;;:33;;;;;;;;:56;;;28192:154;28534:10;28509:36;;;;:24;:36;;;;;;:64;;28505:190;;28630:10;28605:36;;;;:24;:36;;;;;:63;;;28505:190;28854:11;28864:1;28854:7;:11;:::i;:::-;28841:9;:24;;:68;;;-1:-1:-1;28882:10:3;28869:12;:24;;;;;;;;;;;:35;;;;;;;;;:40;;28841:68;28837:353;;;29138:11;29148:1;29138:7;:11;:::i;:::-;29125:9;:24;:38;;29156:7;29125:38;;;29152:1;29125:38;29100:10;29087:12;:24;;;;;;;;;;;:35;;;;;;;;:76;28837:353;29326:20;29305:41;;29479:7;29467:19;;29609:1;29586:24;;27475:3328;;27853:2932;29757:10;;;:41;;;29779:19;29771:5;:27;29757:41;29753:1032;;;29841:24;:20;29864:1;29841:24;:::i;:::-;29830:7;:35;29826:154;;29910:10;29897:12;:24;;;;;;;;;;;:46;;;;;;;;:56;;;29826:154;30360:10;30211:1;30335:36;;;:24;:36;;;;;;30116:7;;-1:-1:-1;30116:7:3;;30211:1;;-1:-1:-1;30335:41:3;30331:87;;30403:10;30417:1;30378:36;;;:24;:36;;;;;:40;30331:87;27475:3328;;29753:1032;30636:20;;-1:-1:-1;30757:5:3;27475:3328;;;27233:3584;;27204:3613;30899:7;30885;30893:2;30885:11;;;;;;;;:::i;:::-;;;;;;;;;;:21;-1:-1:-1;;30949:4:3;;23391:7587;;;-1:-1:-1;31014:39:3;31036:17;31014:19;:39;:::i;:::-;31000:10;30988:23;;;;:11;:23;;;;;:65;-1:-1:-1;22036:9024:3;;;-1:-1:-1;;;;;;;;22036:9024:3:o;14128:1051::-;-1:-1:-1;;;;;14322:17:3;;14223:13;14322:17;;;:11;:17;;;;;;14223:13;14489:34;;:::i;:::-;14587:10;14569:604;14599:7;;14569:604;;-1:-1:-1;;;;;14704:19:3;;;;;;;:13;:19;;;;;;;;:29;;;;;;;;;;;:33;;;;;;;;-1:-1:-1;14756:13:3;;14752:56;;-1:-1:-1;;;;;14785:19:3;;;;;;:13;:19;;;;;;;;:23;;;;;;;;;14771:37;;;;;;;;;-1:-1:-1;;;;;14771:37:3;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;-1:-1:-1;;;14771:37:3;;;;;;;;;-1:-1:-1;14752:56:3;14827:20;14851:37;14864:11;:23;;;49912:3;49908:17;;49901:25;49894:33;;49980:3;49976:17;;49969:25;49962:33;;50045:3;50041:17;50034:25;50027:33;;49683:393;14851:37;14823:65;;;;15039:15;:61;;15083:17;;15039:61;;;15057:11;:23;;;15039:61;;;15027:74;;-1:-1:-1;;;;;15027:74:3;:8;:74;:::i;:::-;15018:83;;;;:::i;:::-;;-1:-1:-1;;;;15144:4:3;14569:604;;;;14238:941;;;14128:1051;;;;:::o;8118:2791::-;8321:25;8407:19;8429:25;8449:4;8429:19;:25::i;:::-;8407:47;;8525:11;8540:1;8525:16;8521:35;;8543:13;;;8521:35;8652:5;8636:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;8627:31;;8716:30;8818:34;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;9031:10:3;9086:1595;9160:42;;;9197:5;9160:42;9349:28;9380:11;9395:1;9380:16;:138;;9445:73;9466:4;9472:23;;:45;;9502:11;;9514:2;9502:15;;;;;;;:::i;:::-;;;;;;;9445:20;:73::i;9472:45::-;9498:1;9445:20;:73::i;:::-;9380:138;;;9415:11;9380:138;9349:169;;9571:1006;9578:25;;;;;:59;;;9632:5;9607:22;:30;9578:59;9571:1006;;;9662:66;9688:4;9694:20;9716:11;9662:25;:66::i;:::-;9657:757;;-1:-1:-1;;;;;9766:19:3;;;;;;:13;:19;;;;;;;;:41;;;;;;;;;9752:55;;;;;;;;;-1:-1:-1;;;;;9752:55:3;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;-1:-1:-1;;;9752:55:3;;;;;;;;;-1:-1:-1;9834:23:3;;;;;:65;;;9884:11;;9896:2;9884:15;;;;;;;:::i;:::-;;;;;;;9861:11;:20;;;:38;;;9834:65;9927:5;9830:566;10073:23;;;:66;;;10124:11;;10136:2;10124:15;;;;;;;:::i;:::-;;;;;;;10100:11;:20;;;:39;;;10073:66;10069:327;;;10299:74;10312:4;10318:20;10340:11;10353:19;10299:12;:74::i;:::-;10236:6;10243:24;;;;:::i;:::-;;;10236:32;;;;;;;;:::i;:::-;;;;;;:137;;;;10069:327;10502:60;10522:4;10528:20;10550:11;10502:19;:60::i;:::-;10479:83;;9571:1006;;;-1:-1:-1;10619:4:3;;10656:23;;;9086:1595;;;10777:5;10751:22;:31;10747:156;;10856:22;10848:6;10841:38;10747:156;8348:2561;;;;;8118:2791;;;;;;;;;:::o;31342:1337::-;31590:10;31538:35;31576:25;;;:13;:25;;;;;;;;:34;;;;;;;;31761:71;;;;;;;;;-1:-1:-1;;;;;31761:71:3;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;;;;-1:-1:-1;;;31761:71:3;;;;31457:25;31761:71;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;-1:-1:-1;;;31761:71:3;;;;;;;;;31457:25;;31576:34;;31538:35;31761:71;;31576:34;;31761:37;:71::i;:::-;31704:128;;31907:34;31898:6;:43;31894:79;;;31950:23;;-1:-1:-1;;;31950:23:3;;;;;;;;;;;31894:79;32069:10;32043:37;;;;:25;:37;;;;;;;;:46;;;;;;;;:56;;32093:6;;32043:37;:56;;32093:6;;32043:56;:::i;:::-;;;;-1:-1:-1;32195:6:3;;-1:-1:-1;32181:21:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;32181:21:3;-1:-1:-1;32330:10:3;32278:31;32312:29;;;:17;:29;;;;;;;;:38;;;;;;;;;32170:32;;-1:-1:-1;32361:312:3;32383:6;32378:2;:11;32361:312;;;32457:144;32491:7;32564:23;32532:11;:29;;;32530:31;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;32500:11;:27;;;;;;;;;;;;:61;;;;:::i;:::-;:87;;;;;;:::i;:::-;32457:16;:144::i;:::-;32442:8;32451:2;32442:12;;;;;;;;:::i;:::-;;;;;;;;;;:159;32644:4;;32361:312;;32929:612;-1:-1:-1;;;;;33127:19:3;;;33123:150;;33235:10;33221:25;;;;:13;:25;;;;;;;;-1:-1:-1;;;;;33221:32:3;;;;;;;;;:41;;;;;;;;33219:43;;33221:41;;:25;33219:43;;;:::i;:::-;;;;-1:-1:-1;33123:150:3;-1:-1:-1;;;;;33342:17:3;;;33338:197;;33485:10;33471:25;;;;:13;:25;;;;;;;;-1:-1:-1;;;;;33471:30:3;;;;;;;;;:39;;;;;;;;33469:41;;;;;;33338:197;32929:612;;;:::o;11842:365::-;11987:16;;:::i;:::-;12064:15;12082:23;12096:8;12082:13;:23::i;:::-;-1:-1:-1;;;;;12150:19:3;;;;;;:13;:19;;;;;;;;:28;;;;;;;;;12122:78;;;;;;;;;-1:-1:-1;;;;;12122:78:3;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;-1:-1:-1;;;12122:78:3;;;;;;;;12064:41;;-1:-1:-1;12122:78:3;;12135:4;;12064:41;;12180:19;12122:12;:78::i;16317:174::-;-1:-1:-1;;;;;16437:22:3;;16411:7;16437:22;;;:16;:22;;;;;16411:7;16460:23;16474:8;16460:13;:23::i;:::-;16437:47;;;;;;;;;;;;16430:54;;16317:174;;;;:::o;38775:119::-;38867:10;38858:20;;;;:8;:20;;;;;38881:6;;38858:29;38881:6;38858:20;:29;:::i;12440:683::-;12509:14;12594:34;;:::i;:::-;-1:-1:-1;;;;;12713:17:3;;12692:18;12713:17;;;:11;:17;;;;;;;12741:376;12771:7;;12741:376;;-1:-1:-1;;;;;12856:19:3;;;;;;:13;:19;;;;;;;;:23;;;;;;;;;12842:37;;;;;;;;;-1:-1:-1;;;;;12842:37:3;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;-1:-1:-1;;;12842:37:3;;;;;;;;;-1:-1:-1;12986:59:3;;;:::i;:::-;12976:69;;;;;;:::i;:::-;;-1:-1:-1;;;13088:4:3;12741:376;;34713:2504;34849:25;34989:7;35083:8;34876:22;;35083:8;35373:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35373:29:3;;35362:40;;35463:31;-1:-1:-1;;;;;;;;;;;;;;;;;;;35463:31:3;35510:10;35505:1706;35527:14;35522:2;:19;35505:1706;;;35618:8;;35627:2;35618:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;35608:22;;;;35704:59;35730:10;35742:7;35751:11;35704:25;:59::i;:::-;35700:86;;;35772:14;;-1:-1:-1;;;35772:14:3;;;;;;;;;;;35700:86;35892:10;35878:25;;;;:13;:25;;;;;;;;:34;;;;;;;;35968:23;;35878:34;;-1:-1:-1;;;;35968:23:3;;49912:3;49908:17;49901:25;49894:33;36089:13;:34;;;;;36107:16;36106:17;36089:34;36085:67;;;36132:20;;-1:-1:-1;;;36132:20:3;;;;;;;;;;;36085:67;36222:27;;-1:-1:-1;;;36222:27:3;;;;;:32;36218:59;;36263:14;;-1:-1:-1;;;36263:14:3;;;;;;;;;;;36218:59;36369:17;;-1:-1:-1;;;;;36369:17:3;:34;-1:-1:-1;36365:68:3;;;36412:21;;-1:-1:-1;;;36412:21:3;;;;;;;;;;;36365:68;36561:71;;;;;;;;;;-1:-1:-1;;;;;36561:71:3;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;-1:-1:-1;;;36561:71:3;;;;;;;;;;;36599:10;;36611:7;;36561:37;:71::i;:::-;36528:29;;-1:-1:-1;;;36528:29:3;;;;:104;36507:152;;36654:5;;-1:-1:-1;;;36654:5:3;;;;;;;;;;;36507:152;36975:10;36957:29;;;;:17;:29;;;;;;;;:38;;;;;;;;;36899:31;;-1:-1:-1;;36899:31:3;-1:-1:-1;;;36899:31:3;;;;;;;;;;;-1:-1:-1;;;;36899:31:3;;;;;;;;;;36802:211;;36840:7;;-1:-1:-1;;;36869:27:3;;;;;:61;;;;36899:31;36869:61;:126;;36802:16;:211::i;:::-;36787:8;36796:2;36787:12;;;;;;;;:::i;:::-;;;;;;;;;;:226;-1:-1:-1;37147:17:3;;-1:-1:-1;;;;;37147:17:3;37130:34;;;;37147:17;37182:4;35505:1706;;;;34904:2313;;;;34713:2504;;;;;;;:::o;17842:491::-;-1:-1:-1;;;;;18022:17:3;;17921:15;18022:17;;;:11;:17;;;;;;;18085:242;18115:7;;18085:242;;-1:-1:-1;;;;;18224:19:3;;;;;;;:13;:19;;;;;;;;:27;;;;;;;;;;;:31;;;;;;;18213:42;;;;:::i;:::-;;-1:-1:-1;;;18298:4:3;18085:242;;;;17938:395;17842:491;;;;:::o;48380:233::-;-1:-1:-1;;;;;48473:30:3;;48446:10;48473:30;;;:24;:30;;;;;;;48575:7;;;48571:35;;-1:-1:-1;;;;;;48589:17:3;;;;;;:11;:17;;;;;;48571:35;48380:233;;;:::o;47912:295::-;47998:10;48025:14;;:83;;-1:-1:-1;;;;;48066:31:3;;;;;;:25;:31;;;;;;;;:42;;;;;;;;;48025:83;;;-1:-1:-1;;;;;48042:18:3;;:12;:18;;;;;;;;;;;:21;;;;;;;;;48025:83;48020:88;;48185:2;48191:1;48185:7;48181:19;;-1:-1:-1;48199:1:3;47912:295;;;;:::o;43100:521::-;43246:4;43359:40;:11;43391:7;43359:31;:40::i;:::-;:107;;;-1:-1:-1;43404:23:3;;:28;:61;;;;-1:-1:-1;43436:24:3;;;;:29;43404:61;43355:206;;;-1:-1:-1;;;;;43504:30:3;;;;;;:24;:30;;;;;:46;;43542:7;43504:37;:46::i;:::-;43490:60;;43355:206;43578:36;:11;43606:7;43578:27;:36::i;47080:455::-;47173:7;47253:4;47246:3;:11;47242:25;;-1:-1:-1;47266:1:3;47259:8;;47242:25;-1:-1:-1;;;;;47385:18:3;;47363:19;47385:18;;;;;;;;;;;:23;;;;;;;;;47423:16;;47419:40;;47448:11;-1:-1:-1;47441:18:3;;47419:40;47521:7;:3;47527:1;47521:7;:::i;1381:197:28:-;1478:14;1495:22;1510:6;2061:1;2051:11;;1962:121;1495:22;1478:39;-1:-1:-1;1557:12:28;1566:3;1557:6;:12;:::i;:::-;1527;;;;;;;;;;;;:44;;1551:1;:19;;;1527:44;;;;;;-1:-1:-1;1381:197:28:o;44081:2306:3:-;44242:7;44367:11;:24;;;:29;;44395:1;44367:29;:93;;;;44431:11;:29;;;44400:60;;:11;:27;;;:60;;;44367:93;:168;;;-1:-1:-1;44533:1:3;44480:41;44507:4;44513:7;44480:26;:41::i;:::-;-1:-1:-1;;;;;44480:55:3;;44367:168;44350:205;;;-1:-1:-1;44554:1:3;44547:8;;44350:205;-1:-1:-1;;;;;44666:31:3;;44635:28;44666:31;;;:25;:31;;;;;;;;:40;;;;;;;;;;44870:29;;;;44816:27;;;;44666:40;;44816:83;;;;;:50;;44666:40;;44816:50;;:::i;:::-;:83;44812:122;;44922:1;44915:8;;;;;44812:122;45136:34;45311:20;45279:11;:29;;;45249:11;:27;;;:59;:82;;;45204:127;;45476:37;45545:11;:24;;;45516:53;;:26;:53;;;;:::i;:::-;45476:93;;45661:1;45634:11;:24;;;45605:53;;:26;:53;;;;:::i;:::-;:57;45601:94;;;45664:31;;;:::i;:::-;;;45601:94;45874:11;:27;;;45783:118;;45842:29;45814:11;:24;;;45784:54;;:11;:27;;;:54;;;;:::i;:::-;45783:88;;;;;;:::i;:::-;:118;45779:211;;;-1:-1:-1;45949:29:3;;;;45917:61;;45779:211;46145:29;46122:20;:52;46118:66;;;46183:1;46176:8;;;;;;;46118:66;46318:52;;;;;44081:2306;-1:-1:-1;;;;;44081:2306:3:o;338:283:28:-;-1:-1:-1;;;;;;;;;;;;;;;;;494:14:28;511:22;526:6;2061:1;2051:11;;1962:121;511:22;551:63;;;;;;;;-1:-1:-1;578:12:28;;;;;;;;;;;;551:63;;;;;;-1:-1:-1;551:63:28;;338:283;-1:-1:-1;;338:283:28:o;728:165::-;818:4;863:12;872:3;863:6;:12;:::i;:::-;842:16;;880:1;842:34;;841:40;;:45;;-1:-1:-1;728:165:28;;;;:::o;41335:1416:3:-;41497:16;;:::i;:::-;41591:33;41627:41;41654:4;41660:7;41627:26;:41::i;:::-;41591:77;;41680:21;41703:23;41728:20;41752:37;41765:11;:23;;;49912:3;49908:17;;49901:25;49894:33;;49980:3;49976:17;;49969:25;49962:33;;50045:3;50041:17;50034:25;50027:33;;49683:393;41752:37;41679:110;;;;;;41807:937;;;;;;;;41835:7;41807:937;;;;41863:11;:17;;;-1:-1:-1;;;;;41807:937:3;;;;;41913:11;:29;;;41807:937;;;;;;41973:11;:27;;;41807:937;;;;;;42027:15;:61;;42071:17;;42027:61;;;42045:11;:23;;;42027:61;;;-1:-1:-1;;;;;41807:937:3;;;;;-1:-1:-1;;;;;42171:39:3;;;:70;;42217:11;:24;;;42171:70;;;42213:1;42171:70;41807:937;;;;-1:-1:-1;;;;;41807:937:3;;;;;;;;;;;42336:22;;;-1:-1:-1;42336:22:3;;;:16;:22;;41807:937;42336:22;;;:31;;;;;;;;;;41807:937;;;;42391:20;;;;;41807:937;;;;;;;;;;;;;;;;;;;;;;42536:20;;;:86;;-1:-1:-1;;;;;;42560:24:3;;;42619:1;42560:24;;;:18;:24;;;;;;;:62;42536:86;:197;;-1:-1:-1;;;;;42662:24:3;;;;;;;:18;:24;;;;;;;;;;:35;;42681:4;;42704:28;;42721:7;;42704:16;:28::i;:::-;42662:71;;-1:-1:-1;;;;;;42662:71:3;;;;;;;-1:-1:-1;;;;;19019:32:197;;;42662:71:3;;;19001:51:197;19068:18;;;19061:34;18974:18;;42662:71:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;42662:71:3;;;;;;;;;;;;:::i;:::-;42536:197;;;;;;;;;;;;;;;;41807:937;;41800:944;41335:1416;-1:-1:-1;;;;;;;;;41335:1416:3:o;46648:160::-;46736:7;46789:12;46763:22;1892:13;46763:7;:22;:::i;:::-;46762:39;;;;:::i;1693:167:28:-;1787:4;1836;:17;;;1810:22;1825:6;2061:1;2051:11;;1962:121;1810:22;:43;;;1693:167;-1:-1:-1;;;1693:167:28:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:131:197:-;-1:-1:-1;;;;;89:31:197;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:134::-;218:20;;247:31;218:20;247:31;:::i;289:247::-;348:6;401:2;389:9;380:7;376:23;372:32;369:52;;;417:1;414;407:12;369:52;456:9;443:23;475:31;500:5;475:31;:::i;781:315::-;849:6;857;910:2;898:9;889:7;885:23;881:32;878:52;;;926:1;923;916:12;878:52;965:9;952:23;984:31;1009:5;984:31;:::i;:::-;1034:5;1086:2;1071:18;;;;1058:32;;-1:-1:-1;;;781:315:197:o;1418:367::-;1481:8;1491:6;1545:3;1538:4;1530:6;1526:17;1522:27;1512:55;;1563:1;1560;1553:12;1512:55;-1:-1:-1;1586:20:197;;1629:18;1618:30;;1615:50;;;1661:1;1658;1651:12;1615:50;1698:4;1690:6;1686:17;1674:29;;1758:3;1751:4;1741:6;1738:1;1734:14;1726:6;1722:27;1718:38;1715:47;1712:67;;;1775:1;1772;1765:12;1712:67;1418:367;;;;;:::o;1790:572::-;1885:6;1893;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:52;;;1970:1;1967;1960:12;1922:52;2009:9;1996:23;2028:31;2053:5;2028:31;:::i;:::-;2078:5;-1:-1:-1;2134:2:197;2119:18;;2106:32;2161:18;2150:30;;2147:50;;;2193:1;2190;2183:12;2147:50;2232:70;2294:7;2285:6;2274:9;2270:22;2232:70;:::i;:::-;1790:572;;2321:8;;-1:-1:-1;2206:96:197;;-1:-1:-1;;;;1790:572:197:o;2549:437::-;2635:6;2643;2696:2;2684:9;2675:7;2671:23;2667:32;2664:52;;;2712:1;2709;2702:12;2664:52;2752:9;2739:23;2785:18;2777:6;2774:30;2771:50;;;2817:1;2814;2807:12;2771:50;2856:70;2918:7;2909:6;2898:9;2894:22;2856:70;:::i;:::-;2945:8;;2830:96;;-1:-1:-1;2549:437:197;-1:-1:-1;;;;2549:437:197:o;2991:456::-;3068:6;3076;3084;3137:2;3125:9;3116:7;3112:23;3108:32;3105:52;;;3153:1;3150;3143:12;3105:52;3192:9;3179:23;3211:31;3236:5;3211:31;:::i;:::-;3261:5;-1:-1:-1;3318:2:197;3303:18;;3290:32;3331:33;3290:32;3331:33;:::i;:::-;2991:456;;3383:7;;-1:-1:-1;;;3437:2:197;3422:18;;;;3409:32;;2991:456::o;3452:180::-;3511:6;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;3603:23:197;;3452:180;-1:-1:-1;3452:180:197:o;3637:248::-;3705:6;3713;3766:2;3754:9;3745:7;3741:23;3737:32;3734:52;;;3782:1;3779;3772:12;3734:52;-1:-1:-1;;3805:23:197;;;3875:2;3860:18;;;3847:32;;-1:-1:-1;3637:248:197:o;4178:118::-;4264:5;4257:13;4250:21;4243:5;4240:32;4230:60;;4286:1;4283;4276:12;4301:128;4366:20;;4395:28;4366:20;4395:28;:::i;4434:450::-;4508:6;4516;4524;4577:2;4565:9;4556:7;4552:23;4548:32;4545:52;;;4593:1;4590;4583:12;4545:52;4632:9;4619:23;4651:31;4676:5;4651:31;:::i;:::-;4701:5;-1:-1:-1;4753:2:197;4738:18;;4725:32;;-1:-1:-1;4809:2:197;4794:18;;4781:32;4822:30;4781:32;4822:30;:::i;:::-;4871:7;4861:17;;;4434:450;;;;;:::o;4889:250::-;4974:1;4984:113;4998:6;4995:1;4992:13;4984:113;;;5074:11;;;5068:18;5055:11;;;5048:39;5020:2;5013:10;4984:113;;;-1:-1:-1;;5131:1:197;5113:16;;5106:27;4889:250::o;5144:271::-;5186:3;5224:5;5218:12;5251:6;5246:3;5239:19;5267:76;5336:6;5329:4;5324:3;5320:14;5313:4;5306:5;5302:16;5267:76;:::i;:::-;5397:2;5376:15;-1:-1:-1;;5372:29:197;5363:39;;;;5404:4;5359:50;;5144:271;-1:-1:-1;;5144:271:197:o;5420:1083::-;5472:3;5500:6;5533:5;5527:12;5522:3;5515:25;5589:4;5582:5;5578:16;5572:23;5565:4;5560:3;5556:14;5549:47;5645:4;5638:5;5634:16;5628:23;5621:4;5616:3;5612:14;5605:47;5701:4;5694:5;5690:16;5684:23;5677:4;5672:3;5668:14;5661:47;5757:4;5750:5;5746:16;5740:23;5733:4;5728:3;5724:14;5717:47;5813:4;5806:5;5802:16;5796:23;5789:4;5784:3;5780:14;5773:47;5866:4;5859:5;5855:16;5849:23;5881:48;5923:4;5918:3;5914:14;5900:12;-1:-1:-1;;;;;1167:31:197;1155:44;;1101:104;5881:48;-1:-1:-1;5978:4:197;5967:16;;;5961:23;5945:14;;;5938:47;6004:6;6046:14;;;6040:21;6026:12;;;6019:43;6081:6;6124:14;;;6118:21;3960:13;3953:21;6180:12;;;3941:34;6212:6;6255:14;;;6249:21;3960:13;3953:21;6311:12;;;3941:34;6343:6;6386:14;;;6380:21;6417:12;;;6410:24;;;6450:47;6484:12;;;6380:21;6450:47;:::i;6508:266::-;6693:2;6682:9;6675:21;6656:4;6713:55;6764:2;6753:9;6749:18;6741:6;6713:55;:::i;7292:656::-;7414:6;7422;7475:2;7463:9;7454:7;7450:23;7446:32;7443:52;;;7491:1;7488;7481:12;7443:52;7531:9;7518:23;7560:18;7601:2;7593:6;7590:14;7587:34;;;7617:1;7614;7607:12;7587:34;7655:6;7644:9;7640:22;7630:32;;7700:7;7693:4;7689:2;7685:13;7681:27;7671:55;;7722:1;7719;7712:12;7671:55;7762:2;7749:16;7788:2;7780:6;7777:14;7774:34;;;7804:1;7801;7794:12;7774:34;7862:7;7857:2;7847:6;7839;7835:19;7831:2;7827:28;7823:37;7820:50;7817:70;;;7883:1;7880;7873:12;7817:70;7914:2;7906:11;;;;;7936:6;;-1:-1:-1;7292:656:197;;-1:-1:-1;;;;7292:656:197:o;7953:439::-;8006:3;8044:5;8038:12;8071:6;8066:3;8059:19;8097:4;8126;8121:3;8117:14;8110:21;;8165:4;8158:5;8154:16;8188:1;8198:169;8212:6;8209:1;8206:13;8198:169;;;8273:13;;8261:26;;8307:12;;;;8342:15;;;;8234:1;8227:9;8198:169;;;-1:-1:-1;8383:3:197;;7953:439;-1:-1:-1;;;;;7953:439:197:o;8397:261::-;8576:2;8565:9;8558:21;8539:4;8596:56;8648:2;8637:9;8633:18;8625:6;8596:56;:::i;8663:388::-;8731:6;8739;8792:2;8780:9;8771:7;8767:23;8763:32;8760:52;;;8808:1;8805;8798:12;8760:52;8847:9;8834:23;8866:31;8891:5;8866:31;:::i;:::-;8916:5;-1:-1:-1;8973:2:197;8958:18;;8945:32;8986:33;8945:32;8986:33;:::i;:::-;9038:7;9028:17;;;8663:388;;;;;:::o;9056:845::-;9175:6;9183;9191;9199;9207;9215;9268:3;9256:9;9247:7;9243:23;9239:33;9236:53;;;9285:1;9282;9275:12;9236:53;9324:9;9311:23;9343:31;9368:5;9343:31;:::i;:::-;9393:5;-1:-1:-1;9449:2:197;9434:18;;9421:32;9476:18;9465:30;;9462:50;;;9508:1;9505;9498:12;9462:50;9547:70;9609:7;9600:6;9589:9;9585:22;9547:70;:::i;:::-;9636:8;;-1:-1:-1;9521:96:197;-1:-1:-1;;9723:2:197;9708:18;;9695:32;9736:30;9695:32;9736:30;:::i;:::-;9056:845;;;;-1:-1:-1;9056:845:197;;9839:2;9824:18;;9811:32;;9890:3;9875:19;;;9862:33;;-1:-1:-1;9056:845:197;-1:-1:-1;;9056:845:197:o;9906:849::-;10104:4;10133:2;10173;10162:9;10158:18;10203:2;10192:9;10185:21;10226:6;10261;10255:13;10292:6;10284;10277:22;10330:2;10319:9;10315:18;10308:25;;10392:2;10382:6;10379:1;10375:14;10364:9;10360:30;10356:39;10342:53;;10430:2;10422:6;10418:15;10451:1;10461:265;10475:6;10472:1;10469:13;10461:265;;;10568:2;10564:7;10552:9;10544:6;10540:22;10536:36;10531:3;10524:49;10596:50;10639:6;10630;10624:13;10596:50;:::i;:::-;10586:60;-1:-1:-1;10704:12:197;;;;10669:15;;;;10497:1;10490:9;10461:265;;;-1:-1:-1;10743:6:197;;9906:849;-1:-1:-1;;;;;;;9906:849:197:o;11195:456::-;11272:6;11280;11288;11341:2;11329:9;11320:7;11316:23;11312:32;11309:52;;;11357:1;11354;11347:12;11309:52;11393:9;11380:23;11370:33;;11453:2;11442:9;11438:18;11425:32;11466:31;11491:5;11466:31;:::i;:::-;11516:5;-1:-1:-1;11573:2:197;11558:18;;11545:32;11586:33;11545:32;11586:33;:::i;11656:204::-;11752:6;11805:3;11793:9;11784:7;11780:23;11776:33;11773:53;;;11822:1;11819;11812:12;11773:53;-1:-1:-1;11845:9:197;11656:204;-1:-1:-1;11656:204:197:o;12149:633::-;12249:6;12257;12265;12273;12326:2;12314:9;12305:7;12301:23;12297:32;12294:52;;;12342:1;12339;12332:12;12294:52;12378:9;12365:23;12355:33;;12439:2;12428:9;12424:18;12411:32;12466:18;12458:6;12455:30;12452:50;;;12498:1;12495;12488:12;12452:50;12537:70;12599:7;12590:6;12579:9;12575:22;12537:70;:::i;:::-;12626:8;;-1:-1:-1;12511:96:197;-1:-1:-1;;12711:2:197;12696:18;;12683:32;12724:28;12683:32;12724:28;:::i;:::-;12149:633;;;;-1:-1:-1;12149:633:197;;-1:-1:-1;;12149:633:197:o;12787:332::-;12994:2;12983:9;12976:21;12957:4;13014:56;13066:2;13055:9;13051:18;13043:6;13014:56;:::i;:::-;13006:64;;13106:6;13101:2;13090:9;13086:18;13079:34;12787:332;;;;;:::o;13124:127::-;13185:10;13180:3;13176:20;13173:1;13166:31;13216:4;13213:1;13206:15;13240:4;13237:1;13230:15;13256:125;13321:9;;;13342:10;;;13339:36;;;13355:18;;:::i;13386:127::-;13447:10;13442:3;13438:20;13435:1;13428:31;13478:4;13475:1;13468:15;13502:4;13499:1;13492:15;13518:175;13586:10;13629;;;13617;;;13613:27;;13652:12;;;13649:38;;;13667:18;;:::i;:::-;13649:38;13518:175;;;;:::o;13698:168::-;13771:9;;;13802;;13819:15;;;13813:22;;13799:37;13789:71;;13840:18;;:::i;13871:127::-;13932:10;13927:3;13923:20;13920:1;13913:31;13963:4;13960:1;13953:15;13987:4;13984:1;13977:15;14003:120;14043:1;14069;14059:35;;14074:18;;:::i;:::-;-1:-1:-1;14108:9:197;;14003:120::o;14128:135::-;14167:3;14188:17;;;14185:43;;14208:18;;:::i;:::-;-1:-1:-1;14255:1:197;14244:13;;14128:135::o;14268:201::-;14306:3;14334:10;14379:2;14372:5;14368:14;14406:2;14397:7;14394:15;14391:41;;14412:18;;:::i;:::-;14461:1;14448:15;;14268:201;-1:-1:-1;;;14268:201:197:o;14474:127::-;14535:10;14530:3;14526:20;14523:1;14516:31;14566:4;14563:1;14556:15;14590:4;14587:1;14580:15;14606:247;14673:2;14667:9;14715:3;14703:16;;14749:18;14734:34;;14770:22;;;14731:62;14728:88;;;14796:18;;:::i;:::-;14832:2;14825:22;14606:247;:::o;14858:182::-;14926:20;;-1:-1:-1;;;;;14975:40:197;;14965:51;;14955:79;;15030:1;15027;15020:12;15045:163;15112:20;;15172:10;15161:22;;15151:33;;15141:61;;15198:1;15195;15188:12;15213:159;15280:20;;15340:6;15329:18;;15319:29;;15309:57;;15362:1;15359;15352:12;15377:161;15444:20;;15504:8;15493:20;;15483:31;;15473:59;;15528:1;15525;15518:12;15543:1051;15636:6;15689:3;15677:9;15668:7;15664:23;15660:33;15657:53;;;15706:1;15703;15696:12;15657:53;15732:17;;:::i;:::-;15772:29;15791:9;15772:29;:::i;:::-;15765:5;15758:44;15834:37;15867:2;15856:9;15852:18;15834:37;:::i;:::-;15829:2;15822:5;15818:14;15811:61;15904:37;15937:2;15926:9;15922:18;15904:37;:::i;:::-;15899:2;15892:5;15888:14;15881:61;15974:37;16007:2;15996:9;15992:18;15974:37;:::i;:::-;15969:2;15962:5;15958:14;15951:61;16045:39;16079:3;16068:9;16064:19;16045:39;:::i;:::-;16039:3;16032:5;16028:15;16021:64;16146:3;16135:9;16131:19;16118:33;16112:3;16105:5;16101:15;16094:58;16185:38;16218:3;16207:9;16203:19;16185:38;:::i;:::-;16179:3;16172:5;16168:15;16161:63;16257:36;16288:3;16277:9;16273:19;16257:36;:::i;:::-;16251:3;16244:5;16240:15;16233:61;16313:3;16348:35;16379:2;16368:9;16364:18;16348:35;:::i;:::-;16332:14;;;16325:59;16403:3;16438:35;16454:18;;;16438:35;:::i;:::-;16422:14;;;16415:59;16493:3;16528:35;16544:18;;;16528:35;:::i;:::-;16512:14;;;16505:59;16516:5;15543:1051;-1:-1:-1;;;15543:1051:197:o;16599:128::-;16666:9;;;16687:11;;;16684:37;;;16701:18;;:::i;16732:185::-;16770:3;16814:10;16807:5;16803:22;16844:7;16834:41;;16855:18;;:::i;:::-;-1:-1:-1;;16891:20:197;;16732:185;-1:-1:-1;;16732:185:197:o;16922:136::-;16961:3;16989:5;16979:39;;16998:18;;:::i;:::-;-1:-1:-1;;;17034:18:197;;16922:136::o;17063:170::-;17105:11;17157:3;17144:17;17170:28;17192:5;17170:28;:::i;17448:880::-;17633:5;17620:19;17648:30;17670:7;17648:30;:::i;:::-;17697:11;;-1:-1:-1;;17785:17:197;;17738:15;;17731:23;17756:3;17727:33;17782:25;;;17769:39;;17856:2;17845:14;;17832:28;17869:30;17832:28;17869:30;:::i;:::-;17955:5;17936:15;;17929:23;17926:1;17922:31;17918:43;-1:-1:-1;;17989:19:197;;17986:27;;17983:35;;17970:49;;18067:2;18056:14;;18043:28;18080:30;18043:28;18080:30;:::i;:::-;18213:8;18201:7;18194:15;18187:23;18183:2;18179:32;18175:47;18169:2;18157:8;18153:13;18149:2;18145:22;18142:30;18138:2;18135:38;18132:91;18126:4;18119:105;;;;;18233:89;18281:40;18317:2;18310:5;18306:14;18281:40;:::i;:::-;18275:4;17326:11;;-1:-1:-1;;17362:24:197;17407:13;;17400:21;17396:2;17392:30;17424:10;17388:47;17359:77;;;;17346:91;;17238:205;18233:89;17448:880;;:::o;18333:184::-;18391:6;18444:2;18432:9;18423:7;18419:23;18415:32;18412:52;;;18460:1;18457;18450:12;18412:52;18483:28;18501:9;18483:28;:::i;18522:112::-;18554:1;18580;18570:35;;18585:18;;:::i;:::-;-1:-1:-1;18619:9:197;;18522:112::o;18639:183::-;18670:1;18696:10;18733:2;18730:1;18726:10;18755:3;18745:37;;18762:18;;:::i;:::-;18800:10;;18796:20;;;;;18639:183;-1:-1:-1;;18639:183:197:o;19106:897::-;19186:6;19239:2;19227:9;19218:7;19214:23;19210:32;19207:52;;;19255:1;19252;19245:12;19207:52;19288:9;19282:16;19317:18;19358:2;19350:6;19347:14;19344:34;;;19374:1;19371;19364:12;19344:34;19412:6;19401:9;19397:22;19387:32;;19457:7;19450:4;19446:2;19442:13;19438:27;19428:55;;19479:1;19476;19469:12;19428:55;19508:2;19502:9;19530:2;19526;19523:10;19520:36;;;19536:18;;:::i;:::-;19611:2;19605:9;19579:2;19665:13;;-1:-1:-1;;19661:22:197;;;19685:2;19657:31;19653:40;19641:53;;;19709:18;;;19729:22;;;19706:46;19703:72;;;19755:18;;:::i;:::-;19795:10;19791:2;19784:22;19830:2;19822:6;19815:18;19870:7;19865:2;19860;19856;19852:11;19848:20;19845:33;19842:53;;;19891:1;19888;19881:12;19842:53;19904:68;19969:2;19964;19956:6;19952:15;19947:2;19943;19939:11;19904:68;:::i;:::-;19991:6;19106:897;-1:-1:-1;;;;;;;19106:897:197:o","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,address)":"f7888aec","cleanTiers(address)":"086bb19a","defaultReservedTokenBeneficiaryOf(address)":"911c80b5","encodedIPFSUriOf(address,uint256)":"bd51923c","encodedTierIPFSUriOf(address,uint256)":"c8df1710","flagsOf(address)":"845104de","isTierRemoved(address,uint256)":"5f646611","maxTierIdOf(address)":"f1bea54f","numberOfBurnedFor(address,uint256)":"2b7e6ef0","numberOfReservedTokensOutstandingFor(address,uint256)":"35314b92","numberOfReservesMintedFor(address,uint256)":"6825bb80","recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":"8da5e32b","recordBurn(uint256[])":"86bc2be3","recordFlags((bool,bool,bool,bool))":"cb827e32","recordMint(uint256,uint16[],bool)":"eaa19ab3","recordMintReservesFor(uint256,uint256)":"baa7e80e","recordRemoveTierIds(uint256[])":"20512ba1","recordSetEncodedIPFSUriOf(uint256,bytes32)":"49bd1ac6","recordSetTokenUriResolver(address)":"d84a72c0","recordTransferForTier(uint256,address,address)":"c2c55f94","redemptionWeightOf(address,uint256[])":"144cc2d4","reservedTokenBeneficiaryOf(address,uint256)":"136e651c","tierBalanceOf(address,address,uint256)":"37f44652","tierIdOfToken(uint256)":"42f9914b","tierOf(address,uint256,bool)":"64faa159","tierOfTokenId(address,uint256,bool)":"c44a8e6d","tierVotingUnitsOf(address,address,uint256)":"2e4d0ea8","tiersOf(address,uint256[],bool,uint256,uint256)":"9403a74f","tokenUriResolverOf(address)":"0fab0947","totalRedemptionWeight(address)":"2ae5e492","totalSupplyOf(address)":"cf9530d0","votingUnitsOf(address,address)":"93355578"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CANT_MINT_MANUALLY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_AMOUNT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_RESERVES\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_CATEGORY_SORT_ORDER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_QUANTITY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID_TIER\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MANUAL_MINTING_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MAX_TIERS_EXCEEDED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NO_QUANTITY\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OUT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RESERVED_RATE_NOT_ALLOWED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TIER_REMOVED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"VOTING_UNITS_NOT_ALLOWED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CleanTiers\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"cleanTiers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"defaultReservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"encodedIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"encodedTierIPFSUriOf\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"flagsOf\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"isTierRemoved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"maxTierIdOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"numberOfBurnedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"numberOfReservedTokensOutstandingFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"numberOfReservesMintedFor\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint104\",\"name\":\"price\",\"type\":\"uint104\"},{\"internalType\":\"uint32\",\"name\":\"initialQuantity\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"votingUnits\",\"type\":\"uint32\"},{\"internalType\":\"uint16\",\"name\":\"reservedRate\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint24\",\"name\":\"category\",\"type\":\"uint24\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"shouldUseReservedTokenBeneficiaryAsDefault\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"useVotingUnits\",\"type\":\"bool\"}],\"internalType\":\"struct JB721TierParams[]\",\"name\":\"_tiersToAdd\",\"type\":\"tuple[]\"}],\"name\":\"recordAddTiers\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tierIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"recordBurn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"lockReservedTokenChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockVotingUnitChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"lockManualMintingChanges\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"preventOverspending\",\"type\":\"bool\"}],\"internalType\":\"struct JBTiered721Flags\",\"name\":\"_flags\",\"type\":\"tuple\"}],\"name\":\"recordFlags\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint16[]\",\"name\":\"_tierIds\",\"type\":\"uint16[]\"},{\"internalType\":\"bool\",\"name\":\"_isManualMint\",\"type\":\"bool\"}],\"name\":\"recordMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"leftoverAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_count\",\"type\":\"uint256\"}],\"name\":\"recordMintReservesFor\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_tierIds\",\"type\":\"uint256[]\"}],\"name\":\"recordRemoveTierIds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_encodedIPFSUri\",\"type\":\"bytes32\"}],\"name\":\"recordSetEncodedIPFSUriOf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"_resolver\",\"type\":\"address\"}],\"name\":\"recordSetTokenUriResolver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"recordTransferForTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"redemptionWeightOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"reservedTokenBeneficiaryOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tierBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"tierIdOfToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"}],\"name\":\"tierOfTokenId\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"tierVotingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_categories\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"_includeResolvedUri\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"_startingId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_size\",\"type\":\"uint256\"}],\"name\":\"tiersOf\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"remainingQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialQuantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"votingUnits\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reservedRate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"reservedTokenBeneficiary\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"encodedIPFSUri\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"allowManualMint\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"transfersPausable\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"resolvedUri\",\"type\":\"string\"}],\"internalType\":\"struct JB721Tier[]\",\"name\":\"_tiers\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"tokenUriResolverOf\",\"outputs\":[{\"internalType\":\"contract IJB721TokenUriResolver\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalRedemptionWeight\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nft\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"votingUnitsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balanceOf(address,address)\":{\"params\":{\"_nft\":\"The NFT contract to check the balance within.\",\"_owner\":\"The address to check the balance of.\"},\"returns\":{\"balance\":\"The number of tokens owned by the owner across all tiers within the NFT contract.\"}},\"cleanTiers(address)\":{\"params\":{\"_nft\":\"The NFT contract to clean tiers for.\"}},\"encodedTierIPFSUriOf(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to which the encoded IPFS URI belongs.\",\"_tokenId\":\"The token ID to get the encoded IPFS URI of.\"},\"returns\":{\"_0\":\"The encoded IPFS URI.\"}},\"flagsOf(address)\":{\"params\":{\"_nft\":\"The NFT contract for which the flags apply.\"},\"returns\":{\"_0\":\"The flags.\"}},\"isTierRemoved(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract of the tier to check for removal.\",\"_tierId\":\"The tier ID to check for removal.\"},\"returns\":{\"_0\":\"True if the tier has been removed.\"}},\"numberOfReservedTokensOutstandingFor(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to check for mintable reserved tokens.\",\"_tierId\":\"The tier ID to check for mintable reserved tokens.\"},\"returns\":{\"_0\":\"The number of currently outstanding reserved tokens within the tier and contract.\"}},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])\":{\"params\":{\"_tiersToAdd\":\"The tiers to add.\"},\"returns\":{\"tierIds\":\"The IDs of the tiers added.\"}},\"recordBurn(uint256[])\":{\"params\":{\"_tokenIds\":\"The IDs of the tokens being burned.\"}},\"recordFlags((bool,bool,bool,bool))\":{\"params\":{\"_flags\":\"The flags to set.\"}},\"recordMint(uint256,uint16[],bool)\":{\"params\":{\"_amount\":\"The amount to base the mints on. All mints' price floors must fit within this amount.\",\"_isManualMint\":\"A flag indicating if the mint is being made manually by the NFT contract's owner.\",\"_tierIds\":\"The tier IDs to mint from.\"},\"returns\":{\"leftoverAmount\":\"The amount left over after the mint.\",\"tokenIds\":\"The IDs of the minted tokens.\"}},\"recordMintReservesFor(uint256,uint256)\":{\"params\":{\"_count\":\"The number of reserved tokens to mint.\",\"_tierId\":\"The ID of the tier to mint reserved tokens from.\"},\"returns\":{\"tokenIds\":\"The IDs of the tokens being minted as reserves.\"}},\"recordRemoveTierIds(uint256[])\":{\"params\":{\"_tierIds\":\"The tiers IDs to remove.\"}},\"recordSetEncodedIPFSUriOf(uint256,bytes32)\":{\"params\":{\"_encodedIPFSUri\":\"The encoded IPFS URI to set.\",\"_tierId\":\"The tier ID to set the encoded IPFS URI of.\"}},\"recordSetTokenUriResolver(address)\":{\"params\":{\"_resolver\":\"The resolver to set.\"}},\"recordTransferForTier(uint256,address,address)\":{\"params\":{\"_from\":\"The address the token is being transferred from.\",\"_tierId\":\"The tier ID of the token being transferred.\",\"_to\":\"The address the token is being transferred to.\"}},\"redemptionWeightOf(address,uint256[])\":{\"params\":{\"_nft\":\"The NFT contract which the redemption weight is being calculated within.\",\"_tokenIds\":\"The IDs of the tokens to get the cumulative redemption weight of.\"},\"returns\":{\"weight\":\"The weight.\"}},\"reservedTokenBeneficiaryOf(address,uint256)\":{\"params\":{\"_nft\":\"The NFT contract to check the reserved token beneficiary within.\",\"_tierId\":\"The tier ID to get the reserved token beneficiary of.\"},\"returns\":{\"_0\":\"The reserved token beneficiary address.\"}},\"tierIdOfToken(uint256)\":{\"details\":\"Tiers are 1-indexed from the `tiers` array, meaning the 0th element of the array is tier 1.\",\"params\":{\"_tokenId\":\"The token ID to get the tier ID of.\"},\"returns\":{\"_0\":\"The tier ID for the provided token ID.\"}},\"tierOf(address,uint256,bool)\":{\"params\":{\"_id\":\"The tier ID of the tier to get.\",\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get a tier from.\"},\"returns\":{\"_0\":\"The tier.\"}},\"tierOfTokenId(address,uint256,bool)\":{\"params\":{\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get a tier from.\",\"_tokenId\":\"The token ID to return the tier of.\"},\"returns\":{\"_0\":\"The tier.\"}},\"tierVotingUnitsOf(address,address,uint256)\":{\"params\":{\"_account\":\"The address to get the voting units of.\",\"_nft\":\"The NFT contract to get voting units within.\",\"_tierId\":\"The tier ID to get voting units within.\"},\"returns\":{\"_0\":\"The voting units for the address within the tier.\"}},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"params\":{\"_categories\":\"The categories of the tiers to get. Send empty for all categories.\",\"_includeResolvedUri\":\"If enabled, if there's a token URI resolver, the content will be resolved and included.\",\"_nft\":\"The NFT contract to get tiers for.\",\"_size\":\"The number of tiers to include.\",\"_startingId\":\"The starting tier ID of the array of tiers sorted by contribution floor. Send 0 to get all active tiers.\"},\"returns\":{\"_tiers\":\"An array of active tiers.\"}},\"totalRedemptionWeight(address)\":{\"params\":{\"_nft\":\"The NFT contract for which the redemption weight is being calculated.\"},\"returns\":{\"weight\":\"The total weight.\"}},\"totalSupplyOf(address)\":{\"params\":{\"_nft\":\"The NFT contract to get a total supply of.\"},\"returns\":{\"supply\":\"The total number of NFTs issued from all tiers.\"}},\"votingUnitsOf(address,address)\":{\"params\":{\"_account\":\"The address to get the voting units of.\",\"_nft\":\"The NFT contract to get voting units within.\"},\"returns\":{\"units\":\"The total voting units for the address.\"}}},\"stateVariables\":{\"_ONE_BILLION\":{\"details\":\"Used in token ID generation.\"},\"_flagsOf\":{\"custom:param\":\"_nft The NFT contract for which the flags apply.\",\"custom:returns\":\"The flags.\"},\"_isTierRemovedBitmapWord\":{\"custom:param\":\"_nft The NFT contract to which the tier belongs._depth The bitmap row. Each row stores 256 tiers.\",\"custom:returns\":\"_word The bitmap row's content.\"},\"_reservedTokenBeneficiaryOf\":{\"custom:param\":\"_nft The NFT contract to which the reserved token beneficiary belongs._tierId The ID of the tier.\",\"custom:returns\":\"The address of the reserved token beneficiary.\"},\"_startingTierIdOfCategory\":{\"custom:param\":\"_nft The NFT contract to get the tier ID of._category The category to get the first tier ID of.\"},\"_storedTierOf\":{\"custom:param\":\"_nft The NFT contract to which the tiers belong._tierId The tier ID.\",\"custom:returns\":\"The stored tier.\"},\"_tierIdAfter\":{\"custom:param\":\"_nft The NFT contract to get ordered tier ID from._tierId The tier ID to get the following tier for.\",\"custom:returns\":\"The following tier's ID.\",\"details\":\"If empty, assume the next tier ID should come after.\"},\"_trackedLastSortTierIdOf\":{\"custom:param\":\"_nft The NFT contract to which the tier belongs.\",\"details\":\"If not set, it is assumed the `maxTierIdOf` is the last sorted.\"},\"defaultReservedTokenBeneficiaryOf\":{\"custom:param\":\"_nft The NFT contract to which the reserved token beneficiary applies.\"},\"encodedIPFSUriOf\":{\"custom:param\":\"_nft The NFT contract to which the encoded IPFS URI belongs._tierId The tier ID to which the encoded IPFS URI belongs.\",\"custom:returns\":\"The encoded IPFS URI.\",\"details\":\"Token URIs managed by this contract are stored as 32 bytes and based on stripped down IPFS hashes.\"},\"maxTierIdOf\":{\"custom:param\":\"_nft The NFT contract to get the largest tier ID from.\",\"details\":\"This may not include the last tier ID if it has been removed.\"},\"numberOfBurnedFor\":{\"custom:param\":\"_nft The NFT contract that the burning data belongs to._tierId The tier ID of the tier to get a burned token count for.\"},\"numberOfReservesMintedFor\":{\"custom:param\":\"_nft The NFT contract that the reserved minting data belongs to._tierId The tier ID to get a reserved token mint count for.\"},\"tierBalanceOf\":{\"custom:param\":\"_nft The NFT contract to check balances for._owner The address to get a balance for._tierId The tier ID to get a balance for.\"},\"tokenUriResolverOf\":{\"custom:param\":\"_nft The NFT contract to which the token URI resolver applies.\"}},\"title\":\"JBTiered721DelegateStore\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address,address)\":{\"notice\":\"The total number of tokens owned by the provided address.\"},\"cleanTiers(address)\":{\"notice\":\"Removes an NFT contract's removed tiers from sequencing.\"},\"defaultReservedTokenBeneficiaryOf(address)\":{\"notice\":\"Returns the reserved token beneficiary address used when a tier doesn't specify a beneficiary.\"},\"encodedIPFSUriOf(address,uint256)\":{\"notice\":\"Returns the encoded IPFS URI for the provided tier and NFT contract.\"},\"encodedTierIPFSUriOf(address,uint256)\":{\"notice\":\"Resolves the encoded IPFS URI of the tier for the provided token ID and NFT contract.\"},\"flagsOf(address)\":{\"notice\":\"Flags that influence the behavior of each NFT.\"},\"isTierRemoved(address,uint256)\":{\"notice\":\"Check if the provided tier has been removed from the current set of tiers.\"},\"maxTierIdOf(address)\":{\"notice\":\"Returns the largest tier ID used on the provided NFT contract.\"},\"numberOfBurnedFor(address,uint256)\":{\"notice\":\"Returns the number of tokens belonging to the provided tier and NFT contract which have been burned.\"},\"numberOfReservedTokensOutstandingFor(address,uint256)\":{\"notice\":\"Returns the number of currently mintable reserved tokens for the provided tier ID and NFT contract.\"},\"numberOfReservesMintedFor(address,uint256)\":{\"notice\":\"Returns the number of reserved tokens which have been minted within the provided tier and NFT contract.\"},\"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])\":{\"notice\":\"Adds tiers.\"},\"recordBurn(uint256[])\":{\"notice\":\"Records token burns.\"},\"recordFlags((bool,bool,bool,bool))\":{\"notice\":\"Sets flags.\"},\"recordMint(uint256,uint16[],bool)\":{\"notice\":\"Record token mints in the provided tiers.\"},\"recordMintReservesFor(uint256,uint256)\":{\"notice\":\"Record reserved token mints within the provided tier.\"},\"recordRemoveTierIds(uint256[])\":{\"notice\":\"Record removing the provided tiers.\"},\"recordSetEncodedIPFSUriOf(uint256,bytes32)\":{\"notice\":\"Sets the encoded IPFS URI of a tier.\"},\"recordSetTokenUriResolver(address)\":{\"notice\":\"Sets the token URI resolver.\"},\"recordTransferForTier(uint256,address,address)\":{\"notice\":\"Record a token transfer.\"},\"redemptionWeightOf(address,uint256[])\":{\"notice\":\"The cumulative redemption weight of the given token IDs compared to the `totalRedemptionWeight`.\"},\"reservedTokenBeneficiaryOf(address,uint256)\":{\"notice\":\"The reserved token beneficiary address for the provided tier ID and NFT contract.\"},\"tierBalanceOf(address,address,uint256)\":{\"notice\":\"Returns the number of NFTs held by the provided address which belong to the provided tier and NFT contract.\"},\"tierIdOfToken(uint256)\":{\"notice\":\"The tier ID of the provided token ID.\"},\"tierOf(address,uint256,bool)\":{\"notice\":\"Return the tier for the provided tier ID and NFT contract.\"},\"tierOfTokenId(address,uint256,bool)\":{\"notice\":\"Return the tier for the provided token ID and NFT contract.\"},\"tierVotingUnitsOf(address,address,uint256)\":{\"notice\":\"Returns the voting units for an addresses' NFTs in one tier. NFTs have a tier-specific number of voting units.\"},\"tiersOf(address,uint256[],bool,uint256,uint256)\":{\"notice\":\"Gets an array of active tiers.\"},\"tokenUriResolverOf(address)\":{\"notice\":\"Returns a custom token URI resolver which supersedes the base URI.\"},\"totalRedemptionWeight(address)\":{\"notice\":\"The cumulative redemption weight for all token IDs.\"},\"totalSupplyOf(address)\":{\"notice\":\"The total number of NFTs issued from all tiers of the provided NFT contract.\"},\"votingUnitsOf(address,address)\":{\"notice\":\"Returns the total voting units from all of an addresses' NFTs (across all tiers) for the provided NFT contract. NFTs have a tier-specific number of voting units.\"}},\"notice\":\"This contract stores and manages data for an IJBTiered721Delegate's NFTs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/JBTiered721DelegateStore.sol\":\"JBTiered721DelegateStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/JBTiered721DelegateStore.sol\":{\"keccak256\":\"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279\",\"dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K\"]},\"contracts/interfaces/IJB721TokenUriResolver.sol\":{\"keccak256\":\"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140\",\"dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85\"]},\"contracts/interfaces/IJBTiered721DelegateStore.sol\":{\"keccak256\":\"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0\",\"dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2\"]},\"contracts/libraries/JBBitmap.sol\":{\"keccak256\":\"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113\",\"dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA\"]},\"contracts/structs/JB721Tier.sol\":{\"keccak256\":\"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b\",\"dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK\"]},\"contracts/structs/JB721TierParams.sol\":{\"keccak256\":\"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998\",\"dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86\"]},\"contracts/structs/JBBitmapWord.sol\":{\"keccak256\":\"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de\",\"dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa\"]},\"contracts/structs/JBStored721Tier.sol\":{\"keccak256\":\"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7\",\"dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub\"]},\"contracts/structs/JBTiered721Flags.sol\":{\"keccak256\":\"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8\",\"dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"CANT_MINT_MANUALLY"},{"inputs":[],"type":"error","name":"INSUFFICIENT_AMOUNT"},{"inputs":[],"type":"error","name":"INSUFFICIENT_RESERVES"},{"inputs":[],"type":"error","name":"INVALID_CATEGORY_SORT_ORDER"},{"inputs":[],"type":"error","name":"INVALID_QUANTITY"},{"inputs":[],"type":"error","name":"INVALID_TIER"},{"inputs":[],"type":"error","name":"MANUAL_MINTING_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"MAX_TIERS_EXCEEDED"},{"inputs":[],"type":"error","name":"NO_QUANTITY"},{"inputs":[],"type":"error","name":"OUT"},{"inputs":[],"type":"error","name":"RESERVED_RATE_NOT_ALLOWED"},{"inputs":[],"type":"error","name":"TIER_REMOVED"},{"inputs":[],"type":"error","name":"VOTING_UNITS_NOT_ALLOWED"},{"inputs":[{"internalType":"address","name":"nft","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"CleanTiers","anonymous":false},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"cleanTiers"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"defaultReservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"encodedTierIPFSUriOf","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"flagsOf","outputs":[{"internalType":"struct JBTiered721Flags","name":"","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isTierRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"maxTierIdOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfBurnedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservedTokensOutstandingFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"numberOfReservesMintedFor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct JB721TierParams[]","name":"_tiersToAdd","type":"tuple[]","components":[{"internalType":"uint104","name":"price","type":"uint104"},{"internalType":"uint32","name":"initialQuantity","type":"uint32"},{"internalType":"uint32","name":"votingUnits","type":"uint32"},{"internalType":"uint16","name":"reservedRate","type":"uint16"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint24","name":"category","type":"uint24"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"shouldUseReservedTokenBeneficiaryAsDefault","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"bool","name":"useVotingUnits","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordAddTiers","outputs":[{"internalType":"uint256[]","name":"tierIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordBurn"},{"inputs":[{"internalType":"struct JBTiered721Flags","name":"_flags","type":"tuple","components":[{"internalType":"bool","name":"lockReservedTokenChanges","type":"bool"},{"internalType":"bool","name":"lockVotingUnitChanges","type":"bool"},{"internalType":"bool","name":"lockManualMintingChanges","type":"bool"},{"internalType":"bool","name":"preventOverspending","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"recordFlags"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"uint16[]","name":"_tierIds","type":"uint16[]"},{"internalType":"bool","name":"_isManualMint","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"recordMint","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256","name":"leftoverAmount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"uint256","name":"_count","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"recordMintReservesFor","outputs":[{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256[]","name":"_tierIds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"recordRemoveTierIds"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"bytes32","name":"_encodedIPFSUri","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"recordSetEncodedIPFSUriOf"},{"inputs":[{"internalType":"contract IJB721TokenUriResolver","name":"_resolver","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordSetTokenUriResolver"},{"inputs":[{"internalType":"uint256","name":"_tierId","type":"uint256"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"recordTransferForTier"},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256[]","name":"_tokenIds","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"redemptionWeightOf","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"reservedTokenBeneficiaryOf","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"stateMutability":"pure","type":"function","name":"tierIdOfToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOf","outputs":[{"internalType":"struct JB721Tier","name":"","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256","name":"_tokenId","type":"uint256"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"}],"stateMutability":"view","type":"function","name":"tierOfTokenId","outputs":[{"internalType":"struct JB721Tier","name":"","type":"tuple","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_tierId","type":"uint256"}],"stateMutability":"view","type":"function","name":"tierVotingUnitsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"uint256[]","name":"_categories","type":"uint256[]"},{"internalType":"bool","name":"_includeResolvedUri","type":"bool"},{"internalType":"uint256","name":"_startingId","type":"uint256"},{"internalType":"uint256","name":"_size","type":"uint256"}],"stateMutability":"view","type":"function","name":"tiersOf","outputs":[{"internalType":"struct JB721Tier[]","name":"_tiers","type":"tuple[]","components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"remainingQuantity","type":"uint256"},{"internalType":"uint256","name":"initialQuantity","type":"uint256"},{"internalType":"uint256","name":"votingUnits","type":"uint256"},{"internalType":"uint256","name":"reservedRate","type":"uint256"},{"internalType":"address","name":"reservedTokenBeneficiary","type":"address"},{"internalType":"bytes32","name":"encodedIPFSUri","type":"bytes32"},{"internalType":"uint256","name":"category","type":"uint256"},{"internalType":"bool","name":"allowManualMint","type":"bool"},{"internalType":"bool","name":"transfersPausable","type":"bool"},{"internalType":"string","name":"resolvedUri","type":"string"}]}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"tokenUriResolverOf","outputs":[{"internalType":"contract IJB721TokenUriResolver","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalRedemptionWeight","outputs":[{"internalType":"uint256","name":"weight","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"supply","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_nft","type":"address"},{"internalType":"address","name":"_account","type":"address"}],"stateMutability":"view","type":"function","name":"votingUnitsOf","outputs":[{"internalType":"uint256","name":"units","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"balanceOf(address,address)":{"params":{"_nft":"The NFT contract to check the balance within.","_owner":"The address to check the balance of."},"returns":{"balance":"The number of tokens owned by the owner across all tiers within the NFT contract."}},"cleanTiers(address)":{"params":{"_nft":"The NFT contract to clean tiers for."}},"encodedTierIPFSUriOf(address,uint256)":{"params":{"_nft":"The NFT contract to which the encoded IPFS URI belongs.","_tokenId":"The token ID to get the encoded IPFS URI of."},"returns":{"_0":"The encoded IPFS URI."}},"flagsOf(address)":{"params":{"_nft":"The NFT contract for which the flags apply."},"returns":{"_0":"The flags."}},"isTierRemoved(address,uint256)":{"params":{"_nft":"The NFT contract of the tier to check for removal.","_tierId":"The tier ID to check for removal."},"returns":{"_0":"True if the tier has been removed."}},"numberOfReservedTokensOutstandingFor(address,uint256)":{"params":{"_nft":"The NFT contract to check for mintable reserved tokens.","_tierId":"The tier ID to check for mintable reserved tokens."},"returns":{"_0":"The number of currently outstanding reserved tokens within the tier and contract."}},"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":{"params":{"_tiersToAdd":"The tiers to add."},"returns":{"tierIds":"The IDs of the tiers added."}},"recordBurn(uint256[])":{"params":{"_tokenIds":"The IDs of the tokens being burned."}},"recordFlags((bool,bool,bool,bool))":{"params":{"_flags":"The flags to set."}},"recordMint(uint256,uint16[],bool)":{"params":{"_amount":"The amount to base the mints on. All mints' price floors must fit within this amount.","_isManualMint":"A flag indicating if the mint is being made manually by the NFT contract's owner.","_tierIds":"The tier IDs to mint from."},"returns":{"leftoverAmount":"The amount left over after the mint.","tokenIds":"The IDs of the minted tokens."}},"recordMintReservesFor(uint256,uint256)":{"params":{"_count":"The number of reserved tokens to mint.","_tierId":"The ID of the tier to mint reserved tokens from."},"returns":{"tokenIds":"The IDs of the tokens being minted as reserves."}},"recordRemoveTierIds(uint256[])":{"params":{"_tierIds":"The tiers IDs to remove."}},"recordSetEncodedIPFSUriOf(uint256,bytes32)":{"params":{"_encodedIPFSUri":"The encoded IPFS URI to set.","_tierId":"The tier ID to set the encoded IPFS URI of."}},"recordSetTokenUriResolver(address)":{"params":{"_resolver":"The resolver to set."}},"recordTransferForTier(uint256,address,address)":{"params":{"_from":"The address the token is being transferred from.","_tierId":"The tier ID of the token being transferred.","_to":"The address the token is being transferred to."}},"redemptionWeightOf(address,uint256[])":{"params":{"_nft":"The NFT contract which the redemption weight is being calculated within.","_tokenIds":"The IDs of the tokens to get the cumulative redemption weight of."},"returns":{"weight":"The weight."}},"reservedTokenBeneficiaryOf(address,uint256)":{"params":{"_nft":"The NFT contract to check the reserved token beneficiary within.","_tierId":"The tier ID to get the reserved token beneficiary of."},"returns":{"_0":"The reserved token beneficiary address."}},"tierIdOfToken(uint256)":{"details":"Tiers are 1-indexed from the `tiers` array, meaning the 0th element of the array is tier 1.","params":{"_tokenId":"The token ID to get the tier ID of."},"returns":{"_0":"The tier ID for the provided token ID."}},"tierOf(address,uint256,bool)":{"params":{"_id":"The tier ID of the tier to get.","_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get a tier from."},"returns":{"_0":"The tier."}},"tierOfTokenId(address,uint256,bool)":{"params":{"_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get a tier from.","_tokenId":"The token ID to return the tier of."},"returns":{"_0":"The tier."}},"tierVotingUnitsOf(address,address,uint256)":{"params":{"_account":"The address to get the voting units of.","_nft":"The NFT contract to get voting units within.","_tierId":"The tier ID to get voting units within."},"returns":{"_0":"The voting units for the address within the tier."}},"tiersOf(address,uint256[],bool,uint256,uint256)":{"params":{"_categories":"The categories of the tiers to get. Send empty for all categories.","_includeResolvedUri":"If enabled, if there's a token URI resolver, the content will be resolved and included.","_nft":"The NFT contract to get tiers for.","_size":"The number of tiers to include.","_startingId":"The starting tier ID of the array of tiers sorted by contribution floor. Send 0 to get all active tiers."},"returns":{"_tiers":"An array of active tiers."}},"totalRedemptionWeight(address)":{"params":{"_nft":"The NFT contract for which the redemption weight is being calculated."},"returns":{"weight":"The total weight."}},"totalSupplyOf(address)":{"params":{"_nft":"The NFT contract to get a total supply of."},"returns":{"supply":"The total number of NFTs issued from all tiers."}},"votingUnitsOf(address,address)":{"params":{"_account":"The address to get the voting units of.","_nft":"The NFT contract to get voting units within."},"returns":{"units":"The total voting units for the address."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,address)":{"notice":"The total number of tokens owned by the provided address."},"cleanTiers(address)":{"notice":"Removes an NFT contract's removed tiers from sequencing."},"defaultReservedTokenBeneficiaryOf(address)":{"notice":"Returns the reserved token beneficiary address used when a tier doesn't specify a beneficiary."},"encodedIPFSUriOf(address,uint256)":{"notice":"Returns the encoded IPFS URI for the provided tier and NFT contract."},"encodedTierIPFSUriOf(address,uint256)":{"notice":"Resolves the encoded IPFS URI of the tier for the provided token ID and NFT contract."},"flagsOf(address)":{"notice":"Flags that influence the behavior of each NFT."},"isTierRemoved(address,uint256)":{"notice":"Check if the provided tier has been removed from the current set of tiers."},"maxTierIdOf(address)":{"notice":"Returns the largest tier ID used on the provided NFT contract."},"numberOfBurnedFor(address,uint256)":{"notice":"Returns the number of tokens belonging to the provided tier and NFT contract which have been burned."},"numberOfReservedTokensOutstandingFor(address,uint256)":{"notice":"Returns the number of currently mintable reserved tokens for the provided tier ID and NFT contract."},"numberOfReservesMintedFor(address,uint256)":{"notice":"Returns the number of reserved tokens which have been minted within the provided tier and NFT contract."},"recordAddTiers((uint104,uint32,uint32,uint16,address,bytes32,uint24,bool,bool,bool,bool)[])":{"notice":"Adds tiers."},"recordBurn(uint256[])":{"notice":"Records token burns."},"recordFlags((bool,bool,bool,bool))":{"notice":"Sets flags."},"recordMint(uint256,uint16[],bool)":{"notice":"Record token mints in the provided tiers."},"recordMintReservesFor(uint256,uint256)":{"notice":"Record reserved token mints within the provided tier."},"recordRemoveTierIds(uint256[])":{"notice":"Record removing the provided tiers."},"recordSetEncodedIPFSUriOf(uint256,bytes32)":{"notice":"Sets the encoded IPFS URI of a tier."},"recordSetTokenUriResolver(address)":{"notice":"Sets the token URI resolver."},"recordTransferForTier(uint256,address,address)":{"notice":"Record a token transfer."},"redemptionWeightOf(address,uint256[])":{"notice":"The cumulative redemption weight of the given token IDs compared to the `totalRedemptionWeight`."},"reservedTokenBeneficiaryOf(address,uint256)":{"notice":"The reserved token beneficiary address for the provided tier ID and NFT contract."},"tierBalanceOf(address,address,uint256)":{"notice":"Returns the number of NFTs held by the provided address which belong to the provided tier and NFT contract."},"tierIdOfToken(uint256)":{"notice":"The tier ID of the provided token ID."},"tierOf(address,uint256,bool)":{"notice":"Return the tier for the provided tier ID and NFT contract."},"tierOfTokenId(address,uint256,bool)":{"notice":"Return the tier for the provided token ID and NFT contract."},"tierVotingUnitsOf(address,address,uint256)":{"notice":"Returns the voting units for an addresses' NFTs in one tier. NFTs have a tier-specific number of voting units."},"tiersOf(address,uint256[],bool,uint256,uint256)":{"notice":"Gets an array of active tiers."},"tokenUriResolverOf(address)":{"notice":"Returns a custom token URI resolver which supersedes the base URI."},"totalRedemptionWeight(address)":{"notice":"The cumulative redemption weight for all token IDs."},"totalSupplyOf(address)":{"notice":"The total number of NFTs issued from all tiers of the provided NFT contract."},"votingUnitsOf(address,address)":{"notice":"Returns the total voting units from all of an addresses' NFTs (across all tiers) for the provided NFT contract. NFTs have a tier-specific number of voting units."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/JBTiered721DelegateStore.sol":"JBTiered721DelegateStore"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/JBTiered721DelegateStore.sol":{"keccak256":"0x474bc056b7da8f1305914c120e84229e7b9c80b813f3a376a6132ef065f1bed4","urls":["bzz-raw://de33567bf9630cc8c458e14ae229cd42f4ca8ca41c18bc90b8a7291040daa279","dweb:/ipfs/QmRMewK9aFkJaVF3C4EUbAHy6RwJe8WUZsduugvwu7ED8K"],"license":"MIT"},"contracts/interfaces/IJB721TokenUriResolver.sol":{"keccak256":"0xfa599167098f4459320ec4141a98a17b2dfffbce422baa27d8b4e4530f61ece1","urls":["bzz-raw://8b758b161f4c7b520b2c34b4d91e585e961b8f4ca278eebb91d791f7f2f45140","dweb:/ipfs/QmcD9DF7NJ9QykQpT4KPzm4bs3fkjzukdAUWwdU6Atfw85"],"license":"MIT"},"contracts/interfaces/IJBTiered721DelegateStore.sol":{"keccak256":"0x17690ac6ee8a74c551c800d5c1f5241f8ff07aeea002998585e5bb51c14879f4","urls":["bzz-raw://77a1bfc8bf571f8d5b0a419439b67ae6fc8163682aa77b535c49785e31724ca0","dweb:/ipfs/QmWmezXWEUYDxXqzy8crMx8WpzJ5Tq2uj249i5r5qy8Bs2"],"license":"MIT"},"contracts/libraries/JBBitmap.sol":{"keccak256":"0x9a8450b58fbf85412f024e8a75defa6ea34227df690b8c3dceed10d48add8190","urls":["bzz-raw://504a1aca6ff7b52756c58bcbb2f20abec1d4b17cc4f1de03bcc768ae01a83113","dweb:/ipfs/QmRrVQjWAN2g6xqHr7F6n7o11UPSfk8iAs1NZAa3sPbPEA"],"license":"MIT"},"contracts/structs/JB721Tier.sol":{"keccak256":"0x1b8dd3c7804bf6175c0436b7cdd5cd37bcdacfdcf5494772e72caf8e60ff2a5e","urls":["bzz-raw://dabb568e024a08fc6e34297356c20a5c2a9fb0564d26cc7dd7f50130a30fa29b","dweb:/ipfs/Qmd13DoxasgvbpGGrGks2FWQemnxoADzutFr7CWCJtqhYK"],"license":"MIT"},"contracts/structs/JB721TierParams.sol":{"keccak256":"0xa2422990ca631a05d36d209eabfc8e785ea6134ca0c76e6200b2c23ae86f12d9","urls":["bzz-raw://663f206490a5ee9bde4911dc16ae61beb5aa98da34874a613b1a711ad57e0998","dweb:/ipfs/QmPkF83Sohq12KGDxTbpwPD9yC62F8h49AZUA4oxRN2T86"],"license":"MIT"},"contracts/structs/JBBitmapWord.sol":{"keccak256":"0x44a1863907d1e2fb5b9cad924a3a1ff38fff617b17e8cdf979a139274b7eb553","urls":["bzz-raw://23e1c3a6d08467e84efadf90cd262e00cc21d279b0c34e85cef99b0b5da816de","dweb:/ipfs/Qmf6BXMeRkQAG4GSr8sEwqpW9qvunznjmnwfTFZSkqAZRa"],"license":"MIT"},"contracts/structs/JBStored721Tier.sol":{"keccak256":"0x0cc763c12cb17dee57c34beeac87c3af5c9892263260f9e9e23a579517bcbff8","urls":["bzz-raw://e88595472c4a719c124fe85126938524d85b1c8021ba501982217124ad6c8da7","dweb:/ipfs/QmSwyBKzLYkiGZXBGxMWC9wqHLXeo8xSkhs1ZQwgpND6Ub"],"license":"MIT"},"contracts/structs/JBTiered721Flags.sol":{"keccak256":"0x96a19506530f86cea449a829a729e29e9af875e491d325dc6888e65b520062e1","urls":["bzz-raw://7ad3427a0155bea1114a085dea1ade3710365e6449390b369ab7225812b2d8a8","dweb:/ipfs/Qma3YeKFbEUmLsi8CxoUp7K7VDd1GaXL7RfsvDSM5L6FqX"],"license":"MIT"}},"version":1},"id":3} \ No newline at end of file diff --git a/out/JBTiered721FundingCycleMetadataResolver.sol/JBTiered721FundingCycleMetadataResolver.json b/out/JBTiered721FundingCycleMetadataResolver.sol/JBTiered721FundingCycleMetadataResolver.json index 395a582f..ebd2afb4 100644 --- a/out/JBTiered721FundingCycleMetadataResolver.sol/JBTiered721FundingCycleMetadataResolver.json +++ b/out/JBTiered721FundingCycleMetadataResolver.sol/JBTiered721FundingCycleMetadataResolver.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0c1855fd4f4010bb52cfba60d903b79e91851dc0c81f5643abd21e9316fd61464736f6c63430008170033","sourceMap":"292:1317:30:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;292:1317:30;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0c1855fd4f4010bb52cfba60d903b79e91851dc0c81f5643abd21e9316fd61464736f6c63430008170033","sourceMap":"292:1317:30:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"JBTiered721FundingCycleMetadataResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility library to parse and store tiered 721 funding cycle metadata.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":\"JBTiered721FundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":"JBTiered721FundingCycleMetadataResolver"},"libraries":{}},"sources":{"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol","id":29037,"exportedSymbols":{"JBTiered721FundingCycleMetadata":[29654],"JBTiered721FundingCycleMetadataResolver":[29036]},"nodeType":"SourceUnit","src":"32:1578:30","nodes":[{"id":28954,"nodeType":"PragmaDirective","src":"32:24:30","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":28956,"nodeType":"ImportDirective","src":"58:99:30","nodes":[],"absolutePath":"contracts/structs/JBTiered721FundingCycleMetadata.sol","file":"./../structs/JBTiered721FundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":29037,"sourceUnit":29655,"symbolAliases":[{"foreign":{"id":28955,"name":"JBTiered721FundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29654,"src":"67:31:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":29036,"nodeType":"ContractDefinition","src":"292:1317:30","nodes":[{"id":28972,"nodeType":"FunctionDefinition","src":"346:109:30","nodes":[],"body":{"id":28971,"nodeType":"Block","src":"415:40:30","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28969,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28964,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28959,"src":"433:5:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":28965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"441:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"433:9:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28967,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"432:11:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":28968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"447:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"432:16:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28963,"id":28970,"nodeType":"Return","src":"425:23:30"}]},"implemented":true,"kind":"function","modifiers":[],"name":"transfersPaused","nameLocation":"355:15:30","parameters":{"id":28960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28959,"mutability":"mutable","name":"_data","nameLocation":"379:5:30","nodeType":"VariableDeclaration","scope":28972,"src":"371:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28958,"name":"uint256","nodeType":"ElementaryTypeName","src":"371:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"370:15:30"},"returnParameters":{"id":28963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28962,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28972,"src":"409:4:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28961,"name":"bool","nodeType":"ElementaryTypeName","src":"409:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"408:6:30"},"scope":29036,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":28990,"nodeType":"FunctionDefinition","src":"461:122:30","nodes":[],"body":{"id":28989,"nodeType":"Block","src":"536:47:30","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":28981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":28979,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28974,"src":"555:5:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":28980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"564:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"555:10:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28982,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"554:12:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"31","id":28983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"569:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"554:16:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":28985,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"553:18:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"31","id":28986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"575:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"553:23:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":28978,"id":28988,"nodeType":"Return","src":"546:30:30"}]},"implemented":true,"kind":"function","modifiers":[],"name":"mintingReservesPaused","nameLocation":"470:21:30","parameters":{"id":28975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28974,"mutability":"mutable","name":"_data","nameLocation":"500:5:30","nodeType":"VariableDeclaration","scope":28990,"src":"492:13:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28973,"name":"uint256","nodeType":"ElementaryTypeName","src":"492:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"491:15:30"},"returnParameters":{"id":28978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28977,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":28990,"src":"530:4:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":28976,"name":"bool","nodeType":"ElementaryTypeName","src":"530:4:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"529:6:30"},"scope":29036,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29016,"nodeType":"FunctionDefinition","src":"786:358:30","nodes":[],"body":{"id":29015,"nodeType":"Block","src":"946:198:30","nodes":[],"statements":[{"condition":{"expression":{"id":28999,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28994,"src":"997:9:30","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_memory_ptr","typeString":"struct JBTiered721FundingCycleMetadata memory"}},"id":29000,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1007:14:30","memberName":"pauseTransfers","nodeType":"MemberAccess","referencedDeclaration":29651,"src":"997:24:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29005,"nodeType":"IfStatement","src":"993:41:30","trueBody":{"expression":{"id":29003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29001,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28997,"src":"1023:6:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"hexValue":"31","id":29002,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1033:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1023:11:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29004,"nodeType":"ExpressionStatement","src":"1023:11:30"}},{"condition":{"expression":{"id":29006,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28994,"src":"1089:9:30","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_memory_ptr","typeString":"struct JBTiered721FundingCycleMetadata memory"}},"id":29007,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"1099:20:30","memberName":"pauseMintingReserves","nodeType":"MemberAccess","referencedDeclaration":29653,"src":"1089:30:30","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29014,"nodeType":"IfStatement","src":"1085:52:30","trueBody":{"expression":{"id":29012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29008,"name":"packed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28997,"src":"1121:6:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"id":29011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":29009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1131:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"31","id":29010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1136:1:30","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1131:6:30","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}},"src":"1121:16:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":29013,"nodeType":"ExpressionStatement","src":"1121:16:30"}}]},"documentation":{"id":28991,"nodeType":"StructuredDocumentation","src":"589:192:30","text":"@notice Pack the tiered 721 funding cycle metadata.\n @param _metadata The metadata to validate and pack.\n @return packed The packed uint256 of all tiered 721 metadata params."},"implemented":true,"kind":"function","modifiers":[],"name":"packTiered721FundingCycleMetadata","nameLocation":"795:33:30","parameters":{"id":28995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28994,"mutability":"mutable","name":"_metadata","nameLocation":"868:9:30","nodeType":"VariableDeclaration","scope":29016,"src":"829:48:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_memory_ptr","typeString":"struct JBTiered721FundingCycleMetadata"},"typeName":{"id":28993,"nodeType":"UserDefinedTypeName","pathNode":{"id":28992,"name":"JBTiered721FundingCycleMetadata","nameLocations":["829:31:30"],"nodeType":"IdentifierPath","referencedDeclaration":29654,"src":"829:31:30"},"referencedDeclaration":29654,"src":"829:31:30","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_storage_ptr","typeString":"struct JBTiered721FundingCycleMetadata"}},"visibility":"internal"}],"src":"828:50:30"},"returnParameters":{"id":28998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":28997,"mutability":"mutable","name":"packed","nameLocation":"934:6:30","nodeType":"VariableDeclaration","scope":29016,"src":"926:14:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":28996,"name":"uint256","nodeType":"ElementaryTypeName","src":"926:7:30","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"925:16:30"},"scope":29036,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":29035,"nodeType":"FunctionDefinition","src":"1331:276:30","nodes":[],"body":{"id":29034,"nodeType":"Block","src":"1478:129:30","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":29027,"name":"_packedMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29019,"src":"1543:15:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":29026,"name":"transfersPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28972,"src":"1527:15:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":29028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1527:32:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"arguments":[{"id":29030,"name":"_packedMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29019,"src":"1583:15:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":29029,"name":"mintingReservesPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":28990,"src":"1561:21:30","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) pure returns (bool)"}},"id":29031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1561:38:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29025,"name":"JBTiered721FundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29654,"src":"1495:31:30","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBTiered721FundingCycleMetadata_$29654_storage_ptr_$","typeString":"type(struct JBTiered721FundingCycleMetadata storage pointer)"}},"id":29032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1495:105:30","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_memory_ptr","typeString":"struct JBTiered721FundingCycleMetadata memory"}},"functionReturnParameters":29024,"id":29033,"nodeType":"Return","src":"1488:112:30"}]},"documentation":{"id":29017,"nodeType":"StructuredDocumentation","src":"1150:176:30","text":"@notice Expand the tiered 721 funding cycle metadata.\n @param _packedMetadata The packed metadata to expand.\n @return metadata The tiered 721 metadata object."},"implemented":true,"kind":"function","modifiers":[],"name":"expandMetadata","nameLocation":"1340:14:30","parameters":{"id":29020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29019,"mutability":"mutable","name":"_packedMetadata","nameLocation":"1361:15:30","nodeType":"VariableDeclaration","scope":29035,"src":"1355:21:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":29018,"name":"uint8","nodeType":"ElementaryTypeName","src":"1355:5:30","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"1354:23:30"},"returnParameters":{"id":29024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29023,"mutability":"mutable","name":"metadata","nameLocation":"1464:8:30","nodeType":"VariableDeclaration","scope":29035,"src":"1425:47:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_memory_ptr","typeString":"struct JBTiered721FundingCycleMetadata"},"typeName":{"id":29022,"nodeType":"UserDefinedTypeName","pathNode":{"id":29021,"name":"JBTiered721FundingCycleMetadata","nameLocations":["1425:31:30"],"nodeType":"IdentifierPath","referencedDeclaration":29654,"src":"1425:31:30"},"referencedDeclaration":29654,"src":"1425:31:30","typeDescriptions":{"typeIdentifier":"t_struct$_JBTiered721FundingCycleMetadata_$29654_storage_ptr","typeString":"struct JBTiered721FundingCycleMetadata"}},"visibility":"internal"}],"src":"1424:49:30"},"scope":29036,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"JBTiered721FundingCycleMetadataResolver","contractDependencies":[],"contractKind":"library","documentation":{"id":28957,"nodeType":"StructuredDocumentation","src":"159:133:30","text":"@title JBTiered721FundingCycleMetadataResolver\n @notice Utility library to parse and store tiered 721 funding cycle metadata."},"fullyImplemented":true,"linearizedBaseContracts":[29036],"name":"JBTiered721FundingCycleMetadataResolver","nameLocation":"300:39:30","scope":29037,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":30} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0c1855fd4f4010bb52cfba60d903b79e91851dc0c81f5643abd21e9316fd61464736f6c63430008170033","sourceMap":"292:1317:30:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;292:1317:30;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b0c1855fd4f4010bb52cfba60d903b79e91851dc0c81f5643abd21e9316fd61464736f6c63430008170033","sourceMap":"292:1317:30:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"JBTiered721FundingCycleMetadataResolver\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Utility library to parse and store tiered 721 funding cycle metadata.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":\"JBTiered721FundingCycleMetadataResolver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7\",\"dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF\"]},\"contracts/structs/JBTiered721FundingCycleMetadata.sol\":{\"keccak256\":\"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658\",\"dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":"JBTiered721FundingCycleMetadataResolver"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/libraries/JBTiered721FundingCycleMetadataResolver.sol":{"keccak256":"0x82e342511adbcc375d71de21cf11d49664ff449f4906398566b6502b3142163e","urls":["bzz-raw://2d1fc2bde15c71c00341fcf32a971e0100e2a5d627d59ff64aeb060008e34ad7","dweb:/ipfs/QmRCstBiH5ZWmKQKn8xVYtjRaQiG6AT2jLgsckpxBasVrF"],"license":"MIT"},"contracts/structs/JBTiered721FundingCycleMetadata.sol":{"keccak256":"0x8d06ba90973664fa80e874fcdd7b6c464193c34877e3a26942356a96d5595b57","urls":["bzz-raw://5c4d978164b296a2de0f635071d674f1a8585f41d39aa2d59613520380a30658","dweb:/ipfs/QmaWTq6CFp4S6brPCt1WcRyESWCwSjPnoPXEFwC4yhsXCs"],"license":"MIT"}},"version":1},"id":30} \ No newline at end of file diff --git a/out/JBToken.sol/JBToken.json b/out/JBToken.sol/JBToken.json index f191348b..8b916a58 100644 --- a/out/JBToken.sol/JBToken.json +++ b/out/JBToken.sol/JBToken.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_spender","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_account","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_account","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ERC20Votes.Checkpoint","components":[{"name":"fromBlock","type":"uint32","internalType":"uint32"},{"name":"votes","type":"uint224","internalType":"uint224"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_account","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"BAD_PROJECT","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033","sourceMap":"370:6088:78:-:0;;;3240:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:187;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;3366:5:78;;;;;3345:7;2046:5:166;:13;3366:5:78;2046::166;:13;:::i;:::-;-1:-1:-1;2069:7:166;:17;2079:7;2069;:17;:::i;:::-;-1:-1:-1;3251:45:187;;-1:-1:-1;3251:4:187;;-1:-1:-1;3282:13:187;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;4572:25:197;4613:18;;;4606:34;;;;4656:18;;;4649:34;4106:13:187;4699:18:197;;;4692:34;4129:4:187;4742:19:197;;;4735:61;4018:7:187;;4544:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:187;3575:27;;-1:-1:-1;936:32:157;719:10:181;936:18:157;:32::i;:::-;3379:22:78::2;::::0;-1:-1:-1;370:6088:78;;-1:-1:-1;370:6088:78;2895:341:183;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:183;;-1:-1:-1;3014:216:183;2895:341;;;;:::o;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;1689:286:183:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:183;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:183:o;14:127:197:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:197;370:16;;363:27;146:250::o;401:699::-;455:5;508:3;501:4;493:6;489:17;485:27;475:55;;526:1;523;516:12;475:55;549:13;;-1:-1:-1;;;;;611:10:197;;;608:36;;;624:18;;:::i;:::-;699:2;693:9;667:2;753:13;;-1:-1:-1;;749:22:197;;;773:2;745:31;741:40;729:53;;;797:18;;;817:22;;;794:46;791:72;;;843:18;;:::i;:::-;883:10;879:2;872:22;918:2;910:6;903:18;964:3;957:4;952:2;944:6;940:15;936:26;933:35;930:55;;;981:1;978;971:12;930:55;994:76;1067:2;1060:4;1052:6;1048:17;1041:4;1033:6;1029:17;994:76;:::i;:::-;1088:6;401:699;-1:-1:-1;;;;;;401:699:197:o;1105:623::-;1213:6;1221;1229;1282:2;1270:9;1261:7;1257:23;1253:32;1250:52;;;1298:1;1295;1288:12;1250:52;1325:16;;-1:-1:-1;;;;;1390:14:197;;;1387:34;;;1417:1;1414;1407:12;1387:34;1440:61;1493:7;1484:6;1473:9;1469:22;1440:61;:::i;:::-;1430:71;;1547:2;1536:9;1532:18;1526:25;1510:41;;1576:2;1566:8;1563:16;1560:36;;;1592:1;1589;1582:12;1560:36;;1615:63;1670:7;1659:8;1648:9;1644:24;1615:63;:::i;:::-;1605:73;;;1718:2;1707:9;1703:18;1697:25;1687:35;;1105:623;;;;;:::o;1733:380::-;1812:1;1808:12;;;;1855;;;1876:61;;1930:4;1922:6;1918:17;1908:27;;1876:61;1983:2;1975:6;1972:14;1952:18;1949:38;1946:161;;2029:10;2024:3;2020:20;2017:1;2010:31;2064:4;2061:1;2054:15;2092:4;2089:1;2082:15;1946:161;;1733:380;;;:::o;2244:543::-;2346:2;2341:3;2338:11;2335:446;;;2382:1;2406:5;2403:1;2396:16;2450:4;2447:1;2437:18;2520:2;2508:10;2504:19;2501:1;2497:27;2491:4;2487:38;2556:4;2544:10;2541:20;2538:47;;;-1:-1:-1;2579:4:197;2538:47;2634:2;2629:3;2625:12;2622:1;2618:20;2612:4;2608:31;2598:41;;2689:82;2707:2;2700:5;2697:13;2689:82;;;2752:17;;;2733:1;2722:13;2689:82;;;2693:3;;;2335:446;2244:543;;;:::o;2963:1345::-;3083:10;;-1:-1:-1;;;;;3105:30:197;;3102:56;;;3138:18;;:::i;:::-;3167:97;3257:6;3217:38;3249:4;3243:11;3217:38;:::i;:::-;3211:4;3167:97;:::i;:::-;3319:4;;3376:2;3365:14;;3393:1;3388:663;;;;4095:1;4112:6;4109:89;;;-1:-1:-1;4164:19:197;;;4158:26;4109:89;-1:-1:-1;;2920:1:197;2916:11;;;2912:24;2908:29;2898:40;2944:1;2940:11;;;2895:57;4211:81;;3358:944;;3388:663;2191:1;2184:14;;;2228:4;2215:18;;-1:-1:-1;;3424:20:197;;;3542:236;3556:7;3553:1;3550:14;3542:236;;;3645:19;;;3639:26;3624:42;;3737:27;;;;3705:1;3693:14;;;;3572:19;;3542:236;;;3546:3;3806:6;3797:7;3794:19;3791:201;;;3867:19;;;3861:26;-1:-1:-1;;3950:1:197;3946:14;;;3962:3;3942:24;3938:37;3934:42;3919:58;3904:74;;3791:201;-1:-1:-1;;;;;4038:1:197;4022:14;;;4018:22;4005:36;;-1:-1:-1;2963:1345:197:o;4807:396::-;4956:2;4945:9;4938:21;4919:4;4988:6;4982:13;5031:6;5026:2;5015:9;5011:18;5004:34;5047:79;5119:6;5114:2;5103:9;5099:18;5094:2;5086:6;5082:15;5047:79;:::i;:::-;5187:2;5166:15;-1:-1:-1;;5162:29:197;5147:45;;;;5194:2;5143:54;;4807:396;-1:-1:-1;;4807:396:197:o;5208:297::-;5326:12;;5373:4;5362:16;;;5356:23;;5326:12;5391:16;;5388:111;;;-1:-1:-1;;5465:4:197;5461:17;;;;5458:1;5454:25;5450:38;5439:50;;5208:297;-1:-1:-1;5208:297:197:o;:::-;370:6088:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033","sourceMap":"370:6088:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2001:296;;;;;;:::i;:::-;;:::i;:::-;;;597:25:197;;;585:2;570:18;2001:296:78;;;;;;;;2158:98:166;;;:::i;:::-;;;;;;;:::i;4444:197::-;;;;;;:::i;:::-;;:::i;:::-;;;1451:14:197;;1444:22;1426:41;;1414:2;1399:18;4444:197:166;1286:187:197;3255:106:166;3342:12;;3255:106;;6170:286:78;;;;;;:::i;:::-;;:::i;:::-;;5203:256:166;;;;;;:::i;:::-;;:::i;2659:108:78:-;;;3186:2:166;2355:36:197;;2343:2;2328:18;2659:108:78;2213:184:197;2867:113:168;;;:::i;5854:234:166:-;;;;;;:::i;:::-;;:::i;3466:248:169:-;;;;;;:::i;:::-;;:::i;1020:43:78:-;;;;;2047:254:169;;;:::i;2838:126::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2938:19:169;;;2912:7;2938:19;;;:10;:19;;;;;;;;2838:126;;;;-1:-1:-1;;;;;2939:32:197;;;2921:51;;2909:2;2894:18;2838:126:169;2775:203:197;6275:112:169;;;;;;:::i;:::-;;:::i;2601:149::-;;;;;;:::i;:::-;;:::i;:::-;;;3157:10:197;3145:23;;;3127:42;;3115:2;3100:18;2601:149:169;2983:192:197;3419:125:166;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:166;3493:7;3519:18;;;;;;;;;;;;3419:125;1824:101:157;;;:::i;2617:126:168:-;;;;;;:::i;:::-;;:::i;3968:252:78:-;;;;;;:::i;:::-;;:::i;5021:633:187:-;;;:::i;:::-;;;;;;;;;;;;;:::i;5132:243:78:-;;;;;;:::i;:::-;;:::i;1201:85:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;1201:85;;3976:239:169;;;;;;:::i;:::-;;:::i;1817:118::-;;;:::i;:::-;;;5130:14:197;5118:27;;;5100:46;;5088:2;5073:18;1817:118:169;4956:196:197;2369:102:166;;;:::i;3043:243:169:-;;;;;;:::i;:::-;;:::i;4563:252:78:-;;;;;;:::i;:::-;;:::i;6575:427:166:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;1505:192:78:-;;;;;;:::i;:::-;;:::i;6464:574:169:-;;;;;;:::i;:::-;;:::i;1930:626:168:-;;;;;;:::i;:::-;;:::i;3987:149:166:-;;;;;;:::i;:::-;;:::i;2378:148:169:-;;;;;;:::i;:::-;;:::i;:::-;;;;7311:13:197;;7326:10;7307:30;7289:49;;7398:4;7386:17;;;7380:24;-1:-1:-1;;;;;7376:50:197;7354:20;;;7347:80;;;;7262:18;2378:148:169;7085:348:197;2074:198:157;;;;;;:::i;:::-;;:::i;5631:236:78:-;;;;;;:::i;:::-;;:::i;2001:296::-;-1:-1:-1;;;;;3519:18:166;;2102:7:78;3519:18:166;;;;;;;;;;;2267:25:78;2260:32;;2001:296;;;;;:::o;2158:98:166:-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:181;4581:32:166;719:10:181;4597:7:166;4606:6;4581:8;:32::i;:::-;-1:-1:-1;4630:4:166;;4444:197;-1:-1:-1;;;4444:197:166:o;6170:286:78:-;6348:9;:14;;;;:41;;;6380:9;6366:10;:23;;6348:41;6344:67;;;6398:13;;-1:-1:-1;;;6398:13:78;;;;;;;;;;;6344:67;6418:33;6431:5;6438:3;6443:7;6418:12;:33::i;:::-;;6170:286;;;;:::o;5203:256:166:-;5300:4;719:10:181;5356:38:166;5372:4;719:10:181;5387:6:166;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:166;;5203:256;-1:-1:-1;;;;5203:256:166:o;2746:16:78:-;2739:23;;2659:108;:::o;2867:113:168:-;2927:7;2953:20;:18;:20::i;5854:234:166:-;5942:4;719:10:181;5996:64:166;719:10:181;6012:7:166;6049:10;6021:25;719:10:181;6012:7:166;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;3466:248:169:-;3562:7;3601;:5;:7::i;:::-;3589:19;;:9;:19;3581:57;;;;-1:-1:-1;;;3581:57:169;;8287:2:197;3581:57:169;;;8269:21:197;8326:2;8306:18;;;8299:30;-1:-1:-1;;;8345:18:197;;;8338:55;8410:18;;3581:57:169;;;;;;;;;-1:-1:-1;;;;;3674:21:169;;;;;;:12;:21;;;;;3655:52;;3697:9;3655:18;:52::i;2047:254::-;2107:13;2200:12;2189:7;:5;:7::i;:::-;:23;;;2181:65;;;;-1:-1:-1;;;2181:65:169;;8641:2:197;2181:65:169;;;8623:21:197;8680:2;8660:18;;;8653:30;8719:31;8699:18;;;8692:59;8768:18;;2181:65:169;8439:353:197;2181:65:169;-1:-1:-1;2256:38:169;;;;;;;;;;;;;;;;;;2047:254::o;6275:112::-;6346:34;719:10:181;6370:9:169;6346;:34::i;:::-;6275:112;:::o;2601:149::-;-1:-1:-1;;;;;2714:21:169;;2671:6;2714:21;;;:12;:21;;;;;:28;2696:47;;:17;:47::i;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2617:126:168:-;-1:-1:-1;;;;;2712:14:168;;2686:7;2712:14;;;:7;:14;;;;;918::182;2712:24:168;827:112:182;3968:252:78;1094:13:157;:11;:13::i;:::-;4114:9:78::1;:14:::0;;::::1;::::0;:41:::1;;;4146:9;4132:10;:23;;4114:41;4110:67;;;4164:13;;-1:-1:-1::0;;;4164:13:78::1;;;;;;;;;;;4110:67;4191:24;4197:8;4207:7;4191:5;:24::i;:::-;3968:252:::0;;;:::o;5021:633:187:-;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:187;;;-1:-1:-1;5376:271:187;;-1:-1:-1;5543:13:187;;-1:-1:-1;5578:4:187;;-1:-1:-1;5605:1:187;-1:-1:-1;5621:16:187;-1:-1:-1;5376:271:187;-1:-1:-1;5021:633:187:o;5132:243:78:-;5274:9;:14;;;;:41;;;5306:9;5292:10;:23;;5274:41;5270:67;;;5324:13;;-1:-1:-1;;;5324:13:78;;;;;;;;;;;5270:67;5344:26;5352:8;5362:7;5344;:26::i;:::-;;5132:243;;;:::o;3976:239:169:-;4061:7;4100;:5;:7::i;:::-;4088:19;;:9;:19;4080:57;;;;-1:-1:-1;;;4080:57:169;;8287:2:197;4080:57:169;;;8269:21:197;8326:2;8306:18;;;8299:30;-1:-1:-1;;;8345:18:197;;;8338:55;8410:18;;4080:57:169;8085:349:197;4080:57:169;4154:54;4173:23;4198:9;4154:18;:54::i;1817:118::-;1872:6;1897:31;1915:12;1897:17;:31::i;2369:102:166:-;2425:13;2457:7;2450:14;;;;;:::i;3043:243:169:-;-1:-1:-1;;;;;3149:21:169;;3116:7;3149:21;;;:12;:21;;;;;:28;3218:8;;:51;;-1:-1:-1;;;;;3233:21:169;;;;;;:12;:21;;;;;:30;;-1:-1:-1;;3255:7:169;;;3233:30;;;;;;:::i;:::-;;;;;;;;;;:36;;;;-1:-1:-1;;;;;3233:36:169;3218:51;;;3229:1;3218:51;-1:-1:-1;;;;;3211:58:169;;3043:243;-1:-1:-1;;;3043:243:169:o;4563:252:78:-;1094:13:157;:11;:13::i;:::-;4709:9:78::1;:14:::0;;::::1;::::0;:41:::1;;;4741:9;4727:10;:23;;4709:41;4705:67;;;4759:13;;-1:-1:-1::0;;;4759:13:78::1;;;;;;;;;;;4705:67;4786:24;4792:8;4802:7;4786:5;:24::i;6575:427:166:-:0;6668:4;719:10:181;6668:4:166;6749:25;719:10:181;6766:7:166;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:166;;9263:2:197;6784:85:166;;;9245:21:197;9302:2;9282:18;;;9275:30;9341:34;9321:18;;;9314:62;-1:-1:-1;;;9392:18:197;;;9385:35;9437:19;;6784:85:166;9061:401:197;6784:85:166;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:181;3873:28:166;719:10:181;3890:2:166;3894:6;3873:9;:28::i;1505:192:78:-;1578:7;1673:19;3342:12:166;;;3255:106;6464:574:169;6683:6;6664:15;:25;;6656:67;;;;-1:-1:-1;;;6656:67:169;;9669:2:197;6656:67:169;;;9651:21:197;9708:2;9688:18;;;9681:30;9747:31;9727:18;;;9720:59;9796:18;;6656:67:169;9467:353:197;6656:67:169;6804:58;;;1439:71;6804:58;;;10056:25:197;-1:-1:-1;;;;;10117:32:197;;10097:18;;;10090:60;;;;10166:18;;;10159:34;;;10209:18;;;10202:34;;;6733:14:169;;6750:169;;6777:87;;10028:19:197;;6804:58:169;;;;;;;;;;;;6794:69;;;;;;6777:16;:87::i;:::-;6878:1;6893;6908;6750:13;:169::i;:::-;6733:186;;6946:17;6956:6;6946:9;:17::i;:::-;6937:5;:26;6929:64;;;;-1:-1:-1;;;6929:64:169;;10449:2:197;6929:64:169;;;10431:21:197;10488:2;10468:18;;;10461:30;10527:27;10507:18;;;10500:55;10572:18;;6929:64:169;10247:349:197;6929:64:169;7003:28;7013:6;7021:9;7003;:28::i;:::-;6646:392;6464:574;;;;;;:::o;1930:626:168:-;2165:8;2146:15;:27;;2138:69;;;;-1:-1:-1;;;2138:69:168;;10803:2:197;2138:69:168;;;10785:21:197;10842:2;10822:18;;;10815:30;10881:31;10861:18;;;10854:59;10930:18;;2138:69:168;10601:353:197;2138:69:168;2218:18;1125:95;2278:5;2285:7;2294:5;2301:16;2311:5;2301:9;:16::i;:::-;2249:79;;;;;;11246:25:197;;;;-1:-1:-1;;;;;11345:15:197;;;11325:18;;;11318:43;11397:15;;;;11377:18;;;11370:43;11429:18;;;11422:34;11472:19;;;11465:35;11516:19;;;11509:35;;;11218:19;;2249:79:168;;;;;;;;;;;;2239:90;;;;;;2218:111;;2340:12;2355:28;2372:10;2355:16;:28::i;:::-;2340:43;;2394:14;2411:28;2425:4;2431:1;2434;2437;2411:13;:28::i;:::-;2394:45;;2467:5;-1:-1:-1;;;;;2457:15:168;:6;-1:-1:-1;;;;;2457:15:168;;2449:58;;;;-1:-1:-1;;;2449:58:168;;11757:2:197;2449:58:168;;;11739:21:197;11796:2;11776:18;;;11769:30;11835:32;11815:18;;;11808:60;11885:18;;2449:58:168;11555:354:197;2449:58:168;2518:31;2527:5;2534:7;2543:5;2518:8;:31::i;:::-;2128:428;;;1930:626;;;;;;;:::o;3987:149:166:-;-1:-1:-1;;;;;4102:18:166;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;2378:148:169:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;2493:21:169;;;;;;:12;:21;;;;;:26;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2486:33;;;;;;;;;2493:26;;2486:33;;;;;;;;;-1:-1:-1;;;;;2486:33:169;;;;;;;;;2378:148;-1:-1:-1;;;2378:148:169:o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;12116:2:197;2154:73:157::1;::::0;::::1;12098:21:197::0;12155:2;12135:18;;;12128:30;12194:34;12174:18;;;12167:62;-1:-1:-1;;;12245:18:197;;;12238:36;12291:19;;2154:73:157::1;11914:402:197::0;2154:73:157::1;2237:28;2256:8;2237:18;:28::i;5631:236:78:-:0;5770:9;:14;;;;:41;;;5802:9;5788:10;:23;;5770:41;5766:67;;;5820:13;;-1:-1:-1;;;5820:13:78;;;;;;;;;;;5766:67;5840:22;5849:3;5854:7;5840:8;:22::i;10457:340:166:-;-1:-1:-1;;;;;10558:19:166;;10550:68;;;;-1:-1:-1;;;10550:68:166;;12523:2:197;10550:68:166;;;12505:21:197;12562:2;12542:18;;;12535:30;12601:34;12581:18;;;12574:62;-1:-1:-1;;;12652:18:197;;;12645:34;12696:19;;10550:68:166;12321:400:197;10550:68:166;-1:-1:-1;;;;;10636:21:166;;10628:68;;;;-1:-1:-1;;;10628:68:166;;12928:2:197;10628:68:166;;;12910:21:197;12967:2;12947:18;;;12940:30;13006:34;12986:18;;;12979:62;-1:-1:-1;;;13057:18:197;;;13050:32;13099:19;;10628:68:166;12726:398:197;10628:68:166;-1:-1:-1;;;;;10707:18:166;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;597:25:197;;;10758:32:166;;570:18:197;10758:32:166;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:166;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:166;;13331:2:197;11297:68:166;;;13313:21:197;13370:2;13350:18;;;13343:30;13409:31;13389:18;;;13382:59;13458:18;;11297:68:166;13129:353:197;11297:68:166;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;7456:788::-;-1:-1:-1;;;;;7552:18:166;;7544:68;;;;-1:-1:-1;;;7544:68:166;;13689:2:197;7544:68:166;;;13671:21:197;13728:2;13708:18;;;13701:30;13767:34;13747:18;;;13740:62;-1:-1:-1;;;13818:18:197;;;13811:35;13863:19;;7544:68:166;13487:401:197;7544:68:166;-1:-1:-1;;;;;7630:16:166;;7622:64;;;;-1:-1:-1;;;7622:64:166;;14095:2:197;7622:64:166;;;14077:21:197;14134:2;14114:18;;;14107:30;14173:34;14153:18;;;14146:62;-1:-1:-1;;;14224:18:197;;;14217:33;14267:19;;7622:64:166;13893:399:197;7622:64:166;-1:-1:-1;;;;;7768:15:166;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:166;;14499:2:197;7793:72:166;;;14481:21:197;14538:2;14518:18;;;14511:30;14577:34;14557:18;;;14550:62;-1:-1:-1;;;14628:18:197;;;14621:36;14674:19;;7793:72:166;14297:402:197;7793:72:166;-1:-1:-1;;;;;7899:15:166;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;597:25:197;;;8114:13:166;;8163:26;;570:18:197;8163:26:166;;;;;;;8200:37;8220:4;8226:2;8230:6;8200:19;:37::i;3695:262:187:-;3748:7;3779:4;-1:-1:-1;;;;;3788:11:187;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:187;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;16688:25:197;4077:11:187;16729:18:197;;;16722:34;;;;4090:14:187;16772:18:197;;;16765:34;4106:13:187;16815:18:197;;;16808:34;4129:4:187;16858:19:197;;;16851:61;4018:7:187;;16660:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;4299:1895:169;5510:12;;4396:7;;;5510:12;5603:1;5594:10;;5590:242;;;5620:11;5643:17;5653:6;5643:9;:17::i;:::-;5634:26;;:6;:26;:::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;5620:40;;-1:-1:-1;5716:9:169;;10735:28;;5678:35;;;:47;5674:148;;;5752:3;5745:10;;5674:148;;;5800:7;:3;5806:1;5800:7;:::i;:::-;5794:13;;5674:148;5606:226;5590:242;5855:4;5849:3;:10;5842:242;;;5875:11;5889:23;5902:3;5907:4;5889:12;:23::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;5875:37;;-1:-1:-1;5968:9:169;;10735:28;;5930:35;;;:47;5926:148;;;6004:3;5997:10;;5926:148;;;6052:7;:3;6058:1;6052:7;:::i;:::-;6046:13;;5926:148;5861:223;5842:242;;;6125:9;;:52;;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;6141:36;;;;-1:-1:-1;;;;;6141:36:169;6125:52;;;6137:1;6125:52;-1:-1:-1;;;;;6118:59:169;;4299:1895;-1:-1:-1;;;;;;4299:1895:169:o;8431:380::-;-1:-1:-1;;;;;2938:19:169;;;8515:23;2938:19;;;:10;:19;;;;;;;;;;3519:18:166;;;;;;;8628:21:169;;;;:33;;;-1:-1:-1;;;;;;8628:33:169;;;;;;;8677:54;;2938:19;;;;;3519:18:166;;8628:33:169;;2938:19;;;8677:54;;8515:23;8677:54;8742:62;8759:15;8776:9;8787:16;8742;:62::i;15264:187:192:-;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:192;;15039:2:197;15338:76:192;;;15021:21:197;15078:2;15058:18;;;15051:30;15117:34;15097:18;;;15090:62;-1:-1:-1;;;15168:18:197;;;15161:36;15214:19;;15338:76:192;14837:402:197;15338:76:192;-1:-1:-1;15438:5:192;15264:187::o;1359:130:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;15446:2:197;1414:68:157;;;15428:21:197;;;15465:18;;;15458:30;15524:34;15504:18;;;15497:62;15576:18;;1414:68:157;15244:356:197;2426:187:157;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;7332:285:169:-;7416:28;7428:7;7437:6;7416:11;:28::i;:::-;3342:12:166;;-1:-1:-1;;;;;;7462:29:169;7454:90;;;;-1:-1:-1;;;7454:90:169;;15807:2:197;7454:90:169;;;15789:21:197;15846:2;15826:18;;;15819:30;15885:34;15865:18;;;15858:62;-1:-1:-1;;;15936:18:197;;;15929:46;15992:19;;7454:90:169;15605:412:197;7454:90:169;7555:55;7572:23;7597:4;7603:6;7555:16;:55::i;3367:268:183:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:192;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:192;;16224:2:197;14314:76:192;;;16206:21:197;16263:2;16243:18;;;16236:30;16302:34;16282:18;;;16275:62;-1:-1:-1;;;16353:18:197;;;16346:36;16399:19;;14314:76:192;16022:402:197;7706:190:169;7790:28;7802:7;7811:6;7790:11;:28::i;:::-;7829:60;7846:23;7871:9;7882:6;7829:16;:60::i;4768:165:187:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:186;8530:11;-1:-1:-1;;;8554:23:186;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:186;6598:232;-1:-1:-1;;;;;6598:232:186:o;3111:203:168:-;-1:-1:-1;;;;;3231:14:168;;3171:15;3231:14;;;:7;:14;;;;;918::182;;1050:1;1032:19;;;;918:14;3290:17:168;3188:126;3111:203;;;:::o;8036:224:169:-;-1:-1:-1;;;;;2938:19:169;;;2912:7;2938:19;;;:10;:19;;;;;;;;;;;;;;;8197:56;;2938:19;;;;;8246:6;8197:16;:56::i;6530:1642:191:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:191;;6530:1642;-1:-1:-1;6530:1642:191:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;:::-;8125:30;6530:1642;-1:-1:-1;;;6530:1642:191:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;8817:597:169:-;8914:3;-1:-1:-1;;;;;8907:10:169;:3;-1:-1:-1;;;;;8907:10:169;;;:24;;;;;8930:1;8921:6;:10;8907:24;8903:505;;;-1:-1:-1;;;;;8951:17:169;;;8947:221;;-1:-1:-1;;;;;9046:17:169;;8989;9046;;;:12;:17;;;;;8989;;9029:54;;9065:9;9076:6;9029:16;:54::i;:::-;8988:95;;;;9127:3;-1:-1:-1;;;;;9106:47:169;;9132:9;9143;9106:47;;;;;;17451:25:197;;;17507:2;17492:18;;17485:34;17439:2;17424:18;;17277:248;9106:47:169;;;;;;;;8970:198;;8947:221;-1:-1:-1;;;;;9186:17:169;;;9182:216;;-1:-1:-1;;;;;9281:17:169;;9224;9281;;;:12;:17;;;;;9224;;9264:49;;9300:4;9306:6;9264:16;:49::i;:::-;9223:90;;;;9357:3;-1:-1:-1;;;;;9336:47:169;;9362:9;9373;9336:47;;;;;;17451:25:197;;;17507:2;17492:18;;17485:34;17439:2;17424:18;;17277:248;9336:47:169;;;;;;;;9205:193;;8817:597;;;:::o;8520:535:166:-;-1:-1:-1;;;;;8603:21:166;;8595:65;;;;-1:-1:-1;;;8595:65:166;;17732:2:197;8595:65:166;;;17714:21:197;17771:2;17751:18;;;17744:30;17810:33;17790:18;;;17783:61;17861:18;;8595:65:166;17530:355:197;8595:65:166;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:166;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;597:25:197;;;8952:37:166;;570:18:197;8952:37:166;;;;;;;9000:48;9028:1;9032:7;9041:6;9000:19;:48::i;:::-;8520:535;;:::o;10194:96:169:-;10252:7;10278:5;10282:1;10278;:5;:::i;9420:768::-;9652:12;;9590:17;;;;;9727:8;;:59;;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;9727:59;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9727:59:169;;;;;;;;9738:16;;;;;;;;;-1:-1:-1;9738:16:169;;;;;;;9727:59;9699:87;;9813:7;:13;;;-1:-1:-1;;;;;9801:25:169;;;9852:20;9855:9;9866:5;9852:2;:20;;:::i;:::-;9840:32;;9897:1;9891:3;:7;:39;;;;;9923:7;:5;:7::i;:::-;9902:28;;:7;:17;;;:28;;;9891:39;9887:285;;;9988:29;10007:9;9988:18;:29::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;9950:67;;-1:-1:-1;;;;;9950:67:169;;;;;;;;;;;;;;;;9887:285;;;10056:5;10067:89;;;;;;;;10090:26;10108:7;:5;:7::i;:::-;10090:26;;:17;:26::i;:::-;10067:89;;;;;;10125:29;10144:9;10125:18;:29::i;:::-;-1:-1:-1;;;;;10067:89:169;;;;;;10056:101;;;;;;;-1:-1:-1;10056:101:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9887:285;9675:507;9628:560;9420:768;;;;;;:::o;2059:405:183:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:183;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:183;;;-1:-1:-1;2416:4:183;2407:14;;2400:28;;;;-1:-1:-1;2371:16:183;2059:405::o;9375:659:166:-;-1:-1:-1;;;;;9458:21:166;;9450:67;;;;-1:-1:-1;;;9450:67:166;;18092:2:197;9450:67:166;;;18074:21:197;18131:2;18111:18;;;18104:30;18170:34;18150:18;;;18143:62;-1:-1:-1;;;18221:18:197;;;18214:31;18262:19;;9450:67:166;17890:397:197;9450:67:166;-1:-1:-1;;;;;9613:18:166;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:166;;18494:2:197;9641:71:166;;;18476:21:197;18533:2;18513:18;;;18506:30;18572:34;18552:18;;;18545:62;-1:-1:-1;;;18623:18:197;;;18616:32;18665:19;;9641:71:166;18292:398:197;9641:71:166;-1:-1:-1;;;;;9746:18:166;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;597:25:197;;;9746:9:166;;:18;9931:37;;570:18:197;9931:37:166;;;;;;;9979:48;9999:7;10016:1;10020:6;9979:19;:48::i;10296:101:169:-;10359:7;10385:5;10389:1;10385;:5;:::i;5009:1456:186:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:186;;-1:-1:-1;6123:30:186;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;18922:25:197;;;18995:4;18983:17;;18963:18;;;18956:45;;;;19017:18;;;19010:34;;;19060:18;;;19053:34;;;6276:24:186;;18894:19:197;;6276:24:186;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:186;;-1:-1:-1;;6276:24:186;;;-1:-1:-1;;;;;;;6314:20:186;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:186;;-1:-1:-1;5009:1456:186;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:186;;19432:2:197;788:34:186;;;19414:21:197;19471:2;19451:18;;;19444:30;19510:26;19490:18;;;19483:54;19554:18;;788:34:186;19230:348:197;730:345:186;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:186;;19785:2:197;903:41:186;;;19767:21:197;19824:2;19804:18;;;19797:30;19863:33;19843:18;;;19836:61;19914:18;;903:41:186;19583:355:197;839:236:186;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:186;;20145:2:197;1020:44:186;;;20127:21:197;20184:2;20164:18;;;20157:30;20223:34;20203:18;;;20196:62;-1:-1:-1;;;20274:18:197;;;20267:32;20316:19;;1020:44:186;19943:398:197;8633:983:191;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:191:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:191;;588:104;-1:-1:-1;588:104:191:o;2836:192:192:-;2893:7;-1:-1:-1;;;;;2920:26:192;;;2912:78;;;;-1:-1:-1;;;2912:78:192;;20548:2:197;2912:78:192;;;20530:21:197;20587:2;20567:18;;;20560:30;20626:34;20606:18;;;20599:62;-1:-1:-1;;;20677:18:197;;;20670:37;20724:19;;2912:78:192;20346:403:197;2536:245:183;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:183;;;;;;;;;;;14:173:197;82:20;;-1:-1:-1;;;;;131:31:197;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:197:o;633:423::-;675:3;713:5;707:12;740:6;735:3;728:19;765:1;775:162;789:6;786:1;783:13;775:162;;;851:4;907:13;;;903:22;;897:29;879:11;;;875:20;;868:59;804:12;775:162;;;779:3;982:1;975:4;966:6;961:3;957:16;953:27;946:38;1045:4;1038:2;1034:7;1029:2;1021:6;1017:15;1013:29;1008:3;1004:39;1000:50;993:57;;;633:423;;;;:::o;1061:220::-;1210:2;1199:9;1192:21;1173:4;1230:45;1271:2;1260:9;1256:18;1248:6;1230:45;:::i;1478:397::-;1564:6;1572;1580;1588;1641:3;1629:9;1620:7;1616:23;1612:33;1609:53;;;1658:1;1655;1648:12;1609:53;1694:9;1681:23;1671:33;;1723:38;1757:2;1746:9;1742:18;1723:38;:::i;:::-;1713:48;;1780:38;1814:2;1803:9;1799:18;1780:38;:::i;:::-;1478:397;;;;-1:-1:-1;1770:48:197;;1865:2;1850:18;1837:32;;-1:-1:-1;;1478:397:197:o;1880:328::-;1957:6;1965;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2113:38;2147:2;2136:9;2132:18;2113:38;:::i;:::-;2103:48;;2198:2;2187:9;2183:18;2170:32;2160:42;;1880:328;;;;;:::o;2584:186::-;2643:6;2696:2;2684:9;2675:7;2671:23;2667:32;2664:52;;;2712:1;2709;2702:12;2664:52;2735:29;2754:9;2735:29;:::i;3180:322::-;3257:6;3265;3273;3326:2;3314:9;3305:7;3301:23;3297:32;3294:52;;;3342:1;3339;3332:12;3294:52;3378:9;3365:23;3355:33;;3407:38;3441:2;3430:9;3426:18;3407:38;:::i;3507:1259::-;3913:3;3908;3904:13;3896:6;3892:26;3881:9;3874:45;3855:4;3938:2;3976:3;3971:2;3960:9;3956:18;3949:31;4003:46;4044:3;4033:9;4029:19;4021:6;4003:46;:::i;:::-;4097:9;4089:6;4085:22;4080:2;4069:9;4065:18;4058:50;4131:33;4157:6;4149;4131:33;:::i;:::-;4195:2;4180:18;;4173:34;;;-1:-1:-1;;;;;4244:32:197;;4238:3;4223:19;;4216:61;4264:3;4293:19;;4286:35;;;4358:22;;;4352:3;4337:19;;4330:51;4430:13;;4452:22;;;4502:2;4528:15;;;;-1:-1:-1;4490:15:197;;;;-1:-1:-1;4571:169:197;4585:6;4582:1;4579:13;4571:169;;;4646:13;;4634:26;;4715:15;;;;4680:12;;;;4607:1;4600:9;4571:169;;;-1:-1:-1;4757:3:197;;3507:1259;-1:-1:-1;;;;;;;;;;;;3507:1259:197:o;4771:180::-;4830:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:52;;;4899:1;4896;4889:12;4851:52;-1:-1:-1;4922:23:197;;4771:180;-1:-1:-1;4771:180:197:o;5157:156::-;5223:20;;5283:4;5272:16;;5262:27;;5252:55;;5303:1;5300;5293:12;5318:531;5420:6;5428;5436;5444;5452;5460;5513:3;5501:9;5492:7;5488:23;5484:33;5481:53;;;5530:1;5527;5520:12;5481:53;5553:29;5572:9;5553:29;:::i;:::-;5543:39;;5629:2;5618:9;5614:18;5601:32;5591:42;;5680:2;5669:9;5665:18;5652:32;5642:42;;5703:36;5735:2;5724:9;5720:18;5703:36;:::i;:::-;5693:46;;5786:3;5775:9;5771:19;5758:33;5748:43;;5838:3;5827:9;5823:19;5810:33;5800:43;;5318:531;;;;;;;;:::o;5854:606::-;5965:6;5973;5981;5989;5997;6005;6013;6066:3;6054:9;6045:7;6041:23;6037:33;6034:53;;;6083:1;6080;6073:12;6034:53;6106:29;6125:9;6106:29;:::i;:::-;6096:39;;6154:38;6188:2;6177:9;6173:18;6154:38;:::i;:::-;6144:48;;6239:2;6228:9;6224:18;6211:32;6201:42;;6290:2;6279:9;6275:18;6262:32;6252:42;;6313:37;6345:3;6334:9;6330:19;6313:37;:::i;:::-;6303:47;;6397:3;6386:9;6382:19;6369:33;6359:43;;6449:3;6438:9;6434:19;6421:33;6411:43;;5854:606;;;;;;;;;;:::o;6465:260::-;6533:6;6541;6594:2;6582:9;6573:7;6569:23;6565:32;6562:52;;;6610:1;6607;6600:12;6562:52;6633:29;6652:9;6633:29;:::i;:::-;6623:39;;6681:38;6715:2;6704:9;6700:18;6681:38;:::i;:::-;6671:48;;6465:260;;;;;:::o;6730:350::-;6797:6;6805;6858:2;6846:9;6837:7;6833:23;6829:32;6826:52;;;6874:1;6871;6864:12;6826:52;6897:29;6916:9;6897:29;:::i;:::-;6887:39;;6976:2;6965:9;6961:18;6948:32;7020:10;7013:5;7009:22;7002:5;6999:33;6989:61;;7046:1;7043;7036:12;6989:61;7069:5;7059:15;;;6730:350;;;;;:::o;7438:380::-;7517:1;7513:12;;;;7560;;;7581:61;;7635:4;7627:6;7623:17;7613:27;;7581:61;7688:2;7680:6;7677:14;7657:18;7654:38;7651:161;;7734:10;7729:3;7725:20;7722:1;7715:31;7769:4;7766:1;7759:15;7797:4;7794:1;7787:15;7823:127;7884:10;7879:3;7875:20;7872:1;7865:31;7915:4;7912:1;7905:15;7939:4;7936:1;7929:15;7955:125;8020:9;;;8041:10;;;8038:36;;;8054:18;;:::i;8929:127::-;8990:10;8985:3;8981:20;8978:1;8971:31;9021:4;9018:1;9011:15;9045:4;9042:1;9035:15;14704:128;14771:9;;;14792:11;;;14789:37;;;14806:18;;:::i;16923:127::-;16984:10;16979:3;16975:20;16972:1;16965:31;17015:4;17012:1;17005:15;17039:4;17036:1;17029:15;17055:217;17095:1;17121;17111:132;;17165:10;17160:3;17156:20;17153:1;17146:31;17200:4;17197:1;17190:15;17228:4;17225:1;17218:15;17111:132;-1:-1:-1;17257:9:197;;17055:217::o;19098:127::-;19159:10;19154:3;19150:20;19147:1;19140:31;19190:4;19187:1;19180:15;19214:4;19211:1;19204:15","linkReferences":{},"immutableReferences":{"79694":[{"start":752,"length":32},{"start":1587,"length":32},{"start":1629,"length":32},{"start":2186,"length":32},{"start":2228,"length":32},{"start":2446,"length":32},{"start":2488,"length":32},{"start":2837,"length":32},{"start":2879,"length":32},{"start":4062,"length":32},{"start":4104,"length":32}],"96588":[{"start":5109,"length":32}],"96590":[{"start":5067,"length":32}],"96592":[{"start":5025,"length":32}],"96594":[{"start":5190,"length":32}],"96596":[{"start":5230,"length":32}],"96599":[{"start":2321,"length":32}],"96602":[{"start":2364,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approve(uint256,address,uint256)":"8cb0a511","balanceOf(address)":"70a08231","balanceOf(address,uint256)":"00fdd58e","burn(uint256,address,uint256)":"9eea5f66","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","mint(uint256,address,uint256)":"836a1040","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","owner()":"8da5cb5b","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","projectId()":"3fafa127","renounceOwnership()":"715018a6","symbol()":"95d89b41","totalSupply()":"18160ddd","totalSupply(uint256)":"bd85b039","transfer(address,uint256)":"a9059cbb","transfer(uint256,address,uint256)":"f8548e36","transferFrom(address,address,uint256)":"23b872dd","transferFrom(uint256,address,address,uint256)":"1c0f12b6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BAD_PROJECT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"approve(uint256,address,uint256)\":{\"params\":{\"_amount\":\"The amount the `_spender` is allowed to spend.\",\"_projectId\":\"the ID of the project to which the token belongs.\",\"_spender\":\"The address that will be spending tokens on the `msg.sender`s behalf.\"}},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"balanceOf(address,uint256)\":{\"params\":{\"_account\":\"The account to get a balance of.\",\"_projectId\":\"is the ID of the project to which the token belongs. This is ignored.\"},\"returns\":{\"_0\":\"The balance of the `_account` of this ERC20, as a fixed point number with 18 decimals.\"}},\"burn(uint256,address,uint256)\":{\"details\":\"Only the owner of this contract cant burn some of its supply.\",\"params\":{\"_account\":\"The account to burn tokens from.\",\"_amount\":\"The amount of tokens to burn, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\"}},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"constructor\":{\"params\":{\"_name\":\"The name of the token.\",\"_projectId\":\"The ID of the project that this token should be exclusively used for. Send 0 to support any project.\",\"_symbol\":\"The symbol that the token should be represented by.\"}},\"decimals()\":{\"returns\":{\"_0\":\"The number of decimals.\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"mint(uint256,address,uint256)\":{\"details\":\"Only the owner of this contract cant mint more of it.\",\"params\":{\"_account\":\"The account to mint the tokens for.\",\"_amount\":\"The amount of tokens to mint, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"totalSupply(uint256)\":{\"params\":{\"_projectId\":\"the ID of the project to which the token belongs. This is ignored.\"},\"returns\":{\"_0\":\"The total supply of this ERC20, as a fixed point number.\"}},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transfer(uint256,address,uint256)\":{\"params\":{\"_amount\":\"The amount of the transfer, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\",\"_to\":\"The destination address.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferFrom(uint256,address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of the transfer, as a fixed point number with 18 decimals.\",\"_from\":\"The originating address.\",\"_projectId\":\"The ID of the project to which the token belongs.\",\"_to\":\"The destination address.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"approve(uint256,address,uint256)\":{\"notice\":\"Approves an account to spend tokens on the `msg.sender`s behalf.\"},\"balanceOf(address,uint256)\":{\"notice\":\"An account's balance of this ERC20.\"},\"burn(uint256,address,uint256)\":{\"notice\":\"Burn some outstanding tokens.\"},\"decimals()\":{\"notice\":\"The number of decimals included in the fixed point accounting of this token.\"},\"mint(uint256,address,uint256)\":{\"notice\":\"Mints more of the token.\"},\"projectId()\":{\"notice\":\"The ID of the project that this token should be exclusively used for. Send 0 to support any project.\"},\"totalSupply(uint256)\":{\"notice\":\"The total supply of this ERC20.\"},\"transfer(uint256,address,uint256)\":{\"notice\":\"Transfer tokens to an account.\"},\"transferFrom(uint256,address,address,uint256)\":{\"notice\":\"Transfer tokens between accounts.\"}},\"notice\":\"An ERC-20 token that can be used by a project in the `JBTokenStore`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":\"JBToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"BAD_PROJECT"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"DOMAIN_SEPARATOR()":{"details":"See {IERC20Permit-DOMAIN_SEPARATOR}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"approve(uint256,address,uint256)":{"params":{"_amount":"The amount the `_spender` is allowed to spend.","_projectId":"the ID of the project to which the token belongs.","_spender":"The address that will be spending tokens on the `msg.sender`s behalf."}},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"balanceOf(address,uint256)":{"params":{"_account":"The account to get a balance of.","_projectId":"is the ID of the project to which the token belongs. This is ignored."},"returns":{"_0":"The balance of the `_account` of this ERC20, as a fixed point number with 18 decimals."}},"burn(uint256,address,uint256)":{"details":"Only the owner of this contract cant burn some of its supply.","params":{"_account":"The account to burn tokens from.","_amount":"The amount of tokens to burn, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs."}},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"constructor":{"params":{"_name":"The name of the token.","_projectId":"The ID of the project that this token should be exclusively used for. Send 0 to support any project.","_symbol":"The symbol that the token should be represented by."}},"decimals()":{"returns":{"_0":"The number of decimals."}},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"delegate(address)":{"details":"Delegate votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`"},"delegates(address)":{"details":"Get the address `account` is currently delegating to."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past"},"getPastVotes(address,uint256)":{"details":"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past"},"getVotes(address)":{"details":"Gets the current votes balance for `account`"},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"mint(uint256,address,uint256)":{"details":"Only the owner of this contract cant mint more of it.","params":{"_account":"The account to mint the tokens for.","_amount":"The amount of tokens to mint, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs."}},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"See {IERC20Permit-nonces}."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"owner()":{"details":"Returns the address of the current owner."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"See {IERC20Permit-permit}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"totalSupply(uint256)":{"params":{"_projectId":"the ID of the project to which the token belongs. This is ignored."},"returns":{"_0":"The total supply of this ERC20, as a fixed point number."}},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transfer(uint256,address,uint256)":{"params":{"_amount":"The amount of the transfer, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs.","_to":"The destination address."}},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."},"transferFrom(uint256,address,address,uint256)":{"params":{"_amount":"The amount of the transfer, as a fixed point number with 18 decimals.","_from":"The originating address.","_projectId":"The ID of the project to which the token belongs.","_to":"The destination address."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"approve(uint256,address,uint256)":{"notice":"Approves an account to spend tokens on the `msg.sender`s behalf."},"balanceOf(address,uint256)":{"notice":"An account's balance of this ERC20."},"burn(uint256,address,uint256)":{"notice":"Burn some outstanding tokens."},"decimals()":{"notice":"The number of decimals included in the fixed point accounting of this token."},"mint(uint256,address,uint256)":{"notice":"Mints more of the token."},"projectId()":{"notice":"The ID of the project that this token should be exclusively used for. Send 0 to support any project."},"totalSupply(uint256)":{"notice":"The total supply of this ERC20."},"transfer(uint256,address,uint256)":{"notice":"Transfer tokens to an account."},"transferFrom(uint256,address,address,uint256)":{"notice":"Transfer tokens between accounts."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":"JBToken"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol","id":79916,"exportedSymbols":{"ERC20":[91118],"ERC20Permit":[91368],"ERC20Votes":[92102],"IJBToken":[86529],"JBToken":[79915],"Ownable":[89689]},"nodeType":"SourceUnit","src":"32:6427:78","nodes":[{"id":79673,"nodeType":"PragmaDirective","src":"32:24:78","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":79675,"nodeType":"ImportDirective","src":"58:67:78","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/Ownable.sol","file":"@openzeppelin/contracts/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":79916,"sourceUnit":89690,"symbolAliases":[{"foreign":{"id":79674,"name":"Ownable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89689,"src":"66:7:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79679,"nodeType":"ImportDirective","src":"126:109:78","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","nameLocation":"-1:-1:-1","scope":79916,"sourceUnit":92103,"symbolAliases":[{"foreign":{"id":79676,"name":"ERC20Votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92102,"src":"134:10:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79677,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91118,"src":"146:5:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":79678,"name":"ERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91368,"src":"153:11:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79681,"nodeType":"ImportDirective","src":"236:51:78","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","file":"./interfaces/IJBToken.sol","nameLocation":"-1:-1:-1","scope":79916,"sourceUnit":86530,"symbolAliases":[{"foreign":{"id":79680,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"244:8:78","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79915,"nodeType":"ContractDefinition","src":"370:6088:78","nodes":[{"id":79690,"nodeType":"ErrorDefinition","src":"652:20:78","nodes":[],"errorSelector":"cdceed00","name":"BAD_PROJECT","nameLocation":"658:11:78","parameters":{"id":79689,"nodeType":"ParameterList","parameters":[],"src":"669:2:78"}},{"id":79694,"nodeType":"VariableDeclaration","src":"1020:43:78","nodes":[],"baseFunctions":[86460],"constant":false,"documentation":{"id":79691,"nodeType":"StructuredDocumentation","src":"905:112:78","text":"@notice The ID of the project that this token should be exclusively used for. Send 0 to support any project."},"functionSelector":"3fafa127","mutability":"immutable","name":"projectId","nameLocation":"1054:9:78","overrides":{"id":79693,"nodeType":"OverrideSpecifier","overrides":[],"src":"1045:8:78"},"scope":79915,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79692,"name":"uint256","nodeType":"ElementaryTypeName","src":"1020:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":79710,"nodeType":"FunctionDefinition","src":"1505:192:78","nodes":[],"body":{"id":79709,"nodeType":"Block","src":"1587:110:78","nodes":[],"statements":[{"expression":{"id":79703,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79697,"src":"1593:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79704,"nodeType":"ExpressionStatement","src":"1593:10:78"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79705,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1673:5:78","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBToken_$79915_$","typeString":"type(contract super JBToken)"}},"id":79706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1679:11:78","memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":90616,"src":"1673:17:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":79707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1673:19:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79702,"id":79708,"nodeType":"Return","src":"1666:26:78"}]},"baseFunctions":[86472],"documentation":{"id":79695,"nodeType":"StructuredDocumentation","src":"1297:205:78","text":"@notice The total supply of this ERC20.\n @param _projectId the ID of the project to which the token belongs. This is ignored.\n @return The total supply of this ERC20, as a fixed point number."},"functionSelector":"bd85b039","implemented":true,"kind":"function","modifiers":[],"name":"totalSupply","nameLocation":"1514:11:78","overrides":{"id":79699,"nodeType":"OverrideSpecifier","overrides":[],"src":"1560:8:78"},"parameters":{"id":79698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79697,"mutability":"mutable","name":"_projectId","nameLocation":"1534:10:78","nodeType":"VariableDeclaration","scope":79710,"src":"1526:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79696,"name":"uint256","nodeType":"ElementaryTypeName","src":"1526:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1525:20:78"},"returnParameters":{"id":79702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79701,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79710,"src":"1578:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79700,"name":"uint256","nodeType":"ElementaryTypeName","src":"1578:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1577:9:78"},"scope":79915,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79731,"nodeType":"FunctionDefinition","src":"2001:296:78","nodes":[],"body":{"id":79730,"nodeType":"Block","src":"2111:186:78","nodes":[],"statements":[{"expression":{"id":79721,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79713,"src":"2117:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":79722,"nodeType":"ExpressionStatement","src":"2117:8:78"},{"expression":{"id":79723,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79715,"src":"2187:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79724,"nodeType":"ExpressionStatement","src":"2187:10:78"},{"expression":{"arguments":[{"id":79727,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79713,"src":"2283:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":79725,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2267:5:78","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBToken_$79915_$","typeString":"type(contract super JBToken)"}},"id":79726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2273:9:78","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":90630,"src":"2267:15:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":79728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2267:25:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":79720,"id":79729,"nodeType":"Return","src":"2260:32:78"}]},"baseFunctions":[86481],"documentation":{"id":79711,"nodeType":"StructuredDocumentation","src":"1701:297:78","text":"@notice An account's balance of this ERC20.\n @param _account The account to get a balance of.\n @param _projectId is the ID of the project to which the token belongs. This is ignored.\n @return The balance of the `_account` of this ERC20, as a fixed point number with 18 decimals."},"functionSelector":"00fdd58e","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"2010:9:78","overrides":{"id":79717,"nodeType":"OverrideSpecifier","overrides":[],"src":"2084:8:78"},"parameters":{"id":79716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79713,"mutability":"mutable","name":"_account","nameLocation":"2033:8:78","nodeType":"VariableDeclaration","scope":79731,"src":"2025:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79712,"name":"address","nodeType":"ElementaryTypeName","src":"2025:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79715,"mutability":"mutable","name":"_projectId","nameLocation":"2055:10:78","nodeType":"VariableDeclaration","scope":79731,"src":"2047:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79714,"name":"uint256","nodeType":"ElementaryTypeName","src":"2047:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2019:50:78"},"returnParameters":{"id":79720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79719,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79731,"src":"2102:7:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79718,"name":"uint256","nodeType":"ElementaryTypeName","src":"2102:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2101:9:78"},"scope":79915,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":79745,"nodeType":"FunctionDefinition","src":"2659:108:78","nodes":[],"body":{"id":79744,"nodeType":"Block","src":"2733:34:78","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":79740,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"2746:5:78","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_JBToken_$79915_$","typeString":"type(contract super JBToken)"}},"id":79741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2752:8:78","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":90606,"src":"2746:14:78","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint8_$","typeString":"function () view returns (uint8)"}},"id":79742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2746:16:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":79739,"id":79743,"nodeType":"Return","src":"2739:23:78"}]},"baseFunctions":[86465,90606],"documentation":{"id":79732,"nodeType":"StructuredDocumentation","src":"2530:126:78","text":"@notice The number of decimals included in the fixed point accounting of this token.\n @return The number of decimals."},"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","nameLocation":"2668:8:78","overrides":{"id":79736,"nodeType":"OverrideSpecifier","overrides":[{"id":79734,"name":"ERC20","nameLocations":["2700:5:78"],"nodeType":"IdentifierPath","referencedDeclaration":91118,"src":"2700:5:78"},{"id":79735,"name":"IJBToken","nameLocations":["2707:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"2707:8:78"}],"src":"2691:25:78"},"parameters":{"id":79733,"nodeType":"ParameterList","parameters":[],"src":"2676:2:78"},"returnParameters":{"id":79739,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79738,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":79745,"src":"2726:5:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":79737,"name":"uint8","nodeType":"ElementaryTypeName","src":"2726:5:78","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"2725:7:78"},"scope":79915,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":79767,"nodeType":"FunctionDefinition","src":"3240:166:78","nodes":[],"body":{"id":79766,"nodeType":"Block","src":"3373:33:78","nodes":[],"statements":[{"expression":{"id":79764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":79762,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"3379:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":79763,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79752,"src":"3391:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3379:22:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":79765,"nodeType":"ExpressionStatement","src":"3379:22:78"}]},"documentation":{"id":79746,"nodeType":"StructuredDocumentation","src":"3000:237:78","text":"@param _name The name of the token.\n @param _symbol The symbol that the token should be represented by.\n @param _projectId The ID of the project that this token should be exclusively used for. Send 0 to support any project."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":79755,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79748,"src":"3338:5:78","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":79756,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79750,"src":"3345:7:78","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":79757,"kind":"baseConstructorSpecifier","modifierName":{"id":79754,"name":"ERC20","nameLocations":["3332:5:78"],"nodeType":"IdentifierPath","referencedDeclaration":91118,"src":"3332:5:78"},"nodeType":"ModifierInvocation","src":"3332:21:78"},{"arguments":[{"id":79759,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79748,"src":"3366:5:78","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":79760,"kind":"baseConstructorSpecifier","modifierName":{"id":79758,"name":"ERC20Permit","nameLocations":["3354:11:78"],"nodeType":"IdentifierPath","referencedDeclaration":91368,"src":"3354:11:78"},"nodeType":"ModifierInvocation","src":"3354:18:78"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":79753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79748,"mutability":"mutable","name":"_name","nameLocation":"3271:5:78","nodeType":"VariableDeclaration","scope":79767,"src":"3257:19:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":79747,"name":"string","nodeType":"ElementaryTypeName","src":"3257:6:78","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":79750,"mutability":"mutable","name":"_symbol","nameLocation":"3296:7:78","nodeType":"VariableDeclaration","scope":79767,"src":"3282:21:78","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":79749,"name":"string","nodeType":"ElementaryTypeName","src":"3282:6:78","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":79752,"mutability":"mutable","name":"_projectId","nameLocation":"3317:10:78","nodeType":"VariableDeclaration","scope":79767,"src":"3309:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79751,"name":"uint256","nodeType":"ElementaryTypeName","src":"3309:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3251:80:78"},"returnParameters":{"id":79761,"nodeType":"ParameterList","parameters":[],"src":"3373:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":79797,"nodeType":"FunctionDefinition","src":"3968:252:78","nodes":[],"body":{"id":79796,"nodeType":"Block","src":"4065:155:78","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79786,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79780,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"4114:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":79781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4127:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4114:14:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79783,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79770,"src":"4132:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79784,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"4146:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4132:23:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4114:41:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79790,"nodeType":"IfStatement","src":"4110:67:78","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79787,"name":"BAD_PROJECT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79690,"src":"4164:11:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4164:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79789,"nodeType":"RevertStatement","src":"4157:20:78"}},{"expression":{"arguments":[{"id":79792,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79772,"src":"4197:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79793,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79774,"src":"4207:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79791,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[91794],"referencedDeclaration":91794,"src":"4191:5:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":79794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4191:24:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":79779,"id":79795,"nodeType":"Return","src":"4184:31:78"}]},"baseFunctions":[86490],"documentation":{"id":79768,"nodeType":"StructuredDocumentation","src":"3639:326:78","text":"@notice Mints more of the token.\n @dev Only the owner of this contract cant mint more of it.\n @param _projectId The ID of the project to which the token belongs.\n @param _account The account to mint the tokens for.\n @param _amount The amount of tokens to mint, as a fixed point number with 18 decimals."},"functionSelector":"836a1040","implemented":true,"kind":"function","modifiers":[{"id":79778,"kind":"modifierInvocation","modifierName":{"id":79777,"name":"onlyOwner","nameLocations":["4055:9:78"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"4055:9:78"},"nodeType":"ModifierInvocation","src":"4055:9:78"}],"name":"mint","nameLocation":"3977:4:78","overrides":{"id":79776,"nodeType":"OverrideSpecifier","overrides":[],"src":"4046:8:78"},"parameters":{"id":79775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79770,"mutability":"mutable","name":"_projectId","nameLocation":"3990:10:78","nodeType":"VariableDeclaration","scope":79797,"src":"3982:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79769,"name":"uint256","nodeType":"ElementaryTypeName","src":"3982:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79772,"mutability":"mutable","name":"_account","nameLocation":"4010:8:78","nodeType":"VariableDeclaration","scope":79797,"src":"4002:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79771,"name":"address","nodeType":"ElementaryTypeName","src":"4002:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79774,"mutability":"mutable","name":"_amount","nameLocation":"4028:7:78","nodeType":"VariableDeclaration","scope":79797,"src":"4020:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79773,"name":"uint256","nodeType":"ElementaryTypeName","src":"4020:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3981:55:78"},"returnParameters":{"id":79779,"nodeType":"ParameterList","parameters":[],"src":"4065:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79827,"nodeType":"FunctionDefinition","src":"4563:252:78","nodes":[],"body":{"id":79826,"nodeType":"Block","src":"4660:155:78","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79810,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"4709:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":79811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4722:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4709:14:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79813,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79800,"src":"4727:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79814,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"4741:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4727:23:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4709:41:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79820,"nodeType":"IfStatement","src":"4705:67:78","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79817,"name":"BAD_PROJECT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79690,"src":"4759:11:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79818,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4759:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79819,"nodeType":"RevertStatement","src":"4752:20:78"}},{"expression":{"arguments":[{"id":79822,"name":"_account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79802,"src":"4792:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79823,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79804,"src":"4802:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79821,"name":"_burn","nodeType":"Identifier","overloadedDeclarations":[91817],"referencedDeclaration":91817,"src":"4786:5:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":79824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4786:24:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":79809,"id":79825,"nodeType":"Return","src":"4779:31:78"}]},"baseFunctions":[86499],"documentation":{"id":79798,"nodeType":"StructuredDocumentation","src":"4224:336:78","text":"@notice Burn some outstanding tokens.\n @dev Only the owner of this contract cant burn some of its supply.\n @param _projectId The ID of the project to which the token belongs.\n @param _account The account to burn tokens from.\n @param _amount The amount of tokens to burn, as a fixed point number with 18 decimals."},"functionSelector":"9eea5f66","implemented":true,"kind":"function","modifiers":[{"id":79808,"kind":"modifierInvocation","modifierName":{"id":79807,"name":"onlyOwner","nameLocations":["4650:9:78"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"4650:9:78"},"nodeType":"ModifierInvocation","src":"4650:9:78"}],"name":"burn","nameLocation":"4572:4:78","overrides":{"id":79806,"nodeType":"OverrideSpecifier","overrides":[],"src":"4641:8:78"},"parameters":{"id":79805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79800,"mutability":"mutable","name":"_projectId","nameLocation":"4585:10:78","nodeType":"VariableDeclaration","scope":79827,"src":"4577:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79799,"name":"uint256","nodeType":"ElementaryTypeName","src":"4577:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79802,"mutability":"mutable","name":"_account","nameLocation":"4605:8:78","nodeType":"VariableDeclaration","scope":79827,"src":"4597:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79801,"name":"address","nodeType":"ElementaryTypeName","src":"4597:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79804,"mutability":"mutable","name":"_amount","nameLocation":"4623:7:78","nodeType":"VariableDeclaration","scope":79827,"src":"4615:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79803,"name":"uint256","nodeType":"ElementaryTypeName","src":"4615:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4576:55:78"},"returnParameters":{"id":79809,"nodeType":"ParameterList","parameters":[],"src":"4660:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79855,"nodeType":"FunctionDefinition","src":"5132:243:78","nodes":[],"body":{"id":79854,"nodeType":"Block","src":"5222:153:78","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79838,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"5274:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":79839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5287:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5274:14:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79841,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79830,"src":"5292:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79842,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"5306:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5292:23:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5274:41:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79848,"nodeType":"IfStatement","src":"5270:67:78","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79845,"name":"BAD_PROJECT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79690,"src":"5324:11:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5324:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79847,"nodeType":"RevertStatement","src":"5317:20:78"}},{"expression":{"arguments":[{"id":79850,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79832,"src":"5352:8:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79851,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79834,"src":"5362:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79849,"name":"approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90698,"src":"5344:7:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":79852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5344:26:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79853,"nodeType":"ExpressionStatement","src":"5344:26:78"}]},"baseFunctions":[86508],"documentation":{"id":79828,"nodeType":"StructuredDocumentation","src":"4819:310:78","text":"@notice Approves an account to spend tokens on the `msg.sender`s behalf.\n @param _projectId the ID of the project to which the token belongs.\n @param _spender The address that will be spending tokens on the `msg.sender`s behalf.\n @param _amount The amount the `_spender` is allowed to spend."},"functionSelector":"8cb0a511","implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"5141:7:78","overrides":{"id":79836,"nodeType":"OverrideSpecifier","overrides":[],"src":"5213:8:78"},"parameters":{"id":79835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79830,"mutability":"mutable","name":"_projectId","nameLocation":"5157:10:78","nodeType":"VariableDeclaration","scope":79855,"src":"5149:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79829,"name":"uint256","nodeType":"ElementaryTypeName","src":"5149:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79832,"mutability":"mutable","name":"_spender","nameLocation":"5177:8:78","nodeType":"VariableDeclaration","scope":79855,"src":"5169:16:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79831,"name":"address","nodeType":"ElementaryTypeName","src":"5169:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79834,"mutability":"mutable","name":"_amount","nameLocation":"5195:7:78","nodeType":"VariableDeclaration","scope":79855,"src":"5187:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79833,"name":"uint256","nodeType":"ElementaryTypeName","src":"5187:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5148:55:78"},"returnParameters":{"id":79837,"nodeType":"ParameterList","parameters":[],"src":"5222:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79883,"nodeType":"FunctionDefinition","src":"5631:236:78","nodes":[],"body":{"id":79882,"nodeType":"Block","src":"5717:150:78","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79866,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"5770:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":79867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5783:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5770:14:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79869,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79858,"src":"5788:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79870,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"5802:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5788:23:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5770:41:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79876,"nodeType":"IfStatement","src":"5766:67:78","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79873,"name":"BAD_PROJECT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79690,"src":"5820:11:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5820:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79875,"nodeType":"RevertStatement","src":"5813:20:78"}},{"expression":{"arguments":[{"id":79878,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79860,"src":"5849:3:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79879,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79862,"src":"5854:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79877,"name":"transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90655,"src":"5840:8:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) returns (bool)"}},"id":79880,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5840:22:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79881,"nodeType":"ExpressionStatement","src":"5840:22:78"}]},"baseFunctions":[86517],"documentation":{"id":79856,"nodeType":"StructuredDocumentation","src":"5379:249:78","text":"@notice Transfer tokens to an account.\n @param _projectId The ID of the project to which the token belongs.\n @param _to The destination address.\n @param _amount The amount of the transfer, as a fixed point number with 18 decimals."},"functionSelector":"f8548e36","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"5640:8:78","overrides":{"id":79864,"nodeType":"OverrideSpecifier","overrides":[],"src":"5708:8:78"},"parameters":{"id":79863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79858,"mutability":"mutable","name":"_projectId","nameLocation":"5657:10:78","nodeType":"VariableDeclaration","scope":79883,"src":"5649:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79857,"name":"uint256","nodeType":"ElementaryTypeName","src":"5649:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79860,"mutability":"mutable","name":"_to","nameLocation":"5677:3:78","nodeType":"VariableDeclaration","scope":79883,"src":"5669:11:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79859,"name":"address","nodeType":"ElementaryTypeName","src":"5669:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79862,"mutability":"mutable","name":"_amount","nameLocation":"5690:7:78","nodeType":"VariableDeclaration","scope":79883,"src":"5682:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79861,"name":"uint256","nodeType":"ElementaryTypeName","src":"5682:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5648:50:78"},"returnParameters":{"id":79865,"nodeType":"ParameterList","parameters":[],"src":"5717:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":79914,"nodeType":"FunctionDefinition","src":"6170:286:78","nodes":[],"body":{"id":79913,"nodeType":"Block","src":"6295:161:78","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":79902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79896,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"6348:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":79897,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6361:1:78","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6348:14:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":79901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":79899,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79886,"src":"6366:10:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":79900,"name":"projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79694,"src":"6380:9:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6366:23:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6348:41:78","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79906,"nodeType":"IfStatement","src":"6344:67:78","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":79903,"name":"BAD_PROJECT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79690,"src":"6398:11:78","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":79904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6398:13:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":79905,"nodeType":"RevertStatement","src":"6391:20:78"}},{"expression":{"arguments":[{"id":79908,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79888,"src":"6431:5:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79909,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79890,"src":"6438:3:78","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":79910,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79892,"src":"6443:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":79907,"name":"transferFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90731,"src":"6418:12:78","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) returns (bool)"}},"id":79911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6418:33:78","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":79912,"nodeType":"ExpressionStatement","src":"6418:33:78"}]},"baseFunctions":[86528],"documentation":{"id":79884,"nodeType":"StructuredDocumentation","src":"5871:296:78","text":"@notice Transfer tokens between accounts.\n @param _projectId The ID of the project to which the token belongs.\n @param _from The originating address.\n @param _to The destination address.\n @param _amount The amount of the transfer, as a fixed point number with 18 decimals."},"functionSelector":"1c0f12b6","implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"6179:12:78","overrides":{"id":79894,"nodeType":"OverrideSpecifier","overrides":[],"src":"6286:8:78"},"parameters":{"id":79893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79886,"mutability":"mutable","name":"_projectId","nameLocation":"6205:10:78","nodeType":"VariableDeclaration","scope":79914,"src":"6197:18:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79885,"name":"uint256","nodeType":"ElementaryTypeName","src":"6197:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":79888,"mutability":"mutable","name":"_from","nameLocation":"6229:5:78","nodeType":"VariableDeclaration","scope":79914,"src":"6221:13:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79887,"name":"address","nodeType":"ElementaryTypeName","src":"6221:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79890,"mutability":"mutable","name":"_to","nameLocation":"6248:3:78","nodeType":"VariableDeclaration","scope":79914,"src":"6240:11:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":79889,"name":"address","nodeType":"ElementaryTypeName","src":"6240:7:78","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":79892,"mutability":"mutable","name":"_amount","nameLocation":"6265:7:78","nodeType":"VariableDeclaration","scope":79914,"src":"6257:15:78","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79891,"name":"uint256","nodeType":"ElementaryTypeName","src":"6257:7:78","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6191:85:78"},"returnParameters":{"id":79895,"nodeType":"ParameterList","parameters":[],"src":"6295:0:78"},"scope":79915,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":79683,"name":"ERC20Votes","nameLocations":["390:10:78"],"nodeType":"IdentifierPath","referencedDeclaration":92102,"src":"390:10:78"},"id":79684,"nodeType":"InheritanceSpecifier","src":"390:10:78"},{"baseName":{"id":79685,"name":"Ownable","nameLocations":["402:7:78"],"nodeType":"IdentifierPath","referencedDeclaration":89689,"src":"402:7:78"},"id":79686,"nodeType":"InheritanceSpecifier","src":"402:7:78"},{"baseName":{"id":79687,"name":"IJBToken","nameLocations":["411:8:78"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"411:8:78"},"id":79688,"nodeType":"InheritanceSpecifier","src":"411:8:78"}],"canonicalName":"JBToken","contractDependencies":[],"contractKind":"contract","documentation":{"id":79682,"nodeType":"StructuredDocumentation","src":"289:81:78","text":"@notice An ERC-20 token that can be used by a project in the `JBTokenStore`."},"fullyImplemented":true,"internalFunctionIDs":{"92072":1,"92086":2},"linearizedBaseContracts":[79915,86529,89689,92102,90371,89767,90386,91368,96775,90362,92163,91118,92127,91196,95576],"name":"JBToken","nameLocation":"379:7:78","scope":79916,"usedErrors":[79690,95663,95665],"usedEvents":[89590,89701,89710,90342,91130,91139]}],"license":"MIT"},"id":78} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"approve","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_spender","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_account","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_account","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct ERC20Votes.Checkpoint","components":[{"name":"fromBlock","type":"uint32","internalType":"uint32"},{"name":"votes","type":"uint224","internalType":"uint224"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_account","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_from","type":"address","internalType":"address"},{"name":"_to","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"BAD_PROJECT","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033","sourceMap":"370:6088:78:-:0;;;3240:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3178:431:187;;;;;;;;;;;;-1:-1:-1;;;3178:431:187;;;;3366:5:78;;;;;3345:7;2046:5:166;:13;3366:5:78;2046::166;:13;:::i;:::-;-1:-1:-1;2069:7:166;:17;2079:7;2069;:17;:::i;:::-;-1:-1:-1;3251:45:187;;-1:-1:-1;3251:4:187;;-1:-1:-1;3282:13:187;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;4572:25:197;4613:18;;;4606:34;;;;4656:18;;;4649:34;4106:13:187;4699:18:197;;;4692:34;4129:4:187;4742:19:197;;;4735:61;4018:7:187;;4544:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:187;3575:27;;-1:-1:-1;936:32:157;719:10:181;936:18:157;:32::i;:::-;3379:22:78::2;::::0;-1:-1:-1;370:6088:78;;-1:-1:-1;370:6088:78;2895:341:183;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:183;;-1:-1:-1;3014:216:183;2895:341;;;;:::o;2426:187:157:-;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;1689:286:183:-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:183;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:183:o;14:127:197:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:197;370:16;;363:27;146:250::o;401:699::-;455:5;508:3;501:4;493:6;489:17;485:27;475:55;;526:1;523;516:12;475:55;549:13;;-1:-1:-1;;;;;611:10:197;;;608:36;;;624:18;;:::i;:::-;699:2;693:9;667:2;753:13;;-1:-1:-1;;749:22:197;;;773:2;745:31;741:40;729:53;;;797:18;;;817:22;;;794:46;791:72;;;843:18;;:::i;:::-;883:10;879:2;872:22;918:2;910:6;903:18;964:3;957:4;952:2;944:6;940:15;936:26;933:35;930:55;;;981:1;978;971:12;930:55;994:76;1067:2;1060:4;1052:6;1048:17;1041:4;1033:6;1029:17;994:76;:::i;:::-;1088:6;401:699;-1:-1:-1;;;;;;401:699:197:o;1105:623::-;1213:6;1221;1229;1282:2;1270:9;1261:7;1257:23;1253:32;1250:52;;;1298:1;1295;1288:12;1250:52;1325:16;;-1:-1:-1;;;;;1390:14:197;;;1387:34;;;1417:1;1414;1407:12;1387:34;1440:61;1493:7;1484:6;1473:9;1469:22;1440:61;:::i;:::-;1430:71;;1547:2;1536:9;1532:18;1526:25;1510:41;;1576:2;1566:8;1563:16;1560:36;;;1592:1;1589;1582:12;1560:36;;1615:63;1670:7;1659:8;1648:9;1644:24;1615:63;:::i;:::-;1605:73;;;1718:2;1707:9;1703:18;1697:25;1687:35;;1105:623;;;;;:::o;1733:380::-;1812:1;1808:12;;;;1855;;;1876:61;;1930:4;1922:6;1918:17;1908:27;;1876:61;1983:2;1975:6;1972:14;1952:18;1949:38;1946:161;;2029:10;2024:3;2020:20;2017:1;2010:31;2064:4;2061:1;2054:15;2092:4;2089:1;2082:15;1946:161;;1733:380;;;:::o;2244:543::-;2346:2;2341:3;2338:11;2335:446;;;2382:1;2406:5;2403:1;2396:16;2450:4;2447:1;2437:18;2520:2;2508:10;2504:19;2501:1;2497:27;2491:4;2487:38;2556:4;2544:10;2541:20;2538:47;;;-1:-1:-1;2579:4:197;2538:47;2634:2;2629:3;2625:12;2622:1;2618:20;2612:4;2608:31;2598:41;;2689:82;2707:2;2700:5;2697:13;2689:82;;;2752:17;;;2733:1;2722:13;2689:82;;;2693:3;;;2335:446;2244:543;;;:::o;2963:1345::-;3083:10;;-1:-1:-1;;;;;3105:30:197;;3102:56;;;3138:18;;:::i;:::-;3167:97;3257:6;3217:38;3249:4;3243:11;3217:38;:::i;:::-;3211:4;3167:97;:::i;:::-;3319:4;;3376:2;3365:14;;3393:1;3388:663;;;;4095:1;4112:6;4109:89;;;-1:-1:-1;4164:19:197;;;4158:26;4109:89;-1:-1:-1;;2920:1:197;2916:11;;;2912:24;2908:29;2898:40;2944:1;2940:11;;;2895:57;4211:81;;3358:944;;3388:663;2191:1;2184:14;;;2228:4;2215:18;;-1:-1:-1;;3424:20:197;;;3542:236;3556:7;3553:1;3550:14;3542:236;;;3645:19;;;3639:26;3624:42;;3737:27;;;;3705:1;3693:14;;;;3572:19;;3542:236;;;3546:3;3806:6;3797:7;3794:19;3791:201;;;3867:19;;;3861:26;-1:-1:-1;;3950:1:197;3946:14;;;3962:3;3942:24;3938:37;3934:42;3919:58;3904:74;;3791:201;-1:-1:-1;;;;;4038:1:197;4022:14;;;4018:22;4005:36;;-1:-1:-1;2963:1345:197:o;4807:396::-;4956:2;4945:9;4938:21;4919:4;4988:6;4982:13;5031:6;5026:2;5015:9;5011:18;5004:34;5047:79;5119:6;5114:2;5103:9;5099:18;5094:2;5086:6;5082:15;5047:79;:::i;:::-;5187:2;5166:15;-1:-1:-1;;5162:29:197;5147:45;;;;5194:2;5143:54;;4807:396;-1:-1:-1;;4807:396:197:o;5208:297::-;5326:12;;5373:4;5362:16;;;5356:23;;5326:12;5391:16;;5388:111;;;-1:-1:-1;;5465:4:197;5461:17;;;;5458:1;5454:25;5450:38;5439:50;;5208:297;-1:-1:-1;5208:297:197:o;:::-;370:6088:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033","sourceMap":"370:6088:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2001:296;;;;;;:::i;:::-;;:::i;:::-;;;597:25:197;;;585:2;570:18;2001:296:78;;;;;;;;2158:98:166;;;:::i;:::-;;;;;;;:::i;4444:197::-;;;;;;:::i;:::-;;:::i;:::-;;;1451:14:197;;1444:22;1426:41;;1414:2;1399:18;4444:197:166;1286:187:197;3255:106:166;3342:12;;3255:106;;6170:286:78;;;;;;:::i;:::-;;:::i;:::-;;5203:256:166;;;;;;:::i;:::-;;:::i;2659:108:78:-;;;3186:2:166;2355:36:197;;2343:2;2328:18;2659:108:78;2213:184:197;2867:113:168;;;:::i;5854:234:166:-;;;;;;:::i;:::-;;:::i;3466:248:169:-;;;;;;:::i;:::-;;:::i;1020:43:78:-;;;;;2047:254:169;;;:::i;2838:126::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2938:19:169;;;2912:7;2938:19;;;:10;:19;;;;;;;;2838:126;;;;-1:-1:-1;;;;;2939:32:197;;;2921:51;;2909:2;2894:18;2838:126:169;2775:203:197;6275:112:169;;;;;;:::i;:::-;;:::i;2601:149::-;;;;;;:::i;:::-;;:::i;:::-;;;3157:10:197;3145:23;;;3127:42;;3115:2;3100:18;2601:149:169;2983:192:197;3419:125:166;;;;;;:::i;:::-;-1:-1:-1;;;;;3519:18:166;3493:7;3519:18;;;;;;;;;;;;3419:125;1824:101:157;;;:::i;2617:126:168:-;;;;;;:::i;:::-;;:::i;3968:252:78:-;;;;;;:::i;:::-;;:::i;5021:633:187:-;;;:::i;:::-;;;;;;;;;;;;;:::i;5132:243:78:-;;;;;;:::i;:::-;;:::i;1201:85:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;1201:85;;3976:239:169;;;;;;:::i;:::-;;:::i;1817:118::-;;;:::i;:::-;;;5130:14:197;5118:27;;;5100:46;;5088:2;5073:18;1817:118:169;4956:196:197;2369:102:166;;;:::i;3043:243:169:-;;;;;;:::i;:::-;;:::i;4563:252:78:-;;;;;;:::i;:::-;;:::i;6575:427:166:-;;;;;;:::i;:::-;;:::i;3740:189::-;;;;;;:::i;:::-;;:::i;1505:192:78:-;;;;;;:::i;:::-;;:::i;6464:574:169:-;;;;;;:::i;:::-;;:::i;1930:626:168:-;;;;;;:::i;:::-;;:::i;3987:149:166:-;;;;;;:::i;:::-;;:::i;2378:148:169:-;;;;;;:::i;:::-;;:::i;:::-;;;;7311:13:197;;7326:10;7307:30;7289:49;;7398:4;7386:17;;;7380:24;-1:-1:-1;;;;;7376:50:197;7354:20;;;7347:80;;;;7262:18;2378:148:169;7085:348:197;2074:198:157;;;;;;:::i;:::-;;:::i;5631:236:78:-;;;;;;:::i;:::-;;:::i;2001:296::-;-1:-1:-1;;;;;3519:18:166;;2102:7:78;3519:18:166;;;;;;;;;;;2267:25:78;2260:32;;2001:296;;;;;:::o;2158:98:166:-;2212:13;2244:5;2237:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2158:98;:::o;4444:197::-;4527:4;719:10:181;4581:32:166;719:10:181;4597:7:166;4606:6;4581:8;:32::i;:::-;-1:-1:-1;4630:4:166;;4444:197;-1:-1:-1;;;4444:197:166:o;6170:286:78:-;6348:9;:14;;;;:41;;;6380:9;6366:10;:23;;6348:41;6344:67;;;6398:13;;-1:-1:-1;;;6398:13:78;;;;;;;;;;;6344:67;6418:33;6431:5;6438:3;6443:7;6418:12;:33::i;:::-;;6170:286;;;;:::o;5203:256:166:-;5300:4;719:10:181;5356:38:166;5372:4;719:10:181;5387:6:166;5356:15;:38::i;:::-;5404:27;5414:4;5420:2;5424:6;5404:9;:27::i;:::-;-1:-1:-1;5448:4:166;;5203:256;-1:-1:-1;;;;5203:256:166:o;2746:16:78:-;2739:23;;2659:108;:::o;2867:113:168:-;2927:7;2953:20;:18;:20::i;5854:234:166:-;5942:4;719:10:181;5996:64:166;719:10:181;6012:7:166;6049:10;6021:25;719:10:181;6012:7:166;6021:9;:25::i;:::-;:38;;;;:::i;:::-;5996:8;:64::i;3466:248:169:-;3562:7;3601;:5;:7::i;:::-;3589:19;;:9;:19;3581:57;;;;-1:-1:-1;;;3581:57:169;;8287:2:197;3581:57:169;;;8269:21:197;8326:2;8306:18;;;8299:30;-1:-1:-1;;;8345:18:197;;;8338:55;8410:18;;3581:57:169;;;;;;;;;-1:-1:-1;;;;;3674:21:169;;;;;;:12;:21;;;;;3655:52;;3697:9;3655:18;:52::i;2047:254::-;2107:13;2200:12;2189:7;:5;:7::i;:::-;:23;;;2181:65;;;;-1:-1:-1;;;2181:65:169;;8641:2:197;2181:65:169;;;8623:21:197;8680:2;8660:18;;;8653:30;8719:31;8699:18;;;8692:59;8768:18;;2181:65:169;8439:353:197;2181:65:169;-1:-1:-1;2256:38:169;;;;;;;;;;;;;;;;;;2047:254::o;6275:112::-;6346:34;719:10:181;6370:9:169;6346;:34::i;:::-;6275:112;:::o;2601:149::-;-1:-1:-1;;;;;2714:21:169;;2671:6;2714:21;;;:12;:21;;;;;:28;2696:47;;:17;:47::i;1824:101:157:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2617:126:168:-;-1:-1:-1;;;;;2712:14:168;;2686:7;2712:14;;;:7;:14;;;;;918::182;2712:24:168;827:112:182;3968:252:78;1094:13:157;:11;:13::i;:::-;4114:9:78::1;:14:::0;;::::1;::::0;:41:::1;;;4146:9;4132:10;:23;;4114:41;4110:67;;;4164:13;;-1:-1:-1::0;;;4164:13:78::1;;;;;;;;;;;4110:67;4191:24;4197:8;4207:7;4191:5;:24::i;:::-;3968:252:::0;;;:::o;5021:633:187:-;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:187;;;-1:-1:-1;5376:271:187;;-1:-1:-1;5543:13:187;;-1:-1:-1;5578:4:187;;-1:-1:-1;5605:1:187;-1:-1:-1;5621:16:187;-1:-1:-1;5376:271:187;-1:-1:-1;5021:633:187:o;5132:243:78:-;5274:9;:14;;;;:41;;;5306:9;5292:10;:23;;5274:41;5270:67;;;5324:13;;-1:-1:-1;;;5324:13:78;;;;;;;;;;;5270:67;5344:26;5352:8;5362:7;5344;:26::i;:::-;;5132:243;;;:::o;3976:239:169:-;4061:7;4100;:5;:7::i;:::-;4088:19;;:9;:19;4080:57;;;;-1:-1:-1;;;4080:57:169;;8287:2:197;4080:57:169;;;8269:21:197;8326:2;8306:18;;;8299:30;-1:-1:-1;;;8345:18:197;;;8338:55;8410:18;;4080:57:169;8085:349:197;4080:57:169;4154:54;4173:23;4198:9;4154:18;:54::i;1817:118::-;1872:6;1897:31;1915:12;1897:17;:31::i;2369:102:166:-;2425:13;2457:7;2450:14;;;;;:::i;3043:243:169:-;-1:-1:-1;;;;;3149:21:169;;3116:7;3149:21;;;:12;:21;;;;;:28;3218:8;;:51;;-1:-1:-1;;;;;3233:21:169;;;;;;:12;:21;;;;;:30;;-1:-1:-1;;3255:7:169;;;3233:30;;;;;;:::i;:::-;;;;;;;;;;:36;;;;-1:-1:-1;;;;;3233:36:169;3218:51;;;3229:1;3218:51;-1:-1:-1;;;;;3211:58:169;;3043:243;-1:-1:-1;;;3043:243:169:o;4563:252:78:-;1094:13:157;:11;:13::i;:::-;4709:9:78::1;:14:::0;;::::1;::::0;:41:::1;;;4741:9;4727:10;:23;;4709:41;4705:67;;;4759:13;;-1:-1:-1::0;;;4759:13:78::1;;;;;;;;;;;4705:67;4786:24;4792:8;4802:7;4786:5;:24::i;6575:427:166:-:0;6668:4;719:10:181;6668:4:166;6749:25;719:10:181;6766:7:166;6749:9;:25::i;:::-;6722:52;;6812:15;6792:16;:35;;6784:85;;;;-1:-1:-1;;;6784:85:166;;9263:2:197;6784:85:166;;;9245:21:197;9302:2;9282:18;;;9275:30;9341:34;9321:18;;;9314:62;-1:-1:-1;;;9392:18:197;;;9385:35;9437:19;;6784:85:166;9061:401:197;6784:85:166;6903:60;6912:5;6919:7;6947:15;6928:16;:34;6903:8;:60::i;3740:189::-;3819:4;719:10:181;3873:28:166;719:10:181;3890:2:166;3894:6;3873:9;:28::i;1505:192:78:-;1578:7;1673:19;3342:12:166;;;3255:106;6464:574:169;6683:6;6664:15;:25;;6656:67;;;;-1:-1:-1;;;6656:67:169;;9669:2:197;6656:67:169;;;9651:21:197;9708:2;9688:18;;;9681:30;9747:31;9727:18;;;9720:59;9796:18;;6656:67:169;9467:353:197;6656:67:169;6804:58;;;1439:71;6804:58;;;10056:25:197;-1:-1:-1;;;;;10117:32:197;;10097:18;;;10090:60;;;;10166:18;;;10159:34;;;10209:18;;;10202:34;;;6733:14:169;;6750:169;;6777:87;;10028:19:197;;6804:58:169;;;;;;;;;;;;6794:69;;;;;;6777:16;:87::i;:::-;6878:1;6893;6908;6750:13;:169::i;:::-;6733:186;;6946:17;6956:6;6946:9;:17::i;:::-;6937:5;:26;6929:64;;;;-1:-1:-1;;;6929:64:169;;10449:2:197;6929:64:169;;;10431:21:197;10488:2;10468:18;;;10461:30;10527:27;10507:18;;;10500:55;10572:18;;6929:64:169;10247:349:197;6929:64:169;7003:28;7013:6;7021:9;7003;:28::i;:::-;6646:392;6464:574;;;;;;:::o;1930:626:168:-;2165:8;2146:15;:27;;2138:69;;;;-1:-1:-1;;;2138:69:168;;10803:2:197;2138:69:168;;;10785:21:197;10842:2;10822:18;;;10815:30;10881:31;10861:18;;;10854:59;10930:18;;2138:69:168;10601:353:197;2138:69:168;2218:18;1125:95;2278:5;2285:7;2294:5;2301:16;2311:5;2301:9;:16::i;:::-;2249:79;;;;;;11246:25:197;;;;-1:-1:-1;;;;;11345:15:197;;;11325:18;;;11318:43;11397:15;;;;11377:18;;;11370:43;11429:18;;;11422:34;11472:19;;;11465:35;11516:19;;;11509:35;;;11218:19;;2249:79:168;;;;;;;;;;;;2239:90;;;;;;2218:111;;2340:12;2355:28;2372:10;2355:16;:28::i;:::-;2340:43;;2394:14;2411:28;2425:4;2431:1;2434;2437;2411:13;:28::i;:::-;2394:45;;2467:5;-1:-1:-1;;;;;2457:15:168;:6;-1:-1:-1;;;;;2457:15:168;;2449:58;;;;-1:-1:-1;;;2449:58:168;;11757:2:197;2449:58:168;;;11739:21:197;11796:2;11776:18;;;11769:30;11835:32;11815:18;;;11808:60;11885:18;;2449:58:168;11555:354:197;2449:58:168;2518:31;2527:5;2534:7;2543:5;2518:8;:31::i;:::-;2128:428;;;1930:626;;;;;;;:::o;3987:149:166:-;-1:-1:-1;;;;;4102:18:166;;;4076:7;4102:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3987:149::o;2378:148:169:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;2493:21:169;;;;;;:12;:21;;;;;:26;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2486:33;;;;;;;;;2493:26;;2486:33;;;;;;;;;-1:-1:-1;;;;;2486:33:169;;;;;;;;;2378:148;-1:-1:-1;;;2378:148:169:o;2074:198:157:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:157;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:157;;12116:2:197;2154:73:157::1;::::0;::::1;12098:21:197::0;12155:2;12135:18;;;12128:30;12194:34;12174:18;;;12167:62;-1:-1:-1;;;12245:18:197;;;12238:36;12291:19;;2154:73:157::1;11914:402:197::0;2154:73:157::1;2237:28;2256:8;2237:18;:28::i;5631:236:78:-:0;5770:9;:14;;;;:41;;;5802:9;5788:10;:23;;5770:41;5766:67;;;5820:13;;-1:-1:-1;;;5820:13:78;;;;;;;;;;;5766:67;5840:22;5849:3;5854:7;5840:8;:22::i;10457:340:166:-;-1:-1:-1;;;;;10558:19:166;;10550:68;;;;-1:-1:-1;;;10550:68:166;;12523:2:197;10550:68:166;;;12505:21:197;12562:2;12542:18;;;12535:30;12601:34;12581:18;;;12574:62;-1:-1:-1;;;12652:18:197;;;12645:34;12696:19;;10550:68:166;12321:400:197;10550:68:166;-1:-1:-1;;;;;10636:21:166;;10628:68;;;;-1:-1:-1;;;10628:68:166;;12928:2:197;10628:68:166;;;12910:21:197;12967:2;12947:18;;;12940:30;13006:34;12986:18;;;12979:62;-1:-1:-1;;;13057:18:197;;;13050:32;13099:19;;10628:68:166;12726:398:197;10628:68:166;-1:-1:-1;;;;;10707:18:166;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10758:32;;597:25:197;;;10758:32:166;;570:18:197;10758:32:166;;;;;;;10457:340;;;:::o;11078:411::-;11178:24;11205:25;11215:5;11222:7;11205:9;:25::i;:::-;11178:52;;-1:-1:-1;;11244:16:166;:37;11240:243;;11325:6;11305:16;:26;;11297:68;;;;-1:-1:-1;;;11297:68:166;;13331:2:197;11297:68:166;;;13313:21:197;13370:2;13350:18;;;13343:30;13409:31;13389:18;;;13382:59;13458:18;;11297:68:166;13129:353:197;11297:68:166;11407:51;11416:5;11423:7;11451:6;11432:16;:25;11407:8;:51::i;7456:788::-;-1:-1:-1;;;;;7552:18:166;;7544:68;;;;-1:-1:-1;;;7544:68:166;;13689:2:197;7544:68:166;;;13671:21:197;13728:2;13708:18;;;13701:30;13767:34;13747:18;;;13740:62;-1:-1:-1;;;13818:18:197;;;13811:35;13863:19;;7544:68:166;13487:401:197;7544:68:166;-1:-1:-1;;;;;7630:16:166;;7622:64;;;;-1:-1:-1;;;7622:64:166;;14095:2:197;7622:64:166;;;14077:21:197;14134:2;14114:18;;;14107:30;14173:34;14153:18;;;14146:62;-1:-1:-1;;;14224:18:197;;;14217:33;14267:19;;7622:64:166;13893:399:197;7622:64:166;-1:-1:-1;;;;;7768:15:166;;7746:19;7768:15;;;;;;;;;;;7801:21;;;;7793:72;;;;-1:-1:-1;;;7793:72:166;;14499:2:197;7793:72:166;;;14481:21:197;14538:2;14518:18;;;14511:30;14577:34;14557:18;;;14550:62;-1:-1:-1;;;14628:18:197;;;14621:36;14674:19;;7793:72:166;14297:402:197;7793:72:166;-1:-1:-1;;;;;7899:15:166;;;:9;:15;;;;;;;;;;;7917:20;;;7899:38;;8114:13;;;;;;;;;;:23;;;;;;8163:26;;597:25:197;;;8114:13:166;;8163:26;;570:18:197;8163:26:166;;;;;;;8200:37;8220:4;8226:2;8230:6;8200:19;:37::i;3695:262:187:-;3748:7;3779:4;-1:-1:-1;;;;;3788:11:187;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:187;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;16688:25:197;4077:11:187;16729:18:197;;;16722:34;;;;4090:14:187;16772:18:197;;;16765:34;4106:13:187;16815:18:197;;;16808:34;4129:4:187;16858:19:197;;;16851:61;4018:7:187;;16660:19:197;;4054:81:187;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;4299:1895:169;5510:12;;4396:7;;;5510:12;5603:1;5594:10;;5590:242;;;5620:11;5643:17;5653:6;5643:9;:17::i;:::-;5634:26;;:6;:26;:::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;5620:40;;-1:-1:-1;5716:9:169;;10735:28;;5678:35;;;:47;5674:148;;;5752:3;5745:10;;5674:148;;;5800:7;:3;5806:1;5800:7;:::i;:::-;5794:13;;5674:148;5606:226;5590:242;5855:4;5849:3;:10;5842:242;;;5875:11;5889:23;5902:3;5907:4;5889:12;:23::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;5875:37;;-1:-1:-1;5968:9:169;;10735:28;;5930:35;;;:47;5926:148;;;6004:3;5997:10;;5926:148;;;6052:7;:3;6058:1;6052:7;:::i;:::-;6046:13;;5926:148;5861:223;5842:242;;;6125:9;;:52;;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;6141:36;;;;-1:-1:-1;;;;;6141:36:169;6125:52;;;6137:1;6125:52;-1:-1:-1;;;;;6118:59:169;;4299:1895;-1:-1:-1;;;;;;4299:1895:169:o;8431:380::-;-1:-1:-1;;;;;2938:19:169;;;8515:23;2938:19;;;:10;:19;;;;;;;;;;3519:18:166;;;;;;;8628:21:169;;;;:33;;;-1:-1:-1;;;;;;8628:33:169;;;;;;;8677:54;;2938:19;;;;;3519:18:166;;8628:33:169;;2938:19;;;8677:54;;8515:23;8677:54;8742:62;8759:15;8776:9;8787:16;8742;:62::i;15264:187:192:-;15320:6;15355:16;15346:25;;;15338:76;;;;-1:-1:-1;;;15338:76:192;;15039:2:197;15338:76:192;;;15021:21:197;15078:2;15058:18;;;15051:30;15117:34;15097:18;;;15090:62;-1:-1:-1;;;15168:18:197;;;15161:36;15214:19;;15338:76:192;14837:402:197;15338:76:192;-1:-1:-1;15438:5:192;15264:187::o;1359:130:157:-;1273:6;;-1:-1:-1;;;;;1273:6:157;719:10:181;1422:23:157;1414:68;;;;-1:-1:-1;;;1414:68:157;;15446:2:197;1414:68:157;;;15428:21:197;;;15465:18;;;15458:30;15524:34;15504:18;;;15497:62;15576:18;;1414:68:157;15244:356:197;2426:187:157;2518:6;;;-1:-1:-1;;;;;2534:17:157;;;-1:-1:-1;;;;;;2534:17:157;;;;;;;2566:40;;2518:6;;;2534:17;2518:6;;2566:40;;2499:16;;2566:40;2489:124;2426:187;:::o;7332:285:169:-;7416:28;7428:7;7437:6;7416:11;:28::i;:::-;3342:12:166;;-1:-1:-1;;;;;;7462:29:169;7454:90;;;;-1:-1:-1;;;7454:90:169;;15807:2:197;7454:90:169;;;15789:21:197;15846:2;15826:18;;;15819:30;15885:34;15865:18;;;15858:62;-1:-1:-1;;;15936:18:197;;;15929:46;15992:19;;7454:90:169;15605:412:197;7454:90:169;7555:55;7572:23;7597:4;7603:6;7555:16;:55::i;3367:268:183:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14240:187:192;14296:6;14331:16;14322:25;;;14314:76;;;;-1:-1:-1;;;14314:76:192;;16224:2:197;14314:76:192;;;16206:21:197;16263:2;16243:18;;;16236:30;16302:34;16282:18;;;16275:62;-1:-1:-1;;;16353:18:197;;;16346:36;16399:19;;14314:76:192;16022:402:197;7706:190:169;7790:28;7802:7;7811:6;7790:11;:28::i;:::-;7829:60;7846:23;7871:9;7882:6;7829:16;:60::i;4768:165:187:-;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:186;8530:11;-1:-1:-1;;;8554:23:186;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;:::-;-1:-1:-1;6814:9:186;6598:232;-1:-1:-1;;;;;6598:232:186:o;3111:203:168:-;-1:-1:-1;;;;;3231:14:168;;3171:15;3231:14;;;:7;:14;;;;;918::182;;1050:1;1032:19;;;;918:14;3290:17:168;3188:126;3111:203;;;:::o;8036:224:169:-;-1:-1:-1;;;;;2938:19:169;;;2912:7;2938:19;;;:10;:19;;;;;;;;;;;;;;;8197:56;;2938:19;;;;;8246:6;8197:16;:56::i;6530:1642:191:-;6578:7;6601:1;6606;6601:6;6597:45;;-1:-1:-1;6630:1:191;;6530:1642;-1:-1:-1;6530:1642:191:o;6597:45::-;7321:14;7355:1;7344:7;7349:1;7344:4;:7::i;:::-;:12;;7338:1;:19;;7321:36;;7816:1;7805:6;7801:1;:10;;;;;:::i;:::-;;7792:6;:19;7791:26;;7782:35;;7865:1;7854:6;7850:1;:10;;;;;:::i;:::-;;7841:6;:19;7840:26;;7831:35;;7914:1;7903:6;7899:1;:10;;;;;:::i;:::-;;7890:6;:19;7889:26;;7880:35;;7963:1;7952:6;7948:1;:10;;;;;:::i;:::-;;7939:6;:19;7938:26;;7929:35;;8012:1;8001:6;7997:1;:10;;;;;:::i;:::-;;7988:6;:19;7987:26;;7978:35;;8061:1;8050:6;8046:1;:10;;;;;:::i;:::-;;8037:6;:19;8036:26;;8027:35;;8110:1;8099:6;8095:1;:10;;;;;:::i;:::-;;8086:6;:19;8085:26;;8076:35;;8132:23;8136:6;8148;8144:1;:10;;;;;:::i;:::-;;8132:3;:23::i;:::-;8125:30;6530:1642;-1:-1:-1;;;6530:1642:191:o;805:153::-;867:7;940:11;950:1;941:5;;;940:11;:::i;:::-;930:21;;931:5;;;930:21;:::i;8817:597:169:-;8914:3;-1:-1:-1;;;;;8907:10:169;:3;-1:-1:-1;;;;;8907:10:169;;;:24;;;;;8930:1;8921:6;:10;8907:24;8903:505;;;-1:-1:-1;;;;;8951:17:169;;;8947:221;;-1:-1:-1;;;;;9046:17:169;;8989;9046;;;:12;:17;;;;;8989;;9029:54;;9065:9;9076:6;9029:16;:54::i;:::-;8988:95;;;;9127:3;-1:-1:-1;;;;;9106:47:169;;9132:9;9143;9106:47;;;;;;17451:25:197;;;17507:2;17492:18;;17485:34;17439:2;17424:18;;17277:248;9106:47:169;;;;;;;;8970:198;;8947:221;-1:-1:-1;;;;;9186:17:169;;;9182:216;;-1:-1:-1;;;;;9281:17:169;;9224;9281;;;:12;:17;;;;;9224;;9264:49;;9300:4;9306:6;9264:16;:49::i;:::-;9223:90;;;;9357:3;-1:-1:-1;;;;;9336:47:169;;9362:9;9373;9336:47;;;;;;17451:25:197;;;17507:2;17492:18;;17485:34;17439:2;17424:18;;17277:248;9336:47:169;;;;;;;;9205:193;;8817:597;;;:::o;8520:535:166:-;-1:-1:-1;;;;;8603:21:166;;8595:65;;;;-1:-1:-1;;;8595:65:166;;17732:2:197;8595:65:166;;;17714:21:197;17771:2;17751:18;;;17744:30;17810:33;17790:18;;;17783:61;17861:18;;8595:65:166;17530:355:197;8595:65:166;8747:6;8731:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;8899:18:166;;:9;:18;;;;;;;;;;;:28;;;;;;8952:37;597:25:197;;;8952:37:166;;570:18:197;8952:37:166;;;;;;;9000:48;9028:1;9032:7;9041:6;9000:19;:48::i;:::-;8520:535;;:::o;10194:96:169:-;10252:7;10278:5;10282:1;10278;:5;:::i;9420:768::-;9652:12;;9590:17;;;;;9727:8;;:59;;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;9727:59;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9727:59:169;;;;;;;;9738:16;;;;;;;;;-1:-1:-1;9738:16:169;;;;;;;9727:59;9699:87;;9813:7;:13;;;-1:-1:-1;;;;;9801:25:169;;;9852:20;9855:9;9866:5;9852:2;:20;;:::i;:::-;9840:32;;9897:1;9891:3;:7;:39;;;;;9923:7;:5;:7::i;:::-;9902:28;;:7;:17;;;:28;;;9891:39;9887:285;;;9988:29;10007:9;9988:18;:29::i;:::-;10626:25;10686:21;;;10752:4;10739:18;;10735:28;;-1:-1:-1;;10735:28:169;9950:67;;-1:-1:-1;;;;;9950:67:169;;;;;;;;;;;;;;;;9887:285;;;10056:5;10067:89;;;;;;;;10090:26;10108:7;:5;:7::i;:::-;10090:26;;:17;:26::i;:::-;10067:89;;;;;;10125:29;10144:9;10125:18;:29::i;:::-;-1:-1:-1;;;;;10067:89:169;;;;;;10056:101;;;;;;;-1:-1:-1;10056:101:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9887:285;9675:507;9628:560;9420:768;;;;;;:::o;2059:405:183:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:183;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:183;;;-1:-1:-1;2416:4:183;2407:14;;2400:28;;;;-1:-1:-1;2371:16:183;2059:405::o;9375:659:166:-;-1:-1:-1;;;;;9458:21:166;;9450:67;;;;-1:-1:-1;;;9450:67:166;;18092:2:197;9450:67:166;;;18074:21:197;18131:2;18111:18;;;18104:30;18170:34;18150:18;;;18143:62;-1:-1:-1;;;18221:18:197;;;18214:31;18262:19;;9450:67:166;17890:397:197;9450:67:166;-1:-1:-1;;;;;9613:18:166;;9588:22;9613:18;;;;;;;;;;;9649:24;;;;9641:71;;;;-1:-1:-1;;;9641:71:166;;18494:2:197;9641:71:166;;;18476:21:197;18533:2;18513:18;;;18506:30;18572:34;18552:18;;;18545:62;-1:-1:-1;;;18623:18:197;;;18616:32;18665:19;;9641:71:166;18292:398:197;9641:71:166;-1:-1:-1;;;;;9746:18:166;;:9;:18;;;;;;;;;;;9767:23;;;9746:44;;9883:12;:22;;;;;;;9931:37;597:25:197;;;9746:9:166;;:18;9931:37;;570:18:197;9931:37:166;;;;;;;9979:48;9999:7;10016:1;10020:6;9979:19;:48::i;10296:101:169:-;10359:7;10385:5;10389:1;10385;:5;:::i;5009:1456:186:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:186;;-1:-1:-1;6123:30:186;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;18922:25:197;;;18995:4;18983:17;;18963:18;;;18956:45;;;;19017:18;;;19010:34;;;19060:18;;;19053:34;;;6276:24:186;;18894:19:197;;6276:24:186;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:186;;-1:-1:-1;;6276:24:186;;;-1:-1:-1;;;;;;;6314:20:186;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:186;;-1:-1:-1;5009:1456:186;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:186;;19432:2:197;788:34:186;;;19414:21:197;19471:2;19451:18;;;19444:30;19510:26;19490:18;;;19483:54;19554:18;;788:34:186;19230:348:197;730:345:186;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:186;;19785:2:197;903:41:186;;;19767:21:197;19824:2;19804:18;;;19797:30;19863:33;19843:18;;;19836:61;19914:18;;903:41:186;19583:355:197;839:236:186;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:186;;20145:2:197;1020:44:186;;;20127:21:197;20184:2;20164:18;;;20157:30;20223:34;20203:18;;;20196:62;-1:-1:-1;;;20274:18:197;;;20267:32;20316:19;;1020:44:186;19943:398:197;8633:983:191;8685:7;;8769:3;8760:12;;;:16;8756:99;;8806:3;8796:13;;;;8827;8756:99;8881:2;8872:11;;;:15;8868:96;;8917:2;8907:12;;;;8937;8868:96;8990:2;8981:11;;;:15;8977:96;;9026:2;9016:12;;;;9046;8977:96;9099:2;9090:11;;;:15;9086:96;;9135:2;9125:12;;;;9155;9086:96;9208:1;9199:10;;;:14;9195:93;;9243:1;9233:11;;;;9262;9195:93;9314:1;9305:10;;;:14;9301:93;;9349:1;9339:11;;;;9368;9301:93;9420:1;9411:10;;;:14;9407:93;;9455:1;9445:11;;;;9474;9407:93;9526:1;9517:10;;;:14;9513:64;;9561:1;9551:11;9603:6;8633:983;-1:-1:-1;;8633:983:191:o;588:104::-;646:7;676:1;672;:5;:13;;684:1;672:13;;;-1:-1:-1;680:1:191;;588:104;-1:-1:-1;588:104:191:o;2836:192:192:-;2893:7;-1:-1:-1;;;;;2920:26:192;;;2912:78;;;;-1:-1:-1;;;2912:78:192;;20548:2:197;2912:78:192;;;20530:21:197;20587:2;20567:18;;;20560:30;20626:34;20606:18;;;20599:62;-1:-1:-1;;;20677:18:197;;;20670:37;20724:19;;2912:78:192;20346:403:197;2536:245:183;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:183;;;;;;;;;;;14:173:197;82:20;;-1:-1:-1;;;;;131:31:197;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:197:o;633:423::-;675:3;713:5;707:12;740:6;735:3;728:19;765:1;775:162;789:6;786:1;783:13;775:162;;;851:4;907:13;;;903:22;;897:29;879:11;;;875:20;;868:59;804:12;775:162;;;779:3;982:1;975:4;966:6;961:3;957:16;953:27;946:38;1045:4;1038:2;1034:7;1029:2;1021:6;1017:15;1013:29;1008:3;1004:39;1000:50;993:57;;;633:423;;;;:::o;1061:220::-;1210:2;1199:9;1192:21;1173:4;1230:45;1271:2;1260:9;1256:18;1248:6;1230:45;:::i;1478:397::-;1564:6;1572;1580;1588;1641:3;1629:9;1620:7;1616:23;1612:33;1609:53;;;1658:1;1655;1648:12;1609:53;1694:9;1681:23;1671:33;;1723:38;1757:2;1746:9;1742:18;1723:38;:::i;:::-;1713:48;;1780:38;1814:2;1803:9;1799:18;1780:38;:::i;:::-;1478:397;;;;-1:-1:-1;1770:48:197;;1865:2;1850:18;1837:32;;-1:-1:-1;;1478:397:197:o;1880:328::-;1957:6;1965;1973;2026:2;2014:9;2005:7;2001:23;1997:32;1994:52;;;2042:1;2039;2032:12;1994:52;2065:29;2084:9;2065:29;:::i;:::-;2055:39;;2113:38;2147:2;2136:9;2132:18;2113:38;:::i;:::-;2103:48;;2198:2;2187:9;2183:18;2170:32;2160:42;;1880:328;;;;;:::o;2584:186::-;2643:6;2696:2;2684:9;2675:7;2671:23;2667:32;2664:52;;;2712:1;2709;2702:12;2664:52;2735:29;2754:9;2735:29;:::i;3180:322::-;3257:6;3265;3273;3326:2;3314:9;3305:7;3301:23;3297:32;3294:52;;;3342:1;3339;3332:12;3294:52;3378:9;3365:23;3355:33;;3407:38;3441:2;3430:9;3426:18;3407:38;:::i;3507:1259::-;3913:3;3908;3904:13;3896:6;3892:26;3881:9;3874:45;3855:4;3938:2;3976:3;3971:2;3960:9;3956:18;3949:31;4003:46;4044:3;4033:9;4029:19;4021:6;4003:46;:::i;:::-;4097:9;4089:6;4085:22;4080:2;4069:9;4065:18;4058:50;4131:33;4157:6;4149;4131:33;:::i;:::-;4195:2;4180:18;;4173:34;;;-1:-1:-1;;;;;4244:32:197;;4238:3;4223:19;;4216:61;4264:3;4293:19;;4286:35;;;4358:22;;;4352:3;4337:19;;4330:51;4430:13;;4452:22;;;4502:2;4528:15;;;;-1:-1:-1;4490:15:197;;;;-1:-1:-1;4571:169:197;4585:6;4582:1;4579:13;4571:169;;;4646:13;;4634:26;;4715:15;;;;4680:12;;;;4607:1;4600:9;4571:169;;;-1:-1:-1;4757:3:197;;3507:1259;-1:-1:-1;;;;;;;;;;;;3507:1259:197:o;4771:180::-;4830:6;4883:2;4871:9;4862:7;4858:23;4854:32;4851:52;;;4899:1;4896;4889:12;4851:52;-1:-1:-1;4922:23:197;;4771:180;-1:-1:-1;4771:180:197:o;5157:156::-;5223:20;;5283:4;5272:16;;5262:27;;5252:55;;5303:1;5300;5293:12;5318:531;5420:6;5428;5436;5444;5452;5460;5513:3;5501:9;5492:7;5488:23;5484:33;5481:53;;;5530:1;5527;5520:12;5481:53;5553:29;5572:9;5553:29;:::i;:::-;5543:39;;5629:2;5618:9;5614:18;5601:32;5591:42;;5680:2;5669:9;5665:18;5652:32;5642:42;;5703:36;5735:2;5724:9;5720:18;5703:36;:::i;:::-;5693:46;;5786:3;5775:9;5771:19;5758:33;5748:43;;5838:3;5827:9;5823:19;5810:33;5800:43;;5318:531;;;;;;;;:::o;5854:606::-;5965:6;5973;5981;5989;5997;6005;6013;6066:3;6054:9;6045:7;6041:23;6037:33;6034:53;;;6083:1;6080;6073:12;6034:53;6106:29;6125:9;6106:29;:::i;:::-;6096:39;;6154:38;6188:2;6177:9;6173:18;6154:38;:::i;:::-;6144:48;;6239:2;6228:9;6224:18;6211:32;6201:42;;6290:2;6279:9;6275:18;6262:32;6252:42;;6313:37;6345:3;6334:9;6330:19;6313:37;:::i;:::-;6303:47;;6397:3;6386:9;6382:19;6369:33;6359:43;;6449:3;6438:9;6434:19;6421:33;6411:43;;5854:606;;;;;;;;;;:::o;6465:260::-;6533:6;6541;6594:2;6582:9;6573:7;6569:23;6565:32;6562:52;;;6610:1;6607;6600:12;6562:52;6633:29;6652:9;6633:29;:::i;:::-;6623:39;;6681:38;6715:2;6704:9;6700:18;6681:38;:::i;:::-;6671:48;;6465:260;;;;;:::o;6730:350::-;6797:6;6805;6858:2;6846:9;6837:7;6833:23;6829:32;6826:52;;;6874:1;6871;6864:12;6826:52;6897:29;6916:9;6897:29;:::i;:::-;6887:39;;6976:2;6965:9;6961:18;6948:32;7020:10;7013:5;7009:22;7002:5;6999:33;6989:61;;7046:1;7043;7036:12;6989:61;7069:5;7059:15;;;6730:350;;;;;:::o;7438:380::-;7517:1;7513:12;;;;7560;;;7581:61;;7635:4;7627:6;7623:17;7613:27;;7581:61;7688:2;7680:6;7677:14;7657:18;7654:38;7651:161;;7734:10;7729:3;7725:20;7722:1;7715:31;7769:4;7766:1;7759:15;7797:4;7794:1;7787:15;7823:127;7884:10;7879:3;7875:20;7872:1;7865:31;7915:4;7912:1;7905:15;7939:4;7936:1;7929:15;7955:125;8020:9;;;8041:10;;;8038:36;;;8054:18;;:::i;8929:127::-;8990:10;8985:3;8981:20;8978:1;8971:31;9021:4;9018:1;9011:15;9045:4;9042:1;9035:15;14704:128;14771:9;;;14792:11;;;14789:37;;;14806:18;;:::i;16923:127::-;16984:10;16979:3;16975:20;16972:1;16965:31;17015:4;17012:1;17005:15;17039:4;17036:1;17029:15;17055:217;17095:1;17121;17111:132;;17165:10;17160:3;17156:20;17153:1;17146:31;17200:4;17197:1;17190:15;17228:4;17225:1;17218:15;17111:132;-1:-1:-1;17257:9:197;;17055:217::o;19098:127::-;19159:10;19154:3;19150:20;19147:1;19140:31;19190:4;19187:1;19180:15;19214:4;19211:1;19204:15","linkReferences":{},"immutableReferences":{"79710":[{"start":752,"length":32},{"start":1587,"length":32},{"start":1629,"length":32},{"start":2186,"length":32},{"start":2228,"length":32},{"start":2446,"length":32},{"start":2488,"length":32},{"start":2837,"length":32},{"start":2879,"length":32},{"start":4062,"length":32},{"start":4104,"length":32}],"96612":[{"start":5109,"length":32}],"96614":[{"start":5067,"length":32}],"96616":[{"start":5025,"length":32}],"96618":[{"start":5190,"length":32}],"96620":[{"start":5230,"length":32}],"96623":[{"start":2321,"length":32}],"96626":[{"start":2364,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","approve(uint256,address,uint256)":"8cb0a511","balanceOf(address)":"70a08231","balanceOf(address,uint256)":"00fdd58e","burn(uint256,address,uint256)":"9eea5f66","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","increaseAllowance(address,uint256)":"39509351","mint(uint256,address,uint256)":"836a1040","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","owner()":"8da5cb5b","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","projectId()":"3fafa127","renounceOwnership()":"715018a6","symbol()":"95d89b41","totalSupply()":"18160ddd","totalSupply(uint256)":"bd85b039","transfer(address,uint256)":"a9059cbb","transfer(uint256,address,uint256)":"f8548e36","transferFrom(address,address,uint256)":"23b872dd","transferFrom(uint256,address,address,uint256)":"1c0f12b6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"BAD_PROJECT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlock\",\"type\":\"uint32\"},{\"internalType\":\"uint224\",\"name\":\"votes\",\"type\":\"uint224\"}],\"internalType\":\"struct ERC20Votes.Checkpoint\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"See {IERC20Permit-DOMAIN_SEPARATOR}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"approve(uint256,address,uint256)\":{\"params\":{\"_amount\":\"The amount the `_spender` is allowed to spend.\",\"_projectId\":\"the ID of the project to which the token belongs.\",\"_spender\":\"The address that will be spending tokens on the `msg.sender`s behalf.\"}},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"balanceOf(address,uint256)\":{\"params\":{\"_account\":\"The account to get a balance of.\",\"_projectId\":\"is the ID of the project to which the token belongs. This is ignored.\"},\"returns\":{\"_0\":\"The balance of the `_account` of this ERC20, as a fixed point number with 18 decimals.\"}},\"burn(uint256,address,uint256)\":{\"details\":\"Only the owner of this contract cant burn some of its supply.\",\"params\":{\"_account\":\"The account to burn tokens from.\",\"_amount\":\"The amount of tokens to burn, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\"}},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"constructor\":{\"params\":{\"_name\":\"The name of the token.\",\"_projectId\":\"The ID of the project that this token should be exclusively used for. Send 0 to support any project.\",\"_symbol\":\"The symbol that the token should be represented by.\"}},\"decimals()\":{\"returns\":{\"_0\":\"The number of decimals.\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"delegate(address)\":{\"details\":\"Delegate votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`\"},\"delegates(address)\":{\"details\":\"Get the address `account` is currently delegating to.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past\"},\"getPastVotes(address,uint256)\":{\"details\":\"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past\"},\"getVotes(address)\":{\"details\":\"Gets the current votes balance for `account`\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"mint(uint256,address,uint256)\":{\"details\":\"Only the owner of this contract cant mint more of it.\",\"params\":{\"_account\":\"The account to mint the tokens for.\",\"_amount\":\"The amount of tokens to mint, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"See {IERC20Permit-nonces}.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"See {IERC20Permit-permit}.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"totalSupply(uint256)\":{\"params\":{\"_projectId\":\"the ID of the project to which the token belongs. This is ignored.\"},\"returns\":{\"_0\":\"The total supply of this ERC20, as a fixed point number.\"}},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transfer(uint256,address,uint256)\":{\"params\":{\"_amount\":\"The amount of the transfer, as a fixed point number with 18 decimals.\",\"_projectId\":\"The ID of the project to which the token belongs.\",\"_to\":\"The destination address.\"}},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferFrom(uint256,address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of the transfer, as a fixed point number with 18 decimals.\",\"_from\":\"The originating address.\",\"_projectId\":\"The ID of the project to which the token belongs.\",\"_to\":\"The destination address.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"approve(uint256,address,uint256)\":{\"notice\":\"Approves an account to spend tokens on the `msg.sender`s behalf.\"},\"balanceOf(address,uint256)\":{\"notice\":\"An account's balance of this ERC20.\"},\"burn(uint256,address,uint256)\":{\"notice\":\"Burn some outstanding tokens.\"},\"decimals()\":{\"notice\":\"The number of decimals included in the fixed point accounting of this token.\"},\"mint(uint256,address,uint256)\":{\"notice\":\"Mints more of the token.\"},\"projectId()\":{\"notice\":\"The ID of the project that this token should be exclusively used for. Send 0 to support any project.\"},\"totalSupply(uint256)\":{\"notice\":\"The total supply of this ERC20.\"},\"transfer(uint256,address,uint256)\":{\"notice\":\"Transfer tokens to an account.\"},\"transferFrom(uint256,address,address,uint256)\":{\"notice\":\"Transfer tokens between accounts.\"}},\"notice\":\"An ERC-20 token that can be used by a project in the `JBTokenStore`.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":\"JBToken\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"BAD_PROJECT"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct ERC20Votes.Checkpoint","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlock","type":"uint32"},{"internalType":"uint224","name":"votes","type":"uint224"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer"},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"DOMAIN_SEPARATOR()":{"details":"See {IERC20Permit-DOMAIN_SEPARATOR}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `amount` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"approve(uint256,address,uint256)":{"params":{"_amount":"The amount the `_spender` is allowed to spend.","_projectId":"the ID of the project to which the token belongs.","_spender":"The address that will be spending tokens on the `msg.sender`s behalf."}},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"balanceOf(address,uint256)":{"params":{"_account":"The account to get a balance of.","_projectId":"is the ID of the project to which the token belongs. This is ignored."},"returns":{"_0":"The balance of the `_account` of this ERC20, as a fixed point number with 18 decimals."}},"burn(uint256,address,uint256)":{"details":"Only the owner of this contract cant burn some of its supply.","params":{"_account":"The account to burn tokens from.","_amount":"The amount of tokens to burn, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs."}},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"constructor":{"params":{"_name":"The name of the token.","_projectId":"The ID of the project that this token should be exclusively used for. Send 0 to support any project.","_symbol":"The symbol that the token should be represented by."}},"decimals()":{"returns":{"_0":"The number of decimals."}},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"delegate(address)":{"details":"Delegate votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`"},"delegates(address)":{"details":"Get the address `account` is currently delegating to."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Retrieve the `totalSupply` at the end of `timepoint`. Note, this value is the sum of all balances. It is NOT the sum of all the delegated votes! Requirements: - `timepoint` must be in the past"},"getPastVotes(address,uint256)":{"details":"Retrieve the number of votes for `account` at the end of `timepoint`. Requirements: - `timepoint` must be in the past"},"getVotes(address)":{"details":"Gets the current votes balance for `account`"},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"mint(uint256,address,uint256)":{"details":"Only the owner of this contract cant mint more of it.","params":{"_account":"The account to mint the tokens for.","_amount":"The amount of tokens to mint, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs."}},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"See {IERC20Permit-nonces}."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"owner()":{"details":"Returns the address of the current owner."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"See {IERC20Permit-permit}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"totalSupply(uint256)":{"params":{"_projectId":"the ID of the project to which the token belongs. This is ignored."},"returns":{"_0":"The total supply of this ERC20, as a fixed point number."}},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transfer(uint256,address,uint256)":{"params":{"_amount":"The amount of the transfer, as a fixed point number with 18 decimals.","_projectId":"The ID of the project to which the token belongs.","_to":"The destination address."}},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`."},"transferFrom(uint256,address,address,uint256)":{"params":{"_amount":"The amount of the transfer, as a fixed point number with 18 decimals.","_from":"The originating address.","_projectId":"The ID of the project to which the token belongs.","_to":"The destination address."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"approve(uint256,address,uint256)":{"notice":"Approves an account to spend tokens on the `msg.sender`s behalf."},"balanceOf(address,uint256)":{"notice":"An account's balance of this ERC20."},"burn(uint256,address,uint256)":{"notice":"Burn some outstanding tokens."},"decimals()":{"notice":"The number of decimals included in the fixed point accounting of this token."},"mint(uint256,address,uint256)":{"notice":"Mints more of the token."},"projectId()":{"notice":"The ID of the project that this token should be exclusively used for. Send 0 to support any project."},"totalSupply(uint256)":{"notice":"The total supply of this ERC20."},"transfer(uint256,address,uint256)":{"notice":"Transfer tokens to an account."},"transferFrom(uint256,address,address,uint256)":{"notice":"Transfer tokens between accounts."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":"JBToken"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":78} \ No newline at end of file diff --git a/out/JBTokenStore.sol/JBTokenStore.json b/out/JBTokenStore.sol/JBTokenStore.json index 46c0e784..e1185779 100644 --- a/out/JBTokenStore.sol/JBTokenStore.json +++ b/out/JBTokenStore.sol/JBTokenStore.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burnFrom","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFor","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"issueFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"address","internalType":"contract IJBToken"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"contract IJBToken"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBToken"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalSupply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_recipient","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unclaimedBalanceOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"unclaimedTotalSupplyOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Burn","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialClaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Claim","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Issue","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"symbol","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokensWereClaimed","type":"bool","indexed":false,"internalType":"bool"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Set","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newToken","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALREADY_SET","inputs":[]},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]},{"type":"error","name":"EMPTY_NAME","inputs":[]},{"type":"error","name":"EMPTY_SYMBOL","inputs":[]},{"type":"error","name":"EMPTY_TOKEN","inputs":[]},{"type":"error","name":"INSUFFICIENT_FUNDS","inputs":[]},{"type":"error","name":"INSUFFICIENT_UNCLAIMED_TOKENS","inputs":[]},{"type":"error","name":"OVERFLOW_ALERT","inputs":[]},{"type":"error","name":"PROJECT_ALREADY_HAS_TOKEN","inputs":[]},{"type":"error","name":"RECIPIENT_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"TOKENS_MUST_HAVE_18_DECIMALS","inputs":[]},{"type":"error","name":"TOKEN_NOT_FOUND","inputs":[]},{"type":"error","name":"TRANSFERS_PAUSED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x6101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c63430008170033","sourceMap":"1264:15225:79:-:0;;;6177:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1887:22:80;;;;;2599:30:81;;;;;6398:20:79;;::::2;;::::0;6424:38:::2;;::::0;1264:15225;;14:149:197;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:825::-;364:6;372;380;388;441:3;429:9;420:7;416:23;412:33;409:53;;;458:1;455;448:12;409:53;490:9;484:16;509:49;552:5;509:49;:::i;:::-;627:2;612:18;;606:25;577:5;;-1:-1:-1;640:51:197;606:25;640:51;:::i;:::-;762:2;747:18;;741:25;710:7;;-1:-1:-1;775:51:197;741:25;775:51;:::i;:::-;897:2;882:18;;876:25;845:7;;-1:-1:-1;910:51:197;876:25;910:51;:::i;:::-;168:825;;;;-1:-1:-1;168:825:197;;-1:-1:-1;;168:825:197:o;:::-;1264:15225:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c63430008170033","sourceMap":"1264:15225:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4057:538;;;;;;:::i;:::-;;:::i;:::-;;;616:25:197;;;604:2;589:18;4057:538:79;;;;;;;;3148:66;;;;;;:::i;:::-;;;;;;;;;;;;;;3425:82;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2504:64;;;;;;;;-1:-1:-1;;;;;1031:32:197;;;1013:51;;1001:2;986:18;2504:64:79;837:233:197;13571:1232:79;;;;;;:::i;:::-;;:::i;:::-;;5075:509;;;;;;:::i;:::-;;:::i;8124:633::-;;;;;;:::i;:::-;;:::i;2382:46::-;;;;;10909:2283;;;;;;:::i;:::-;;:::i;7100:785::-;;;;;;:::i;:::-;;:::i;15215:1272::-;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;1460:48:80;;;;;9262:1150:79;;;;;;:::i;:::-;;:::i;2939:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2939:52:79;;;4057:538;-1:-1:-1;;;;;4270:27:79;;;4161:15;4270:27;;;:18;:27;;;;;;;;:39;;;;;;;;;4389:19;;;;;;;;4270:39;;4389:19;4501:30;;4497:93;;4553:37;;-1:-1:-1;;;4553:37:79;;-1:-1:-1;;;;;5236:32:197;;;4553:37:79;;;5218:51:197;5285:18;;;5278:34;;;4553:16:79;;;;;5191:18:197;;4553:37:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4543:47;;:7;:47;:::i;:::-;4533:57;;4497:93;4180:415;4057:538;;;;:::o;13571:1232::-;13695:7;13704:10;532:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;13797:15:79::1;13815:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13815:19:79::1;::::0;13897:60:::1;;13940:17;;-1:-1:-1::0;;;13940:17:79::1;;;;;;;;;;;13897:60;-1:-1:-1::0;;;;;14073:27:79;::::1;14045:25;14073:27:::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;14178:27;;::::1;14174:71;;;14214:31;;-1:-1:-1::0;;;14214:31:79::1;;;;;;;;;;;14174:71;-1:-1:-1::0;;;;;14356:27:79;;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;14398:27;;::::1;14356:69:::0;;14549:22:::1;:34:::0;;;;;;;;;:44;;::::1;14512:81:::0;;14679:41;-1:-1:-1;;;14679:41:79;;::::1;::::0;::::1;5976:25:197::0;;;6017:18;;;6010:60;;;;6086:18;;;6079:34;;;14679:11:79;;::::1;::::0;::::1;::::0;5949:18:197;;14679:41:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14732:66:79::1;::::0;;6326:25:197;;;6382:2;6367:18;;6360:34;;;14787:10:79::1;6410:18:197::0;;;6403:60;14732:66:79;;14747:10;;-1:-1:-1;;;;;;14732:66:79;::::1;::::0;-1:-1:-1;14732:66:79::1;::::0;;;;6314:2:197;14732:66:79;;::::1;13736:1067;;13571:1232:::0;;;;;;:::o;5075:509::-;5148:19;5267:34;;;:22;:34;;;;;;;;;5381:19;;;;;;;;-1:-1:-1;;;;;5381:19:79;5489:30;;5485:94;;5549:30;;-1:-1:-1;;;5549:30:79;;;;;616:25:197;;;-1:-1:-1;;;;;5549:18:79;;;;;589::197;;5549:30:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5535:44;;:11;:44;:::i;:::-;5521:58;;5485:94;5169:415;5075:509;;;:::o;8124:633::-;8225:28;;-1:-1:-1;;;8225:28:79;;;;;616:25:197;;;8225:8:79;-1:-1:-1;;;;;8225:16:79;;;;589:18:197;;8225:28:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8255:10;422:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;-1:-1:-1;;;;;8341:30:79;::::1;8337:56;;8380:13;;-1:-1:-1::0;;;8380:13:79::1;;;;;;;;;;;8337:56;8483:1;8443:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8443:19:79::1;:43:::0;8439:69:::1;;8495:13;;-1:-1:-1::0;;;8495:13:79::1;;;;;;;;;;;8439:69;8580:6;-1:-1:-1::0;;;;;8580:15:79::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:23;;8601:2;8580:23;8576:66;;8612:30;;-1:-1:-1::0;;;8612:30:79::1;;;;;;;;;;;8576:66;8677:7;:19:::0;;;::::1;::::0;;;;;;;;:28;;-1:-1:-1;;;;;;8677:28:79::1;-1:-1:-1::0;;;;;8677:28:79;::::1;::::0;;::::1;::::0;;;8717:35;;8741:10:::1;1013:51:197::0;;8677:19:79;;8717:35:::1;::::0;986:18:197;8717:35:79::1;;;;;;;8124:633:::0;;;;;:::o;10909:2283::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;616:25:197;;;11061:10:79;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;589:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;11134:15:79::1;11152:19:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;;;;;11287:27:79;;::::1;::::0;;:18:::1;:27:::0;;;;;:39;;;;;;;;;;11152:19;::::1;::::0;11459:30;;:86:::1;;11508:37;::::0;-1:-1:-1;;;11508:37:79;;-1:-1:-1;;;;;5236:32:197;;;11508:37:79::1;::::0;::::1;5218:51:197::0;5285:18;;;5278:34;;;11508:16:79;::::1;::::0;::::1;::::0;5191:18:197;;11508:37:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11459:86;;;11498:1;11459:86;11433:112:::0;-1:-1:-1;11662:35:79::1;11680:17:::0;11433:112;11662:35:::1;:::i;:::-;11652:7;:45;11648:78;;;11706:20;;-1:-1:-1::0;;;11706:20:79::1;;;;;;;;;;;11648:78;11770:28;11876:20:::0;;11872:435:::1;;11908:20;11904:403;;;12057:7;12039:15;:25;:53;;12085:7;12039:53;;;12067:15;12039:53;12016:76;;11904:403;;;12247:7;12227:17;:27;:61;;12287:1;12227:61;;;12267:17;12257:7;:27;12227:61;12204:84;;11904:403;12439:30:::0;;::::1;12558:26:::0;;;12554:347:::1;;-1:-1:-1::0;;;;;12702:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;:72:::1;::::0;12752:22;;12702:72:::1;:::i;:::-;-1:-1:-1::0;;;;;12652:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;:122;;;;12827:22:::1;:34:::0;;;;:67:::1;::::0;12872:22;;12827:67:::1;:::i;:::-;12782:34;::::0;;;:22:::1;:34;::::0;;;;:112;12554:347:::1;12943:24:::0;;12939:84:::1;;12969:54;::::0;-1:-1:-1;;;12969:54:79;;::::1;::::0;::::1;5976:25:197::0;;;-1:-1:-1;;;;;6037:32:197;;;6017:18;;;6010:60;6086:18;;;6079:34;;;12969:11:79;::::1;::::0;::::1;::::0;5949:18:197;;12969:54:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12939:84;13035:152;::::0;;7602:25:197;;;7658:2;7643:18;;7636:34;;;7686:18;;;7679:34;;;7756:14;;7749:22;7744:2;7729:18;;7722:50;13171:10:79::1;7803:3:197::0;7788:19;;7781:61;13062:10:79;;-1:-1:-1;;;;;13035:152:79;::::1;::::0;::::1;::::0;7589:3:197;7574:19;13035:152:79::1;;;;;;;11073:2119;;;;;10909:2283:::0;;;;;:::o;7100:785::-;7250:28;;-1:-1:-1;;;7250:28:79;;;;;616:25:197;;;7325:14:79;;7250:8;-1:-1:-1;;;;;7250:16:79;;;;589:18:197;;7250:28:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7280:10;381:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;7405:1:79::1;7382:24:::0;;;7378:49:::1;;7415:12;;-1:-1:-1::0;;;7415:12:79::1;;;;;;;;;;;7378:49;7494:1;7469:26:::0;;;7465:53:::1;;7504:14;;-1:-1:-1::0;;;7504:14:79::1;;;;;;;;;;;7465:53;7622:1;7582:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7582:19:79::1;:43:::0;7578:83:::1;;7634:27;;-1:-1:-1::0;;;7634:27:79::1;;;;;;;;;;;7578:83;7722:5;;7729:7;;7738:10;7710:39;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7789:7:79::1;:19:::0;;;::::1;::::0;;;;;;;;:27;;-1:-1:-1;;;;;;7789:27:79::1;-1:-1:-1::0;;;;;7789:27:79;::::1;::::0;;::::1;::::0;;;7828:52;;7789:27;;-1:-1:-1;7789:27:79;:19;;7828:52:::1;::::0;::::1;::::0;7853:5;;;;7860:7;;;;7869:10:::1;::::0;7828:52:::1;:::i;:::-;;;;;;;;7100:785:::0;;;;;;;;;;:::o;15215:1272::-;15367:7;15376:10;573:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;15524:39:79::1;::::0;-1:-1:-1;;;15524:39:79;;::::1;::::0;::::1;616:25:197::0;;;15486:35:79::1;::::0;15524:17:::1;-1:-1:-1::0;;;;;15524:27:79::1;::::0;::::1;::::0;589:18:197;;15524:39:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15486:77;;15601:22;:13;:20;:22::i;:::-;:37;;;15597:68;;;15647:18;;-1:-1:-1::0;;;15647:18:79::1;;;;;;;;;;;15597:68;-1:-1:-1::0;;;;;15719:24:79;::::1;15715:61;;15752:24;;-1:-1:-1::0;;;15752:24:79::1;;;;;;;;;;;15715:61;-1:-1:-1::0;;;;;15883:27:79;::::1;15855:25;15883:27:::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;15998:27;;::::1;15994:71;;;16034:31;;-1:-1:-1::0;;;16034:31:79::1;;;;;;;;;;;15994:71;-1:-1:-1::0;;;;;16149:27:79;;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;16191:27;;::::1;16149:69:::0;;16350:30;;::::1;::::0;;;;;;;;:42;;;;;;;:58:::1;::::0;16211:7;;16350:58:::1;:::i;:::-;-1:-1:-1::0;;;;;16299:30:79;;::::1;;::::0;;;:18:::1;:30;::::0;;;;;;;:42;;;;;;;;;:109;;;;16420:62;;10698:25:197;;;16471:10:79::1;10739:18:197::0;;;10732:60;;;;16299:30:79;;:42;;16420:62;::::1;::::0;::::1;::::0;10671:18:197;16420:62:79::1;;;;;;;15411:1076;;15215:1272:::0;;;;;;;:::o;9262:1150::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;616:25:197;;;9413:10:79;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;589:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;9486:15:79::1;9504:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9504:19:79::1;::::0;9657:20;:54;::::1;;;-1:-1:-1::0;;;;;;9681:30:79;::::1;::::0;::::1;9657:54;9631:80;;9722:18;9718:431;;;9824:41;::::0;-1:-1:-1;;;9824:41:79;;::::1;::::0;::::1;5976:25:197::0;;;-1:-1:-1;;;;;6037:32:197;;;6017:18;;;6010:60;6086:18;;;6079:34;;;9824:11:79;::::1;::::0;::::1;::::0;5949:18:197;;9824:41:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9718:431;;;-1:-1:-1::0;;;;;10004:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;:49:::1;::::0;10046:7;;10004:49:::1;:::i;:::-;-1:-1:-1::0;;;;;9962:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;:91;;;;10098:22:::1;:34:::0;;;;:44:::1;::::0;10135:7;;10098:44:::1;:::i;:::-;10061:34;::::0;;;:22:::1;:34;::::0;;;;:81;9718:431:::1;-1:-1:-1::0;;;;;10237:25:79::1;10251:10:::0;10237:13:::1;:25::i;:::-;:45;10233:74;;;10291:16;;-1:-1:-1::0;;;10291:16:79::1;;;;;;;;;;;10233:74;10319:88;::::0;;11022:25:197;;;11090:14;;11083:22;11078:2;11063:18;;11056:50;11149:14;;11142:22;11122:18;;;11115:50;10396:10:79::1;11196:2:197::0;11181:18;;11174:60;10319:88:79;;10333:10;;-1:-1:-1;;;;;10319:88:79;::::1;::::0;::::1;::::0;;;;11009:3:197;10319:88:79;;::::1;9425:987;;9262:1150:::0;;;;;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;11514:34:197;-1:-1:-1;;;;;11584:15:197;;;11564:18;;;11557:43;11616:18;;;11609:34;;;11659:18;;;11652:34;;;3390:13:81;:27;;;;11448:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;11514:34:197;-1:-1:-1;;;;;11584:15:197;;;11564:18;;;11557:43;3527:1:81;11616:18:197;;;11609:34;11659:18;;;11652:34;;;3477:13:81;:27;;;;11448:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;482:232:123:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;622:87:123;706:1;680:13;:22;;;:27;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1558:171:124;;;;;;;373:1;365:9;;;364:16;;1558:171;;476:10;;;475:16;;474:23;;1558:171;;;;;;;597:1;588:10;;;;587:16;;586:23;1558:171;;;;;1415:319;622:87:123;615:94;482:232;-1:-1:-1;;482:232:123:o;-1:-1:-1:-;;;;;;;;:::o;14:131:197:-;-1:-1:-1;;;;;89:31:197;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:315::-;218:6;226;279:2;267:9;258:7;254:23;250:32;247:52;;;295:1;292;285:12;247:52;334:9;321:23;353:31;378:5;353:31;:::i;:::-;403:5;455:2;440:18;;;;427:32;;-1:-1:-1;;;150:315:197:o;652:180::-;711:6;764:2;752:9;743:7;739:23;735:32;732:52;;;780:1;777;770:12;732:52;-1:-1:-1;803:23:197;;652:180;-1:-1:-1;652:180:197:o;1075:383::-;1152:6;1160;1168;1221:2;1209:9;1200:7;1196:23;1192:32;1189:52;;;1237:1;1234;1227:12;1189:52;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;1397:2;1382:18;;1369:32;;-1:-1:-1;1448:2:197;1433:18;;;1420:32;;1075:383;-1:-1:-1;;;1075:383:197:o;1463:333::-;1549:6;1557;1610:2;1598:9;1589:7;1585:23;1581:32;1578:52;;;1626:1;1623;1616:12;1578:52;1662:9;1649:23;1639:33;;1722:2;1711:9;1707:18;1694:32;1735:31;1760:5;1735:31;:::i;:::-;1785:5;1775:15;;;1463:333;;;;;:::o;2030:118::-;2116:5;2109:13;2102:21;2095:5;2092:32;2082:60;;2138:1;2135;2128:12;2153:519;2236:6;2244;2252;2260;2313:3;2301:9;2292:7;2288:23;2284:33;2281:53;;;2330:1;2327;2320:12;2281:53;2369:9;2356:23;2388:31;2413:5;2388:31;:::i;:::-;2438:5;-1:-1:-1;2490:2:197;2475:18;;2462:32;;-1:-1:-1;2541:2:197;2526:18;;2513:32;;-1:-1:-1;2597:2:197;2582:18;;2569:32;2610:30;2569:32;2610:30;:::i;:::-;2153:519;;;;-1:-1:-1;2153:519:197;;-1:-1:-1;;2153:519:197:o;2677:348::-;2729:8;2739:6;2793:3;2786:4;2778:6;2774:17;2770:27;2760:55;;2811:1;2808;2801:12;2760:55;-1:-1:-1;2834:20:197;;2877:18;2866:30;;2863:50;;;2909:1;2906;2899:12;2863:50;2946:4;2938:6;2934:17;2922:29;;2998:3;2991:4;2982:6;2974;2970:19;2966:30;2963:39;2960:59;;;3015:1;3012;3005:12;2960:59;2677:348;;;;;:::o;3030:789::-;3131:6;3139;3147;3155;3163;3216:2;3204:9;3195:7;3191:23;3187:32;3184:52;;;3232:1;3229;3222:12;3184:52;3268:9;3255:23;3245:33;;3329:2;3318:9;3314:18;3301:32;3352:18;3393:2;3385:6;3382:14;3379:34;;;3409:1;3406;3399:12;3379:34;3448:59;3499:7;3490:6;3479:9;3475:22;3448:59;:::i;:::-;3526:8;;-1:-1:-1;3422:85:197;-1:-1:-1;3614:2:197;3599:18;;3586:32;;-1:-1:-1;3630:16:197;;;3627:36;;;3659:1;3656;3649:12;3627:36;;3698:61;3751:7;3740:8;3729:9;3725:24;3698:61;:::i;:::-;3030:789;;;;-1:-1:-1;3030:789:197;;-1:-1:-1;3778:8:197;;3672:87;3030:789;-1:-1:-1;;;3030:789:197:o;4050:525::-;4136:6;4144;4152;4160;4213:3;4201:9;4192:7;4188:23;4184:33;4181:53;;;4230:1;4227;4220:12;4181:53;4269:9;4256:23;4288:31;4313:5;4288:31;:::i;:::-;4338:5;-1:-1:-1;4390:2:197;4375:18;;4362:32;;-1:-1:-1;4446:2:197;4431:18;;4418:32;4459:33;4418:32;4459:33;:::i;:::-;4050:525;;;;-1:-1:-1;4511:7:197;;4565:2;4550:18;4537:32;;-1:-1:-1;;4050:525:197:o;5323:184::-;5393:6;5446:2;5434:9;5425:7;5421:23;5417:32;5414:52;;;5462:1;5459;5452:12;5414:52;-1:-1:-1;5485:16:197;;5323:184;-1:-1:-1;5323:184:197:o;5512:127::-;5573:10;5568:3;5564:20;5561:1;5554:31;5604:4;5601:1;5594:15;5628:4;5625:1;5618:15;5644:125;5709:9;;;5730:10;;;5727:36;;;5743:18;;:::i;6474:251::-;6544:6;6597:2;6585:9;6576:7;6572:23;6568:32;6565:52;;;6613:1;6610;6603:12;6565:52;6645:9;6639:16;6664:31;6689:5;6664:31;:::i;:::-;6714:5;6474:251;-1:-1:-1;;;6474:251:197:o;6730:273::-;6798:6;6851:2;6839:9;6830:7;6826:23;6822:32;6819:52;;;6867:1;6864;6857:12;6819:52;6899:9;6893:16;6949:4;6942:5;6938:16;6931:5;6928:27;6918:55;;6969:1;6966;6959:12;7216:128;7283:9;;;7304:11;;;7301:37;;;7318:18;;:::i;7853:267::-;7942:6;7937:3;7930:19;7994:6;7987:5;7980:4;7975:3;7971:14;7958:43;-1:-1:-1;8046:1:197;8021:16;;;8039:4;8017:27;;;8010:38;;;;8102:2;8081:15;;;-1:-1:-1;;8077:29:197;8068:39;;;8064:50;;7853:267::o;8125:508::-;8370:2;8359:9;8352:21;8333:4;8396:62;8454:2;8443:9;8439:18;8431:6;8423;8396:62;:::i;:::-;8506:9;8498:6;8494:22;8489:2;8478:9;8474:18;8467:50;8534;8577:6;8569;8561;8534:50;:::i;:::-;8526:58;;;8620:6;8615:2;8604:9;8600:18;8593:34;8125:508;;;;;;;;:::o;8638:534::-;8883:2;8872:9;8865:21;8846:4;8909:62;8967:2;8956:9;8952:18;8944:6;8936;8909:62;:::i;:::-;9019:9;9011:6;9007:22;9002:2;8991:9;8987:18;8980:50;9047;9090:6;9082;9074;9047:50;:::i;:::-;9039:58;;;9162:1;9158;9153:3;9149:11;9145:19;9137:6;9133:32;9128:2;9117:9;9113:18;9106:60;8638:534;;;;;;;;:::o;9177:344::-;9244:2;9238:9;9286:3;9274:16;;9320:18;9305:34;;9341:22;;;9302:62;9299:185;;;9406:10;9401:3;9397:20;9394:1;9387:31;9441:4;9438:1;9431:15;9469:4;9466:1;9459:15;9299:185;9500:2;9493:22;9177:344;:::o;9526:161::-;9628:13;;9650:31;9628:13;9650:31;:::i;:::-;9526:161;;;:::o;9692:827::-;9795:6;9848:3;9836:9;9827:7;9823:23;9819:33;9816:53;;;9865:1;9862;9855:12;9816:53;9891:17;;:::i;:::-;9937:9;9931:16;9924:5;9917:31;10001:2;9990:9;9986:18;9980:25;9975:2;9968:5;9964:14;9957:49;10059:2;10048:9;10044:18;10038:25;10033:2;10026:5;10022:14;10015:49;10117:2;10106:9;10102:18;10096:25;10091:2;10084:5;10080:14;10073:49;10176:3;10165:9;10161:19;10155:26;10149:3;10142:5;10138:15;10131:51;10236:3;10225:9;10221:19;10215:26;10209:3;10202:5;10198:15;10191:51;10296:3;10285:9;10281:19;10275:26;10269:3;10262:5;10258:15;10251:51;10335:73;10403:3;10392:9;10388:19;10335:73;:::i;:::-;10329:3;10318:15;;10311:98;10428:3;10469:18;;;10463:25;10447:14;;;10440:49;;;;-1:-1:-1;10322:5:197;9692:827;-1:-1:-1;9692:827:197:o;11697:245::-;11764:6;11817:2;11805:9;11796:7;11792:23;11788:32;11785:52;;;11833:1;11830;11823:12;11785:52;11865:9;11859:16;11884:28;11906:5;11884:28;:::i","linkReferences":{},"immutableReferences":{"79981":[{"start":534,"length":32},{"start":1551,"length":32},{"start":2870,"length":32}],"79986":[{"start":398,"length":32},{"start":3363,"length":32}],"80748":[{"start":683,"length":32},{"start":2052,"length":32},{"start":3861,"length":32}],"80814":[{"start":643,"length":32},{"start":4520,"length":32},{"start":4691,"length":32}]}},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","burnFrom(address,uint256,uint256,bool)":"906ebd0f","claimFor(address,uint256,uint256)":"6607955d","directory()":"c41c2f24","fundingCycleStore()":"557e7155","issueFor(uint256,string,string)":"a7f2a70b","mintFor(address,uint256,uint256,bool)":"ceddd3e4","operatorStore()":"ad007d63","projects()":"8b79543c","setFor(uint256,address)":"831d7fac","tokenOf(uint256)":"ea78803f","totalSupplyOf(uint256)":"75b0d9cd","transferFrom(address,uint256,address,uint256)":"ac689bcd","unclaimedBalanceOf(address,uint256)":"5287af37","unclaimedTotalSupplyOf(uint256)":"1412884f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALREADY_SET\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_NAME\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_SYMBOL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_UNCLAIMED_TOKENS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OVERFLOW_ALERT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PROJECT_ALREADY_HAS_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENS_MUST_HAVE_18_DECIMALS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKEN_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFERS_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialClaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Issue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"tokensWereClaimed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"newToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Set\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"claimFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"issueFor\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBToken\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenOf\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"unclaimedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"unclaimedTotalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Token balances can be either represented internally or claimed as ERC-20s into wallets. This contract manages these two representations and allows claiming.The total supply of a project's tokens and the balance of each account are calculated in this contract.Each project can bring their own token if they prefer, and swap between tokens at any time.\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_holder\":\"The token holder to get a balance for.\",\"_projectId\":\"The project to get the `_holder`s balance of.\"},\"returns\":{\"balance\":\"The project token balance of the `_holder \"}},\"burnFrom(address,uint256,uint256,bool)\":{\"details\":\"Only a project's current controller can burn its tokens.\",\"params\":{\"_amount\":\"The amount of tokens to burn.\",\"_holder\":\"The address that owns the tokens being burned.\",\"_preferClaimedTokens\":\"A flag indicating whether there's a preference for tokens to burned from the `_holder`s wallet if the project currently has a token contract attached.\",\"_projectId\":\"The ID of the project to which the burned tokens belong.\"}},\"claimFor(address,uint256,uint256)\":{\"details\":\"Only a token holder or an operator specified by the token holder can claim its unclaimed tokens.\",\"params\":{\"_amount\":\"The amount of tokens to claim.\",\"_holder\":\"The owner of the tokens being claimed.\",\"_projectId\":\"The ID of the project whose tokens are being claimed.\"}},\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\",\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"issueFor(uint256,string,string)\":{\"details\":\"Deploys a project's ERC-20 token contract.Only a project's owner or operator can issue its token.\",\"params\":{\"_name\":\"The ERC-20's name.\",\"_projectId\":\"The ID of the project being issued tokens.\",\"_symbol\":\"The ERC-20's symbol.\"},\"returns\":{\"token\":\"The token that was issued.\"}},\"mintFor(address,uint256,uint256,bool)\":{\"details\":\"Only a project's current controller can mint its tokens.\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_holder\":\"The address receiving the new tokens.\",\"_preferClaimedTokens\":\"A flag indicating whether there's a preference for minted tokens to be claimed automatically into the `_holder`s wallet if the project currently has a token contract attached.\",\"_projectId\":\"The ID of the project to which the tokens belong.\"}},\"setFor(uint256,address)\":{\"details\":\"Only a project's owner or operator can set its token.\",\"params\":{\"_projectId\":\"The ID of the project to which the set token belongs.\",\"_token\":\"The new token. \"}},\"totalSupplyOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get the total token supply of.\"},\"returns\":{\"totalSupply\":\"The total supply of the project's tokens.\"}},\"transferFrom(address,uint256,address,uint256)\":{\"details\":\"Only a token holder or an operator can transfer its unclaimed tokens.\",\"params\":{\"_amount\":\"The amount of tokens to transfer.\",\"_holder\":\"The address to transfer tokens from.\",\"_projectId\":\"The ID of the project whose tokens are being transferred.\",\"_recipient\":\"The recipient of the tokens.\"}}},\"stateVariables\":{\"tokenOf\":{\"custom:param\":\"_projectId The ID of the project to which the token belongs. \"},\"unclaimedBalanceOf\":{\"custom:param\":\"_holder The holder of balance._projectId The ID of the project to which the token belongs.\"},\"unclaimedTotalSupplyOf\":{\"custom:param\":\"_projectId The ID of the project to which the token belongs. \"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens.\"},\"burnFrom(address,uint256,uint256,bool)\":{\"notice\":\"Burns a project's tokens.\"},\"claimFor(address,uint256,uint256)\":{\"notice\":\"Claims internally accounted for tokens into a holder's wallet.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations. \"},\"issueFor(uint256,string,string)\":{\"notice\":\"Issues a project's ERC-20 tokens that'll be used when claiming tokens.\"},\"mintFor(address,uint256,uint256,bool)\":{\"notice\":\"Mint new project tokens.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers. \"},\"setFor(uint256,address)\":{\"notice\":\"Set a project's token if not already set.\"},\"tokenOf(uint256)\":{\"notice\":\"Each project's attached token contract.\"},\"totalSupplyOf(uint256)\":{\"notice\":\"The total supply of tokens for each project, including claimed and unclaimed tokens.\"},\"transferFrom(address,uint256,address,uint256)\":{\"notice\":\"Allows a holder to transfer unclaimed tokens to another account.\"},\"unclaimedBalanceOf(address,uint256)\":{\"notice\":\"Each holder's balance of unclaimed tokens for each project.\"},\"unclaimedTotalSupplyOf(uint256)\":{\"notice\":\"The total supply of unclaimed tokens for each project.\"}},\"notice\":\"Manage token minting, burning, and account balances.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":\"JBTokenStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":{\"keccak256\":\"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49\",\"dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ALREADY_SET"},{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"type":"error","name":"EMPTY_NAME"},{"inputs":[],"type":"error","name":"EMPTY_SYMBOL"},{"inputs":[],"type":"error","name":"EMPTY_TOKEN"},{"inputs":[],"type":"error","name":"INSUFFICIENT_FUNDS"},{"inputs":[],"type":"error","name":"INSUFFICIENT_UNCLAIMED_TOKENS"},{"inputs":[],"type":"error","name":"OVERFLOW_ALERT"},{"inputs":[],"type":"error","name":"PROJECT_ALREADY_HAS_TOKEN"},{"inputs":[],"type":"error","name":"RECIPIENT_ZERO_ADDRESS"},{"inputs":[],"type":"error","name":"TOKENS_MUST_HAVE_18_DECIMALS"},{"inputs":[],"type":"error","name":"TOKEN_NOT_FOUND"},{"inputs":[],"type":"error","name":"TRANSFERS_PAUSED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialClaimedBalance","type":"uint256","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"token","type":"address","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"string","name":"symbol","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Issue","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bool","name":"tokensWereClaimed","type":"bool","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"newToken","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Set","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnFrom"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claimFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"issueFor","outputs":[{"internalType":"contract IJBToken","name":"token","type":"address"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBToken","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFor"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenOf","outputs":[{"internalType":"contract IJBToken","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"totalSupply","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedTotalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"balanceOf(address,uint256)":{"params":{"_holder":"The token holder to get a balance for.","_projectId":"The project to get the `_holder`s balance of."},"returns":{"balance":"The project token balance of the `_holder "}},"burnFrom(address,uint256,uint256,bool)":{"details":"Only a project's current controller can burn its tokens.","params":{"_amount":"The amount of tokens to burn.","_holder":"The address that owns the tokens being burned.","_preferClaimedTokens":"A flag indicating whether there's a preference for tokens to burned from the `_holder`s wallet if the project currently has a token contract attached.","_projectId":"The ID of the project to which the burned tokens belong."}},"claimFor(address,uint256,uint256)":{"details":"Only a token holder or an operator specified by the token holder can claim its unclaimed tokens.","params":{"_amount":"The amount of tokens to claim.","_holder":"The owner of the tokens being claimed.","_projectId":"The ID of the project whose tokens are being claimed."}},"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project.","_fundingCycleStore":"A contract storing all funding cycle configurations.","_operatorStore":"A contract storing operator assignments.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"issueFor(uint256,string,string)":{"details":"Deploys a project's ERC-20 token contract.Only a project's owner or operator can issue its token.","params":{"_name":"The ERC-20's name.","_projectId":"The ID of the project being issued tokens.","_symbol":"The ERC-20's symbol."},"returns":{"token":"The token that was issued."}},"mintFor(address,uint256,uint256,bool)":{"details":"Only a project's current controller can mint its tokens.","params":{"_amount":"The amount of tokens to mint.","_holder":"The address receiving the new tokens.","_preferClaimedTokens":"A flag indicating whether there's a preference for minted tokens to be claimed automatically into the `_holder`s wallet if the project currently has a token contract attached.","_projectId":"The ID of the project to which the tokens belong."}},"setFor(uint256,address)":{"details":"Only a project's owner or operator can set its token.","params":{"_projectId":"The ID of the project to which the set token belongs.","_token":"The new token. "}},"totalSupplyOf(uint256)":{"params":{"_projectId":"The ID of the project to get the total token supply of."},"returns":{"totalSupply":"The total supply of the project's tokens."}},"transferFrom(address,uint256,address,uint256)":{"details":"Only a token holder or an operator can transfer its unclaimed tokens.","params":{"_amount":"The amount of tokens to transfer.","_holder":"The address to transfer tokens from.","_projectId":"The ID of the project whose tokens are being transferred.","_recipient":"The recipient of the tokens."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,uint256)":{"notice":"The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens."},"burnFrom(address,uint256,uint256,bool)":{"notice":"Burns a project's tokens."},"claimFor(address,uint256,uint256)":{"notice":"Claims internally accounted for tokens into a holder's wallet."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations. "},"issueFor(uint256,string,string)":{"notice":"Issues a project's ERC-20 tokens that'll be used when claiming tokens."},"mintFor(address,uint256,uint256,bool)":{"notice":"Mint new project tokens."},"operatorStore()":{"notice":"A contract storing operator assignments."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers. "},"setFor(uint256,address)":{"notice":"Set a project's token if not already set."},"tokenOf(uint256)":{"notice":"Each project's attached token contract."},"totalSupplyOf(uint256)":{"notice":"The total supply of tokens for each project, including claimed and unclaimed tokens."},"transferFrom(address,uint256,address,uint256)":{"notice":"Allows a holder to transfer unclaimed tokens to another account."},"unclaimedBalanceOf(address,uint256)":{"notice":"Each holder's balance of unclaimed tokens for each project."},"unclaimedTotalSupplyOf(uint256)":{"notice":"The total supply of unclaimed tokens for each project."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":"JBTokenStore"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":{"keccak256":"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0","urls":["bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49","dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol","id":80712,"exportedSymbols":{"IJBDirectory":[85041],"IJBFundingCycleStore":[85310],"IJBOperatorStore":[85400],"IJBProjects":[86082],"IJBToken":[86529],"IJBTokenStore":[86728],"JBControllerUtility":[80761],"JBFundingCycle":[87801],"JBFundingCycleMetadataResolver":[87442],"JBOperatable":[80910],"JBOperations":[87614],"JBToken":[79915],"JBTokenStore":[80711]},"nodeType":"SourceUnit","src":"32:16458:79","nodes":[{"id":79917,"nodeType":"PragmaDirective","src":"32:24:79","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":79919,"nodeType":"ImportDirective","src":"58:71:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol","file":"./abstract/JBControllerUtility.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":80762,"symbolAliases":[{"foreign":{"id":79918,"name":"JBControllerUtility","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80761,"src":"66:19:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79921,"nodeType":"ImportDirective","src":"130:57:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol","file":"./abstract/JBOperatable.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":80911,"symbolAliases":[{"foreign":{"id":79920,"name":"JBOperatable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80910,"src":"138:12:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79923,"nodeType":"ImportDirective","src":"188:59:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol","file":"./interfaces/IJBDirectory.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":85042,"symbolAliases":[{"foreign":{"id":79922,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"196:12:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79925,"nodeType":"ImportDirective","src":"248:75:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol","file":"./interfaces/IJBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":85311,"symbolAliases":[{"foreign":{"id":79924,"name":"IJBFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85310,"src":"256:20:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79927,"nodeType":"ImportDirective","src":"324:67:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol","file":"./interfaces/IJBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":85401,"symbolAliases":[{"foreign":{"id":79926,"name":"IJBOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85400,"src":"332:16:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79929,"nodeType":"ImportDirective","src":"392:57:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol","file":"./interfaces/IJBProjects.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":86083,"symbolAliases":[{"foreign":{"id":79928,"name":"IJBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86082,"src":"400:11:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79931,"nodeType":"ImportDirective","src":"450:51:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","file":"./interfaces/IJBToken.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":86530,"symbolAliases":[{"foreign":{"id":79930,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"458:8:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79933,"nodeType":"ImportDirective","src":"502:61:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol","file":"./interfaces/IJBTokenStore.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":86729,"symbolAliases":[{"foreign":{"id":79932,"name":"IJBTokenStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86728,"src":"510:13:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79935,"nodeType":"ImportDirective","src":"564:94:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","file":"./libraries/JBFundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":87443,"symbolAliases":[{"foreign":{"id":79934,"name":"JBFundingCycleMetadataResolver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87442,"src":"572:30:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79937,"nodeType":"ImportDirective","src":"659:58:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"./libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":87615,"symbolAliases":[{"foreign":{"id":79936,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"667:12:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79939,"nodeType":"ImportDirective","src":"718:60:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"./structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":87802,"symbolAliases":[{"foreign":{"id":79938,"name":"JBFundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87801,"src":"726:14:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":79941,"nodeType":"ImportDirective","src":"779:38:79","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol","file":"./JBToken.sol","nameLocation":"-1:-1:-1","scope":80712,"sourceUnit":79916,"symbolAliases":[{"foreign":{"id":79940,"name":"JBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79915,"src":"787:7:79","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":80711,"nodeType":"ContractDefinition","src":"1264:15225:79","nodes":[{"id":79952,"nodeType":"UsingForDirective","src":"1429:56:79","nodes":[],"global":false,"libraryName":{"id":79949,"name":"JBFundingCycleMetadataResolver","nameLocations":["1435:30:79"],"nodeType":"IdentifierPath","referencedDeclaration":87442,"src":"1435:30:79"},"typeName":{"id":79951,"nodeType":"UserDefinedTypeName","pathNode":{"id":79950,"name":"JBFundingCycle","nameLocations":["1470:14:79"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"1470:14:79"},"referencedDeclaration":87801,"src":"1470:14:79","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}}},{"id":79954,"nodeType":"ErrorDefinition","src":"1717:20:79","nodes":[],"errorSelector":"97f9d957","name":"ALREADY_SET","nameLocation":"1723:11:79","parameters":{"id":79953,"nodeType":"ParameterList","parameters":[],"src":"1734:2:79"}},{"id":79956,"nodeType":"ErrorDefinition","src":"1740:19:79","nodes":[],"errorSelector":"92bf449d","name":"EMPTY_NAME","nameLocation":"1746:10:79","parameters":{"id":79955,"nodeType":"ParameterList","parameters":[],"src":"1756:2:79"}},{"id":79958,"nodeType":"ErrorDefinition","src":"1762:21:79","nodes":[],"errorSelector":"571431a7","name":"EMPTY_SYMBOL","nameLocation":"1768:12:79","parameters":{"id":79957,"nodeType":"ParameterList","parameters":[],"src":"1780:2:79"}},{"id":79960,"nodeType":"ErrorDefinition","src":"1786:20:79","nodes":[],"errorSelector":"24679e7b","name":"EMPTY_TOKEN","nameLocation":"1792:11:79","parameters":{"id":79959,"nodeType":"ParameterList","parameters":[],"src":"1803:2:79"}},{"id":79962,"nodeType":"ErrorDefinition","src":"1809:27:79","nodes":[],"errorSelector":"e7931438","name":"INSUFFICIENT_FUNDS","nameLocation":"1815:18:79","parameters":{"id":79961,"nodeType":"ParameterList","parameters":[],"src":"1833:2:79"}},{"id":79964,"nodeType":"ErrorDefinition","src":"1839:38:79","nodes":[],"errorSelector":"83fc8b2d","name":"INSUFFICIENT_UNCLAIMED_TOKENS","nameLocation":"1845:29:79","parameters":{"id":79963,"nodeType":"ParameterList","parameters":[],"src":"1874:2:79"}},{"id":79966,"nodeType":"ErrorDefinition","src":"1880:34:79","nodes":[],"errorSelector":"a54630ac","name":"PROJECT_ALREADY_HAS_TOKEN","nameLocation":"1886:25:79","parameters":{"id":79965,"nodeType":"ParameterList","parameters":[],"src":"1911:2:79"}},{"id":79968,"nodeType":"ErrorDefinition","src":"1917:31:79","nodes":[],"errorSelector":"c6587bab","name":"RECIPIENT_ZERO_ADDRESS","nameLocation":"1923:22:79","parameters":{"id":79967,"nodeType":"ParameterList","parameters":[],"src":"1945:2:79"}},{"id":79970,"nodeType":"ErrorDefinition","src":"1951:24:79","nodes":[],"errorSelector":"73c463ce","name":"TOKEN_NOT_FOUND","nameLocation":"1957:15:79","parameters":{"id":79969,"nodeType":"ParameterList","parameters":[],"src":"1972:2:79"}},{"id":79972,"nodeType":"ErrorDefinition","src":"1978:37:79","nodes":[],"errorSelector":"adc38c94","name":"TOKENS_MUST_HAVE_18_DECIMALS","nameLocation":"1984:28:79","parameters":{"id":79971,"nodeType":"ParameterList","parameters":[],"src":"2012:2:79"}},{"id":79974,"nodeType":"ErrorDefinition","src":"2018:25:79","nodes":[],"errorSelector":"18cdaf97","name":"TRANSFERS_PAUSED","nameLocation":"2024:16:79","parameters":{"id":79973,"nodeType":"ParameterList","parameters":[],"src":"2040:2:79"}},{"id":79976,"nodeType":"ErrorDefinition","src":"2046:23:79","nodes":[],"errorSelector":"60c5e712","name":"OVERFLOW_ALERT","nameLocation":"2052:14:79","parameters":{"id":79975,"nodeType":"ParameterList","parameters":[],"src":"2066:2:79"}},{"id":79981,"nodeType":"VariableDeclaration","src":"2382:46:79","nodes":[],"baseFunctions":[86627],"constant":false,"documentation":{"id":79977,"nodeType":"StructuredDocumentation","src":"2302:77:79","text":"@notice Mints ERC-721's that represent project ownership and transfers. "},"functionSelector":"8b79543c","mutability":"immutable","name":"projects","nameLocation":"2420:8:79","overrides":{"id":79980,"nodeType":"OverrideSpecifier","overrides":[],"src":"2411:8:79"},"scope":80711,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":79979,"nodeType":"UserDefinedTypeName","pathNode":{"id":79978,"name":"IJBProjects","nameLocations":["2382:11:79"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"2382:11:79"},"referencedDeclaration":86082,"src":"2382:11:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"public"},{"id":79986,"nodeType":"VariableDeclaration","src":"2504:64:79","nodes":[],"baseFunctions":[86633],"constant":false,"documentation":{"id":79982,"nodeType":"StructuredDocumentation","src":"2433:68:79","text":"@notice The contract storing all funding cycle configurations. "},"functionSelector":"557e7155","mutability":"immutable","name":"fundingCycleStore","nameLocation":"2551:17:79","overrides":{"id":79985,"nodeType":"OverrideSpecifier","overrides":[],"src":"2542:8:79"},"scope":80711,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":79984,"nodeType":"UserDefinedTypeName","pathNode":{"id":79983,"name":"IJBFundingCycleStore","nameLocations":["2504:20:79"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"2504:20:79"},"referencedDeclaration":85310,"src":"2504:20:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"public"},{"id":79993,"nodeType":"VariableDeclaration","src":"2939:52:79","nodes":[],"baseFunctions":[86621],"constant":false,"documentation":{"id":79987,"nodeType":"StructuredDocumentation","src":"2802:134:79","text":"@notice Each project's attached token contract.\n @custom:param _projectId The ID of the project to which the token belongs. "},"functionSelector":"ea78803f","mutability":"mutable","name":"tokenOf","nameLocation":"2984:7:79","overrides":{"id":79992,"nodeType":"OverrideSpecifier","overrides":[],"src":"2975:8:79"},"scope":80711,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"},"typeName":{"id":79991,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":79988,"name":"uint256","nodeType":"ElementaryTypeName","src":"2947:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2939:28:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":79990,"nodeType":"UserDefinedTypeName","pathNode":{"id":79989,"name":"IJBToken","nameLocations":["2958:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"2958:8:79"},"referencedDeclaration":86529,"src":"2958:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}}},"visibility":"public"},{"id":79999,"nodeType":"VariableDeclaration","src":"3148:66:79","nodes":[],"baseFunctions":[86649],"constant":false,"documentation":{"id":79994,"nodeType":"StructuredDocumentation","src":"2996:149:79","text":"@notice The total supply of unclaimed tokens for each project.\n @custom:param _projectId The ID of the project to which the token belongs. "},"functionSelector":"1412884f","mutability":"mutable","name":"unclaimedTotalSupplyOf","nameLocation":"3192:22:79","overrides":{"id":79998,"nodeType":"OverrideSpecifier","overrides":[],"src":"3183:8:79"},"scope":80711,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"typeName":{"id":79997,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":79995,"name":"uint256","nodeType":"ElementaryTypeName","src":"3156:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3148:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":79996,"name":"uint256","nodeType":"ElementaryTypeName","src":"3167:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"id":80007,"nodeType":"VariableDeclaration","src":"3425:82:79","nodes":[],"baseFunctions":[86642],"constant":false,"documentation":{"id":80000,"nodeType":"StructuredDocumentation","src":"3219:203:79","text":"@notice Each holder's balance of unclaimed tokens for each project.\n @custom:param _holder The holder of balance.\n @custom:param _projectId The ID of the project to which the token belongs."},"functionSelector":"5287af37","mutability":"mutable","name":"unclaimedBalanceOf","nameLocation":"3489:18:79","overrides":{"id":80006,"nodeType":"OverrideSpecifier","overrides":[],"src":"3480:8:79"},"scope":80711,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"typeName":{"id":80005,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":80001,"name":"address","nodeType":"ElementaryTypeName","src":"3433:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3425:47:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80004,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":80002,"name":"uint256","nodeType":"ElementaryTypeName","src":"3452:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"3444:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":80003,"name":"uint256","nodeType":"ElementaryTypeName","src":"3463:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"public"},{"id":80053,"nodeType":"FunctionDefinition","src":"4057:538:79","nodes":[],"body":{"id":80052,"nodeType":"Block","src":"4180:415:79","nodes":[],"statements":[{"expression":{"id":80024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80018,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80016,"src":"4260:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"baseExpression":{"id":80019,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"4270:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80021,"indexExpression":{"id":80020,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80010,"src":"4289:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4270:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80023,"indexExpression":{"id":80022,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80012,"src":"4298:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4270:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4260:49:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80025,"nodeType":"ExpressionStatement","src":"4260:49:79"},{"assignments":[80028],"declarations":[{"constant":false,"id":80028,"mutability":"mutable","name":"_token","nameLocation":"4380:6:79","nodeType":"VariableDeclaration","scope":80052,"src":"4371:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80027,"nodeType":"UserDefinedTypeName","pathNode":{"id":80026,"name":"IJBToken","nameLocations":["4371:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"4371:8:79"},"referencedDeclaration":86529,"src":"4371:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"id":80032,"initialValue":{"baseExpression":{"id":80029,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"4389:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80031,"indexExpression":{"id":80030,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80012,"src":"4397:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4389:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"VariableDeclarationStatement","src":"4371:37:79"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80033,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80028,"src":"4501:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4528:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4520:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80035,"name":"address","nodeType":"ElementaryTypeName","src":"4520:7:79","typeDescriptions":{}}},"id":80038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4520:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80034,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"4511:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4511:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"4501:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80051,"nodeType":"IfStatement","src":"4497:93:79","trueBody":{"expression":{"id":80049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80041,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80016,"src":"4533:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80042,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80016,"src":"4543:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":80045,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80010,"src":"4570:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80046,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80012,"src":"4579:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80043,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80028,"src":"4553:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4560:9:79","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":86481,"src":"4553:16:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":80047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4553:37:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4543:47:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4533:57:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80050,"nodeType":"ExpressionStatement","src":"4533:57:79"}}]},"baseFunctions":[86665],"documentation":{"id":80008,"nodeType":"StructuredDocumentation","src":"3741:313:79","text":"@notice The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens.\n @param _holder The token holder to get a balance for.\n @param _projectId The project to get the `_holder`s balance of.\n @return balance The project token balance of the `_holder "},"functionSelector":"00fdd58e","implemented":true,"kind":"function","modifiers":[],"name":"balanceOf","nameLocation":"4066:9:79","overrides":{"id":80014,"nodeType":"OverrideSpecifier","overrides":[],"src":"4139:8:79"},"parameters":{"id":80013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80010,"mutability":"mutable","name":"_holder","nameLocation":"4084:7:79","nodeType":"VariableDeclaration","scope":80053,"src":"4076:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80009,"name":"address","nodeType":"ElementaryTypeName","src":"4076:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80012,"mutability":"mutable","name":"_projectId","nameLocation":"4101:10:79","nodeType":"VariableDeclaration","scope":80053,"src":"4093:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80011,"name":"uint256","nodeType":"ElementaryTypeName","src":"4093:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4075:37:79"},"returnParameters":{"id":80017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80016,"mutability":"mutable","name":"balance","nameLocation":"4169:7:79","nodeType":"VariableDeclaration","scope":80053,"src":"4161:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80015,"name":"uint256","nodeType":"ElementaryTypeName","src":"4161:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4160:17:79"},"scope":80711,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":80094,"nodeType":"FunctionDefinition","src":"5075:509:79","nodes":[],"body":{"id":80093,"nodeType":"Block","src":"5169:415:79","nodes":[],"statements":[{"expression":{"id":80066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80062,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80060,"src":"5253:11:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":80063,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"5267:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80065,"indexExpression":{"id":80064,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80056,"src":"5290:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5267:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5253:48:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80067,"nodeType":"ExpressionStatement","src":"5253:48:79"},{"assignments":[80070],"declarations":[{"constant":false,"id":80070,"mutability":"mutable","name":"_token","nameLocation":"5372:6:79","nodeType":"VariableDeclaration","scope":80093,"src":"5363:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80069,"nodeType":"UserDefinedTypeName","pathNode":{"id":80068,"name":"IJBToken","nameLocations":["5363:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"5363:8:79"},"referencedDeclaration":86529,"src":"5363:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"id":80074,"initialValue":{"baseExpression":{"id":80071,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"5381:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80073,"indexExpression":{"id":80072,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80056,"src":"5389:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5381:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"VariableDeclarationStatement","src":"5363:37:79"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80082,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80075,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80070,"src":"5489:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5516:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80078,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5508:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80077,"name":"address","nodeType":"ElementaryTypeName","src":"5508:7:79","typeDescriptions":{}}},"id":80080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5508:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80076,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"5499:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80081,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5499:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"5489:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80092,"nodeType":"IfStatement","src":"5485:94:79","trueBody":{"expression":{"id":80090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80083,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80060,"src":"5521:11:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80084,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80060,"src":"5535:11:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"arguments":[{"id":80087,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80056,"src":"5568:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80085,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80070,"src":"5549:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80086,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5556:11:79","memberName":"totalSupply","nodeType":"MemberAccess","referencedDeclaration":86472,"src":"5549:18:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":80088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5549:30:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5535:44:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5521:58:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80091,"nodeType":"ExpressionStatement","src":"5521:58:79"}}]},"baseFunctions":[86656],"documentation":{"id":80054,"nodeType":"StructuredDocumentation","src":"4828:244:79","text":"@notice The total supply of tokens for each project, including claimed and unclaimed tokens.\n @param _projectId The ID of the project to get the total token supply of.\n @return totalSupply The total supply of the project's tokens."},"functionSelector":"75b0d9cd","implemented":true,"kind":"function","modifiers":[],"name":"totalSupplyOf","nameLocation":"5084:13:79","overrides":{"id":80058,"nodeType":"OverrideSpecifier","overrides":[],"src":"5130:8:79"},"parameters":{"id":80057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80056,"mutability":"mutable","name":"_projectId","nameLocation":"5106:10:79","nodeType":"VariableDeclaration","scope":80094,"src":"5098:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80055,"name":"uint256","nodeType":"ElementaryTypeName","src":"5098:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5097:20:79"},"returnParameters":{"id":80061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80060,"mutability":"mutable","name":"totalSupply","nameLocation":"5156:11:79","nodeType":"VariableDeclaration","scope":80094,"src":"5148:19:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80059,"name":"uint256","nodeType":"ElementaryTypeName","src":"5148:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5147:21:79"},"scope":80711,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":80125,"nodeType":"FunctionDefinition","src":"6177:290:79","nodes":[],"body":{"id":80124,"nodeType":"Block","src":"6392:75:79","nodes":[],"statements":[{"expression":{"id":80118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80116,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79981,"src":"6398:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80117,"name":"_projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80101,"src":"6409:9:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"src":"6398:20:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":80119,"nodeType":"ExpressionStatement","src":"6398:20:79"},{"expression":{"id":80122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80120,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79986,"src":"6424:17:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80121,"name":"_fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80107,"src":"6444:18:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"src":"6424:38:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":80123,"nodeType":"ExpressionStatement","src":"6424:38:79"}]},"documentation":{"id":80095,"nodeType":"StructuredDocumentation","src":"5817:357:79","text":"@param _operatorStore A contract storing operator assignments.\n @param _projects A contract which mints ERC-721's that represent project ownership and transfers.\n @param _directory A contract storing directories of terminals and controllers for each project.\n @param _fundingCycleStore A contract storing all funding cycle configurations."},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":80110,"name":"_operatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80098,"src":"6344:14:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}}],"id":80111,"kind":"baseConstructorSpecifier","modifierName":{"id":80109,"name":"JBOperatable","nameLocations":["6331:12:79"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"6331:12:79"},"nodeType":"ModifierInvocation","src":"6331:28:79"},{"arguments":[{"id":80113,"name":"_directory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80104,"src":"6380:10:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}}],"id":80114,"kind":"baseConstructorSpecifier","modifierName":{"id":80112,"name":"JBControllerUtility","nameLocations":["6360:19:79"],"nodeType":"IdentifierPath","referencedDeclaration":80761,"src":"6360:19:79"},"nodeType":"ModifierInvocation","src":"6360:31:79"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":80108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80098,"mutability":"mutable","name":"_operatorStore","nameLocation":"6211:14:79","nodeType":"VariableDeclaration","scope":80125,"src":"6194:31:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"},"typeName":{"id":80097,"nodeType":"UserDefinedTypeName","pathNode":{"id":80096,"name":"IJBOperatorStore","nameLocations":["6194:16:79"],"nodeType":"IdentifierPath","referencedDeclaration":85400,"src":"6194:16:79"},"referencedDeclaration":85400,"src":"6194:16:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBOperatorStore_$85400","typeString":"contract IJBOperatorStore"}},"visibility":"internal"},{"constant":false,"id":80101,"mutability":"mutable","name":"_projects","nameLocation":"6243:9:79","nodeType":"VariableDeclaration","scope":80125,"src":"6231:21:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"},"typeName":{"id":80100,"nodeType":"UserDefinedTypeName","pathNode":{"id":80099,"name":"IJBProjects","nameLocations":["6231:11:79"],"nodeType":"IdentifierPath","referencedDeclaration":86082,"src":"6231:11:79"},"referencedDeclaration":86082,"src":"6231:11:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"visibility":"internal"},{"constant":false,"id":80104,"mutability":"mutable","name":"_directory","nameLocation":"6271:10:79","nodeType":"VariableDeclaration","scope":80125,"src":"6258:23:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"},"typeName":{"id":80103,"nodeType":"UserDefinedTypeName","pathNode":{"id":80102,"name":"IJBDirectory","nameLocations":["6258:12:79"],"nodeType":"IdentifierPath","referencedDeclaration":85041,"src":"6258:12:79"},"referencedDeclaration":85041,"src":"6258:12:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}},"visibility":"internal"},{"constant":false,"id":80107,"mutability":"mutable","name":"_fundingCycleStore","nameLocation":"6308:18:79","nodeType":"VariableDeclaration","scope":80125,"src":"6287:39:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"},"typeName":{"id":80106,"nodeType":"UserDefinedTypeName","pathNode":{"id":80105,"name":"IJBFundingCycleStore","nameLocations":["6287:20:79"],"nodeType":"IdentifierPath","referencedDeclaration":85310,"src":"6287:20:79"},"referencedDeclaration":85310,"src":"6287:20:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"visibility":"internal"}],"src":"6188:142:79"},"returnParameters":{"id":80115,"nodeType":"ParameterList","parameters":[],"src":"6392:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":80210,"nodeType":"FunctionDefinition","src":"7100:785:79","nodes":[],"body":{"id":80209,"nodeType":"Block","src":"7343:542:79","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80154,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":80150,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80130,"src":"7388:5:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":80149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7382:5:79","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":80148,"name":"bytes","nodeType":"ElementaryTypeName","src":"7382:5:79","typeDescriptions":{}}},"id":80151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7382:12:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":80152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7395:6:79","memberName":"length","nodeType":"MemberAccess","src":"7382:19:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7405:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7382:24:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80158,"nodeType":"IfStatement","src":"7378:49:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80155,"name":"EMPTY_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79956,"src":"7415:10:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7415:12:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80157,"nodeType":"RevertStatement","src":"7408:19:79"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":80161,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80132,"src":"7475:7:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":80160,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7469:5:79","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":80159,"name":"bytes","nodeType":"ElementaryTypeName","src":"7469:5:79","typeDescriptions":{}}},"id":80162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7469:14:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":80163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7484:6:79","memberName":"length","nodeType":"MemberAccess","src":"7469:21:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":80164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7494:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7469:26:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80169,"nodeType":"IfStatement","src":"7465:53:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80166,"name":"EMPTY_SYMBOL","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79958,"src":"7504:12:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7504:14:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80168,"nodeType":"RevertStatement","src":"7497:21:79"}},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":80170,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"7582:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80172,"indexExpression":{"id":80171,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7590:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7582:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7622:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7614:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80174,"name":"address","nodeType":"ElementaryTypeName","src":"7614:7:79","typeDescriptions":{}}},"id":80177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7614:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80173,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"7605:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7605:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"7582:43:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80183,"nodeType":"IfStatement","src":"7578:83:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80180,"name":"PROJECT_ALREADY_HAS_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79966,"src":"7634:25:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7634:27:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80182,"nodeType":"RevertStatement","src":"7627:34:79"}},{"expression":{"id":80192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80184,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80146,"src":"7702:5:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":80188,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80130,"src":"7722:5:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":80189,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80132,"src":"7729:7:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":80190,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7738:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"7710:11:79","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_uint256_$returns$_t_contract$_JBToken_$79915_$","typeString":"function (string memory,string memory,uint256) returns (contract JBToken)"},"typeName":{"id":80186,"nodeType":"UserDefinedTypeName","pathNode":{"id":80185,"name":"JBToken","nameLocations":["7714:7:79"],"nodeType":"IdentifierPath","referencedDeclaration":79915,"src":"7714:7:79"},"referencedDeclaration":79915,"src":"7714:7:79","typeDescriptions":{"typeIdentifier":"t_contract$_JBToken_$79915","typeString":"contract JBToken"}}},"id":80191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7710:39:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBToken_$79915","typeString":"contract JBToken"}},"src":"7702:47:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80193,"nodeType":"ExpressionStatement","src":"7702:47:79"},{"expression":{"id":80198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80194,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"7789:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80196,"indexExpression":{"id":80195,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7797:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7789:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80197,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80146,"src":"7811:5:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"7789:27:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80199,"nodeType":"ExpressionStatement","src":"7789:27:79"},{"eventCall":{"arguments":[{"id":80201,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7834:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80202,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80146,"src":"7846:5:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},{"id":80203,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80130,"src":"7853:5:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":80204,"name":"_symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80132,"src":"7860:7:79","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"expression":{"id":80205,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7869:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7873:6:79","memberName":"sender","nodeType":"MemberAccess","src":"7869:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80200,"name":"Issue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86550,"src":"7828:5:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IJBToken_$86529_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (uint256,contract IJBToken,string memory,string memory,address)"}},"id":80207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7828:52:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80208,"nodeType":"EmitStatement","src":"7823:57:79"}]},"baseFunctions":[86677],"documentation":{"id":80126,"nodeType":"StructuredDocumentation","src":"6700:397:79","text":"@notice Issues a project's ERC-20 tokens that'll be used when claiming tokens.\n @dev Deploys a project's ERC-20 token contract.\n @dev Only a project's owner or operator can issue its token.\n @param _projectId The ID of the project being issued tokens.\n @param _name The ERC-20's name.\n @param _symbol The ERC-20's symbol.\n @return token The token that was issued."},"functionSelector":"a7f2a70b","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":80138,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7267:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80136,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79981,"src":"7250:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":80137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7259:7:79","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"7250:16:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":80139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7250:28:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80140,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80128,"src":"7280:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80141,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"7292:12:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":80142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7305:5:79","memberName":"ISSUE","nodeType":"MemberAccess","referencedDeclaration":87580,"src":"7292:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80143,"kind":"modifierInvocation","modifierName":{"id":80135,"name":"requirePermission","nameLocations":["7232:17:79"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"7232:17:79"},"nodeType":"ModifierInvocation","src":"7232:79:79"}],"name":"issueFor","nameLocation":"7109:8:79","overrides":{"id":80134,"nodeType":"OverrideSpecifier","overrides":[],"src":"7219:8:79"},"parameters":{"id":80133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80128,"mutability":"mutable","name":"_projectId","nameLocation":"7131:10:79","nodeType":"VariableDeclaration","scope":80210,"src":"7123:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80127,"name":"uint256","nodeType":"ElementaryTypeName","src":"7123:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80130,"mutability":"mutable","name":"_name","nameLocation":"7163:5:79","nodeType":"VariableDeclaration","scope":80210,"src":"7147:21:79","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":80129,"name":"string","nodeType":"ElementaryTypeName","src":"7147:6:79","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":80132,"mutability":"mutable","name":"_symbol","nameLocation":"7190:7:79","nodeType":"VariableDeclaration","scope":80210,"src":"7174:23:79","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":80131,"name":"string","nodeType":"ElementaryTypeName","src":"7174:6:79","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7117:84:79"},"returnParameters":{"id":80147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80146,"mutability":"mutable","name":"token","nameLocation":"7334:5:79","nodeType":"VariableDeclaration","scope":80210,"src":"7325:14:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80145,"nodeType":"UserDefinedTypeName","pathNode":{"id":80144,"name":"IJBToken","nameLocations":["7325:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"7325:8:79"},"referencedDeclaration":86529,"src":"7325:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"src":"7324:16:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80278,"nodeType":"FunctionDefinition","src":"8124:633:79","nodes":[],"body":{"id":80277,"nodeType":"Block","src":"8293:464:79","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80229,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80216,"src":"8341:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8368:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8360:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80231,"name":"address","nodeType":"ElementaryTypeName","src":"8360:7:79","typeDescriptions":{}}},"id":80234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8360:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80230,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"8351:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8351:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"8341:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80240,"nodeType":"IfStatement","src":"8337:56:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80237,"name":"EMPTY_TOKEN","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79960,"src":"8380:11:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8380:13:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80239,"nodeType":"RevertStatement","src":"8373:20:79"}},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":80241,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"8443:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80243,"indexExpression":{"id":80242,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80213,"src":"8451:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8443:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8483:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8475:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80245,"name":"address","nodeType":"ElementaryTypeName","src":"8475:7:79","typeDescriptions":{}}},"id":80248,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8475:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80244,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"8466:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8466:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"8443:43:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80254,"nodeType":"IfStatement","src":"8439:69:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80251,"name":"ALREADY_SET","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79954,"src":"8495:11:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8495:13:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80253,"nodeType":"RevertStatement","src":"8488:20:79"}},{"condition":{"commonType":{"typeIdentifier":"t_uint8","typeString":"uint8"},"id":80259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80255,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80216,"src":"8580:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8587:8:79","memberName":"decimals","nodeType":"MemberAccess","referencedDeclaration":86465,"src":"8580:15:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint8_$","typeString":"function () view external returns (uint8)"}},"id":80257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8580:17:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"3138","id":80258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8601:2:79","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"8580:23:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80263,"nodeType":"IfStatement","src":"8576:66:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80260,"name":"TOKENS_MUST_HAVE_18_DECIMALS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79972,"src":"8612:28:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8612:30:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80262,"nodeType":"RevertStatement","src":"8605:37:79"}},{"expression":{"id":80268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80264,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"8677:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80266,"indexExpression":{"id":80265,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80213,"src":"8685:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8677:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":80267,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80216,"src":"8699:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"8677:28:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80269,"nodeType":"ExpressionStatement","src":"8677:28:79"},{"eventCall":{"arguments":[{"id":80271,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80213,"src":"8721:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80272,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80216,"src":"8733:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},{"expression":{"id":80273,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8741:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8745:6:79","memberName":"sender","nodeType":"MemberAccess","src":"8741:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80270,"name":"Set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86601,"src":"8717:3:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_contract$_IJBToken_$86529_$_t_address_$returns$__$","typeString":"function (uint256,contract IJBToken,address)"}},"id":80275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8717:35:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80276,"nodeType":"EmitStatement","src":"8712:40:79"}]},"baseFunctions":[86685],"documentation":{"id":80211,"nodeType":"StructuredDocumentation","src":"7889:232:79","text":"@notice Set a project's token if not already set.\n @dev Only a project's owner or operator can set its token.\n @param _projectId The ID of the project to which the set token belongs.\n @param _token The new token. "},"functionSelector":"831d7fac","implemented":true,"kind":"function","modifiers":[{"arguments":[{"arguments":[{"id":80222,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80213,"src":"8242:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80220,"name":"projects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79981,"src":"8225:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBProjects_$86082","typeString":"contract IJBProjects"}},"id":80221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8234:7:79","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":93515,"src":"8225:16:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":80223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8225:28:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80224,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80213,"src":"8255:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80225,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"8267:12:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":80226,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8280:9:79","memberName":"SET_TOKEN","nodeType":"MemberAccess","referencedDeclaration":87583,"src":"8267:22:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80227,"kind":"modifierInvocation","modifierName":{"id":80219,"name":"requirePermission","nameLocations":["8207:17:79"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"8207:17:79"},"nodeType":"ModifierInvocation","src":"8207:83:79"}],"name":"setFor","nameLocation":"8133:6:79","overrides":{"id":80218,"nodeType":"OverrideSpecifier","overrides":[],"src":"8194:8:79"},"parameters":{"id":80217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80213,"mutability":"mutable","name":"_projectId","nameLocation":"8148:10:79","nodeType":"VariableDeclaration","scope":80278,"src":"8140:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80212,"name":"uint256","nodeType":"ElementaryTypeName","src":"8140:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80216,"mutability":"mutable","name":"_token","nameLocation":"8169:6:79","nodeType":"VariableDeclaration","scope":80278,"src":"8160:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80215,"nodeType":"UserDefinedTypeName","pathNode":{"id":80214,"name":"IJBToken","nameLocations":["8160:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"8160:8:79"},"referencedDeclaration":86529,"src":"8160:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"src":"8139:37:79"},"returnParameters":{"id":80228,"nodeType":"ParameterList","parameters":[],"src":"8293:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80373,"nodeType":"FunctionDefinition","src":"9262:1150:79","nodes":[],"body":{"id":80372,"nodeType":"Block","src":"9425:987:79","nodes":[],"statements":[{"assignments":[80296],"declarations":[{"constant":false,"id":80296,"mutability":"mutable","name":"_token","nameLocation":"9495:6:79","nodeType":"VariableDeclaration","scope":80372,"src":"9486:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80295,"nodeType":"UserDefinedTypeName","pathNode":{"id":80294,"name":"IJBToken","nameLocations":["9486:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"9486:8:79"},"referencedDeclaration":86529,"src":"9486:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"id":80300,"initialValue":{"baseExpression":{"id":80297,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"9504:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80299,"indexExpression":{"id":80298,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"9512:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9504:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"VariableDeclarationStatement","src":"9486:37:79"},{"assignments":[80302],"declarations":[{"constant":false,"id":80302,"mutability":"mutable","name":"_shouldClaimTokens","nameLocation":"9636:18:79","nodeType":"VariableDeclaration","scope":80372,"src":"9631:23:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80301,"name":"bool","nodeType":"ElementaryTypeName","src":"9631:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":80313,"initialValue":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":80312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80303,"name":"_preferClaimedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80287,"src":"9657:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80304,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80296,"src":"9681:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9708:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9700:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80306,"name":"address","nodeType":"ElementaryTypeName","src":"9700:7:79","typeDescriptions":{}}},"id":80309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9700:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80305,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"9691:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9691:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"9681:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9657:54:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"9631:80:79"},{"condition":{"id":80314,"name":"_shouldClaimTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"9722:18:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80347,"nodeType":"Block","src":"9876:273:79","statements":[{"expression":{"id":80335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":80323,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"9962:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80326,"indexExpression":{"id":80324,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80281,"src":"9981:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9962:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80327,"indexExpression":{"id":80325,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"9990:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9962:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":80328,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"10004:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80330,"indexExpression":{"id":80329,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80281,"src":"10023:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10004:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80332,"indexExpression":{"id":80331,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"10032:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10004:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80333,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80285,"src":"10046:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10004:49:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9962:91:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80336,"nodeType":"ExpressionStatement","src":"9962:91:79"},{"expression":{"id":80345,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80337,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"10061:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80339,"indexExpression":{"id":80338,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"10084:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10061:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":80340,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"10098:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80342,"indexExpression":{"id":80341,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"10121:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10098:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80343,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80285,"src":"10135:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10098:44:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10061:81:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80346,"nodeType":"ExpressionStatement","src":"10061:81:79"}]},"id":80348,"nodeType":"IfStatement","src":"9718:431:79","trueBody":{"expression":{"arguments":[{"id":80318,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"9836:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80319,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80281,"src":"9848:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80320,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80285,"src":"9857:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80315,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80296,"src":"9824:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9831:4:79","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":86490,"src":"9824:11:79","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":80321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9824:41:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80322,"nodeType":"ExpressionStatement","src":"9824:41:79"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80357,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":80350,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"10251:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":80349,"name":"totalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80094,"src":"10237:13:79","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":80351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10237:25:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"expression":{"arguments":[{"id":80354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10270:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":80353,"name":"uint224","nodeType":"ElementaryTypeName","src":"10270:7:79","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":80352,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10265:4:79","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":80355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10265:13:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":80356,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10279:3:79","memberName":"max","nodeType":"MemberAccess","src":"10265:17:79","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"10237:45:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80361,"nodeType":"IfStatement","src":"10233:74:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80358,"name":"OVERFLOW_ALERT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79976,"src":"10291:14:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80359,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10291:16:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80360,"nodeType":"RevertStatement","src":"10284:23:79"}},{"eventCall":{"arguments":[{"id":80363,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80281,"src":"10324:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80364,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"10333:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80365,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80285,"src":"10345:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80366,"name":"_shouldClaimTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80302,"src":"10354:18:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":80367,"name":"_preferClaimedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80287,"src":"10374:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":80368,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10396:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10400:6:79","memberName":"sender","nodeType":"MemberAccess","src":"10396:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80362,"name":"Mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86564,"src":"10319:4:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,uint256,bool,bool,address)"}},"id":80370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10319:88:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80371,"nodeType":"EmitStatement","src":"10314:93:79"}]},"baseFunctions":[86707],"documentation":{"id":80279,"nodeType":"StructuredDocumentation","src":"8761:498:79","text":"@notice Mint new project tokens.\n @dev Only a project's current controller can mint its tokens.\n @param _holder The address receiving the new tokens.\n @param _projectId The ID of the project to which the tokens belong.\n @param _amount The amount of tokens to mint.\n @param _preferClaimedTokens A flag indicating whether there's a preference for minted tokens to be claimed automatically into the `_holder`s wallet if the project currently has a token contract attached."},"functionSelector":"ceddd3e4","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":80291,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80283,"src":"9413:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80292,"kind":"modifierInvocation","modifierName":{"id":80290,"name":"onlyController","nameLocations":["9398:14:79"],"nodeType":"IdentifierPath","referencedDeclaration":80743,"src":"9398:14:79"},"nodeType":"ModifierInvocation","src":"9398:26:79"}],"name":"mintFor","nameLocation":"9271:7:79","overrides":{"id":80289,"nodeType":"OverrideSpecifier","overrides":[],"src":"9389:8:79"},"parameters":{"id":80288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80281,"mutability":"mutable","name":"_holder","nameLocation":"9292:7:79","nodeType":"VariableDeclaration","scope":80373,"src":"9284:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80280,"name":"address","nodeType":"ElementaryTypeName","src":"9284:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80283,"mutability":"mutable","name":"_projectId","nameLocation":"9313:10:79","nodeType":"VariableDeclaration","scope":80373,"src":"9305:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80282,"name":"uint256","nodeType":"ElementaryTypeName","src":"9305:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80285,"mutability":"mutable","name":"_amount","nameLocation":"9337:7:79","nodeType":"VariableDeclaration","scope":80373,"src":"9329:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80284,"name":"uint256","nodeType":"ElementaryTypeName","src":"9329:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80287,"mutability":"mutable","name":"_preferClaimedTokens","nameLocation":"9355:20:79","nodeType":"VariableDeclaration","scope":80373,"src":"9350:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80286,"name":"bool","nodeType":"ElementaryTypeName","src":"9350:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9278:101:79"},"returnParameters":{"id":80293,"nodeType":"ParameterList","parameters":[],"src":"9425:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80525,"nodeType":"FunctionDefinition","src":"10909:2283:79","nodes":[],"body":{"id":80524,"nodeType":"Block","src":"11073:2119:79","nodes":[],"statements":[{"assignments":[80391],"declarations":[{"constant":false,"id":80391,"mutability":"mutable","name":"_token","nameLocation":"11143:6:79","nodeType":"VariableDeclaration","scope":80524,"src":"11134:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80390,"nodeType":"UserDefinedTypeName","pathNode":{"id":80389,"name":"IJBToken","nameLocations":["11134:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"11134:8:79"},"referencedDeclaration":86529,"src":"11134:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"id":80395,"initialValue":{"baseExpression":{"id":80392,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"11152:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80394,"indexExpression":{"id":80393,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"11160:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11152:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"VariableDeclarationStatement","src":"11134:37:79"},{"assignments":[80397],"declarations":[{"constant":false,"id":80397,"mutability":"mutable","name":"_unclaimedBalance","nameLocation":"11267:17:79","nodeType":"VariableDeclaration","scope":80524,"src":"11259:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80396,"name":"uint256","nodeType":"ElementaryTypeName","src":"11259:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80403,"initialValue":{"baseExpression":{"baseExpression":{"id":80398,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"11287:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80400,"indexExpression":{"id":80399,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"11306:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11287:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80402,"indexExpression":{"id":80401,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"11315:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11287:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11259:67:79"},{"assignments":[80405],"declarations":[{"constant":false,"id":80405,"mutability":"mutable","name":"_claimedBalance","nameLocation":"11441:15:79","nodeType":"VariableDeclaration","scope":80524,"src":"11433:23:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80404,"name":"uint256","nodeType":"ElementaryTypeName","src":"11433:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80421,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80413,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80406,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80391,"src":"11459:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11486:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11478:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80408,"name":"address","nodeType":"ElementaryTypeName","src":"11478:7:79","typeDescriptions":{}}},"id":80411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11478:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80407,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"11469:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11469:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"11459:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":80417,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"11525:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80418,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"11534:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80415,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80391,"src":"11508:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11515:9:79","memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":86481,"src":"11508:16:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view external returns (uint256)"}},"id":80419,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11508:37:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11459:86:79","trueExpression":{"hexValue":"30","id":80414,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11498:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11433:112:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80422,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"11652:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80423,"name":"_claimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80405,"src":"11662:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80424,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"11680:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11662:35:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11652:45:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80430,"nodeType":"IfStatement","src":"11648:78:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80427,"name":"INSUFFICIENT_FUNDS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79962,"src":"11706:18:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11706:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80429,"nodeType":"RevertStatement","src":"11699:27:79"}},{"assignments":[80432],"declarations":[{"constant":false,"id":80432,"mutability":"mutable","name":"_claimedTokensToBurn","nameLocation":"11778:20:79","nodeType":"VariableDeclaration","scope":80524,"src":"11770:28:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80431,"name":"uint256","nodeType":"ElementaryTypeName","src":"11770:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80433,"nodeType":"VariableDeclarationStatement","src":"11770:28:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80434,"name":"_claimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80405,"src":"11876:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":80435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11895:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11876:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80461,"nodeType":"IfStatement","src":"11872:435:79","trueBody":{"condition":{"id":80437,"name":"_preferClaimedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80382,"src":"11908:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":80459,"nodeType":"Block","src":"12172:135:79","statements":[{"id":80458,"nodeType":"UncheckedBlock","src":"12182:117:79","statements":[{"expression":{"id":80456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80447,"name":"_claimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80432,"src":"12204:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80448,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"12227:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80449,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"12247:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12227:27:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":80454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12287:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":80455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12227:61:79","trueExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80451,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"12257:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80452,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"12267:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12257:27:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12204:84:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80457,"nodeType":"ExpressionStatement","src":"12204:84:79"}]}]},"id":80460,"nodeType":"IfStatement","src":"11904:403:79","trueBody":{"expression":{"id":80445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80438,"name":"_claimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80432,"src":"12016:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80439,"name":"_claimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80405,"src":"12039:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80440,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"12057:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12039:25:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":80443,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"12085:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12039:53:79","trueExpression":{"id":80442,"name":"_claimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80405,"src":"12067:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12016:76:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80446,"nodeType":"ExpressionStatement","src":"12016:76:79"}}},{"assignments":[80463],"declarations":[{"constant":false,"id":80463,"mutability":"mutable","name":"_unclaimedTokensToBurn","nameLocation":"12368:22:79","nodeType":"VariableDeclaration","scope":80524,"src":"12360:30:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80462,"name":"uint256","nodeType":"ElementaryTypeName","src":"12360:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80464,"nodeType":"VariableDeclarationStatement","src":"12360:30:79"},{"id":80471,"nodeType":"UncheckedBlock","src":"12396:80:79","statements":[{"expression":{"id":80469,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":80465,"name":"_unclaimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80463,"src":"12414:22:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80466,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"12439:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80467,"name":"_claimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80432,"src":"12449:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12439:30:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12414:55:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80470,"nodeType":"ExpressionStatement","src":"12414:55:79"}]},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80474,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80472,"name":"_unclaimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80463,"src":"12558:22:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12583:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12558:26:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80500,"nodeType":"IfStatement","src":"12554:347:79","trueBody":{"id":80499,"nodeType":"Block","src":"12586:315:79","statements":[{"expression":{"id":80487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":80475,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"12652:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80478,"indexExpression":{"id":80476,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"12671:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12652:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80479,"indexExpression":{"id":80477,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"12680:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12652:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":80480,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"12702:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80482,"indexExpression":{"id":80481,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"12721:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12702:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80484,"indexExpression":{"id":80483,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"12730:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12702:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80485,"name":"_unclaimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80463,"src":"12752:22:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12702:72:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12652:122:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80488,"nodeType":"ExpressionStatement","src":"12652:122:79"},{"expression":{"id":80497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80489,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"12782:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80491,"indexExpression":{"id":80490,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"12805:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"12782:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":80492,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"12827:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80494,"indexExpression":{"id":80493,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"12850:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12827:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80495,"name":"_unclaimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80463,"src":"12872:22:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12827:67:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12782:112:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80498,"nodeType":"ExpressionStatement","src":"12782:112:79"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80501,"name":"_claimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80432,"src":"12943:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":80502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12966:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12943:24:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80512,"nodeType":"IfStatement","src":"12939:84:79","trueBody":{"expression":{"arguments":[{"id":80507,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"12981:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80508,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"12993:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80509,"name":"_claimedTokensToBurn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80432,"src":"13002:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80504,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80391,"src":"12969:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"12976:4:79","memberName":"burn","nodeType":"MemberAccess","referencedDeclaration":86499,"src":"12969:11:79","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":80510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12969:54:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80511,"nodeType":"ExpressionStatement","src":"12969:54:79"}},{"eventCall":{"arguments":[{"id":80514,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80376,"src":"13047:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80515,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"13062:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80516,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80380,"src":"13080:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80517,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80397,"src":"13095:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80518,"name":"_claimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80405,"src":"13120:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80519,"name":"_preferClaimedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80382,"src":"13143:20:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"expression":{"id":80520,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"13171:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13175:6:79","memberName":"sender","nodeType":"MemberAccess","src":"13171:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80513,"name":"Burn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86580,"src":"13035:4:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_address_$returns$__$","typeString":"function (address,uint256,uint256,uint256,uint256,bool,address)"}},"id":80522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13035:152:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80523,"nodeType":"EmitStatement","src":"13030:157:79"}]},"baseFunctions":[86696],"documentation":{"id":80374,"nodeType":"StructuredDocumentation","src":"10416:490:79","text":"@notice Burns a project's tokens.\n @dev Only a project's current controller can burn its tokens.\n @param _holder The address that owns the tokens being burned.\n @param _projectId The ID of the project to which the burned tokens belong.\n @param _amount The amount of tokens to burn.\n @param _preferClaimedTokens A flag indicating whether there's a preference for tokens to burned from the `_holder`s wallet if the project currently has a token contract attached."},"functionSelector":"906ebd0f","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":80386,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80378,"src":"11061:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80387,"kind":"modifierInvocation","modifierName":{"id":80385,"name":"onlyController","nameLocations":["11046:14:79"],"nodeType":"IdentifierPath","referencedDeclaration":80743,"src":"11046:14:79"},"nodeType":"ModifierInvocation","src":"11046:26:79"}],"name":"burnFrom","nameLocation":"10918:8:79","overrides":{"id":80384,"nodeType":"OverrideSpecifier","overrides":[],"src":"11037:8:79"},"parameters":{"id":80383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80376,"mutability":"mutable","name":"_holder","nameLocation":"10940:7:79","nodeType":"VariableDeclaration","scope":80525,"src":"10932:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80375,"name":"address","nodeType":"ElementaryTypeName","src":"10932:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80378,"mutability":"mutable","name":"_projectId","nameLocation":"10961:10:79","nodeType":"VariableDeclaration","scope":80525,"src":"10953:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80377,"name":"uint256","nodeType":"ElementaryTypeName","src":"10953:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80380,"mutability":"mutable","name":"_amount","nameLocation":"10985:7:79","nodeType":"VariableDeclaration","scope":80525,"src":"10977:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80379,"name":"uint256","nodeType":"ElementaryTypeName","src":"10977:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80382,"mutability":"mutable","name":"_preferClaimedTokens","nameLocation":"11003:20:79","nodeType":"VariableDeclaration","scope":80525,"src":"10998:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":80381,"name":"bool","nodeType":"ElementaryTypeName","src":"10998:4:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10926:101:79"},"returnParameters":{"id":80388,"nodeType":"ParameterList","parameters":[],"src":"11073:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80615,"nodeType":"FunctionDefinition","src":"13571:1232:79","nodes":[],"body":{"id":80614,"nodeType":"Block","src":"13736:1067:79","nodes":[],"statements":[{"assignments":[80544],"declarations":[{"constant":false,"id":80544,"mutability":"mutable","name":"_token","nameLocation":"13806:6:79","nodeType":"VariableDeclaration","scope":80614,"src":"13797:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":80543,"nodeType":"UserDefinedTypeName","pathNode":{"id":80542,"name":"IJBToken","nameLocations":["13797:8:79"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"13797:8:79"},"referencedDeclaration":86529,"src":"13797:8:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"}],"id":80548,"initialValue":{"baseExpression":{"id":80545,"name":"tokenOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79993,"src":"13815:7:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_contract$_IJBToken_$86529_$","typeString":"mapping(uint256 => contract IJBToken)"}},"id":80547,"indexExpression":{"id":80546,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"13823:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13815:19:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"VariableDeclarationStatement","src":"13797:37:79"},{"condition":{"commonType":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"id":80556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80549,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80544,"src":"13901:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"hexValue":"30","id":80553,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13928:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80552,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13920:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80551,"name":"address","nodeType":"ElementaryTypeName","src":"13920:7:79","typeDescriptions":{}}},"id":80554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13920:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":80550,"name":"IJBToken","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86529,"src":"13911:8:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBToken_$86529_$","typeString":"type(contract IJBToken)"}},"id":80555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13911:20:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"src":"13901:30:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80560,"nodeType":"IfStatement","src":"13897:60:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80557,"name":"TOKEN_NOT_FOUND","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79970,"src":"13940:15:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13940:17:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80559,"nodeType":"RevertStatement","src":"13933:24:79"}},{"assignments":[80562],"declarations":[{"constant":false,"id":80562,"mutability":"mutable","name":"_unclaimedBalance","nameLocation":"14053:17:79","nodeType":"VariableDeclaration","scope":80614,"src":"14045:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80561,"name":"uint256","nodeType":"ElementaryTypeName","src":"14045:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80568,"initialValue":{"baseExpression":{"baseExpression":{"id":80563,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"14073:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80565,"indexExpression":{"id":80564,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80528,"src":"14092:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14073:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80567,"indexExpression":{"id":80566,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14101:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14073:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"14045:67:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80571,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80569,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80562,"src":"14178:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":80570,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80532,"src":"14198:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14178:27:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80575,"nodeType":"IfStatement","src":"14174:71:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80572,"name":"INSUFFICIENT_UNCLAIMED_TOKENS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79964,"src":"14214:29:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14214:31:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80574,"nodeType":"RevertStatement","src":"14207:38:79"}},{"id":80596,"nodeType":"UncheckedBlock","src":"14252:348:79","statements":[{"expression":{"id":80584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":80576,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"14356:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80579,"indexExpression":{"id":80577,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80528,"src":"14375:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14356:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80580,"indexExpression":{"id":80578,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14384:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14356:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80581,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80562,"src":"14398:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80582,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80532,"src":"14418:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14398:27:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14356:69:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80585,"nodeType":"ExpressionStatement","src":"14356:69:79"},{"expression":{"id":80594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":80586,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"14512:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80588,"indexExpression":{"id":80587,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14535:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14512:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":80589,"name":"unclaimedTotalSupplyOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79999,"src":"14549:22:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80591,"indexExpression":{"id":80590,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14572:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14549:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80592,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80532,"src":"14586:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14549:44:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14512:81:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80595,"nodeType":"ExpressionStatement","src":"14512:81:79"}]},{"expression":{"arguments":[{"id":80600,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14691:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80601,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80528,"src":"14703:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80602,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80532,"src":"14712:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80597,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80544,"src":"14679:6:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"id":80599,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14686:4:79","memberName":"mint","nodeType":"MemberAccess","referencedDeclaration":86490,"src":"14679:11:79","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$","typeString":"function (uint256,address,uint256) external"}},"id":80603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14679:41:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80604,"nodeType":"ExpressionStatement","src":"14679:41:79"},{"eventCall":{"arguments":[{"id":80606,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80528,"src":"14738:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80607,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"14747:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80608,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80562,"src":"14759:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80609,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80532,"src":"14778:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80610,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14787:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14791:6:79","memberName":"sender","nodeType":"MemberAccess","src":"14787:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80605,"name":"Claim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86592,"src":"14732:5:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,uint256,uint256,address)"}},"id":80612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14732:66:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80613,"nodeType":"EmitStatement","src":"14727:71:79"}]},"baseFunctions":[86716],"documentation":{"id":80526,"nodeType":"StructuredDocumentation","src":"13196:372:79","text":"@notice Claims internally accounted for tokens into a holder's wallet.\n @dev Only a token holder or an operator specified by the token holder can claim its unclaimed tokens.\n @param _holder The owner of the tokens being claimed.\n @param _projectId The ID of the project whose tokens are being claimed.\n @param _amount The amount of tokens to claim."},"functionSelector":"6607955d","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":80536,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80528,"src":"13695:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80537,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80530,"src":"13704:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80538,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"13716:12:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":80539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13729:5:79","memberName":"CLAIM","nodeType":"MemberAccess","referencedDeclaration":87592,"src":"13716:18:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80540,"kind":"modifierInvocation","modifierName":{"id":80535,"name":"requirePermission","nameLocations":["13677:17:79"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"13677:17:79"},"nodeType":"ModifierInvocation","src":"13677:58:79"}],"name":"claimFor","nameLocation":"13580:8:79","overrides":{"id":80534,"nodeType":"OverrideSpecifier","overrides":[],"src":"13668:8:79"},"parameters":{"id":80533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80528,"mutability":"mutable","name":"_holder","nameLocation":"13602:7:79","nodeType":"VariableDeclaration","scope":80615,"src":"13594:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80527,"name":"address","nodeType":"ElementaryTypeName","src":"13594:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80530,"mutability":"mutable","name":"_projectId","nameLocation":"13623:10:79","nodeType":"VariableDeclaration","scope":80615,"src":"13615:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80529,"name":"uint256","nodeType":"ElementaryTypeName","src":"13615:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80532,"mutability":"mutable","name":"_amount","nameLocation":"13647:7:79","nodeType":"VariableDeclaration","scope":80615,"src":"13639:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80531,"name":"uint256","nodeType":"ElementaryTypeName","src":"13639:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13588:70:79"},"returnParameters":{"id":80541,"nodeType":"ParameterList","parameters":[],"src":"13736:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":80710,"nodeType":"FunctionDefinition","src":"15215:1272:79","nodes":[],"body":{"id":80709,"nodeType":"Block","src":"15411:1076:79","nodes":[],"statements":[{"assignments":[80636],"declarations":[{"constant":false,"id":80636,"mutability":"mutable","name":"_fundingCycle","nameLocation":"15508:13:79","nodeType":"VariableDeclaration","scope":80709,"src":"15486:35:79","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle"},"typeName":{"id":80635,"nodeType":"UserDefinedTypeName","pathNode":{"id":80634,"name":"JBFundingCycle","nameLocations":["15486:14:79"],"nodeType":"IdentifierPath","referencedDeclaration":87801,"src":"15486:14:79"},"referencedDeclaration":87801,"src":"15486:14:79","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_storage_ptr","typeString":"struct JBFundingCycle"}},"visibility":"internal"}],"id":80641,"initialValue":{"arguments":[{"id":80639,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"15552:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":80637,"name":"fundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79986,"src":"15524:17:79","typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleStore_$85310","typeString":"contract IJBFundingCycleStore"}},"id":80638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"15542:9:79","memberName":"currentOf","nodeType":"MemberAccess","referencedDeclaration":85286,"src":"15524:27:79","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (uint256) view external returns (struct JBFundingCycle memory)"}},"id":80640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15524:39:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"nodeType":"VariableDeclarationStatement","src":"15486:77:79"},{"condition":{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":80642,"name":"_fundingCycle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80636,"src":"15601:13:79","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycle_$87801_memory_ptr","typeString":"struct JBFundingCycle memory"}},"id":80643,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15615:6:79","memberName":"global","nodeType":"MemberAccess","referencedDeclaration":86845,"src":"15601:20:79","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_struct$_JBFundingCycle_$87801_memory_ptr_$returns$_t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr_$attached_to$_t_struct$_JBFundingCycle_$87801_memory_ptr_$","typeString":"function (struct JBFundingCycle memory) pure returns (struct JBGlobalFundingCycleMetadata memory)"}},"id":80644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15601:22:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},"id":80645,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"15624:14:79","memberName":"pauseTransfers","nodeType":"MemberAccess","referencedDeclaration":87868,"src":"15601:37:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80649,"nodeType":"IfStatement","src":"15597:68:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80646,"name":"TRANSFERS_PAUSED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79974,"src":"15647:16:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15647:18:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80648,"nodeType":"RevertStatement","src":"15640:25:79"}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":80655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80650,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80622,"src":"15719:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":80653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15741:1:79","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":80652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15733:7:79","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":80651,"name":"address","nodeType":"ElementaryTypeName","src":"15733:7:79","typeDescriptions":{}}},"id":80654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15733:10:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"15719:24:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80659,"nodeType":"IfStatement","src":"15715:61:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80656,"name":"RECIPIENT_ZERO_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79968,"src":"15752:22:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15752:24:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80658,"nodeType":"RevertStatement","src":"15745:31:79"}},{"assignments":[80661],"declarations":[{"constant":false,"id":80661,"mutability":"mutable","name":"_unclaimedBalance","nameLocation":"15863:17:79","nodeType":"VariableDeclaration","scope":80709,"src":"15855:25:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80660,"name":"uint256","nodeType":"ElementaryTypeName","src":"15855:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":80667,"initialValue":{"baseExpression":{"baseExpression":{"id":80662,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"15883:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80664,"indexExpression":{"id":80663,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80618,"src":"15902:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15883:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80666,"indexExpression":{"id":80665,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"15911:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15883:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15855:67:79"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80668,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80624,"src":"15998:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":80669,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80661,"src":"16008:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15998:27:79","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":80674,"nodeType":"IfStatement","src":"15994:71:79","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":80671,"name":"INSUFFICIENT_UNCLAIMED_TOKENS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":79964,"src":"16034:29:79","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":80672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16034:31:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80673,"nodeType":"RevertStatement","src":"16027:38:79"}},{"id":80685,"nodeType":"UncheckedBlock","src":"16131:94:79","statements":[{"expression":{"id":80683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":80675,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"16149:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80678,"indexExpression":{"id":80676,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80618,"src":"16168:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16149:27:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80679,"indexExpression":{"id":80677,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"16177:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16149:39:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":80680,"name":"_unclaimedBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80661,"src":"16191:17:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":80681,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80624,"src":"16211:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16191:27:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16149:69:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80684,"nodeType":"ExpressionStatement","src":"16149:69:79"}]},{"expression":{"id":80698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":80686,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"16299:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80689,"indexExpression":{"id":80687,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80622,"src":"16318:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16299:30:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80690,"indexExpression":{"id":80688,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"16330:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"16299:42:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":80697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":80691,"name":"unclaimedBalanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80007,"src":"16350:18:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$","typeString":"mapping(address => mapping(uint256 => uint256))"}},"id":80693,"indexExpression":{"id":80692,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80622,"src":"16369:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16350:30:79","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_uint256_$","typeString":"mapping(uint256 => uint256)"}},"id":80695,"indexExpression":{"id":80694,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"16381:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16350:42:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":80696,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80624,"src":"16401:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16350:58:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16299:109:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":80699,"nodeType":"ExpressionStatement","src":"16299:109:79"},{"eventCall":{"arguments":[{"id":80701,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80618,"src":"16429:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80702,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"16438:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":80703,"name":"_recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80622,"src":"16450:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80704,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80624,"src":"16462:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80705,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"16471:3:79","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":80706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"16475:6:79","memberName":"sender","nodeType":"MemberAccess","src":"16471:10:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":80700,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86613,"src":"16420:8:79","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address,uint256,address)"}},"id":80707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16420:62:79","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":80708,"nodeType":"EmitStatement","src":"16415:67:79"}]},"baseFunctions":[86727],"documentation":{"id":80616,"nodeType":"StructuredDocumentation","src":"14807:405:79","text":"@notice Allows a holder to transfer unclaimed tokens to another account.\n @dev Only a token holder or an operator can transfer its unclaimed tokens.\n @param _holder The address to transfer tokens from.\n @param _projectId The ID of the project whose tokens are being transferred.\n @param _recipient The recipient of the tokens.\n @param _amount The amount of tokens to transfer."},"functionSelector":"ac689bcd","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":80628,"name":"_holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80618,"src":"15367:7:79","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":80629,"name":"_projectId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80620,"src":"15376:10:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":80630,"name":"JBOperations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87614,"src":"15388:12:79","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_JBOperations_$87614_$","typeString":"type(library JBOperations)"}},"id":80631,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15401:8:79","memberName":"TRANSFER","nodeType":"MemberAccess","referencedDeclaration":87595,"src":"15388:21:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":80632,"kind":"modifierInvocation","modifierName":{"id":80627,"name":"requirePermission","nameLocations":["15349:17:79"],"nodeType":"IdentifierPath","referencedDeclaration":80789,"src":"15349:17:79"},"nodeType":"ModifierInvocation","src":"15349:61:79"}],"name":"transferFrom","nameLocation":"15224:12:79","overrides":{"id":80626,"nodeType":"OverrideSpecifier","overrides":[],"src":"15340:8:79"},"parameters":{"id":80625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":80618,"mutability":"mutable","name":"_holder","nameLocation":"15250:7:79","nodeType":"VariableDeclaration","scope":80710,"src":"15242:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80617,"name":"address","nodeType":"ElementaryTypeName","src":"15242:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80620,"mutability":"mutable","name":"_projectId","nameLocation":"15271:10:79","nodeType":"VariableDeclaration","scope":80710,"src":"15263:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80619,"name":"uint256","nodeType":"ElementaryTypeName","src":"15263:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":80622,"mutability":"mutable","name":"_recipient","nameLocation":"15295:10:79","nodeType":"VariableDeclaration","scope":80710,"src":"15287:18:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":80621,"name":"address","nodeType":"ElementaryTypeName","src":"15287:7:79","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":80624,"mutability":"mutable","name":"_amount","nameLocation":"15319:7:79","nodeType":"VariableDeclaration","scope":80710,"src":"15311:15:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":80623,"name":"uint256","nodeType":"ElementaryTypeName","src":"15311:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15236:94:79"},"returnParameters":{"id":80633,"nodeType":"ParameterList","parameters":[],"src":"15411:0:79"},"scope":80711,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":79943,"name":"JBControllerUtility","nameLocations":["1289:19:79"],"nodeType":"IdentifierPath","referencedDeclaration":80761,"src":"1289:19:79"},"id":79944,"nodeType":"InheritanceSpecifier","src":"1289:19:79"},{"baseName":{"id":79945,"name":"JBOperatable","nameLocations":["1310:12:79"],"nodeType":"IdentifierPath","referencedDeclaration":80910,"src":"1310:12:79"},"id":79946,"nodeType":"InheritanceSpecifier","src":"1310:12:79"},{"baseName":{"id":79947,"name":"IJBTokenStore","nameLocations":["1324:13:79"],"nodeType":"IdentifierPath","referencedDeclaration":86728,"src":"1324:13:79"},"id":79948,"nodeType":"InheritanceSpecifier","src":"1324:13:79"}],"canonicalName":"JBTokenStore","contractDependencies":[79915],"contractKind":"contract","documentation":{"id":79942,"nodeType":"StructuredDocumentation","src":"819:445:79","text":"@notice Manage token minting, burning, and account balances.\n @dev Token balances can be either represented internally or claimed as ERC-20s into wallets. This contract manages these two representations and allows claiming.\n @dev The total supply of a project's tokens and the balance of each account are calculated in this contract.\n @dev Each project can bring their own token if they prefer, and swap between tokens at any time."},"fullyImplemented":true,"linearizedBaseContracts":[80711,86728,80910,85331,80761,84898],"name":"JBTokenStore","nameLocation":"1273:12:79","scope":80712,"usedErrors":[79954,79956,79958,79960,79962,79964,79966,79968,79970,79972,79974,79976,80722,80772],"usedEvents":[86550,86564,86580,86592,86601,86613]}],"license":"MIT"},"id":79} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_operatorStore","type":"address","internalType":"contract IJBOperatorStore"},{"name":"_projects","type":"address","internalType":"contract IJBProjects"},{"name":"_directory","type":"address","internalType":"contract IJBDirectory"},{"name":"_fundingCycleStore","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"balance","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burnFrom","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimFor","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"directory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBDirectory"}],"stateMutability":"view"},{"type":"function","name":"fundingCycleStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBFundingCycleStore"}],"stateMutability":"view"},{"type":"function","name":"issueFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_name","type":"string","internalType":"string"},{"name":"_symbol","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"address","internalType":"contract IJBToken"}],"stateMutability":"nonpayable"},{"type":"function","name":"mintFor","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_amount","type":"uint256","internalType":"uint256"},{"name":"_preferClaimedTokens","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"operatorStore","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBOperatorStore"}],"stateMutability":"view"},{"type":"function","name":"projects","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IJBProjects"}],"stateMutability":"view"},{"type":"function","name":"setFor","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_token","type":"address","internalType":"contract IJBToken"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IJBToken"}],"stateMutability":"view"},{"type":"function","name":"totalSupplyOf","inputs":[{"name":"_projectId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalSupply","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferFrom","inputs":[{"name":"_holder","type":"address","internalType":"address"},{"name":"_projectId","type":"uint256","internalType":"uint256"},{"name":"_recipient","type":"address","internalType":"address"},{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unclaimedBalanceOf","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"unclaimedTotalSupplyOf","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Burn","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"initialClaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Claim","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"initialUnclaimedBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Issue","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"token","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"name","type":"string","indexed":false,"internalType":"string"},{"name":"symbol","type":"string","indexed":false,"internalType":"string"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"tokensWereClaimed","type":"bool","indexed":false,"internalType":"bool"},{"name":"preferClaimedTokens","type":"bool","indexed":false,"internalType":"bool"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Set","inputs":[{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newToken","type":"address","indexed":true,"internalType":"contract IJBToken"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"projectId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"caller","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ALREADY_SET","inputs":[]},{"type":"error","name":"CONTROLLER_UNAUTHORIZED","inputs":[]},{"type":"error","name":"EMPTY_NAME","inputs":[]},{"type":"error","name":"EMPTY_SYMBOL","inputs":[]},{"type":"error","name":"EMPTY_TOKEN","inputs":[]},{"type":"error","name":"INSUFFICIENT_FUNDS","inputs":[]},{"type":"error","name":"INSUFFICIENT_UNCLAIMED_TOKENS","inputs":[]},{"type":"error","name":"OVERFLOW_ALERT","inputs":[]},{"type":"error","name":"PROJECT_ALREADY_HAS_TOKEN","inputs":[]},{"type":"error","name":"RECIPIENT_ZERO_ADDRESS","inputs":[]},{"type":"error","name":"TOKENS_MUST_HAVE_18_DECIMALS","inputs":[]},{"type":"error","name":"TOKEN_NOT_FOUND","inputs":[]},{"type":"error","name":"TRANSFERS_PAUSED","inputs":[]},{"type":"error","name":"UNAUTHORIZED","inputs":[]}],"bytecode":{"object":"0x6101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c63430008170033","sourceMap":"1264:15225:79:-:0;;;6177:290;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1887:22:80;;;;;2599:30:81;;;;;6398:20:79;;::::2;;::::0;6424:38:::2;;::::0;1264:15225;;14:149:197;-1:-1:-1;;;;;107:31:197;;97:42;;87:70;;153:1;150;143:12;87:70;14:149;:::o;168:825::-;364:6;372;380;388;441:3;429:9;420:7;416:23;412:33;409:53;;;458:1;455;448:12;409:53;490:9;484:16;509:49;552:5;509:49;:::i;:::-;627:2;612:18;;606:25;577:5;;-1:-1:-1;640:51:197;606:25;640:51;:::i;:::-;762:2;747:18;;741:25;710:7;;-1:-1:-1;775:51:197;741:25;775:51;:::i;:::-;897:2;882:18;;876:25;845:7;;-1:-1:-1;910:51:197;876:25;910:51;:::i;:::-;168:825;;;;-1:-1:-1;168:825:197;;-1:-1:-1;;168:825:197:o;:::-;1264:15225:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c63430008170033","sourceMap":"1264:15225:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4057:538;;;;;;:::i;:::-;;:::i;:::-;;;616:25:197;;;604:2;589:18;4057:538:79;;;;;;;;3148:66;;;;;;:::i;:::-;;;;;;;;;;;;;;3425:82;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2504:64;;;;;;;;-1:-1:-1;;;;;1031:32:197;;;1013:51;;1001:2;986:18;2504:64:79;837:233:197;13571:1232:79;;;;;;:::i;:::-;;:::i;:::-;;5075:509;;;;;;:::i;:::-;;:::i;8124:633::-;;;;;;:::i;:::-;;:::i;2382:46::-;;;;;10909:2283;;;;;;:::i;:::-;;:::i;7100:785::-;;;;;;:::i;:::-;;:::i;15215:1272::-;;;;;;:::i;:::-;;:::i;2189:56:81:-;;;;;1460:48:80;;;;;9262:1150:79;;;;;;:::i;:::-;;:::i;2939:52::-;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;2939:52:79;;;4057:538;-1:-1:-1;;;;;4270:27:79;;;4161:15;4270:27;;;:18;:27;;;;;;;;:39;;;;;;;;;4389:19;;;;;;;;4270:39;;4389:19;4501:30;;4497:93;;4553:37;;-1:-1:-1;;;4553:37:79;;-1:-1:-1;;;;;5236:32:197;;;4553:37:79;;;5218:51:197;5285:18;;;5278:34;;;4553:16:79;;;;;5191:18:197;;4553:37:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4543:47;;:7;:47;:::i;:::-;4533:57;;4497:93;4180:415;4057:538;;;;:::o;13571:1232::-;13695:7;13704:10;532:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;13797:15:79::1;13815:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13815:19:79::1;::::0;13897:60:::1;;13940:17;;-1:-1:-1::0;;;13940:17:79::1;;;;;;;;;;;13897:60;-1:-1:-1::0;;;;;14073:27:79;::::1;14045:25;14073:27:::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;14178:27;;::::1;14174:71;;;14214:31;;-1:-1:-1::0;;;14214:31:79::1;;;;;;;;;;;14174:71;-1:-1:-1::0;;;;;14356:27:79;;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;14398:27;;::::1;14356:69:::0;;14549:22:::1;:34:::0;;;;;;;;;:44;;::::1;14512:81:::0;;14679:41;-1:-1:-1;;;14679:41:79;;::::1;::::0;::::1;5976:25:197::0;;;6017:18;;;6010:60;;;;6086:18;;;6079:34;;;14679:11:79;;::::1;::::0;::::1;::::0;5949:18:197;;14679:41:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;14732:66:79::1;::::0;;6326:25:197;;;6382:2;6367:18;;6360:34;;;14787:10:79::1;6410:18:197::0;;;6403:60;14732:66:79;;14747:10;;-1:-1:-1;;;;;;14732:66:79;::::1;::::0;-1:-1:-1;14732:66:79::1;::::0;;;;6314:2:197;14732:66:79;;::::1;13736:1067;;13571:1232:::0;;;;;;:::o;5075:509::-;5148:19;5267:34;;;:22;:34;;;;;;;;;5381:19;;;;;;;;-1:-1:-1;;;;;5381:19:79;5489:30;;5485:94;;5549:30;;-1:-1:-1;;;5549:30:79;;;;;616:25:197;;;-1:-1:-1;;;;;5549:18:79;;;;;589::197;;5549:30:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5535:44;;:11;:44;:::i;:::-;5521:58;;5485:94;5169:415;5075:509;;;:::o;8124:633::-;8225:28;;-1:-1:-1;;;8225:28:79;;;;;616:25:197;;;8225:8:79;-1:-1:-1;;;;;8225:16:79;;;;589:18:197;;8225:28:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8255:10;422:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;-1:-1:-1;;;;;8341:30:79;::::1;8337:56;;8380:13;;-1:-1:-1::0;;;8380:13:79::1;;;;;;;;;;;8337:56;8483:1;8443:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;8443:19:79::1;:43:::0;8439:69:::1;;8495:13;;-1:-1:-1::0;;;8495:13:79::1;;;;;;;;;;;8439:69;8580:6;-1:-1:-1::0;;;;;8580:15:79::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:23;;8601:2;8580:23;8576:66;;8612:30;;-1:-1:-1::0;;;8612:30:79::1;;;;;;;;;;;8576:66;8677:7;:19:::0;;;::::1;::::0;;;;;;;;:28;;-1:-1:-1;;;;;;8677:28:79::1;-1:-1:-1::0;;;;;8677:28:79;::::1;::::0;;::::1;::::0;;;8717:35;;8741:10:::1;1013:51:197::0;;8677:19:79;;8717:35:::1;::::0;986:18:197;8717:35:79::1;;;;;;;8124:633:::0;;;;;:::o;10909:2283::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;616:25:197;;;11061:10:79;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;589:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;11134:15:79::1;11152:19:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;;;;;11287:27:79;;::::1;::::0;;:18:::1;:27:::0;;;;;:39;;;;;;;;;;11152:19;::::1;::::0;11459:30;;:86:::1;;11508:37;::::0;-1:-1:-1;;;11508:37:79;;-1:-1:-1;;;;;5236:32:197;;;11508:37:79::1;::::0;::::1;5218:51:197::0;5285:18;;;5278:34;;;11508:16:79;::::1;::::0;::::1;::::0;5191:18:197;;11508:37:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11459:86;;;11498:1;11459:86;11433:112:::0;-1:-1:-1;11662:35:79::1;11680:17:::0;11433:112;11662:35:::1;:::i;:::-;11652:7;:45;11648:78;;;11706:20;;-1:-1:-1::0;;;11706:20:79::1;;;;;;;;;;;11648:78;11770:28;11876:20:::0;;11872:435:::1;;11908:20;11904:403;;;12057:7;12039:15;:25;:53;;12085:7;12039:53;;;12067:15;12039:53;12016:76;;11904:403;;;12247:7;12227:17;:27;:61;;12287:1;12227:61;;;12267:17;12257:7;:27;12227:61;12204:84;;11904:403;12439:30:::0;;::::1;12558:26:::0;;;12554:347:::1;;-1:-1:-1::0;;;;;12702:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;:72:::1;::::0;12752:22;;12702:72:::1;:::i;:::-;-1:-1:-1::0;;;;;12652:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;:122;;;;12827:22:::1;:34:::0;;;;:67:::1;::::0;12872:22;;12827:67:::1;:::i;:::-;12782:34;::::0;;;:22:::1;:34;::::0;;;;:112;12554:347:::1;12943:24:::0;;12939:84:::1;;12969:54;::::0;-1:-1:-1;;;12969:54:79;;::::1;::::0;::::1;5976:25:197::0;;;-1:-1:-1;;;;;6037:32:197;;;6017:18;;;6010:60;6086:18;;;6079:34;;;12969:11:79;::::1;::::0;::::1;::::0;5949:18:197;;12969:54:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12939:84;13035:152;::::0;;7602:25:197;;;7658:2;7643:18;;7636:34;;;7686:18;;;7679:34;;;7756:14;;7749:22;7744:2;7729:18;;7722:50;13171:10:79::1;7803:3:197::0;7788:19;;7781:61;13062:10:79;;-1:-1:-1;;;;;13035:152:79;::::1;::::0;::::1;::::0;7589:3:197;7574:19;13035:152:79::1;;;;;;;11073:2119;;;;;10909:2283:::0;;;;;:::o;7100:785::-;7250:28;;-1:-1:-1;;;7250:28:79;;;;;616:25:197;;;7325:14:79;;7250:8;-1:-1:-1;;;;;7250:16:79;;;;589:18:197;;7250:28:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7280:10;381:1:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;7405:1:79::1;7382:24:::0;;;7378:49:::1;;7415:12;;-1:-1:-1::0;;;7415:12:79::1;;;;;;;;;;;7378:49;7494:1;7469:26:::0;;;7465:53:::1;;7504:14;;-1:-1:-1::0;;;7504:14:79::1;;;;;;;;;;;7465:53;7622:1;7582:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;7582:19:79::1;:43:::0;7578:83:::1;;7634:27;;-1:-1:-1::0;;;7634:27:79::1;;;;;;;;;;;7578:83;7722:5;;7729:7;;7738:10;7710:39;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7789:7:79::1;:19:::0;;;::::1;::::0;;;;;;;;:27;;-1:-1:-1;;;;;;7789:27:79::1;-1:-1:-1::0;;;;;7789:27:79;::::1;::::0;;::::1;::::0;;;7828:52;;7789:27;;-1:-1:-1;7789:27:79;:19;;7828:52:::1;::::0;::::1;::::0;7853:5;;;;7860:7;;;;7869:10:::1;::::0;7828:52:::1;:::i;:::-;;;;;;;;7100:785:::0;;;;;;;;;;:::o;15215:1272::-;15367:7;15376:10;573:2:125;1222:55:81;1241:8;1251:7;1260:16;1222:18;:55::i;:::-;15524:39:79::1;::::0;-1:-1:-1;;;15524:39:79;;::::1;::::0;::::1;616:25:197::0;;;15486:35:79::1;::::0;15524:17:::1;-1:-1:-1::0;;;;;15524:27:79::1;::::0;::::1;::::0;589:18:197;;15524:39:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15486:77;;15601:22;:13;:20;:22::i;:::-;:37;;;15597:68;;;15647:18;;-1:-1:-1::0;;;15647:18:79::1;;;;;;;;;;;15597:68;-1:-1:-1::0;;;;;15719:24:79;::::1;15715:61;;15752:24;;-1:-1:-1::0;;;15752:24:79::1;;;;;;;;;;;15715:61;-1:-1:-1::0;;;;;15883:27:79;::::1;15855:25;15883:27:::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;15998:27;;::::1;15994:71;;;16034:31;;-1:-1:-1::0;;;16034:31:79::1;;;;;;;;;;;15994:71;-1:-1:-1::0;;;;;16149:27:79;;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;16191:27;;::::1;16149:69:::0;;16350:30;;::::1;::::0;;;;;;;;:42;;;;;;;:58:::1;::::0;16211:7;;16350:58:::1;:::i;:::-;-1:-1:-1::0;;;;;16299:30:79;;::::1;;::::0;;;:18:::1;:30;::::0;;;;;;;:42;;;;;;;;;:109;;;;16420:62;;10698:25:197;;;16471:10:79::1;10739:18:197::0;;;10732:60;;;;16299:30:79;;:42;;16420:62;::::1;::::0;::::1;::::0;10671:18:197;16420:62:79::1;;;;;;;15411:1076;;15215:1272:::0;;;;;;;:::o;9262:1150::-;1061:34:80;;-1:-1:-1;;;1061:34:80;;;;;616:25:197;;;9413:10:79;;1100::80;;-1:-1:-1;;;;;1061:9:80;:22;;;;589:18:197;;1061:34:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1053:57:80;;1049:95;;1119:25;;-1:-1:-1;;;1119:25:80;;;;;;;;;;;1049:95;9486:15:79::1;9504:19:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;9504:19:79::1;::::0;9657:20;:54;::::1;;;-1:-1:-1::0;;;;;;9681:30:79;::::1;::::0;::::1;9657:54;9631:80;;9722:18;9718:431;;;9824:41;::::0;-1:-1:-1;;;9824:41:79;;::::1;::::0;::::1;5976:25:197::0;;;-1:-1:-1;;;;;6037:32:197;;;6017:18;;;6010:60;6086:18;;;6079:34;;;9824:11:79;::::1;::::0;::::1;::::0;5949:18:197;;9824:41:79::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9718:431;;;-1:-1:-1::0;;;;;10004:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;;:49:::1;::::0;10046:7;;10004:49:::1;:::i;:::-;-1:-1:-1::0;;;;;9962:27:79;::::1;;::::0;;;:18:::1;:27;::::0;;;;;;;:39;;;;;;;;:91;;;;10098:22:::1;:34:::0;;;;:44:::1;::::0;10135:7;;10098:44:::1;:::i;:::-;10061:34;::::0;;;:22:::1;:34;::::0;;;;:81;9718:431:::1;-1:-1:-1::0;;;;;10237:25:79::1;10251:10:::0;10237:13:::1;:25::i;:::-;:45;10233:74;;;10291:16;;-1:-1:-1::0;;;10291:16:79::1;;;;;;;;;;;10233:74;10319:88;::::0;;11022:25:197;;;11090:14;;11083:22;11078:2;11063:18;;11056:50;11149:14;;11142:22;11122:18;;;11115:50;10396:10:79::1;11196:2:197::0;11181:18;;11174:60;10319:88:79;;10333:10;;-1:-1:-1;;;;;10319:88:79;::::1;::::0;::::1;::::0;;;;11009:3:197;10319:88:79;;::::1;9425:987;;9262:1150:::0;;;;;:::o;3221:359:81:-;3357:10;-1:-1:-1;;;;;3357:22:81;;;;;;:109;;-1:-1:-1;3390:76:81;;-1:-1:-1;;;3390:76:81;;3418:10;3390:76;;;11514:34:197;-1:-1:-1;;;;;11584:15:197;;;11564:18;;;11557:43;11616:18;;;11609:34;;;11659:18;;;11652:34;;;3390:13:81;:27;;;;11448:19:197;;3390:76:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3389:77;3357:109;:190;;;;-1:-1:-1;3477:70:81;;-1:-1:-1;;;3477:70:81;;3505:10;3477:70;;;11514:34:197;-1:-1:-1;;;;;11584:15:197;;;11564:18;;;11557:43;3527:1:81;11616:18:197;;;11609:34;11659:18;;;11652:34;;;3477:13:81;:27;;;;11448:19:197;;3477:70:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3476:71;3357:190;3346:229;;;3561:14;;-1:-1:-1;;;3561:14:81;;;;;;;;;;;3346:229;3221:359;;;:::o;482:232:123:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;622:87:123;706:1;680:13;:22;;;:27;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1558:171:124;;;;;;;373:1;365:9;;;364:16;;1558:171;;476:10;;;475:16;;474:23;;1558:171;;;;;;;597:1;588:10;;;;587:16;;586:23;1558:171;;;;;1415:319;622:87:123;615:94;482:232;-1:-1:-1;;482:232:123:o;-1:-1:-1:-;;;;;;;;:::o;14:131:197:-;-1:-1:-1;;;;;89:31:197;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:315::-;218:6;226;279:2;267:9;258:7;254:23;250:32;247:52;;;295:1;292;285:12;247:52;334:9;321:23;353:31;378:5;353:31;:::i;:::-;403:5;455:2;440:18;;;;427:32;;-1:-1:-1;;;150:315:197:o;652:180::-;711:6;764:2;752:9;743:7;739:23;735:32;732:52;;;780:1;777;770:12;732:52;-1:-1:-1;803:23:197;;652:180;-1:-1:-1;652:180:197:o;1075:383::-;1152:6;1160;1168;1221:2;1209:9;1200:7;1196:23;1192:32;1189:52;;;1237:1;1234;1227:12;1189:52;1276:9;1263:23;1295:31;1320:5;1295:31;:::i;:::-;1345:5;1397:2;1382:18;;1369:32;;-1:-1:-1;1448:2:197;1433:18;;;1420:32;;1075:383;-1:-1:-1;;;1075:383:197:o;1463:333::-;1549:6;1557;1610:2;1598:9;1589:7;1585:23;1581:32;1578:52;;;1626:1;1623;1616:12;1578:52;1662:9;1649:23;1639:33;;1722:2;1711:9;1707:18;1694:32;1735:31;1760:5;1735:31;:::i;:::-;1785:5;1775:15;;;1463:333;;;;;:::o;2030:118::-;2116:5;2109:13;2102:21;2095:5;2092:32;2082:60;;2138:1;2135;2128:12;2153:519;2236:6;2244;2252;2260;2313:3;2301:9;2292:7;2288:23;2284:33;2281:53;;;2330:1;2327;2320:12;2281:53;2369:9;2356:23;2388:31;2413:5;2388:31;:::i;:::-;2438:5;-1:-1:-1;2490:2:197;2475:18;;2462:32;;-1:-1:-1;2541:2:197;2526:18;;2513:32;;-1:-1:-1;2597:2:197;2582:18;;2569:32;2610:30;2569:32;2610:30;:::i;:::-;2153:519;;;;-1:-1:-1;2153:519:197;;-1:-1:-1;;2153:519:197:o;2677:348::-;2729:8;2739:6;2793:3;2786:4;2778:6;2774:17;2770:27;2760:55;;2811:1;2808;2801:12;2760:55;-1:-1:-1;2834:20:197;;2877:18;2866:30;;2863:50;;;2909:1;2906;2899:12;2863:50;2946:4;2938:6;2934:17;2922:29;;2998:3;2991:4;2982:6;2974;2970:19;2966:30;2963:39;2960:59;;;3015:1;3012;3005:12;2960:59;2677:348;;;;;:::o;3030:789::-;3131:6;3139;3147;3155;3163;3216:2;3204:9;3195:7;3191:23;3187:32;3184:52;;;3232:1;3229;3222:12;3184:52;3268:9;3255:23;3245:33;;3329:2;3318:9;3314:18;3301:32;3352:18;3393:2;3385:6;3382:14;3379:34;;;3409:1;3406;3399:12;3379:34;3448:59;3499:7;3490:6;3479:9;3475:22;3448:59;:::i;:::-;3526:8;;-1:-1:-1;3422:85:197;-1:-1:-1;3614:2:197;3599:18;;3586:32;;-1:-1:-1;3630:16:197;;;3627:36;;;3659:1;3656;3649:12;3627:36;;3698:61;3751:7;3740:8;3729:9;3725:24;3698:61;:::i;:::-;3030:789;;;;-1:-1:-1;3030:789:197;;-1:-1:-1;3778:8:197;;3672:87;3030:789;-1:-1:-1;;;3030:789:197:o;4050:525::-;4136:6;4144;4152;4160;4213:3;4201:9;4192:7;4188:23;4184:33;4181:53;;;4230:1;4227;4220:12;4181:53;4269:9;4256:23;4288:31;4313:5;4288:31;:::i;:::-;4338:5;-1:-1:-1;4390:2:197;4375:18;;4362:32;;-1:-1:-1;4446:2:197;4431:18;;4418:32;4459:33;4418:32;4459:33;:::i;:::-;4050:525;;;;-1:-1:-1;4511:7:197;;4565:2;4550:18;4537:32;;-1:-1:-1;;4050:525:197:o;5323:184::-;5393:6;5446:2;5434:9;5425:7;5421:23;5417:32;5414:52;;;5462:1;5459;5452:12;5414:52;-1:-1:-1;5485:16:197;;5323:184;-1:-1:-1;5323:184:197:o;5512:127::-;5573:10;5568:3;5564:20;5561:1;5554:31;5604:4;5601:1;5594:15;5628:4;5625:1;5618:15;5644:125;5709:9;;;5730:10;;;5727:36;;;5743:18;;:::i;6474:251::-;6544:6;6597:2;6585:9;6576:7;6572:23;6568:32;6565:52;;;6613:1;6610;6603:12;6565:52;6645:9;6639:16;6664:31;6689:5;6664:31;:::i;:::-;6714:5;6474:251;-1:-1:-1;;;6474:251:197:o;6730:273::-;6798:6;6851:2;6839:9;6830:7;6826:23;6822:32;6819:52;;;6867:1;6864;6857:12;6819:52;6899:9;6893:16;6949:4;6942:5;6938:16;6931:5;6928:27;6918:55;;6969:1;6966;6959:12;7216:128;7283:9;;;7304:11;;;7301:37;;;7318:18;;:::i;7853:267::-;7942:6;7937:3;7930:19;7994:6;7987:5;7980:4;7975:3;7971:14;7958:43;-1:-1:-1;8046:1:197;8021:16;;;8039:4;8017:27;;;8010:38;;;;8102:2;8081:15;;;-1:-1:-1;;8077:29:197;8068:39;;;8064:50;;7853:267::o;8125:508::-;8370:2;8359:9;8352:21;8333:4;8396:62;8454:2;8443:9;8439:18;8431:6;8423;8396:62;:::i;:::-;8506:9;8498:6;8494:22;8489:2;8478:9;8474:18;8467:50;8534;8577:6;8569;8561;8534:50;:::i;:::-;8526:58;;;8620:6;8615:2;8604:9;8600:18;8593:34;8125:508;;;;;;;;:::o;8638:534::-;8883:2;8872:9;8865:21;8846:4;8909:62;8967:2;8956:9;8952:18;8944:6;8936;8909:62;:::i;:::-;9019:9;9011:6;9007:22;9002:2;8991:9;8987:18;8980:50;9047;9090:6;9082;9074;9047:50;:::i;:::-;9039:58;;;9162:1;9158;9153:3;9149:11;9145:19;9137:6;9133:32;9128:2;9117:9;9113:18;9106:60;8638:534;;;;;;;;:::o;9177:344::-;9244:2;9238:9;9286:3;9274:16;;9320:18;9305:34;;9341:22;;;9302:62;9299:185;;;9406:10;9401:3;9397:20;9394:1;9387:31;9441:4;9438:1;9431:15;9469:4;9466:1;9459:15;9299:185;9500:2;9493:22;9177:344;:::o;9526:161::-;9628:13;;9650:31;9628:13;9650:31;:::i;:::-;9526:161;;;:::o;9692:827::-;9795:6;9848:3;9836:9;9827:7;9823:23;9819:33;9816:53;;;9865:1;9862;9855:12;9816:53;9891:17;;:::i;:::-;9937:9;9931:16;9924:5;9917:31;10001:2;9990:9;9986:18;9980:25;9975:2;9968:5;9964:14;9957:49;10059:2;10048:9;10044:18;10038:25;10033:2;10026:5;10022:14;10015:49;10117:2;10106:9;10102:18;10096:25;10091:2;10084:5;10080:14;10073:49;10176:3;10165:9;10161:19;10155:26;10149:3;10142:5;10138:15;10131:51;10236:3;10225:9;10221:19;10215:26;10209:3;10202:5;10198:15;10191:51;10296:3;10285:9;10281:19;10275:26;10269:3;10262:5;10258:15;10251:51;10335:73;10403:3;10392:9;10388:19;10335:73;:::i;:::-;10329:3;10318:15;;10311:98;10428:3;10469:18;;;10463:25;10447:14;;;10440:49;;;;-1:-1:-1;10322:5:197;9692:827;-1:-1:-1;9692:827:197:o;11697:245::-;11764:6;11817:2;11805:9;11796:7;11792:23;11788:32;11785:52;;;11833:1;11830;11823:12;11785:52;11865:9;11859:16;11884:28;11906:5;11884:28;:::i","linkReferences":{},"immutableReferences":{"79997":[{"start":534,"length":32},{"start":1551,"length":32},{"start":2870,"length":32}],"80002":[{"start":398,"length":32},{"start":3363,"length":32}],"80764":[{"start":683,"length":32},{"start":2052,"length":32},{"start":3861,"length":32}],"80830":[{"start":643,"length":32},{"start":4520,"length":32},{"start":4691,"length":32}]}},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","burnFrom(address,uint256,uint256,bool)":"906ebd0f","claimFor(address,uint256,uint256)":"6607955d","directory()":"c41c2f24","fundingCycleStore()":"557e7155","issueFor(uint256,string,string)":"a7f2a70b","mintFor(address,uint256,uint256,bool)":"ceddd3e4","operatorStore()":"ad007d63","projects()":"8b79543c","setFor(uint256,address)":"831d7fac","tokenOf(uint256)":"ea78803f","totalSupplyOf(uint256)":"75b0d9cd","transferFrom(address,uint256,address,uint256)":"ac689bcd","unclaimedBalanceOf(address,uint256)":"5287af37","unclaimedTotalSupplyOf(uint256)":"1412884f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"_operatorStore\",\"type\":\"address\"},{\"internalType\":\"contract IJBProjects\",\"name\":\"_projects\",\"type\":\"address\"},{\"internalType\":\"contract IJBDirectory\",\"name\":\"_directory\",\"type\":\"address\"},{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"_fundingCycleStore\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ALREADY_SET\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CONTROLLER_UNAUTHORIZED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_NAME\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_SYMBOL\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EMPTY_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_FUNDS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INSUFFICIENT_UNCLAIMED_TOKENS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"OVERFLOW_ALERT\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"PROJECT_ALREADY_HAS_TOKEN\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"RECIPIENT_ZERO_ADDRESS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKENS_MUST_HAVE_18_DECIMALS\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TOKEN_NOT_FOUND\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TRANSFERS_PAUSED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UNAUTHORIZED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialClaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"initialUnclaimedBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Issue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"tokensWereClaimed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"preferClaimedTokens\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"contract IJBToken\",\"name\":\"newToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Set\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"projectId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"claimFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"directory\",\"outputs\":[{\"internalType\":\"contract IJBDirectory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundingCycleStore\",\"outputs\":[{\"internalType\":\"contract IJBFundingCycleStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"}],\"name\":\"issueFor\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_preferClaimedTokens\",\"type\":\"bool\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"operatorStore\",\"outputs\":[{\"internalType\":\"contract IJBOperatorStore\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projects\",\"outputs\":[{\"internalType\":\"contract IJBProjects\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"contract IJBToken\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenOf\",\"outputs\":[{\"internalType\":\"contract IJBToken\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"}],\"name\":\"totalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_projectId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"unclaimedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"unclaimedTotalSupplyOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Token balances can be either represented internally or claimed as ERC-20s into wallets. This contract manages these two representations and allows claiming.The total supply of a project's tokens and the balance of each account are calculated in this contract.Each project can bring their own token if they prefer, and swap between tokens at any time.\",\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_holder\":\"The token holder to get a balance for.\",\"_projectId\":\"The project to get the `_holder`s balance of.\"},\"returns\":{\"balance\":\"The project token balance of the `_holder \"}},\"burnFrom(address,uint256,uint256,bool)\":{\"details\":\"Only a project's current controller can burn its tokens.\",\"params\":{\"_amount\":\"The amount of tokens to burn.\",\"_holder\":\"The address that owns the tokens being burned.\",\"_preferClaimedTokens\":\"A flag indicating whether there's a preference for tokens to burned from the `_holder`s wallet if the project currently has a token contract attached.\",\"_projectId\":\"The ID of the project to which the burned tokens belong.\"}},\"claimFor(address,uint256,uint256)\":{\"details\":\"Only a token holder or an operator specified by the token holder can claim its unclaimed tokens.\",\"params\":{\"_amount\":\"The amount of tokens to claim.\",\"_holder\":\"The owner of the tokens being claimed.\",\"_projectId\":\"The ID of the project whose tokens are being claimed.\"}},\"constructor\":{\"params\":{\"_directory\":\"A contract storing directories of terminals and controllers for each project.\",\"_fundingCycleStore\":\"A contract storing all funding cycle configurations.\",\"_operatorStore\":\"A contract storing operator assignments.\",\"_projects\":\"A contract which mints ERC-721's that represent project ownership and transfers.\"}},\"issueFor(uint256,string,string)\":{\"details\":\"Deploys a project's ERC-20 token contract.Only a project's owner or operator can issue its token.\",\"params\":{\"_name\":\"The ERC-20's name.\",\"_projectId\":\"The ID of the project being issued tokens.\",\"_symbol\":\"The ERC-20's symbol.\"},\"returns\":{\"token\":\"The token that was issued.\"}},\"mintFor(address,uint256,uint256,bool)\":{\"details\":\"Only a project's current controller can mint its tokens.\",\"params\":{\"_amount\":\"The amount of tokens to mint.\",\"_holder\":\"The address receiving the new tokens.\",\"_preferClaimedTokens\":\"A flag indicating whether there's a preference for minted tokens to be claimed automatically into the `_holder`s wallet if the project currently has a token contract attached.\",\"_projectId\":\"The ID of the project to which the tokens belong.\"}},\"setFor(uint256,address)\":{\"details\":\"Only a project's owner or operator can set its token.\",\"params\":{\"_projectId\":\"The ID of the project to which the set token belongs.\",\"_token\":\"The new token. \"}},\"totalSupplyOf(uint256)\":{\"params\":{\"_projectId\":\"The ID of the project to get the total token supply of.\"},\"returns\":{\"totalSupply\":\"The total supply of the project's tokens.\"}},\"transferFrom(address,uint256,address,uint256)\":{\"details\":\"Only a token holder or an operator can transfer its unclaimed tokens.\",\"params\":{\"_amount\":\"The amount of tokens to transfer.\",\"_holder\":\"The address to transfer tokens from.\",\"_projectId\":\"The ID of the project whose tokens are being transferred.\",\"_recipient\":\"The recipient of the tokens.\"}}},\"stateVariables\":{\"tokenOf\":{\"custom:param\":\"_projectId The ID of the project to which the token belongs. \"},\"unclaimedBalanceOf\":{\"custom:param\":\"_holder The holder of balance._projectId The ID of the project to which the token belongs.\"},\"unclaimedTotalSupplyOf\":{\"custom:param\":\"_projectId The ID of the project to which the token belongs. \"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens.\"},\"burnFrom(address,uint256,uint256,bool)\":{\"notice\":\"Burns a project's tokens.\"},\"claimFor(address,uint256,uint256)\":{\"notice\":\"Claims internally accounted for tokens into a holder's wallet.\"},\"directory()\":{\"notice\":\"The directory of terminals and controllers for projects.\"},\"fundingCycleStore()\":{\"notice\":\"The contract storing all funding cycle configurations. \"},\"issueFor(uint256,string,string)\":{\"notice\":\"Issues a project's ERC-20 tokens that'll be used when claiming tokens.\"},\"mintFor(address,uint256,uint256,bool)\":{\"notice\":\"Mint new project tokens.\"},\"operatorStore()\":{\"notice\":\"A contract storing operator assignments.\"},\"projects()\":{\"notice\":\"Mints ERC-721's that represent project ownership and transfers. \"},\"setFor(uint256,address)\":{\"notice\":\"Set a project's token if not already set.\"},\"tokenOf(uint256)\":{\"notice\":\"Each project's attached token contract.\"},\"totalSupplyOf(uint256)\":{\"notice\":\"The total supply of tokens for each project, including claimed and unclaimed tokens.\"},\"transferFrom(address,uint256,address,uint256)\":{\"notice\":\"Allows a holder to transfer unclaimed tokens to another account.\"},\"unclaimedBalanceOf(address,uint256)\":{\"notice\":\"Each holder's balance of unclaimed tokens for each project.\"},\"unclaimedTotalSupplyOf(uint256)\":{\"notice\":\"The total supply of unclaimed tokens for each project.\"}},\"notice\":\"Manage token minting, burning, and account balances.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":\"JBTokenStore\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":{\"keccak256\":\"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49\",\"dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IJBOperatorStore","name":"_operatorStore","type":"address"},{"internalType":"contract IJBProjects","name":"_projects","type":"address"},{"internalType":"contract IJBDirectory","name":"_directory","type":"address"},{"internalType":"contract IJBFundingCycleStore","name":"_fundingCycleStore","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ALREADY_SET"},{"inputs":[],"type":"error","name":"CONTROLLER_UNAUTHORIZED"},{"inputs":[],"type":"error","name":"EMPTY_NAME"},{"inputs":[],"type":"error","name":"EMPTY_SYMBOL"},{"inputs":[],"type":"error","name":"EMPTY_TOKEN"},{"inputs":[],"type":"error","name":"INSUFFICIENT_FUNDS"},{"inputs":[],"type":"error","name":"INSUFFICIENT_UNCLAIMED_TOKENS"},{"inputs":[],"type":"error","name":"OVERFLOW_ALERT"},{"inputs":[],"type":"error","name":"PROJECT_ALREADY_HAS_TOKEN"},{"inputs":[],"type":"error","name":"RECIPIENT_ZERO_ADDRESS"},{"inputs":[],"type":"error","name":"TOKENS_MUST_HAVE_18_DECIMALS"},{"inputs":[],"type":"error","name":"TOKEN_NOT_FOUND"},{"inputs":[],"type":"error","name":"TRANSFERS_PAUSED"},{"inputs":[],"type":"error","name":"UNAUTHORIZED"},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"initialClaimedBalance","type":"uint256","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"initialUnclaimedBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"token","type":"address","indexed":true},{"internalType":"string","name":"name","type":"string","indexed":false},{"internalType":"string","name":"symbol","type":"string","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Issue","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bool","name":"tokensWereClaimed","type":"bool","indexed":false},{"internalType":"bool","name":"preferClaimedTokens","type":"bool","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"contract IJBToken","name":"newToken","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Set","anonymous":false},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"uint256","name":"projectId","type":"uint256","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"caller","type":"address","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"burnFrom"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claimFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"directory","outputs":[{"internalType":"contract IJBDirectory","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"fundingCycleStore","outputs":[{"internalType":"contract IJBFundingCycleStore","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"issueFor","outputs":[{"internalType":"contract IJBToken","name":"token","type":"address"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_preferClaimedTokens","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"mintFor"},{"inputs":[],"stateMutability":"view","type":"function","name":"operatorStore","outputs":[{"internalType":"contract IJBOperatorStore","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"projects","outputs":[{"internalType":"contract IJBProjects","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"contract IJBToken","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFor"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenOf","outputs":[{"internalType":"contract IJBToken","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_projectId","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupplyOf","outputs":[{"internalType":"uint256","name":"totalSupply","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_projectId","type":"uint256"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"unclaimedTotalSupplyOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"balanceOf(address,uint256)":{"params":{"_holder":"The token holder to get a balance for.","_projectId":"The project to get the `_holder`s balance of."},"returns":{"balance":"The project token balance of the `_holder "}},"burnFrom(address,uint256,uint256,bool)":{"details":"Only a project's current controller can burn its tokens.","params":{"_amount":"The amount of tokens to burn.","_holder":"The address that owns the tokens being burned.","_preferClaimedTokens":"A flag indicating whether there's a preference for tokens to burned from the `_holder`s wallet if the project currently has a token contract attached.","_projectId":"The ID of the project to which the burned tokens belong."}},"claimFor(address,uint256,uint256)":{"details":"Only a token holder or an operator specified by the token holder can claim its unclaimed tokens.","params":{"_amount":"The amount of tokens to claim.","_holder":"The owner of the tokens being claimed.","_projectId":"The ID of the project whose tokens are being claimed."}},"constructor":{"params":{"_directory":"A contract storing directories of terminals and controllers for each project.","_fundingCycleStore":"A contract storing all funding cycle configurations.","_operatorStore":"A contract storing operator assignments.","_projects":"A contract which mints ERC-721's that represent project ownership and transfers."}},"issueFor(uint256,string,string)":{"details":"Deploys a project's ERC-20 token contract.Only a project's owner or operator can issue its token.","params":{"_name":"The ERC-20's name.","_projectId":"The ID of the project being issued tokens.","_symbol":"The ERC-20's symbol."},"returns":{"token":"The token that was issued."}},"mintFor(address,uint256,uint256,bool)":{"details":"Only a project's current controller can mint its tokens.","params":{"_amount":"The amount of tokens to mint.","_holder":"The address receiving the new tokens.","_preferClaimedTokens":"A flag indicating whether there's a preference for minted tokens to be claimed automatically into the `_holder`s wallet if the project currently has a token contract attached.","_projectId":"The ID of the project to which the tokens belong."}},"setFor(uint256,address)":{"details":"Only a project's owner or operator can set its token.","params":{"_projectId":"The ID of the project to which the set token belongs.","_token":"The new token. "}},"totalSupplyOf(uint256)":{"params":{"_projectId":"The ID of the project to get the total token supply of."},"returns":{"totalSupply":"The total supply of the project's tokens."}},"transferFrom(address,uint256,address,uint256)":{"details":"Only a token holder or an operator can transfer its unclaimed tokens.","params":{"_amount":"The amount of tokens to transfer.","_holder":"The address to transfer tokens from.","_projectId":"The ID of the project whose tokens are being transferred.","_recipient":"The recipient of the tokens."}}},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address,uint256)":{"notice":"The total balance of tokens a holder has for a specified project, including claimed and unclaimed tokens."},"burnFrom(address,uint256,uint256,bool)":{"notice":"Burns a project's tokens."},"claimFor(address,uint256,uint256)":{"notice":"Claims internally accounted for tokens into a holder's wallet."},"directory()":{"notice":"The directory of terminals and controllers for projects."},"fundingCycleStore()":{"notice":"The contract storing all funding cycle configurations. "},"issueFor(uint256,string,string)":{"notice":"Issues a project's ERC-20 tokens that'll be used when claiming tokens."},"mintFor(address,uint256,uint256,bool)":{"notice":"Mint new project tokens."},"operatorStore()":{"notice":"A contract storing operator assignments."},"projects()":{"notice":"Mints ERC-721's that represent project ownership and transfers. "},"setFor(uint256,address)":{"notice":"Set a project's token if not already set."},"tokenOf(uint256)":{"notice":"Each project's attached token contract."},"totalSupplyOf(uint256)":{"notice":"The total supply of tokens for each project, including claimed and unclaimed tokens."},"transferFrom(address,uint256,address,uint256)":{"notice":"Allows a holder to transfer unclaimed tokens to another account."},"unclaimedBalanceOf(address,uint256)":{"notice":"Each holder's balance of unclaimed tokens for each project."},"unclaimedTotalSupplyOf(uint256)":{"notice":"The total supply of unclaimed tokens for each project."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":"JBTokenStore"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":{"keccak256":"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0","urls":["bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49","dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":79} \ No newline at end of file diff --git a/out/JBTokens.sol/JBTokens.json b/out/JBTokens.sol/JBTokens.json index 438be2f1..db603ef9 100644 --- a/out/JBTokens.sol/JBTokens.json +++ b/out/JBTokens.sol/JBTokens.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x6092610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80638322fff2146038575b600080fd5b604061eeee81565b6040516001600160a01b03909116815260200160405180910390f3fea264697066735822122025973158811f87c63409db227ed39985849daaf3d5ea24bba9ecba942578f99064736f6c63430008170033","sourceMap":"57:215:127:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:215:127;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80638322fff2146038575b600080fd5b604061eeee81565b6040516001600160a01b03909116815260200160405180910390f3fea264697066735822122025973158811f87c63409db227ed39985849daaf3d5ea24bba9ecba942578f99064736f6c63430008170033","sourceMap":"57:215:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;188:81;;226:42;188:81;;;;;-1:-1:-1;;;;;186:32:197;;;168:51;;156:2;141:18;188:81:127;;;;;;","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ETH()\":{\"notice\":\"The ETH token address in Juicebox is represented by 0x000000000000000000000000000000000000EEEe.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":\"JBTokens\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ETH()":{"notice":"The ETH token address in Juicebox is represented by 0x000000000000000000000000000000000000EEEe."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":"JBTokens"},"libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol","id":87634,"exportedSymbols":{"JBTokens":[87633]},"nodeType":"SourceUnit","src":"32:241:127","nodes":[{"id":87625,"nodeType":"PragmaDirective","src":"32:23:127","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":87633,"nodeType":"ContractDefinition","src":"57:215:127","nodes":[{"id":87632,"nodeType":"VariableDeclaration","src":"188:81:127","nodes":[],"constant":true,"documentation":{"id":87626,"nodeType":"StructuredDocumentation","src":"78:107:127","text":"@notice The ETH token address in Juicebox is represented by 0x000000000000000000000000000000000000EEEe."},"functionSelector":"8322fff2","mutability":"constant","name":"ETH","nameLocation":"212:3:127","scope":87633,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":87627,"name":"address","nodeType":"ElementaryTypeName","src":"188:7:127","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303045454565","id":87630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"226:42:127","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000000000000000000000EEEe"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":87629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"218:7:127","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":87628,"name":"address","nodeType":"ElementaryTypeName","src":"218:7:127","typeDescriptions":{}}},"id":87631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"218:51:127","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"JBTokens","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[87633],"name":"JBTokens","nameLocation":"65:8:127","scope":87634,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":127} \ No newline at end of file +{"abi":[{"type":"function","name":"ETH","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"}],"bytecode":{"object":"0x6092610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80638322fff2146038575b600080fd5b604061eeee81565b6040516001600160a01b03909116815260200160405180910390f3fea264697066735822122025973158811f87c63409db227ed39985849daaf3d5ea24bba9ecba942578f99064736f6c63430008170033","sourceMap":"57:215:127:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;57:215:127;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c80638322fff2146038575b600080fd5b604061eeee81565b6040516001600160a01b03909116815260200160405180910390f3fea264697066735822122025973158811f87c63409db227ed39985849daaf3d5ea24bba9ecba942578f99064736f6c63430008170033","sourceMap":"57:215:127:-:0;;;;;;;;;;;;;;;;;;;;;;;;188:81;;226:42;188:81;;;;;-1:-1:-1;;;;;186:32:197;;;168:51;;156:2;141:18;188:81:127;;;;;;","linkReferences":{}},"methodIdentifiers":{"ETH()":"8322fff2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ETH()\":{\"notice\":\"The ETH token address in Juicebox is represented by 0x000000000000000000000000000000000000EEEe.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":\"JBTokens\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"ETH","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"ETH()":{"notice":"The ETH token address in Juicebox is represented by 0x000000000000000000000000000000000000EEEe."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":"JBTokens"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"}},"version":1},"id":127} \ No newline at end of file diff --git a/out/Math.sol/Math.json b/out/Math.sol/Math.json index 1c56844d..124949a9 100644 --- a/out/Math.sol/Math.json +++ b/out/Math.sol/Math.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204c49dcc2d01c97789c304d5d470817095dbd99a400a432375719b9e774b5307764736f6c63430008170033","sourceMap":"202:12582:191:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:191;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204c49dcc2d01c97789c304d5d470817095dbd99a400a432375719b9e774b5307764736f6c63430008170033","sourceMap":"202:12582:191:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":"Math"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","id":97872,"exportedSymbols":{"Math":[97871]},"nodeType":"SourceUnit","src":"103:12682:191","nodes":[{"id":97007,"nodeType":"PragmaDirective","src":"103:23:191","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":97871,"nodeType":"ContractDefinition","src":"202:12582:191","nodes":[{"id":97012,"nodeType":"EnumDefinition","src":"221:122:191","nodes":[],"canonicalName":"Math.Rounding","members":[{"id":97009,"name":"Down","nameLocation":"245:4:191","nodeType":"EnumValue","src":"245:4:191"},{"id":97010,"name":"Up","nameLocation":"287:2:191","nodeType":"EnumValue","src":"287:2:191"},{"id":97011,"name":"Zero","nameLocation":"318:4:191","nodeType":"EnumValue","src":"318:4:191"}],"name":"Rounding","nameLocation":"226:8:191"},{"id":97030,"nodeType":"FunctionDefinition","src":"413:104:191","nodes":[],"body":{"id":97029,"nodeType":"Block","src":"480:37:191","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97022,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97015,"src":"497:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":97023,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97017,"src":"501:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:5:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":97026,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97017,"src":"509:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97027,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"497:13:191","trueExpression":{"id":97025,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97015,"src":"505:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97021,"id":97028,"nodeType":"Return","src":"490:20:191"}]},"documentation":{"id":97013,"nodeType":"StructuredDocumentation","src":"349:59:191","text":" @dev Returns the largest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"max","nameLocation":"422:3:191","parameters":{"id":97018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97015,"mutability":"mutable","name":"a","nameLocation":"434:1:191","nodeType":"VariableDeclaration","scope":97030,"src":"426:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97014,"name":"uint256","nodeType":"ElementaryTypeName","src":"426:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97017,"mutability":"mutable","name":"b","nameLocation":"445:1:191","nodeType":"VariableDeclaration","scope":97030,"src":"437:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97016,"name":"uint256","nodeType":"ElementaryTypeName","src":"437:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"425:22:191"},"returnParameters":{"id":97021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97030,"src":"471:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97019,"name":"uint256","nodeType":"ElementaryTypeName","src":"471:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"470:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97048,"nodeType":"FunctionDefinition","src":"588:104:191","nodes":[],"body":{"id":97047,"nodeType":"Block","src":"655:37:191","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97040,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97033,"src":"672:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":97041,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97035,"src":"676:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"672:5:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":97044,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97035,"src":"684:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97045,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"672:13:191","trueExpression":{"id":97043,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97033,"src":"680:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97039,"id":97046,"nodeType":"Return","src":"665:20:191"}]},"documentation":{"id":97031,"nodeType":"StructuredDocumentation","src":"523:60:191","text":" @dev Returns the smallest of two numbers."},"implemented":true,"kind":"function","modifiers":[],"name":"min","nameLocation":"597:3:191","parameters":{"id":97036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97033,"mutability":"mutable","name":"a","nameLocation":"609:1:191","nodeType":"VariableDeclaration","scope":97048,"src":"601:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97032,"name":"uint256","nodeType":"ElementaryTypeName","src":"601:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97035,"mutability":"mutable","name":"b","nameLocation":"620:1:191","nodeType":"VariableDeclaration","scope":97048,"src":"612:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97034,"name":"uint256","nodeType":"ElementaryTypeName","src":"612:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"600:22:191"},"returnParameters":{"id":97039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97038,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97048,"src":"646:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97037,"name":"uint256","nodeType":"ElementaryTypeName","src":"646:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"645:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97071,"nodeType":"FunctionDefinition","src":"805:153:191","nodes":[],"body":{"id":97070,"nodeType":"Block","src":"876:82:191","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97060,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97058,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97051,"src":"931:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"id":97059,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97053,"src":"935:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"931:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97061,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"930:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97067,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97062,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97051,"src":"941:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":97063,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97053,"src":"945:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"941:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97065,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"940:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":97066,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"950:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"940:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"930:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97057,"id":97069,"nodeType":"Return","src":"923:28:191"}]},"documentation":{"id":97049,"nodeType":"StructuredDocumentation","src":"698:102:191","text":" @dev Returns the average of two numbers. The result is rounded towards\n zero."},"implemented":true,"kind":"function","modifiers":[],"name":"average","nameLocation":"814:7:191","parameters":{"id":97054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97051,"mutability":"mutable","name":"a","nameLocation":"830:1:191","nodeType":"VariableDeclaration","scope":97071,"src":"822:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97050,"name":"uint256","nodeType":"ElementaryTypeName","src":"822:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97053,"mutability":"mutable","name":"b","nameLocation":"841:1:191","nodeType":"VariableDeclaration","scope":97071,"src":"833:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97052,"name":"uint256","nodeType":"ElementaryTypeName","src":"833:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"821:22:191"},"returnParameters":{"id":97057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97056,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97071,"src":"867:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97055,"name":"uint256","nodeType":"ElementaryTypeName","src":"867:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"866:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97096,"nodeType":"FunctionDefinition","src":"1157:194:191","nodes":[],"body":{"id":97095,"nodeType":"Block","src":"1228:123:191","nodes":[],"statements":[{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97081,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97074,"src":"1316:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":97082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1321:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1316:6:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97085,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97074,"src":"1330:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":97086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1334:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1330:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97088,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1329:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97089,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97076,"src":"1339:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1329:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":97091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1343:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1329:15:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1316:28:191","trueExpression":{"hexValue":"30","id":97084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97080,"id":97094,"nodeType":"Return","src":"1309:35:191"}]},"documentation":{"id":97072,"nodeType":"StructuredDocumentation","src":"964:188:191","text":" @dev Returns the ceiling of the division of two numbers.\n This differs from standard division with `/` in that it rounds up instead\n of rounding down."},"implemented":true,"kind":"function","modifiers":[],"name":"ceilDiv","nameLocation":"1166:7:191","parameters":{"id":97077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97074,"mutability":"mutable","name":"a","nameLocation":"1182:1:191","nodeType":"VariableDeclaration","scope":97096,"src":"1174:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97073,"name":"uint256","nodeType":"ElementaryTypeName","src":"1174:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97076,"mutability":"mutable","name":"b","nameLocation":"1193:1:191","nodeType":"VariableDeclaration","scope":97096,"src":"1185:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97075,"name":"uint256","nodeType":"ElementaryTypeName","src":"1185:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1173:22:191"},"returnParameters":{"id":97080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97079,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97096,"src":"1219:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97078,"name":"uint256","nodeType":"ElementaryTypeName","src":"1219:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1218:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97219,"nodeType":"FunctionDefinition","src":"1667:4213:191","nodes":[],"body":{"id":97218,"nodeType":"Block","src":"1765:4115:191","nodes":[],"statements":[{"id":97217,"nodeType":"UncheckedBlock","src":"1775:4099:191","statements":[{"assignments":[97109],"declarations":[{"constant":false,"id":97109,"mutability":"mutable","name":"prod0","nameLocation":"2104:5:191","nodeType":"VariableDeclaration","scope":97217,"src":"2096:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2096:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97110,"nodeType":"VariableDeclarationStatement","src":"2096:13:191"},{"assignments":[97112],"declarations":[{"constant":false,"id":97112,"mutability":"mutable","name":"prod1","nameLocation":"2176:5:191","nodeType":"VariableDeclaration","scope":97217,"src":"2168:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97111,"name":"uint256","nodeType":"ElementaryTypeName","src":"2168:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97113,"nodeType":"VariableDeclarationStatement","src":"2168:13:191"},{"AST":{"nativeSrc":"2248:157:191","nodeType":"YulBlock","src":"2248:157:191","statements":[{"nativeSrc":"2266:30:191","nodeType":"YulVariableDeclaration","src":"2266:30:191","value":{"arguments":[{"name":"x","nativeSrc":"2283:1:191","nodeType":"YulIdentifier","src":"2283:1:191"},{"name":"y","nativeSrc":"2286:1:191","nodeType":"YulIdentifier","src":"2286:1:191"},{"arguments":[{"kind":"number","nativeSrc":"2293:1:191","nodeType":"YulLiteral","src":"2293:1:191","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"2289:3:191","nodeType":"YulIdentifier","src":"2289:3:191"},"nativeSrc":"2289:6:191","nodeType":"YulFunctionCall","src":"2289:6:191"}],"functionName":{"name":"mulmod","nativeSrc":"2276:6:191","nodeType":"YulIdentifier","src":"2276:6:191"},"nativeSrc":"2276:20:191","nodeType":"YulFunctionCall","src":"2276:20:191"},"variables":[{"name":"mm","nativeSrc":"2270:2:191","nodeType":"YulTypedName","src":"2270:2:191","type":""}]},{"nativeSrc":"2313:18:191","nodeType":"YulAssignment","src":"2313:18:191","value":{"arguments":[{"name":"x","nativeSrc":"2326:1:191","nodeType":"YulIdentifier","src":"2326:1:191"},{"name":"y","nativeSrc":"2329:1:191","nodeType":"YulIdentifier","src":"2329:1:191"}],"functionName":{"name":"mul","nativeSrc":"2322:3:191","nodeType":"YulIdentifier","src":"2322:3:191"},"nativeSrc":"2322:9:191","nodeType":"YulFunctionCall","src":"2322:9:191"},"variableNames":[{"name":"prod0","nativeSrc":"2313:5:191","nodeType":"YulIdentifier","src":"2313:5:191"}]},{"nativeSrc":"2348:43:191","nodeType":"YulAssignment","src":"2348:43:191","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"2365:2:191","nodeType":"YulIdentifier","src":"2365:2:191"},{"name":"prod0","nativeSrc":"2369:5:191","nodeType":"YulIdentifier","src":"2369:5:191"}],"functionName":{"name":"sub","nativeSrc":"2361:3:191","nodeType":"YulIdentifier","src":"2361:3:191"},"nativeSrc":"2361:14:191","nodeType":"YulFunctionCall","src":"2361:14:191"},{"arguments":[{"name":"mm","nativeSrc":"2380:2:191","nodeType":"YulIdentifier","src":"2380:2:191"},{"name":"prod0","nativeSrc":"2384:5:191","nodeType":"YulIdentifier","src":"2384:5:191"}],"functionName":{"name":"lt","nativeSrc":"2377:2:191","nodeType":"YulIdentifier","src":"2377:2:191"},"nativeSrc":"2377:13:191","nodeType":"YulFunctionCall","src":"2377:13:191"}],"functionName":{"name":"sub","nativeSrc":"2357:3:191","nodeType":"YulIdentifier","src":"2357:3:191"},"nativeSrc":"2357:34:191","nodeType":"YulFunctionCall","src":"2357:34:191"},"variableNames":[{"name":"prod1","nativeSrc":"2348:5:191","nodeType":"YulIdentifier","src":"2348:5:191"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":97109,"isOffset":false,"isSlot":false,"src":"2313:5:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"2369:5:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"2384:5:191","valueSize":1},{"declaration":97112,"isOffset":false,"isSlot":false,"src":"2348:5:191","valueSize":1},{"declaration":97099,"isOffset":false,"isSlot":false,"src":"2283:1:191","valueSize":1},{"declaration":97099,"isOffset":false,"isSlot":false,"src":"2326:1:191","valueSize":1},{"declaration":97101,"isOffset":false,"isSlot":false,"src":"2286:1:191","valueSize":1},{"declaration":97101,"isOffset":false,"isSlot":false,"src":"2329:1:191","valueSize":1}],"id":97114,"nodeType":"InlineAssembly","src":"2239:166:191"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97115,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97112,"src":"2486:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":97116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2495:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2486:10:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97123,"nodeType":"IfStatement","src":"2482:368:191","trueBody":{"id":97122,"nodeType":"Block","src":"2498:352:191","statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97118,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97109,"src":"2816:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97119,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"2824:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2816:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97107,"id":97121,"nodeType":"Return","src":"2809:26:191"}]}},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97125,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"2960:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":97126,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97112,"src":"2974:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2960:19:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d6174683a206d756c446976206f766572666c6f77","id":97128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2981:23:191","typeDescriptions":{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""},"value":"Math: mulDiv overflow"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d87093691d63b122ac2c14d1b11554b287e2431cf2b03550b3be7cffb0f86851","typeString":"literal_string \"Math: mulDiv overflow\""}],"id":97124,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2952:7:191","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2952:53:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97130,"nodeType":"ExpressionStatement","src":"2952:53:191"},{"assignments":[97132],"declarations":[{"constant":false,"id":97132,"mutability":"mutable","name":"remainder","nameLocation":"3269:9:191","nodeType":"VariableDeclaration","scope":97217,"src":"3261:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97131,"name":"uint256","nodeType":"ElementaryTypeName","src":"3261:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97133,"nodeType":"VariableDeclarationStatement","src":"3261:17:191"},{"AST":{"nativeSrc":"3301:291:191","nodeType":"YulBlock","src":"3301:291:191","statements":[{"nativeSrc":"3370:38:191","nodeType":"YulAssignment","src":"3370:38:191","value":{"arguments":[{"name":"x","nativeSrc":"3390:1:191","nodeType":"YulIdentifier","src":"3390:1:191"},{"name":"y","nativeSrc":"3393:1:191","nodeType":"YulIdentifier","src":"3393:1:191"},{"name":"denominator","nativeSrc":"3396:11:191","nodeType":"YulIdentifier","src":"3396:11:191"}],"functionName":{"name":"mulmod","nativeSrc":"3383:6:191","nodeType":"YulIdentifier","src":"3383:6:191"},"nativeSrc":"3383:25:191","nodeType":"YulFunctionCall","src":"3383:25:191"},"variableNames":[{"name":"remainder","nativeSrc":"3370:9:191","nodeType":"YulIdentifier","src":"3370:9:191"}]},{"nativeSrc":"3490:41:191","nodeType":"YulAssignment","src":"3490:41:191","value":{"arguments":[{"name":"prod1","nativeSrc":"3503:5:191","nodeType":"YulIdentifier","src":"3503:5:191"},{"arguments":[{"name":"remainder","nativeSrc":"3513:9:191","nodeType":"YulIdentifier","src":"3513:9:191"},{"name":"prod0","nativeSrc":"3524:5:191","nodeType":"YulIdentifier","src":"3524:5:191"}],"functionName":{"name":"gt","nativeSrc":"3510:2:191","nodeType":"YulIdentifier","src":"3510:2:191"},"nativeSrc":"3510:20:191","nodeType":"YulFunctionCall","src":"3510:20:191"}],"functionName":{"name":"sub","nativeSrc":"3499:3:191","nodeType":"YulIdentifier","src":"3499:3:191"},"nativeSrc":"3499:32:191","nodeType":"YulFunctionCall","src":"3499:32:191"},"variableNames":[{"name":"prod1","nativeSrc":"3490:5:191","nodeType":"YulIdentifier","src":"3490:5:191"}]},{"nativeSrc":"3548:30:191","nodeType":"YulAssignment","src":"3548:30:191","value":{"arguments":[{"name":"prod0","nativeSrc":"3561:5:191","nodeType":"YulIdentifier","src":"3561:5:191"},{"name":"remainder","nativeSrc":"3568:9:191","nodeType":"YulIdentifier","src":"3568:9:191"}],"functionName":{"name":"sub","nativeSrc":"3557:3:191","nodeType":"YulIdentifier","src":"3557:3:191"},"nativeSrc":"3557:21:191","nodeType":"YulFunctionCall","src":"3557:21:191"},"variableNames":[{"name":"prod0","nativeSrc":"3548:5:191","nodeType":"YulIdentifier","src":"3548:5:191"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":97103,"isOffset":false,"isSlot":false,"src":"3396:11:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"3524:5:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"3548:5:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"3561:5:191","valueSize":1},{"declaration":97112,"isOffset":false,"isSlot":false,"src":"3490:5:191","valueSize":1},{"declaration":97112,"isOffset":false,"isSlot":false,"src":"3503:5:191","valueSize":1},{"declaration":97132,"isOffset":false,"isSlot":false,"src":"3370:9:191","valueSize":1},{"declaration":97132,"isOffset":false,"isSlot":false,"src":"3513:9:191","valueSize":1},{"declaration":97132,"isOffset":false,"isSlot":false,"src":"3568:9:191","valueSize":1},{"declaration":97099,"isOffset":false,"isSlot":false,"src":"3390:1:191","valueSize":1},{"declaration":97101,"isOffset":false,"isSlot":false,"src":"3393:1:191","valueSize":1}],"id":97134,"nodeType":"InlineAssembly","src":"3292:300:191"},{"assignments":[97136],"declarations":[{"constant":false,"id":97136,"mutability":"mutable","name":"twos","nameLocation":"3907:4:191","nodeType":"VariableDeclaration","scope":97217,"src":"3899:12:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97135,"name":"uint256","nodeType":"ElementaryTypeName","src":"3899:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97144,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97137,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"3914:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97141,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"3929:12:191","subExpression":{"id":97138,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"3930:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":97140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3944:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"3929:16:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97142,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3928:18:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3914:32:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3899:47:191"},{"AST":{"nativeSrc":"3969:362:191","nodeType":"YulBlock","src":"3969:362:191","statements":[{"nativeSrc":"4034:37:191","nodeType":"YulAssignment","src":"4034:37:191","value":{"arguments":[{"name":"denominator","nativeSrc":"4053:11:191","nodeType":"YulIdentifier","src":"4053:11:191"},{"name":"twos","nativeSrc":"4066:4:191","nodeType":"YulIdentifier","src":"4066:4:191"}],"functionName":{"name":"div","nativeSrc":"4049:3:191","nodeType":"YulIdentifier","src":"4049:3:191"},"nativeSrc":"4049:22:191","nodeType":"YulFunctionCall","src":"4049:22:191"},"variableNames":[{"name":"denominator","nativeSrc":"4034:11:191","nodeType":"YulIdentifier","src":"4034:11:191"}]},{"nativeSrc":"4138:25:191","nodeType":"YulAssignment","src":"4138:25:191","value":{"arguments":[{"name":"prod0","nativeSrc":"4151:5:191","nodeType":"YulIdentifier","src":"4151:5:191"},{"name":"twos","nativeSrc":"4158:4:191","nodeType":"YulIdentifier","src":"4158:4:191"}],"functionName":{"name":"div","nativeSrc":"4147:3:191","nodeType":"YulIdentifier","src":"4147:3:191"},"nativeSrc":"4147:16:191","nodeType":"YulFunctionCall","src":"4147:16:191"},"variableNames":[{"name":"prod0","nativeSrc":"4138:5:191","nodeType":"YulIdentifier","src":"4138:5:191"}]},{"nativeSrc":"4278:39:191","nodeType":"YulAssignment","src":"4278:39:191","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"4298:1:191","nodeType":"YulLiteral","src":"4298:1:191","type":"","value":"0"},{"name":"twos","nativeSrc":"4301:4:191","nodeType":"YulIdentifier","src":"4301:4:191"}],"functionName":{"name":"sub","nativeSrc":"4294:3:191","nodeType":"YulIdentifier","src":"4294:3:191"},"nativeSrc":"4294:12:191","nodeType":"YulFunctionCall","src":"4294:12:191"},{"name":"twos","nativeSrc":"4308:4:191","nodeType":"YulIdentifier","src":"4308:4:191"}],"functionName":{"name":"div","nativeSrc":"4290:3:191","nodeType":"YulIdentifier","src":"4290:3:191"},"nativeSrc":"4290:23:191","nodeType":"YulFunctionCall","src":"4290:23:191"},{"kind":"number","nativeSrc":"4315:1:191","nodeType":"YulLiteral","src":"4315:1:191","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"4286:3:191","nodeType":"YulIdentifier","src":"4286:3:191"},"nativeSrc":"4286:31:191","nodeType":"YulFunctionCall","src":"4286:31:191"},"variableNames":[{"name":"twos","nativeSrc":"4278:4:191","nodeType":"YulIdentifier","src":"4278:4:191"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":97103,"isOffset":false,"isSlot":false,"src":"4034:11:191","valueSize":1},{"declaration":97103,"isOffset":false,"isSlot":false,"src":"4053:11:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"4138:5:191","valueSize":1},{"declaration":97109,"isOffset":false,"isSlot":false,"src":"4151:5:191","valueSize":1},{"declaration":97136,"isOffset":false,"isSlot":false,"src":"4066:4:191","valueSize":1},{"declaration":97136,"isOffset":false,"isSlot":false,"src":"4158:4:191","valueSize":1},{"declaration":97136,"isOffset":false,"isSlot":false,"src":"4278:4:191","valueSize":1},{"declaration":97136,"isOffset":false,"isSlot":false,"src":"4301:4:191","valueSize":1},{"declaration":97136,"isOffset":false,"isSlot":false,"src":"4308:4:191","valueSize":1}],"id":97145,"nodeType":"InlineAssembly","src":"3960:371:191"},{"expression":{"id":97150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97146,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97109,"src":"4397:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97147,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97112,"src":"4406:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97148,"name":"twos","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97136,"src":"4414:4:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4406:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4397:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97151,"nodeType":"ExpressionStatement","src":"4397:21:191"},{"assignments":[97153],"declarations":[{"constant":false,"id":97153,"mutability":"mutable","name":"inverse","nameLocation":"4744:7:191","nodeType":"VariableDeclaration","scope":97217,"src":"4736:15:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97152,"name":"uint256","nodeType":"ElementaryTypeName","src":"4736:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97160,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97159,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":97154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4755:1:191","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97155,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"4759:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4755:15:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97157,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4754:17:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":97158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4774:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"4754:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4736:39:191"},{"expression":{"id":97167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97161,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"4992:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5003:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97163,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5007:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97164,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5021:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5007:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5003:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4992:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97168,"nodeType":"ExpressionStatement","src":"4992:36:191"},{"expression":{"id":97175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97169,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5061:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97170,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5072:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97171,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5076:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97172,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5090:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5076:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5072:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5061:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97176,"nodeType":"ExpressionStatement","src":"5061:36:191"},{"expression":{"id":97183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97177,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5131:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5142:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97179,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5146:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97180,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5160:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5146:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5142:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5131:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97184,"nodeType":"ExpressionStatement","src":"5131:36:191"},{"expression":{"id":97191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97185,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5201:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97186,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5212:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97187,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5216:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97188,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5230:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5216:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5212:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5201:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97192,"nodeType":"ExpressionStatement","src":"5201:36:191"},{"expression":{"id":97199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97193,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5271:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97198,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5282:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97195,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5286:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97196,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5300:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5286:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5282:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5271:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97200,"nodeType":"ExpressionStatement","src":"5271:36:191"},{"expression":{"id":97207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97201,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5342:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":97202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5353:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97203,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97103,"src":"5357:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97204,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5371:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5357:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5353:25:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5342:36:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97208,"nodeType":"ExpressionStatement","src":"5342:36:191"},{"expression":{"id":97213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97209,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97106,"src":"5812:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97210,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97109,"src":"5821:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97211,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97153,"src":"5829:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5821:15:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5812:24:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97214,"nodeType":"ExpressionStatement","src":"5812:24:191"},{"expression":{"id":97215,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97106,"src":"5857:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97107,"id":97216,"nodeType":"Return","src":"5850:13:191"}]}]},"documentation":{"id":97097,"nodeType":"StructuredDocumentation","src":"1357:305:191","text":" @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0\n @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)\n with further edits by Uniswap Labs also under MIT license."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"1676:6:191","parameters":{"id":97104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97099,"mutability":"mutable","name":"x","nameLocation":"1691:1:191","nodeType":"VariableDeclaration","scope":97219,"src":"1683:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97098,"name":"uint256","nodeType":"ElementaryTypeName","src":"1683:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97101,"mutability":"mutable","name":"y","nameLocation":"1702:1:191","nodeType":"VariableDeclaration","scope":97219,"src":"1694:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97100,"name":"uint256","nodeType":"ElementaryTypeName","src":"1694:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97103,"mutability":"mutable","name":"denominator","nameLocation":"1713:11:191","nodeType":"VariableDeclaration","scope":97219,"src":"1705:19:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97102,"name":"uint256","nodeType":"ElementaryTypeName","src":"1705:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1682:43:191"},"returnParameters":{"id":97107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97106,"mutability":"mutable","name":"result","nameLocation":"1757:6:191","nodeType":"VariableDeclaration","scope":97219,"src":"1749:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97105,"name":"uint256","nodeType":"ElementaryTypeName","src":"1749:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1748:16:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97263,"nodeType":"FunctionDefinition","src":"6012:299:191","nodes":[],"body":{"id":97262,"nodeType":"Block","src":"6122:189:191","nodes":[],"statements":[{"assignments":[97235],"declarations":[{"constant":false,"id":97235,"mutability":"mutable","name":"result","nameLocation":"6140:6:191","nodeType":"VariableDeclaration","scope":97262,"src":"6132:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97234,"name":"uint256","nodeType":"ElementaryTypeName","src":"6132:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97241,"initialValue":{"arguments":[{"id":97237,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97222,"src":"6156:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":97238,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97224,"src":"6159:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":97239,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97226,"src":"6162:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97236,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[97219,97263],"referencedDeclaration":97219,"src":"6149:6:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":97240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6149:25:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6132:42:191"},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97253,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"id":97245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97242,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97229,"src":"6188:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97243,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97012,"src":"6200:8:191","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$97012_$","typeString":"type(enum Math.Rounding)"}},"id":97244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6209:2:191","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"6200:11:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"src":"6188:23:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":97247,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97222,"src":"6222:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":97248,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97224,"src":"6225:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":97249,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97226,"src":"6228:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97246,"name":"mulmod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-16,"src":"6215:6:191","typeDescriptions":{"typeIdentifier":"t_function_mulmod_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":97250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6215:25:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6243:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6215:29:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6188:56:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97259,"nodeType":"IfStatement","src":"6184:98:191","trueBody":{"id":97258,"nodeType":"Block","src":"6246:36:191","statements":[{"expression":{"id":97256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97254,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97235,"src":"6260:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":97255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6270:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6260:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97257,"nodeType":"ExpressionStatement","src":"6260:11:191"}]}},{"expression":{"id":97260,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97235,"src":"6298:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97233,"id":97261,"nodeType":"Return","src":"6291:13:191"}]},"documentation":{"id":97220,"nodeType":"StructuredDocumentation","src":"5886:121:191","text":" @notice Calculates x * y / denominator with full precision, following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"6021:6:191","parameters":{"id":97230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97222,"mutability":"mutable","name":"x","nameLocation":"6036:1:191","nodeType":"VariableDeclaration","scope":97263,"src":"6028:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97221,"name":"uint256","nodeType":"ElementaryTypeName","src":"6028:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97224,"mutability":"mutable","name":"y","nameLocation":"6047:1:191","nodeType":"VariableDeclaration","scope":97263,"src":"6039:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97223,"name":"uint256","nodeType":"ElementaryTypeName","src":"6039:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97226,"mutability":"mutable","name":"denominator","nameLocation":"6058:11:191","nodeType":"VariableDeclaration","scope":97263,"src":"6050:19:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97225,"name":"uint256","nodeType":"ElementaryTypeName","src":"6050:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97229,"mutability":"mutable","name":"rounding","nameLocation":"6080:8:191","nodeType":"VariableDeclaration","scope":97263,"src":"6071:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"typeName":{"id":97228,"nodeType":"UserDefinedTypeName","pathNode":{"id":97227,"name":"Rounding","nameLocations":["6071:8:191"],"nodeType":"IdentifierPath","referencedDeclaration":97012,"src":"6071:8:191"},"referencedDeclaration":97012,"src":"6071:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"6027:62:191"},"returnParameters":{"id":97233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97232,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97263,"src":"6113:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97231,"name":"uint256","nodeType":"ElementaryTypeName","src":"6113:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6112:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97375,"nodeType":"FunctionDefinition","src":"6530:1642:191","nodes":[],"body":{"id":97374,"nodeType":"Block","src":"6587:1585:191","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97271,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"6601:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":97272,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6606:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6601:6:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97277,"nodeType":"IfStatement","src":"6597:45:191","trueBody":{"id":97276,"nodeType":"Block","src":"6609:33:191","statements":[{"expression":{"hexValue":"30","id":97274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6630:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":97270,"id":97275,"nodeType":"Return","src":"6623:8:191"}]}},{"assignments":[97279],"declarations":[{"constant":false,"id":97279,"mutability":"mutable","name":"result","nameLocation":"7329:6:191","nodeType":"VariableDeclaration","scope":97374,"src":"7321:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97278,"name":"uint256","nodeType":"ElementaryTypeName","src":"7321:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97288,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":97280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7338:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97285,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":97282,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7349:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97281,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[97543,97579],"referencedDeclaration":97543,"src":"7344:4:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":97283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7344:7:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7355:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7344:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97286,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7343:14:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7338:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7321:36:191"},{"id":97373,"nodeType":"UncheckedBlock","src":"7758:408:191","statements":[{"expression":{"id":97298,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97289,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7782:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97290,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7792:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97291,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7801:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97292,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7805:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7801:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7792:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97295,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7791:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7816:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7791:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7782:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97299,"nodeType":"ExpressionStatement","src":"7782:35:191"},{"expression":{"id":97309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97300,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7831:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97301,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7841:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97302,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7850:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97303,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7854:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7850:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7841:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97306,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7840:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7865:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7840:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7831:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97310,"nodeType":"ExpressionStatement","src":"7831:35:191"},{"expression":{"id":97320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97311,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7880:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97316,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97312,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7890:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97313,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7899:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97314,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7903:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7899:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7890:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97317,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7889:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7914:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7889:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7880:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97321,"nodeType":"ExpressionStatement","src":"7880:35:191"},{"expression":{"id":97331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97322,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7929:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97330,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97323,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7939:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97324,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7948:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97325,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7952:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7948:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7939:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97328,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7938:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7963:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7938:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7929:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97332,"nodeType":"ExpressionStatement","src":"7929:35:191"},{"expression":{"id":97342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97333,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7978:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97334,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"7988:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97335,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"7997:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97336,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8001:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7997:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7988:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97339,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7987:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8012:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7987:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7978:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97343,"nodeType":"ExpressionStatement","src":"7978:35:191"},{"expression":{"id":97353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97344,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8027:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97345,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8037:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97346,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"8046:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97347,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8050:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8046:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8037:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97350,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8036:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8061:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8036:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8027:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97354,"nodeType":"ExpressionStatement","src":"8027:35:191"},{"expression":{"id":97364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97355,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8076:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97356,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8086:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97357,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"8095:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97358,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8099:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8095:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8086:19:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97361,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8085:21:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8110:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"8085:26:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8076:35:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97365,"nodeType":"ExpressionStatement","src":"8076:35:191"},{"expression":{"arguments":[{"id":97367,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8136:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97368,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97266,"src":"8144:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":97369,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97279,"src":"8148:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8144:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97366,"name":"min","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97048,"src":"8132:3:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},"id":97371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8132:23:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97270,"id":97372,"nodeType":"Return","src":"8125:30:191"}]}]},"documentation":{"id":97264,"nodeType":"StructuredDocumentation","src":"6317:208:191","text":" @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.\n Inspired by Henry S. Warren, Jr.'s \"Hacker's Delight\" (Chapter 11)."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"6539:4:191","parameters":{"id":97267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97266,"mutability":"mutable","name":"a","nameLocation":"6552:1:191","nodeType":"VariableDeclaration","scope":97375,"src":"6544:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97265,"name":"uint256","nodeType":"ElementaryTypeName","src":"6544:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6543:11:191"},"returnParameters":{"id":97270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97269,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97375,"src":"6578:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97268,"name":"uint256","nodeType":"ElementaryTypeName","src":"6578:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6577:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97411,"nodeType":"FunctionDefinition","src":"8272:237:191","nodes":[],"body":{"id":97410,"nodeType":"Block","src":"8348:161:191","nodes":[],"statements":[{"id":97409,"nodeType":"UncheckedBlock","src":"8358:145:191","statements":[{"assignments":[97387],"declarations":[{"constant":false,"id":97387,"mutability":"mutable","name":"result","nameLocation":"8390:6:191","nodeType":"VariableDeclaration","scope":97409,"src":"8382:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97386,"name":"uint256","nodeType":"ElementaryTypeName","src":"8382:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97391,"initialValue":{"arguments":[{"id":97389,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97378,"src":"8404:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97388,"name":"sqrt","nodeType":"Identifier","overloadedDeclarations":[97375,97411],"referencedDeclaration":97375,"src":"8399:4:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":97390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8399:7:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8382:24:191"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97392,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97387,"src":"8427:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"id":97396,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97393,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97381,"src":"8437:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97394,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97012,"src":"8449:8:191","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$97012_$","typeString":"type(enum Math.Rounding)"}},"id":97395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8458:2:191","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"8449:11:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"src":"8437:23:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97399,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97397,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97387,"src":"8464:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":97398,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97387,"src":"8473:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:15:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":97400,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97378,"src":"8482:1:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8464:19:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"8437:46:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":97404,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8490:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":97405,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8437:54:191","trueExpression":{"hexValue":"31","id":97403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8486:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":97406,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8436:56:191","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"8427:65:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97385,"id":97408,"nodeType":"Return","src":"8420:72:191"}]}]},"documentation":{"id":97376,"nodeType":"StructuredDocumentation","src":"8178:89:191","text":" @notice Calculates sqrt(a), following the selected rounding direction."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"8281:4:191","parameters":{"id":97382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97378,"mutability":"mutable","name":"a","nameLocation":"8294:1:191","nodeType":"VariableDeclaration","scope":97411,"src":"8286:9:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97377,"name":"uint256","nodeType":"ElementaryTypeName","src":"8286:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97381,"mutability":"mutable","name":"rounding","nameLocation":"8306:8:191","nodeType":"VariableDeclaration","scope":97411,"src":"8297:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"typeName":{"id":97380,"nodeType":"UserDefinedTypeName","pathNode":{"id":97379,"name":"Rounding","nameLocations":["8297:8:191"],"nodeType":"IdentifierPath","referencedDeclaration":97012,"src":"8297:8:191"},"referencedDeclaration":97012,"src":"8297:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"8285:30:191"},"returnParameters":{"id":97385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97384,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97411,"src":"8339:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97383,"name":"uint256","nodeType":"ElementaryTypeName","src":"8339:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8338:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97543,"nodeType":"FunctionDefinition","src":"8633:983:191","nodes":[],"body":{"id":97542,"nodeType":"Block","src":"8694:922:191","nodes":[],"statements":[{"assignments":[97420],"declarations":[{"constant":false,"id":97420,"mutability":"mutable","name":"result","nameLocation":"8712:6:191","nodeType":"VariableDeclaration","scope":97542,"src":"8704:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97419,"name":"uint256","nodeType":"ElementaryTypeName","src":"8704:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97422,"initialValue":{"hexValue":"30","id":97421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8721:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"8704:18:191"},{"id":97539,"nodeType":"UncheckedBlock","src":"8732:855:191","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97423,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"8760:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":97424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:3:191","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8760:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8775:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8760:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97437,"nodeType":"IfStatement","src":"8756:99:191","trueBody":{"id":97436,"nodeType":"Block","src":"8778:77:191","statements":[{"expression":{"id":97430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97428,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"8796:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":97429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8806:3:191","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8796:13:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97431,"nodeType":"ExpressionStatement","src":"8796:13:191"},{"expression":{"id":97434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97432,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"8827:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":97433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8837:3:191","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"8827:13:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97435,"nodeType":"ExpressionStatement","src":"8827:13:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97438,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"8872:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":97439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8881:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8872:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8886:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8872:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97452,"nodeType":"IfStatement","src":"8868:96:191","trueBody":{"id":97451,"nodeType":"Block","src":"8889:75:191","statements":[{"expression":{"id":97445,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97443,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"8907:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":97444,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8917:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8907:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97446,"nodeType":"ExpressionStatement","src":"8907:12:191"},{"expression":{"id":97449,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97447,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"8937:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":97448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8947:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8937:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97450,"nodeType":"ExpressionStatement","src":"8937:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97453,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"8981:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":97454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8990:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"8981:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8995:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8981:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97467,"nodeType":"IfStatement","src":"8977:96:191","trueBody":{"id":97466,"nodeType":"Block","src":"8998:75:191","statements":[{"expression":{"id":97460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97458,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9016:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":97459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9026:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9016:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97461,"nodeType":"ExpressionStatement","src":"9016:12:191"},{"expression":{"id":97464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97462,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9046:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":97463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9056:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"9046:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97465,"nodeType":"ExpressionStatement","src":"9046:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97468,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9090:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":97469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9099:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9090:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9104:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9090:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97482,"nodeType":"IfStatement","src":"9086:96:191","trueBody":{"id":97481,"nodeType":"Block","src":"9107:75:191","statements":[{"expression":{"id":97475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97473,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9125:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":97474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9135:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9125:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97476,"nodeType":"ExpressionStatement","src":"9125:12:191"},{"expression":{"id":97479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97477,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9155:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":97478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9165:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"9155:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97480,"nodeType":"ExpressionStatement","src":"9155:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97483,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9199:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":97484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9208:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9199:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9212:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9199:14:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97497,"nodeType":"IfStatement","src":"9195:93:191","trueBody":{"id":97496,"nodeType":"Block","src":"9215:73:191","statements":[{"expression":{"id":97490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97488,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9233:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":97489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9243:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9233:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97491,"nodeType":"ExpressionStatement","src":"9233:11:191"},{"expression":{"id":97494,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97492,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9262:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":97493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9272:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"9262:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97495,"nodeType":"ExpressionStatement","src":"9262:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97498,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9305:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"34","id":97499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9314:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9305:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9318:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9305:14:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97512,"nodeType":"IfStatement","src":"9301:93:191","trueBody":{"id":97511,"nodeType":"Block","src":"9321:73:191","statements":[{"expression":{"id":97505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97503,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9339:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":97504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9349:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9339:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97506,"nodeType":"ExpressionStatement","src":"9339:11:191"},{"expression":{"id":97509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97507,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9368:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":97508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9378:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"9368:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97510,"nodeType":"ExpressionStatement","src":"9368:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97513,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9411:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"32","id":97514,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9420:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9411:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9424:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9411:14:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97527,"nodeType":"IfStatement","src":"9407:93:191","trueBody":{"id":97526,"nodeType":"Block","src":"9427:73:191","statements":[{"expression":{"id":97520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97518,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9445:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":97519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9455:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9445:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97521,"nodeType":"ExpressionStatement","src":"9445:11:191"},{"expression":{"id":97524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9474:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":97523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9484:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"9474:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97525,"nodeType":"ExpressionStatement","src":"9474:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97530,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97528,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97414,"src":"9517:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":97529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9526:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9517:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9530:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9517:14:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97538,"nodeType":"IfStatement","src":"9513:64:191","trueBody":{"id":97537,"nodeType":"Block","src":"9533:44:191","statements":[{"expression":{"id":97535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97533,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9551:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":97534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9561:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9551:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97536,"nodeType":"ExpressionStatement","src":"9551:11:191"}]}}]},{"expression":{"id":97540,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97420,"src":"9603:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97418,"id":97541,"nodeType":"Return","src":"9596:13:191"}]},"documentation":{"id":97412,"nodeType":"StructuredDocumentation","src":"8515:113:191","text":" @dev Return the log in base 2, rounded down, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"8642:4:191","parameters":{"id":97415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97414,"mutability":"mutable","name":"value","nameLocation":"8655:5:191","nodeType":"VariableDeclaration","scope":97543,"src":"8647:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97413,"name":"uint256","nodeType":"ElementaryTypeName","src":"8647:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8646:15:191"},"returnParameters":{"id":97418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97543,"src":"8685:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97416,"name":"uint256","nodeType":"ElementaryTypeName","src":"8685:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8684:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97579,"nodeType":"FunctionDefinition","src":"9769:245:191","nodes":[],"body":{"id":97578,"nodeType":"Block","src":"9849:165:191","nodes":[],"statements":[{"id":97577,"nodeType":"UncheckedBlock","src":"9859:149:191","statements":[{"assignments":[97555],"declarations":[{"constant":false,"id":97555,"mutability":"mutable","name":"result","nameLocation":"9891:6:191","nodeType":"VariableDeclaration","scope":97577,"src":"9883:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97554,"name":"uint256","nodeType":"ElementaryTypeName","src":"9883:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97559,"initialValue":{"arguments":[{"id":97557,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97546,"src":"9905:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97556,"name":"log2","nodeType":"Identifier","overloadedDeclarations":[97543,97579],"referencedDeclaration":97543,"src":"9900:4:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":97558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9900:11:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9883:28:191"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97560,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97555,"src":"9932:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"id":97564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97561,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97549,"src":"9942:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97562,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97012,"src":"9954:8:191","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$97012_$","typeString":"type(enum Math.Rounding)"}},"id":97563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9963:2:191","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"9954:11:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"src":"9942:23:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97567,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":97565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9969:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"id":97566,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97555,"src":"9974:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":97568,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97546,"src":"9983:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9969:19:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"9942:46:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":97572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9995:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":97573,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"9942:54:191","trueExpression":{"hexValue":"31","id":97571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9991:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":97574,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9941:56:191","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"9932:65:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97553,"id":97576,"nodeType":"Return","src":"9925:72:191"}]}]},"documentation":{"id":97544,"nodeType":"StructuredDocumentation","src":"9622:142:191","text":" @dev Return the log in base 2, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log2","nameLocation":"9778:4:191","parameters":{"id":97550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97546,"mutability":"mutable","name":"value","nameLocation":"9791:5:191","nodeType":"VariableDeclaration","scope":97579,"src":"9783:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97545,"name":"uint256","nodeType":"ElementaryTypeName","src":"9783:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97549,"mutability":"mutable","name":"rounding","nameLocation":"9807:8:191","nodeType":"VariableDeclaration","scope":97579,"src":"9798:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"typeName":{"id":97548,"nodeType":"UserDefinedTypeName","pathNode":{"id":97547,"name":"Rounding","nameLocations":["9798:8:191"],"nodeType":"IdentifierPath","referencedDeclaration":97012,"src":"9798:8:191"},"referencedDeclaration":97012,"src":"9798:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"9782:34:191"},"returnParameters":{"id":97553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97552,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97579,"src":"9840:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97551,"name":"uint256","nodeType":"ElementaryTypeName","src":"9840:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9839:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97708,"nodeType":"FunctionDefinition","src":"10139:916:191","nodes":[],"body":{"id":97707,"nodeType":"Block","src":"10201:854:191","nodes":[],"statements":[{"assignments":[97588],"declarations":[{"constant":false,"id":97588,"mutability":"mutable","name":"result","nameLocation":"10219:6:191","nodeType":"VariableDeclaration","scope":97707,"src":"10211:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97587,"name":"uint256","nodeType":"ElementaryTypeName","src":"10211:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97590,"initialValue":{"hexValue":"30","id":97589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10228:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"10211:18:191"},{"id":97704,"nodeType":"UncheckedBlock","src":"10239:787:191","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97591,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10267:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":97594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10276:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":97593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10282:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10276:8:191","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10267:17:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97607,"nodeType":"IfStatement","src":"10263:103:191","trueBody":{"id":97606,"nodeType":"Block","src":"10286:80:191","statements":[{"expression":{"id":97600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97596,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10304:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"},"id":97599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10313:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":97598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10319:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10313:8:191","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000000000000000000000000000000000000000000000000000_by_1","typeString":"int_const 1000...(57 digits omitted)...0000"}},"src":"10304:17:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97601,"nodeType":"ExpressionStatement","src":"10304:17:191"},{"expression":{"id":97604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97602,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10339:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":97603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10349:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10339:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97605,"nodeType":"ExpressionStatement","src":"10339:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97608,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10383:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":97611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10392:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":97610,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10398:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10392:8:191","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10383:17:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97624,"nodeType":"IfStatement","src":"10379:103:191","trueBody":{"id":97623,"nodeType":"Block","src":"10402:80:191","statements":[{"expression":{"id":97617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97613,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10420:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"},"id":97616,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10429:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":97615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10435:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10429:8:191","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000000000000000_by_1","typeString":"int_const 1000...(25 digits omitted)...0000"}},"src":"10420:17:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97618,"nodeType":"ExpressionStatement","src":"10420:17:191"},{"expression":{"id":97621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97619,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10455:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":97620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10465:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"10455:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97622,"nodeType":"ExpressionStatement","src":"10455:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97629,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97625,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10499:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":97628,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10508:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":97627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10514:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10508:8:191","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10499:17:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97641,"nodeType":"IfStatement","src":"10495:103:191","trueBody":{"id":97640,"nodeType":"Block","src":"10518:80:191","statements":[{"expression":{"id":97634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97630,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10536:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"},"id":97633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10545:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":97632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10551:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10545:8:191","typeDescriptions":{"typeIdentifier":"t_rational_10000000000000000_by_1","typeString":"int_const 10000000000000000"}},"src":"10536:17:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97635,"nodeType":"ExpressionStatement","src":"10536:17:191"},{"expression":{"id":97638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97636,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10571:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":97637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10581:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"10571:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97639,"nodeType":"ExpressionStatement","src":"10571:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97642,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10615:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":97645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10624:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":97644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10630:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10624:7:191","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10615:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97658,"nodeType":"IfStatement","src":"10611:100:191","trueBody":{"id":97657,"nodeType":"Block","src":"10633:78:191","statements":[{"expression":{"id":97651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97647,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10651:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"},"id":97650,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10660:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":97649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10666:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10660:7:191","typeDescriptions":{"typeIdentifier":"t_rational_100000000_by_1","typeString":"int_const 100000000"}},"src":"10651:16:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97652,"nodeType":"ExpressionStatement","src":"10651:16:191"},{"expression":{"id":97655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97653,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10685:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":97654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10695:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"10685:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97656,"nodeType":"ExpressionStatement","src":"10685:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97659,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10728:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":97662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10737:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":97661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10743:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10737:7:191","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10728:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97675,"nodeType":"IfStatement","src":"10724:100:191","trueBody":{"id":97674,"nodeType":"Block","src":"10746:78:191","statements":[{"expression":{"id":97668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97664,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10764:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"},"id":97667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97665,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10773:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":97666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10779:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10773:7:191","typeDescriptions":{"typeIdentifier":"t_rational_10000_by_1","typeString":"int_const 10000"}},"src":"10764:16:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97669,"nodeType":"ExpressionStatement","src":"10764:16:191"},{"expression":{"id":97672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97670,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10798:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":97671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10808:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"10798:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97673,"nodeType":"ExpressionStatement","src":"10798:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97676,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10841:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":97679,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10850:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":97678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10856:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10850:7:191","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10841:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97692,"nodeType":"IfStatement","src":"10837:100:191","trueBody":{"id":97691,"nodeType":"Block","src":"10859:78:191","statements":[{"expression":{"id":97685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97681,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10877:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"commonType":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"id":97684,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10886:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":97683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10892:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10886:7:191","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}},"src":"10877:16:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97686,"nodeType":"ExpressionStatement","src":"10877:16:191"},{"expression":{"id":97689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97687,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10911:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":97688,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10921:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"10911:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97690,"nodeType":"ExpressionStatement","src":"10911:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97693,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97582,"src":"10954:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"id":97696,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10963:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":97695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10969:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10963:7:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"}},"src":"10954:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97703,"nodeType":"IfStatement","src":"10950:66:191","trueBody":{"id":97702,"nodeType":"Block","src":"10972:44:191","statements":[{"expression":{"id":97700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97698,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"10990:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":97699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11000:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10990:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97701,"nodeType":"ExpressionStatement","src":"10990:11:191"}]}}]},{"expression":{"id":97705,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97588,"src":"11042:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97586,"id":97706,"nodeType":"Return","src":"11035:13:191"}]},"documentation":{"id":97580,"nodeType":"StructuredDocumentation","src":"10020:114:191","text":" @dev Return the log in base 10, rounded down, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"10148:5:191","parameters":{"id":97583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97582,"mutability":"mutable","name":"value","nameLocation":"10162:5:191","nodeType":"VariableDeclaration","scope":97708,"src":"10154:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97581,"name":"uint256","nodeType":"ElementaryTypeName","src":"10154:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10153:15:191"},"returnParameters":{"id":97586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97585,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97708,"src":"10192:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97584,"name":"uint256","nodeType":"ElementaryTypeName","src":"10192:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10191:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97744,"nodeType":"FunctionDefinition","src":"11209:248:191","nodes":[],"body":{"id":97743,"nodeType":"Block","src":"11290:167:191","nodes":[],"statements":[{"id":97742,"nodeType":"UncheckedBlock","src":"11300:151:191","statements":[{"assignments":[97720],"declarations":[{"constant":false,"id":97720,"mutability":"mutable","name":"result","nameLocation":"11332:6:191","nodeType":"VariableDeclaration","scope":97742,"src":"11324:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97719,"name":"uint256","nodeType":"ElementaryTypeName","src":"11324:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97724,"initialValue":{"arguments":[{"id":97722,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97711,"src":"11347:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97721,"name":"log10","nodeType":"Identifier","overloadedDeclarations":[97708,97744],"referencedDeclaration":97708,"src":"11341:5:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":97723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11341:12:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11324:29:191"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97740,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97725,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97720,"src":"11374:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"id":97729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97726,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97714,"src":"11384:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97727,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97012,"src":"11396:8:191","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$97012_$","typeString":"type(enum Math.Rounding)"}},"id":97728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11405:2:191","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"11396:11:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"src":"11384:23:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":97730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11411:2:191","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"id":97731,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97720,"src":"11417:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":97733,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97711,"src":"11426:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11411:20:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11384:47:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":97737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11438:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":97738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11384:55:191","trueExpression":{"hexValue":"31","id":97736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11434:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":97739,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11383:57:191","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"11374:66:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97718,"id":97741,"nodeType":"Return","src":"11367:73:191"}]}]},"documentation":{"id":97709,"nodeType":"StructuredDocumentation","src":"11061:143:191","text":" @dev Return the log in base 10, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log10","nameLocation":"11218:5:191","parameters":{"id":97715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97711,"mutability":"mutable","name":"value","nameLocation":"11232:5:191","nodeType":"VariableDeclaration","scope":97744,"src":"11224:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97710,"name":"uint256","nodeType":"ElementaryTypeName","src":"11224:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97714,"mutability":"mutable","name":"rounding","nameLocation":"11248:8:191","nodeType":"VariableDeclaration","scope":97744,"src":"11239:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"typeName":{"id":97713,"nodeType":"UserDefinedTypeName","pathNode":{"id":97712,"name":"Rounding","nameLocations":["11239:8:191"],"nodeType":"IdentifierPath","referencedDeclaration":97012,"src":"11239:8:191"},"referencedDeclaration":97012,"src":"11239:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"11223:34:191"},"returnParameters":{"id":97718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97717,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97744,"src":"11281:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97716,"name":"uint256","nodeType":"ElementaryTypeName","src":"11281:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11280:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97831,"nodeType":"FunctionDefinition","src":"11708:663:191","nodes":[],"body":{"id":97830,"nodeType":"Block","src":"11771:600:191","nodes":[],"statements":[{"assignments":[97753],"declarations":[{"constant":false,"id":97753,"mutability":"mutable","name":"result","nameLocation":"11789:6:191","nodeType":"VariableDeclaration","scope":97830,"src":"11781:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97752,"name":"uint256","nodeType":"ElementaryTypeName","src":"11781:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97755,"initialValue":{"hexValue":"30","id":97754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11798:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11781:18:191"},{"id":97827,"nodeType":"UncheckedBlock","src":"11809:533:191","statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97756,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"11837:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"313238","id":97757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11846:3:191","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11837:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11852:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11837:16:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97770,"nodeType":"IfStatement","src":"11833:98:191","trueBody":{"id":97769,"nodeType":"Block","src":"11855:76:191","statements":[{"expression":{"id":97763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97761,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"11873:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":97762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11883:3:191","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"11873:13:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97764,"nodeType":"ExpressionStatement","src":"11873:13:191"},{"expression":{"id":97767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97765,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"11904:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":97766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11914:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"11904:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97768,"nodeType":"ExpressionStatement","src":"11904:12:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97771,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"11948:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":97772,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11957:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11948:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11962:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11948:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97785,"nodeType":"IfStatement","src":"11944:95:191","trueBody":{"id":97784,"nodeType":"Block","src":"11965:74:191","statements":[{"expression":{"id":97778,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97776,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"11983:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":97777,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11993:2:191","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11983:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97779,"nodeType":"ExpressionStatement","src":"11983:12:191"},{"expression":{"id":97782,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97780,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"12013:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":97781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12023:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12013:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97783,"nodeType":"ExpressionStatement","src":"12013:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97786,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"12056:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3332","id":97787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12065:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12056:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12070:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12056:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97800,"nodeType":"IfStatement","src":"12052:95:191","trueBody":{"id":97799,"nodeType":"Block","src":"12073:74:191","statements":[{"expression":{"id":97793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97791,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"12091:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":97792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12101:2:191","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"12091:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97794,"nodeType":"ExpressionStatement","src":"12091:12:191"},{"expression":{"id":97797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97795,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"12121:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":97796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12131:1:191","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"12121:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97798,"nodeType":"ExpressionStatement","src":"12121:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97805,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97801,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"12164:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3136","id":97802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12173:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12164:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12178:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12164:15:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97815,"nodeType":"IfStatement","src":"12160:95:191","trueBody":{"id":97814,"nodeType":"Block","src":"12181:74:191","statements":[{"expression":{"id":97808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97806,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"12199:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":97807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12209:2:191","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"12199:12:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97809,"nodeType":"ExpressionStatement","src":"12199:12:191"},{"expression":{"id":97812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97810,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"12229:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":97811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12239:1:191","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"12229:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97813,"nodeType":"ExpressionStatement","src":"12229:11:191"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97816,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97747,"src":"12272:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"38","id":97817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12281:1:191","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"12272:10:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":97819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12285:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12272:14:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":97826,"nodeType":"IfStatement","src":"12268:64:191","trueBody":{"id":97825,"nodeType":"Block","src":"12288:44:191","statements":[{"expression":{"id":97823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":97821,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"12306:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":97822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12316:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"12306:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":97824,"nodeType":"ExpressionStatement","src":"12306:11:191"}]}}]},{"expression":{"id":97828,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97753,"src":"12358:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97751,"id":97829,"nodeType":"Return","src":"12351:13:191"}]},"documentation":{"id":97745,"nodeType":"StructuredDocumentation","src":"11463:240:191","text":" @dev Return the log in base 256, rounded down, of a positive value.\n Returns 0 if given 0.\n Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"11717:6:191","parameters":{"id":97748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97747,"mutability":"mutable","name":"value","nameLocation":"11732:5:191","nodeType":"VariableDeclaration","scope":97831,"src":"11724:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97746,"name":"uint256","nodeType":"ElementaryTypeName","src":"11724:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11723:15:191"},"returnParameters":{"id":97751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97750,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97831,"src":"11762:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97749,"name":"uint256","nodeType":"ElementaryTypeName","src":"11762:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11761:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97870,"nodeType":"FunctionDefinition","src":"12526:256:191","nodes":[],"body":{"id":97869,"nodeType":"Block","src":"12608:174:191","nodes":[],"statements":[{"id":97868,"nodeType":"UncheckedBlock","src":"12618:158:191","statements":[{"assignments":[97843],"declarations":[{"constant":false,"id":97843,"mutability":"mutable","name":"result","nameLocation":"12650:6:191","nodeType":"VariableDeclaration","scope":97868,"src":"12642:14:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97842,"name":"uint256","nodeType":"ElementaryTypeName","src":"12642:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":97847,"initialValue":{"arguments":[{"id":97845,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97834,"src":"12666:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97844,"name":"log256","nodeType":"Identifier","overloadedDeclarations":[97831,97870],"referencedDeclaration":97831,"src":"12659:6:191","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":97846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12659:13:191","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"12642:30:191"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97866,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97848,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97843,"src":"12693:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":97861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"id":97852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97849,"name":"rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97837,"src":"12703:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":97850,"name":"Rounding","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97012,"src":"12715:8:191","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Rounding_$97012_$","typeString":"type(enum Math.Rounding)"}},"id":97851,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12724:2:191","memberName":"Up","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"12715:11:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"src":"12703:23:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"31","id":97853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12730:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97854,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97843,"src":"12736:6:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<<","rightExpression":{"hexValue":"33","id":97855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12746:1:191","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"src":"12736:11:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":97857,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12735:13:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:18:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":97859,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97834,"src":"12751:5:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12730:26:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12703:53:191","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"30","id":97863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12763:1:191","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":97864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"12703:61:191","trueExpression":{"hexValue":"31","id":97862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12759:1:191","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"id":97865,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12702:63:191","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"12693:72:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":97841,"id":97867,"nodeType":"Return","src":"12686:79:191"}]}]},"documentation":{"id":97832,"nodeType":"StructuredDocumentation","src":"12377:144:191","text":" @dev Return the log in base 256, following the selected rounding direction, of a positive value.\n Returns 0 if given 0."},"implemented":true,"kind":"function","modifiers":[],"name":"log256","nameLocation":"12535:6:191","parameters":{"id":97838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97834,"mutability":"mutable","name":"value","nameLocation":"12550:5:191","nodeType":"VariableDeclaration","scope":97870,"src":"12542:13:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97833,"name":"uint256","nodeType":"ElementaryTypeName","src":"12542:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97837,"mutability":"mutable","name":"rounding","nameLocation":"12566:8:191","nodeType":"VariableDeclaration","scope":97870,"src":"12557:17:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"},"typeName":{"id":97836,"nodeType":"UserDefinedTypeName","pathNode":{"id":97835,"name":"Rounding","nameLocations":["12557:8:191"],"nodeType":"IdentifierPath","referencedDeclaration":97012,"src":"12557:8:191"},"referencedDeclaration":97012,"src":"12557:8:191","typeDescriptions":{"typeIdentifier":"t_enum$_Rounding_$97012","typeString":"enum Math.Rounding"}},"visibility":"internal"}],"src":"12541:34:191"},"returnParameters":{"id":97841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97840,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97870,"src":"12599:7:191","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97839,"name":"uint256","nodeType":"ElementaryTypeName","src":"12599:7:191","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12598:9:191"},"scope":97871,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Math","contractDependencies":[],"contractKind":"library","documentation":{"id":97008,"nodeType":"StructuredDocumentation","src":"128:73:191","text":" @dev Standard math utilities missing in the Solidity language."},"fullyImplemented":true,"linearizedBaseContracts":[97871],"name":"Math","nameLocation":"210:4:191","scope":97872,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":191} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204c49dcc2d01c97789c304d5d470817095dbd99a400a432375719b9e774b5307764736f6c63430008170033","sourceMap":"202:12582:191:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;202:12582:191;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204c49dcc2d01c97789c304d5d470817095dbd99a400a432375719b9e774b5307764736f6c63430008170033","sourceMap":"202:12582:191:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":"Math"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"}},"version":1},"id":191} \ No newline at end of file diff --git a/out/Ownable.sol/Ownable.json b/out/Ownable.sol/Ownable.json index 0545c9ed..584c93ca 100644 --- a/out/Ownable.sol/Ownable.json +++ b/out/Ownable.sol/Ownable.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Initializes the contract setting the deployer as the initial owner."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":"Ownable"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/access/Ownable.sol","id":89690,"exportedSymbols":{"Context":[95576],"Ownable":[89689]},"nodeType":"SourceUnit","src":"102:2514:157","nodes":[{"id":89578,"nodeType":"PragmaDirective","src":"102:23:157","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":89579,"nodeType":"ImportDirective","src":"127:30:157","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","file":"../utils/Context.sol","nameLocation":"-1:-1:-1","scope":89690,"sourceUnit":95577,"symbolAliases":[],"unitAlias":""},{"id":89689,"nodeType":"ContractDefinition","src":"654:1961:157","nodes":[{"id":89584,"nodeType":"VariableDeclaration","src":"697:22:157","nodes":[],"constant":false,"mutability":"mutable","name":"_owner","nameLocation":"713:6:157","scope":89689,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89583,"name":"address","nodeType":"ElementaryTypeName","src":"697:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"private"},{"id":89590,"nodeType":"EventDefinition","src":"726:84:157","nodes":[],"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","name":"OwnershipTransferred","nameLocation":"732:20:157","parameters":{"id":89589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89586,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"769:13:157","nodeType":"VariableDeclaration","scope":89590,"src":"753:29:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89585,"name":"address","nodeType":"ElementaryTypeName","src":"753:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89588,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"800:8:157","nodeType":"VariableDeclaration","scope":89590,"src":"784:24:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89587,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"752:57:157"}},{"id":89600,"nodeType":"FunctionDefinition","src":"912:63:157","nodes":[],"body":{"id":89599,"nodeType":"Block","src":"926:49:157","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":89595,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"955:10:157","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":89596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"955:12:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89594,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89688,"src":"936:18:157","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":89597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"936:32:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89598,"nodeType":"ExpressionStatement","src":"936:32:157"}]},"documentation":{"id":89591,"nodeType":"StructuredDocumentation","src":"816:91:157","text":" @dev Initializes the contract setting the deployer as the initial owner."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":89592,"nodeType":"ParameterList","parameters":[],"src":"923:2:157"},"returnParameters":{"id":89593,"nodeType":"ParameterList","parameters":[],"src":"926:0:157"},"scope":89689,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":89608,"nodeType":"ModifierDefinition","src":"1063:62:157","nodes":[],"body":{"id":89607,"nodeType":"Block","src":"1084:41:157","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":89603,"name":"_checkOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89631,"src":"1094:11:157","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":89604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1094:13:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89605,"nodeType":"ExpressionStatement","src":"1094:13:157"},{"id":89606,"nodeType":"PlaceholderStatement","src":"1117:1:157"}]},"documentation":{"id":89601,"nodeType":"StructuredDocumentation","src":"981:77:157","text":" @dev Throws if called by any account other than the owner."},"name":"onlyOwner","nameLocation":"1072:9:157","parameters":{"id":89602,"nodeType":"ParameterList","parameters":[],"src":"1081:2:157"},"virtual":false,"visibility":"internal"},{"id":89617,"nodeType":"FunctionDefinition","src":"1201:85:157","nodes":[],"body":{"id":89616,"nodeType":"Block","src":"1256:30:157","nodes":[],"statements":[{"expression":{"id":89614,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89584,"src":"1273:6:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":89613,"id":89615,"nodeType":"Return","src":"1266:13:157"}]},"documentation":{"id":89609,"nodeType":"StructuredDocumentation","src":"1131:65:157","text":" @dev Returns the address of the current owner."},"functionSelector":"8da5cb5b","implemented":true,"kind":"function","modifiers":[],"name":"owner","nameLocation":"1210:5:157","parameters":{"id":89610,"nodeType":"ParameterList","parameters":[],"src":"1215:2:157"},"returnParameters":{"id":89613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89612,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89617,"src":"1247:7:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89611,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1246:9:157"},"scope":89689,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89631,"nodeType":"FunctionDefinition","src":"1359:130:157","nodes":[],"body":{"id":89630,"nodeType":"Block","src":"1404:85:157","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":89626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":89622,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89617,"src":"1422:5:157","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":89623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1422:7:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":89624,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"1433:10:157","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":89625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1433:12:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1422:23:157","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572","id":89627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1447:34:157","typeDescriptions":{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""},"value":"Ownable: caller is not the owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe","typeString":"literal_string \"Ownable: caller is not the owner\""}],"id":89621,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1414:7:157","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1414:68:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89629,"nodeType":"ExpressionStatement","src":"1414:68:157"}]},"documentation":{"id":89618,"nodeType":"StructuredDocumentation","src":"1292:62:157","text":" @dev Throws if the sender is not the owner."},"implemented":true,"kind":"function","modifiers":[],"name":"_checkOwner","nameLocation":"1368:11:157","parameters":{"id":89619,"nodeType":"ParameterList","parameters":[],"src":"1379:2:157"},"returnParameters":{"id":89620,"nodeType":"ParameterList","parameters":[],"src":"1404:0:157"},"scope":89689,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":89645,"nodeType":"FunctionDefinition","src":"1824:101:157","nodes":[],"body":{"id":89644,"nodeType":"Block","src":"1878:47:157","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"30","id":89640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1915:1:157","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89639,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1907:7:157","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89638,"name":"address","nodeType":"ElementaryTypeName","src":"1907:7:157","typeDescriptions":{}}},"id":89641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1907:10:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89637,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89688,"src":"1888:18:157","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":89642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1888:30:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89643,"nodeType":"ExpressionStatement","src":"1888:30:157"}]},"documentation":{"id":89632,"nodeType":"StructuredDocumentation","src":"1495:324:157","text":" @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner."},"functionSelector":"715018a6","implemented":true,"kind":"function","modifiers":[{"id":89635,"kind":"modifierInvocation","modifierName":{"id":89634,"name":"onlyOwner","nameLocations":["1868:9:157"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"1868:9:157"},"nodeType":"ModifierInvocation","src":"1868:9:157"}],"name":"renounceOwnership","nameLocation":"1833:17:157","parameters":{"id":89633,"nodeType":"ParameterList","parameters":[],"src":"1850:2:157"},"returnParameters":{"id":89636,"nodeType":"ParameterList","parameters":[],"src":"1878:0:157"},"scope":89689,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":89668,"nodeType":"FunctionDefinition","src":"2074:198:157","nodes":[],"body":{"id":89667,"nodeType":"Block","src":"2144:128:157","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":89659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89654,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89648,"src":"2162:8:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":89657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2182:1:157","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":89656,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2174:7:157","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":89655,"name":"address","nodeType":"ElementaryTypeName","src":"2174:7:157","typeDescriptions":{}}},"id":89658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2174:10:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2162:22:157","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373","id":89660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2186:40:157","typeDescriptions":{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""},"value":"Ownable: new owner is the zero address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe","typeString":"literal_string \"Ownable: new owner is the zero address\""}],"id":89653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2154:7:157","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2154:73:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89662,"nodeType":"ExpressionStatement","src":"2154:73:157"},{"expression":{"arguments":[{"id":89664,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89648,"src":"2256:8:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":89663,"name":"_transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89688,"src":"2237:18:157","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":89665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2237:28:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89666,"nodeType":"ExpressionStatement","src":"2237:28:157"}]},"documentation":{"id":89646,"nodeType":"StructuredDocumentation","src":"1931:138:157","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner."},"functionSelector":"f2fde38b","implemented":true,"kind":"function","modifiers":[{"id":89651,"kind":"modifierInvocation","modifierName":{"id":89650,"name":"onlyOwner","nameLocations":["2134:9:157"],"nodeType":"IdentifierPath","referencedDeclaration":89608,"src":"2134:9:157"},"nodeType":"ModifierInvocation","src":"2134:9:157"}],"name":"transferOwnership","nameLocation":"2083:17:157","parameters":{"id":89649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89648,"mutability":"mutable","name":"newOwner","nameLocation":"2109:8:157","nodeType":"VariableDeclaration","scope":89668,"src":"2101:16:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89647,"name":"address","nodeType":"ElementaryTypeName","src":"2101:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2100:18:157"},"returnParameters":{"id":89652,"nodeType":"ParameterList","parameters":[],"src":"2144:0:157"},"scope":89689,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":89688,"nodeType":"FunctionDefinition","src":"2426:187:157","nodes":[],"body":{"id":89687,"nodeType":"Block","src":"2489:124:157","nodes":[],"statements":[{"assignments":[89675],"declarations":[{"constant":false,"id":89675,"mutability":"mutable","name":"oldOwner","nameLocation":"2507:8:157","nodeType":"VariableDeclaration","scope":89687,"src":"2499:16:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89674,"name":"address","nodeType":"ElementaryTypeName","src":"2499:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89677,"initialValue":{"id":89676,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89584,"src":"2518:6:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2499:25:157"},{"expression":{"id":89680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":89678,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89584,"src":"2534:6:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":89679,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89671,"src":"2543:8:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2534:17:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":89681,"nodeType":"ExpressionStatement","src":"2534:17:157"},{"eventCall":{"arguments":[{"id":89683,"name":"oldOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89675,"src":"2587:8:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89684,"name":"newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89671,"src":"2597:8:157","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":89682,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89590,"src":"2566:20:157","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":89685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2566:40:157","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89686,"nodeType":"EmitStatement","src":"2561:45:157"}]},"documentation":{"id":89669,"nodeType":"StructuredDocumentation","src":"2278:143:157","text":" @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction."},"implemented":true,"kind":"function","modifiers":[],"name":"_transferOwnership","nameLocation":"2435:18:157","parameters":{"id":89672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89671,"mutability":"mutable","name":"newOwner","nameLocation":"2462:8:157","nodeType":"VariableDeclaration","scope":89688,"src":"2454:16:157","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89670,"name":"address","nodeType":"ElementaryTypeName","src":"2454:7:157","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2453:18:157"},"returnParameters":{"id":89673,"nodeType":"ParameterList","parameters":[],"src":"2489:0:157"},"scope":89689,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":89581,"name":"Context","nameLocations":["683:7:157"],"nodeType":"IdentifierPath","referencedDeclaration":95576,"src":"683:7:157"},"id":89582,"nodeType":"InheritanceSpecifier","src":"683:7:157"}],"canonicalName":"Ownable","contractDependencies":[],"contractKind":"contract","documentation":{"id":89580,"nodeType":"StructuredDocumentation","src":"159:494:157","text":" @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."},"fullyImplemented":true,"linearizedBaseContracts":[89689,95576],"name":"Ownable","nameLocation":"672:7:157","scope":89690,"usedErrors":[],"usedEvents":[89590]}],"license":"MIT"},"id":157} \ No newline at end of file +{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Initializes the contract setting the deployer as the initial owner."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":"Ownable"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"}},"version":1},"id":157} \ No newline at end of file diff --git a/out/PRBMath.sol/PRBMath.json b/out/PRBMath.sol/PRBMath.json index dc76a771..00e8edf8 100644 --- a/out/PRBMath.sol/PRBMath.json +++ b/out/PRBMath.sol/PRBMath.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201bf9c585514781aba718b98a1dc9dfaa0662ff13ab0aaf03ab74c0095e3802dd64736f6c63430008170033","sourceMap":"3951:21323:196:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;3951:21323:196;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201bf9c585514781aba718b98a1dc9dfaa0662ff13ab0aaf03ab74c0095e3802dd64736f6c63430008170033","sourceMap":"3951:21323:196:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Common mathematical functions used in both PRBMathSD59x18 and PRBMathUD60x18. Note that this shared library does not always assume the signed 59.18-decimal fixed-point or the unsigned 60.18-decimal fixed-point representation. When it does not, it is explicitly mentioned in the NatSpec documentation.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"SCALE\":{\"details\":\"How many trailing decimals can be represented.\"},\"SCALE_INVERSE\":{\"details\":\"SCALE inverted mod 2^256.\"},\"SCALE_LPOTD\":{\"details\":\"Largest power of two divisor of SCALE.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/prb-math/contracts/PRBMath.sol\":\"PRBMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/prb-math/contracts/PRBMath.sol":"PRBMath"},"libraries":{}},"sources":{"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"ast":{"absolutePath":"node_modules/prb-math/contracts/PRBMath.sol","id":103144,"exportedSymbols":{"PRBMath":[103143],"PRBMathSD59x18__AbsInputTooSmall":[101273],"PRBMathSD59x18__CeilOverflow":[101278],"PRBMathSD59x18__DivInputTooSmall":[101281],"PRBMathSD59x18__DivOverflow":[101286],"PRBMathSD59x18__Exp2InputTooBig":[101296],"PRBMathSD59x18__ExpInputTooBig":[101291],"PRBMathSD59x18__FloorUnderflow":[101301],"PRBMathSD59x18__FromIntOverflow":[101306],"PRBMathSD59x18__FromIntUnderflow":[101311],"PRBMathSD59x18__GmNegativeProduct":[101318],"PRBMathSD59x18__GmOverflow":[101325],"PRBMathSD59x18__LogInputTooSmall":[101330],"PRBMathSD59x18__MulInputTooSmall":[101333],"PRBMathSD59x18__MulOverflow":[101338],"PRBMathSD59x18__PowuOverflow":[101343],"PRBMathSD59x18__SqrtNegativeInput":[101348],"PRBMathSD59x18__SqrtOverflow":[101353],"PRBMathUD60x18__AddOverflow":[101360],"PRBMathUD60x18__CeilOverflow":[101365],"PRBMathUD60x18__Exp2InputTooBig":[101375],"PRBMathUD60x18__ExpInputTooBig":[101370],"PRBMathUD60x18__FromUintOverflow":[101380],"PRBMathUD60x18__GmOverflow":[101387],"PRBMathUD60x18__LogInputTooSmall":[101392],"PRBMathUD60x18__SqrtOverflow":[101397],"PRBMathUD60x18__SubUnderflow":[101404],"PRBMath__MulDivFixedPointOverflow":[101255],"PRBMath__MulDivOverflow":[101262],"PRBMath__MulDivSignedInputTooSmall":[101265],"PRBMath__MulDivSignedOverflow":[101270]},"nodeType":"SourceUnit","src":"38:25237:196","nodes":[{"id":101250,"nodeType":"PragmaDirective","src":"38:24:196","nodes":[],"literals":["solidity",">=","0.8",".4"]},{"id":101255,"nodeType":"ErrorDefinition","src":"119:55:196","nodes":[],"documentation":{"id":101251,"nodeType":"StructuredDocumentation","src":"64:55:196","text":"@notice Emitted when the result overflows uint256."},"errorSelector":"d31b3402","name":"PRBMath__MulDivFixedPointOverflow","nameLocation":"125:33:196","parameters":{"id":101254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101253,"mutability":"mutable","name":"prod1","nameLocation":"167:5:196","nodeType":"VariableDeclaration","scope":101255,"src":"159:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101252,"name":"uint256","nodeType":"ElementaryTypeName","src":"159:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"158:15:196"}},{"id":101262,"nodeType":"ErrorDefinition","src":"231:66:196","nodes":[],"documentation":{"id":101256,"nodeType":"StructuredDocumentation","src":"176:55:196","text":"@notice Emitted when the result overflows uint256."},"errorSelector":"773cc18c","name":"PRBMath__MulDivOverflow","nameLocation":"237:23:196","parameters":{"id":101261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101258,"mutability":"mutable","name":"prod1","nameLocation":"269:5:196","nodeType":"VariableDeclaration","scope":101262,"src":"261:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101257,"name":"uint256","nodeType":"ElementaryTypeName","src":"261:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":101260,"mutability":"mutable","name":"denominator","nameLocation":"284:11:196","nodeType":"VariableDeclaration","scope":101262,"src":"276:19:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101259,"name":"uint256","nodeType":"ElementaryTypeName","src":"276:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"260:36:196"}},{"id":101265,"nodeType":"ErrorDefinition","src":"363:43:196","nodes":[],"documentation":{"id":101263,"nodeType":"StructuredDocumentation","src":"299:64:196","text":"@notice Emitted when one of the inputs is type(int256).min."},"errorSelector":"72161e22","name":"PRBMath__MulDivSignedInputTooSmall","nameLocation":"369:34:196","parameters":{"id":101264,"nodeType":"ParameterList","parameters":[],"src":"403:2:196"}},{"id":101270,"nodeType":"ErrorDefinition","src":"484:50:196","nodes":[],"documentation":{"id":101266,"nodeType":"StructuredDocumentation","src":"408:76:196","text":"@notice Emitted when the intermediary absolute result overflows int256."},"errorSelector":"41abb3fd","name":"PRBMath__MulDivSignedOverflow","nameLocation":"490:29:196","parameters":{"id":101269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101268,"mutability":"mutable","name":"rAbs","nameLocation":"528:4:196","nodeType":"VariableDeclaration","scope":101270,"src":"520:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101267,"name":"uint256","nodeType":"ElementaryTypeName","src":"520:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"519:14:196"}},{"id":101273,"nodeType":"ErrorDefinition","src":"587:41:196","nodes":[],"documentation":{"id":101271,"nodeType":"StructuredDocumentation","src":"536:51:196","text":"@notice Emitted when the input is MIN_SD59x18."},"errorSelector":"741d0b8c","name":"PRBMathSD59x18__AbsInputTooSmall","nameLocation":"593:32:196","parameters":{"id":101272,"nodeType":"ParameterList","parameters":[],"src":"625:2:196"}},{"id":101278,"nodeType":"ErrorDefinition","src":"691:45:196","nodes":[],"documentation":{"id":101274,"nodeType":"StructuredDocumentation","src":"630:61:196","text":"@notice Emitted when ceiling a number overflows SD59x18."},"errorSelector":"a733450a","name":"PRBMathSD59x18__CeilOverflow","nameLocation":"697:28:196","parameters":{"id":101277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101276,"mutability":"mutable","name":"x","nameLocation":"733:1:196","nodeType":"VariableDeclaration","scope":101278,"src":"726:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101275,"name":"int256","nodeType":"ElementaryTypeName","src":"726:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"725:10:196"}},{"id":101281,"nodeType":"ErrorDefinition","src":"797:41:196","nodes":[],"documentation":{"id":101279,"nodeType":"StructuredDocumentation","src":"738:59:196","text":"@notice Emitted when one of the inputs is MIN_SD59x18."},"errorSelector":"b3c754a3","name":"PRBMathSD59x18__DivInputTooSmall","nameLocation":"803:32:196","parameters":{"id":101280,"nodeType":"ParameterList","parameters":[],"src":"835:2:196"}},{"id":101286,"nodeType":"ErrorDefinition","src":"925:48:196","nodes":[],"documentation":{"id":101282,"nodeType":"StructuredDocumentation","src":"840:85:196","text":"@notice Emitted when one of the intermediary unsigned results overflows SD59x18."},"errorSelector":"7cb4bef5","name":"PRBMathSD59x18__DivOverflow","nameLocation":"931:27:196","parameters":{"id":101285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101284,"mutability":"mutable","name":"rAbs","nameLocation":"967:4:196","nodeType":"VariableDeclaration","scope":101286,"src":"959:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101283,"name":"uint256","nodeType":"ElementaryTypeName","src":"959:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"958:14:196"}},{"id":101291,"nodeType":"ErrorDefinition","src":"1050:47:196","nodes":[],"documentation":{"id":101287,"nodeType":"StructuredDocumentation","src":"975:75:196","text":"@notice Emitted when the input is greater than 133.084258667509499441."},"errorSelector":"99bb7541","name":"PRBMathSD59x18__ExpInputTooBig","nameLocation":"1056:30:196","parameters":{"id":101290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101289,"mutability":"mutable","name":"x","nameLocation":"1094:1:196","nodeType":"VariableDeclaration","scope":101291,"src":"1087:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101288,"name":"int256","nodeType":"ElementaryTypeName","src":"1087:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1086:10:196"}},{"id":101296,"nodeType":"ErrorDefinition","src":"1155:48:196","nodes":[],"documentation":{"id":101292,"nodeType":"StructuredDocumentation","src":"1099:56:196","text":"@notice Emitted when the input is greater than 192."},"errorSelector":"e69458f9","name":"PRBMathSD59x18__Exp2InputTooBig","nameLocation":"1161:31:196","parameters":{"id":101295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101294,"mutability":"mutable","name":"x","nameLocation":"1200:1:196","nodeType":"VariableDeclaration","scope":101296,"src":"1193:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101293,"name":"int256","nodeType":"ElementaryTypeName","src":"1193:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1192:10:196"}},{"id":101301,"nodeType":"ErrorDefinition","src":"1268:47:196","nodes":[],"documentation":{"id":101297,"nodeType":"StructuredDocumentation","src":"1205:63:196","text":"@notice Emitted when flooring a number underflows SD59x18."},"errorSelector":"7c00653f","name":"PRBMathSD59x18__FloorUnderflow","nameLocation":"1274:30:196","parameters":{"id":101300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101299,"mutability":"mutable","name":"x","nameLocation":"1312:1:196","nodeType":"VariableDeclaration","scope":101301,"src":"1305:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101298,"name":"int256","nodeType":"ElementaryTypeName","src":"1305:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1304:10:196"}},{"id":101306,"nodeType":"ErrorDefinition","src":"1414:48:196","nodes":[],"documentation":{"id":101302,"nodeType":"StructuredDocumentation","src":"1317:97:196","text":"@notice Emitted when converting a basic integer to the fixed-point format overflows SD59x18."},"errorSelector":"71f72a31","name":"PRBMathSD59x18__FromIntOverflow","nameLocation":"1420:31:196","parameters":{"id":101305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101304,"mutability":"mutable","name":"x","nameLocation":"1459:1:196","nodeType":"VariableDeclaration","scope":101306,"src":"1452:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101303,"name":"int256","nodeType":"ElementaryTypeName","src":"1452:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1451:10:196"}},{"id":101311,"nodeType":"ErrorDefinition","src":"1562:49:196","nodes":[],"documentation":{"id":101307,"nodeType":"StructuredDocumentation","src":"1464:98:196","text":"@notice Emitted when converting a basic integer to the fixed-point format underflows SD59x18."},"errorSelector":"e608e18b","name":"PRBMathSD59x18__FromIntUnderflow","nameLocation":"1568:32:196","parameters":{"id":101310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101309,"mutability":"mutable","name":"x","nameLocation":"1608:1:196","nodeType":"VariableDeclaration","scope":101311,"src":"1601:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101308,"name":"int256","nodeType":"ElementaryTypeName","src":"1601:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1600:10:196"}},{"id":101318,"nodeType":"ErrorDefinition","src":"1677:60:196","nodes":[],"documentation":{"id":101312,"nodeType":"StructuredDocumentation","src":"1613:64:196","text":"@notice Emitted when the product of the inputs is negative."},"errorSelector":"fe31079a","name":"PRBMathSD59x18__GmNegativeProduct","nameLocation":"1683:33:196","parameters":{"id":101317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101314,"mutability":"mutable","name":"x","nameLocation":"1724:1:196","nodeType":"VariableDeclaration","scope":101318,"src":"1717:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101313,"name":"int256","nodeType":"ElementaryTypeName","src":"1717:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":101316,"mutability":"mutable","name":"y","nameLocation":"1734:1:196","nodeType":"VariableDeclaration","scope":101318,"src":"1727:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101315,"name":"int256","nodeType":"ElementaryTypeName","src":"1727:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1716:20:196"}},{"id":101325,"nodeType":"ErrorDefinition","src":"1806:53:196","nodes":[],"documentation":{"id":101319,"nodeType":"StructuredDocumentation","src":"1739:67:196","text":"@notice Emitted when multiplying the inputs overflows SD59x18."},"errorSelector":"0fb9098e","name":"PRBMathSD59x18__GmOverflow","nameLocation":"1812:26:196","parameters":{"id":101324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101321,"mutability":"mutable","name":"x","nameLocation":"1846:1:196","nodeType":"VariableDeclaration","scope":101325,"src":"1839:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101320,"name":"int256","nodeType":"ElementaryTypeName","src":"1839:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":101323,"mutability":"mutable","name":"y","nameLocation":"1856:1:196","nodeType":"VariableDeclaration","scope":101325,"src":"1849:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101322,"name":"int256","nodeType":"ElementaryTypeName","src":"1849:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1838:20:196"}},{"id":101330,"nodeType":"ErrorDefinition","src":"1927:49:196","nodes":[],"documentation":{"id":101326,"nodeType":"StructuredDocumentation","src":"1861:66:196","text":"@notice Emitted when the input is less than or equal to zero."},"errorSelector":"613f4fba","name":"PRBMathSD59x18__LogInputTooSmall","nameLocation":"1933:32:196","parameters":{"id":101329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101328,"mutability":"mutable","name":"x","nameLocation":"1973:1:196","nodeType":"VariableDeclaration","scope":101330,"src":"1966:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101327,"name":"int256","nodeType":"ElementaryTypeName","src":"1966:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1965:10:196"}},{"id":101333,"nodeType":"ErrorDefinition","src":"2037:41:196","nodes":[],"documentation":{"id":101331,"nodeType":"StructuredDocumentation","src":"1978:59:196","text":"@notice Emitted when one of the inputs is MIN_SD59x18."},"errorSelector":"3406846c","name":"PRBMathSD59x18__MulInputTooSmall","nameLocation":"2043:32:196","parameters":{"id":101332,"nodeType":"ParameterList","parameters":[],"src":"2075:2:196"}},{"id":101338,"nodeType":"ErrorDefinition","src":"2157:48:196","nodes":[],"documentation":{"id":101334,"nodeType":"StructuredDocumentation","src":"2080:77:196","text":"@notice Emitted when the intermediary absolute result overflows SD59x18."},"errorSelector":"bf79e8d9","name":"PRBMathSD59x18__MulOverflow","nameLocation":"2163:27:196","parameters":{"id":101337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101336,"mutability":"mutable","name":"rAbs","nameLocation":"2199:4:196","nodeType":"VariableDeclaration","scope":101338,"src":"2191:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101335,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2190:14:196"}},{"id":101343,"nodeType":"ErrorDefinition","src":"2284:49:196","nodes":[],"documentation":{"id":101339,"nodeType":"StructuredDocumentation","src":"2207:77:196","text":"@notice Emitted when the intermediary absolute result overflows SD59x18."},"errorSelector":"ffb15bcd","name":"PRBMathSD59x18__PowuOverflow","nameLocation":"2290:28:196","parameters":{"id":101342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101341,"mutability":"mutable","name":"rAbs","nameLocation":"2327:4:196","nodeType":"VariableDeclaration","scope":101343,"src":"2319:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101340,"name":"uint256","nodeType":"ElementaryTypeName","src":"2319:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2318:14:196"}},{"id":101348,"nodeType":"ErrorDefinition","src":"2383:50:196","nodes":[],"documentation":{"id":101344,"nodeType":"StructuredDocumentation","src":"2335:48:196","text":"@notice Emitted when the input is negative."},"errorSelector":"c11907fe","name":"PRBMathSD59x18__SqrtNegativeInput","nameLocation":"2389:33:196","parameters":{"id":101347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101346,"mutability":"mutable","name":"x","nameLocation":"2430:1:196","nodeType":"VariableDeclaration","scope":101348,"src":"2423:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101345,"name":"int256","nodeType":"ElementaryTypeName","src":"2423:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2422:10:196"}},{"id":101353,"nodeType":"ErrorDefinition","src":"2511:45:196","nodes":[],"documentation":{"id":101349,"nodeType":"StructuredDocumentation","src":"2435:76:196","text":"@notice Emitted when the calculating the square root overflows SD59x18."},"errorSelector":"2c482c39","name":"PRBMathSD59x18__SqrtOverflow","nameLocation":"2517:28:196","parameters":{"id":101352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101351,"mutability":"mutable","name":"x","nameLocation":"2553:1:196","nodeType":"VariableDeclaration","scope":101353,"src":"2546:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101350,"name":"int256","nodeType":"ElementaryTypeName","src":"2546:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2545:10:196"}},{"id":101360,"nodeType":"ErrorDefinition","src":"2611:56:196","nodes":[],"documentation":{"id":101354,"nodeType":"StructuredDocumentation","src":"2558:53:196","text":"@notice Emitted when addition overflows UD60x18."},"errorSelector":"0aa6aef7","name":"PRBMathUD60x18__AddOverflow","nameLocation":"2617:27:196","parameters":{"id":101359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101356,"mutability":"mutable","name":"x","nameLocation":"2653:1:196","nodeType":"VariableDeclaration","scope":101360,"src":"2645:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101355,"name":"uint256","nodeType":"ElementaryTypeName","src":"2645:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":101358,"mutability":"mutable","name":"y","nameLocation":"2664:1:196","nodeType":"VariableDeclaration","scope":101360,"src":"2656:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101357,"name":"uint256","nodeType":"ElementaryTypeName","src":"2656:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2644:22:196"}},{"id":101365,"nodeType":"ErrorDefinition","src":"2730:46:196","nodes":[],"documentation":{"id":101361,"nodeType":"StructuredDocumentation","src":"2669:61:196","text":"@notice Emitted when ceiling a number overflows UD60x18."},"errorSelector":"7675d888","name":"PRBMathUD60x18__CeilOverflow","nameLocation":"2736:28:196","parameters":{"id":101364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101363,"mutability":"mutable","name":"x","nameLocation":"2773:1:196","nodeType":"VariableDeclaration","scope":101365,"src":"2765:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101362,"name":"uint256","nodeType":"ElementaryTypeName","src":"2765:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2764:11:196"}},{"id":101370,"nodeType":"ErrorDefinition","src":"2853:48:196","nodes":[],"documentation":{"id":101366,"nodeType":"StructuredDocumentation","src":"2778:75:196","text":"@notice Emitted when the input is greater than 133.084258667509499441."},"errorSelector":"315da068","name":"PRBMathUD60x18__ExpInputTooBig","nameLocation":"2859:30:196","parameters":{"id":101369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101368,"mutability":"mutable","name":"x","nameLocation":"2898:1:196","nodeType":"VariableDeclaration","scope":101370,"src":"2890:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101367,"name":"uint256","nodeType":"ElementaryTypeName","src":"2890:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2889:11:196"}},{"id":101375,"nodeType":"ErrorDefinition","src":"2959:49:196","nodes":[],"documentation":{"id":101371,"nodeType":"StructuredDocumentation","src":"2903:56:196","text":"@notice Emitted when the input is greater than 192."},"errorSelector":"4a4f26f1","name":"PRBMathUD60x18__Exp2InputTooBig","nameLocation":"2965:31:196","parameters":{"id":101374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101373,"mutability":"mutable","name":"x","nameLocation":"3005:1:196","nodeType":"VariableDeclaration","scope":101375,"src":"2997:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101372,"name":"uint256","nodeType":"ElementaryTypeName","src":"2997:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2996:11:196"}},{"id":101380,"nodeType":"ErrorDefinition","src":"3114:50:196","nodes":[],"documentation":{"id":101376,"nodeType":"StructuredDocumentation","src":"3010:104:196","text":"@notice Emitted when converting a basic integer to the fixed-point format format overflows UD60x18."},"errorSelector":"3492ffd9","name":"PRBMathUD60x18__FromUintOverflow","nameLocation":"3120:32:196","parameters":{"id":101379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101378,"mutability":"mutable","name":"x","nameLocation":"3161:1:196","nodeType":"VariableDeclaration","scope":101380,"src":"3153:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101377,"name":"uint256","nodeType":"ElementaryTypeName","src":"3153:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3152:11:196"}},{"id":101387,"nodeType":"ErrorDefinition","src":"3233:55:196","nodes":[],"documentation":{"id":101381,"nodeType":"StructuredDocumentation","src":"3166:67:196","text":"@notice Emitted when multiplying the inputs overflows UD60x18."},"errorSelector":"00c3efdf","name":"PRBMathUD60x18__GmOverflow","nameLocation":"3239:26:196","parameters":{"id":101386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101383,"mutability":"mutable","name":"x","nameLocation":"3274:1:196","nodeType":"VariableDeclaration","scope":101387,"src":"3266:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101382,"name":"uint256","nodeType":"ElementaryTypeName","src":"3266:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":101385,"mutability":"mutable","name":"y","nameLocation":"3285:1:196","nodeType":"VariableDeclaration","scope":101387,"src":"3277:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101384,"name":"uint256","nodeType":"ElementaryTypeName","src":"3277:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3265:22:196"}},{"id":101392,"nodeType":"ErrorDefinition","src":"3341:50:196","nodes":[],"documentation":{"id":101388,"nodeType":"StructuredDocumentation","src":"3290:51:196","text":"@notice Emitted when the input is less than 1."},"errorSelector":"d88504dc","name":"PRBMathUD60x18__LogInputTooSmall","nameLocation":"3347:32:196","parameters":{"id":101391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101390,"mutability":"mutable","name":"x","nameLocation":"3388:1:196","nodeType":"VariableDeclaration","scope":101392,"src":"3380:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101389,"name":"uint256","nodeType":"ElementaryTypeName","src":"3380:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3379:11:196"}},{"id":101397,"nodeType":"ErrorDefinition","src":"3469:46:196","nodes":[],"documentation":{"id":101393,"nodeType":"StructuredDocumentation","src":"3393:76:196","text":"@notice Emitted when the calculating the square root overflows UD60x18."},"errorSelector":"6155b67d","name":"PRBMathUD60x18__SqrtOverflow","nameLocation":"3475:28:196","parameters":{"id":101396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101395,"mutability":"mutable","name":"x","nameLocation":"3512:1:196","nodeType":"VariableDeclaration","scope":101397,"src":"3504:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101394,"name":"uint256","nodeType":"ElementaryTypeName","src":"3504:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3503:11:196"}},{"id":101404,"nodeType":"ErrorDefinition","src":"3574:57:196","nodes":[],"documentation":{"id":101398,"nodeType":"StructuredDocumentation","src":"3517:57:196","text":"@notice Emitted when subtraction underflows UD60x18."},"errorSelector":"41d96f39","name":"PRBMathUD60x18__SubUnderflow","nameLocation":"3580:28:196","parameters":{"id":101403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101400,"mutability":"mutable","name":"x","nameLocation":"3617:1:196","nodeType":"VariableDeclaration","scope":101404,"src":"3609:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101399,"name":"uint256","nodeType":"ElementaryTypeName","src":"3609:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":101402,"mutability":"mutable","name":"y","nameLocation":"3628:1:196","nodeType":"VariableDeclaration","scope":101404,"src":"3620:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101401,"name":"uint256","nodeType":"ElementaryTypeName","src":"3620:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3608:22:196"}},{"id":103143,"nodeType":"ContractDefinition","src":"3951:21323:196","nodes":[{"id":101409,"nodeType":"StructDefinition","src":"3994:44:196","nodes":[],"canonicalName":"PRBMath.SD59x18","documentation":{"id":101406,"nodeType":"StructuredDocumentation","src":"3973:16:196","text":"STRUCTS ///"},"members":[{"constant":false,"id":101408,"mutability":"mutable","name":"value","nameLocation":"4026:5:196","nodeType":"VariableDeclaration","scope":101409,"src":"4019:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":101407,"name":"int256","nodeType":"ElementaryTypeName","src":"4019:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"name":"SD59x18","nameLocation":"4001:7:196","scope":103143,"visibility":"public"},{"id":101412,"nodeType":"StructDefinition","src":"4044:45:196","nodes":[],"canonicalName":"PRBMath.UD60x18","members":[{"constant":false,"id":101411,"mutability":"mutable","name":"value","nameLocation":"4077:5:196","nodeType":"VariableDeclaration","scope":101412,"src":"4069:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101410,"name":"uint256","nodeType":"ElementaryTypeName","src":"4069:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"UD60x18","nameLocation":"4051:7:196","scope":103143,"visibility":"public"},{"id":101416,"nodeType":"VariableDeclaration","src":"4176:38:196","nodes":[],"constant":true,"documentation":{"id":101413,"nodeType":"StructuredDocumentation","src":"4116:55:196","text":"@dev How many trailing decimals can be represented."},"mutability":"constant","name":"SCALE","nameLocation":"4202:5:196","scope":103143,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101414,"name":"uint256","nodeType":"ElementaryTypeName","src":"4176:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31653138","id":101415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4210:4:196","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"value":"1e18"},"visibility":"internal"},{"id":101420,"nodeType":"VariableDeclaration","src":"4273:46:196","nodes":[],"constant":true,"documentation":{"id":101417,"nodeType":"StructuredDocumentation","src":"4221:47:196","text":"@dev Largest power of two divisor of SCALE."},"mutability":"constant","name":"SCALE_LPOTD","nameLocation":"4299:11:196","scope":103143,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101418,"name":"uint256","nodeType":"ElementaryTypeName","src":"4273:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"323632313434","id":101419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4313:6:196","typeDescriptions":{"typeIdentifier":"t_rational_262144_by_1","typeString":"int_const 262144"},"value":"262144"},"visibility":"internal"},{"id":101424,"nodeType":"VariableDeclaration","src":"4365:128:196","nodes":[],"constant":true,"documentation":{"id":101421,"nodeType":"StructuredDocumentation","src":"4326:34:196","text":"@dev SCALE inverted mod 2^256."},"mutability":"constant","name":"SCALE_INVERSE","nameLocation":"4391:13:196","scope":103143,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101422,"name":"uint256","nodeType":"ElementaryTypeName","src":"4365:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37383135363634363135353137343834313937393732373939343539383831363236323330363137353231323539323037363136313837363636315f353038383639353534323332363930323831","id":101423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4415:78:196","typeDescriptions":{"typeIdentifier":"t_rational_78156646155174841979727994598816262306175212592076161876661508869554232690281_by_1","typeString":"int_const 7815...(69 digits omitted)...0281"},"value":"78156646155174841979727994598816262306175212592076161876661_508869554232690281"},"visibility":"internal"},{"id":102476,"nodeType":"FunctionDefinition","src":"4886:8474:196","nodes":[],"body":{"id":102475,"nodeType":"Block","src":"4950:8410:196","nodes":[],"statements":[{"id":102474,"nodeType":"UncheckedBlock","src":"4960:8394:196","statements":[{"expression":{"id":101434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101432,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5052:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"3078383030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030","id":101433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5061:50:196","typeDescriptions":{"typeIdentifier":"t_rational_3138550867693340381917894711603833208051177722232017256448_by_1","typeString":"int_const 3138...(50 digits omitted)...6448"},"value":"0x800000000000000000000000000000000000000000000000"},"src":"5052:59:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101435,"nodeType":"ExpressionStatement","src":"5052:59:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101438,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101436,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5351:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030303030303030303030303030","id":101437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5355:18:196","typeDescriptions":{"typeIdentifier":"t_rational_9223372036854775808_by_1","typeString":"int_const 9223372036854775808"},"value":"0x8000000000000000"},"src":"5351:22:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5376:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5351:26:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101451,"nodeType":"IfStatement","src":"5347:110:196","trueBody":{"id":101450,"nodeType":"Block","src":"5379:78:196","statements":[{"expression":{"id":101448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101441,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5397:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101442,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5407:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783136413039453636374633424343393039","id":101443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5416:19:196","typeDescriptions":{"typeIdentifier":"t_rational_26087635650665564425_by_1","typeString":"int_const 26087635650665564425"},"value":"0x16A09E667F3BCC909"},"src":"5407:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101445,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5406:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5440:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5406:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5397:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101449,"nodeType":"ExpressionStatement","src":"5397:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101454,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101452,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5474:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030303030303030303030303030","id":101453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5478:18:196","typeDescriptions":{"typeIdentifier":"t_rational_4611686018427387904_by_1","typeString":"int_const 4611686018427387904"},"value":"0x4000000000000000"},"src":"5474:22:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5499:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5474:26:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101467,"nodeType":"IfStatement","src":"5470:110:196","trueBody":{"id":101466,"nodeType":"Block","src":"5502:78:196","statements":[{"expression":{"id":101464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101457,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5520:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101463,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101460,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101458,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5530:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783133303646453041333142373135324446","id":101459,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5539:19:196","typeDescriptions":{"typeIdentifier":"t_rational_21936999301089678047_by_1","typeString":"int_const 21936999301089678047"},"value":"0x1306FE0A31B7152DF"},"src":"5530:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101461,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5529:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5563:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5529:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5520:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101465,"nodeType":"ExpressionStatement","src":"5520:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101468,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5597:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030303030303030303030303030","id":101469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5601:18:196","typeDescriptions":{"typeIdentifier":"t_rational_2305843009213693952_by_1","typeString":"int_const 2305843009213693952"},"value":"0x2000000000000000"},"src":"5597:22:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5622:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5597:26:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101483,"nodeType":"IfStatement","src":"5593:110:196","trueBody":{"id":101482,"nodeType":"Block","src":"5625:78:196","statements":[{"expression":{"id":101480,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101473,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5643:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101474,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5653:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783131373242383343374435313741444345","id":101475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5662:19:196","typeDescriptions":{"typeIdentifier":"t_rational_20116317054877281742_by_1","typeString":"int_const 20116317054877281742"},"value":"0x1172B83C7D517ADCE"},"src":"5653:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101477,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5652:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5686:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5652:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5643:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101481,"nodeType":"ExpressionStatement","src":"5643:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101484,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5720:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030303030303030303030303030","id":101485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5724:18:196","typeDescriptions":{"typeIdentifier":"t_rational_1152921504606846976_by_1","typeString":"int_const 1152921504606846976"},"value":"0x1000000000000000"},"src":"5720:22:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5745:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5720:26:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101499,"nodeType":"IfStatement","src":"5716:110:196","trueBody":{"id":101498,"nodeType":"Block","src":"5748:78:196","statements":[{"expression":{"id":101496,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101489,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5766:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101490,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5776:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130423535383643463938393046363241","id":101491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5785:19:196","typeDescriptions":{"typeIdentifier":"t_rational_19263451207323153962_by_1","typeString":"int_const 19263451207323153962"},"value":"0x10B5586CF9890F62A"},"src":"5776:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101493,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5775:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5809:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5775:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5766:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101497,"nodeType":"ExpressionStatement","src":"5766:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101500,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5843:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030303030303030303030303030","id":101501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5847:17:196","typeDescriptions":{"typeIdentifier":"t_rational_576460752303423488_by_1","typeString":"int_const 576460752303423488"},"value":"0x800000000000000"},"src":"5843:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5867:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5843:25:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101515,"nodeType":"IfStatement","src":"5839:109:196","trueBody":{"id":101514,"nodeType":"Block","src":"5870:78:196","statements":[{"expression":{"id":101512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101505,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5888:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101506,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"5898:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130353942304433313538353734334145","id":101507,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5907:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18850675170876015534_by_1","typeString":"int_const 18850675170876015534"},"value":"0x1059B0D31585743AE"},"src":"5898:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101509,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5897:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5931:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"5897:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5888:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101513,"nodeType":"ExpressionStatement","src":"5888:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101520,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101516,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"5965:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030303030303030303030303030","id":101517,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5969:17:196","typeDescriptions":{"typeIdentifier":"t_rational_288230376151711744_by_1","typeString":"int_const 288230376151711744"},"value":"0x400000000000000"},"src":"5965:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101519,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5989:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5965:25:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101531,"nodeType":"IfStatement","src":"5961:109:196","trueBody":{"id":101530,"nodeType":"Block","src":"5992:78:196","statements":[{"expression":{"id":101528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101521,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6010:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101522,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6020:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130324339413345373738303630454537","id":101523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6029:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18647615946650685159_by_1","typeString":"int_const 18647615946650685159"},"value":"0x102C9A3E778060EE7"},"src":"6020:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101525,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6019:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6053:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6019:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6010:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101529,"nodeType":"ExpressionStatement","src":"6010:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101532,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6087:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030303030303030303030303030","id":101533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6091:17:196","typeDescriptions":{"typeIdentifier":"t_rational_144115188075855872_by_1","typeString":"int_const 144115188075855872"},"value":"0x200000000000000"},"src":"6087:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6111:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6087:25:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101547,"nodeType":"IfStatement","src":"6083:109:196","trueBody":{"id":101546,"nodeType":"Block","src":"6114:78:196","statements":[{"expression":{"id":101544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101537,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6132:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101538,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6142:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130313633444139464233333335364438","id":101539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6151:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18546908069882975960_by_1","typeString":"int_const 18546908069882975960"},"value":"0x10163DA9FB33356D8"},"src":"6142:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101541,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6141:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6175:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6141:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6132:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101545,"nodeType":"ExpressionStatement","src":"6132:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101552,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101548,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6209:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030303030303030303030303030","id":101549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6213:17:196","typeDescriptions":{"typeIdentifier":"t_rational_72057594037927936_by_1","typeString":"int_const 72057594037927936"},"value":"0x100000000000000"},"src":"6209:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6233:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6209:25:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101563,"nodeType":"IfStatement","src":"6205:109:196","trueBody":{"id":101562,"nodeType":"Block","src":"6236:78:196","statements":[{"expression":{"id":101560,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101553,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6254:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101554,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6264:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130304231414641354142434245443631","id":101555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6273:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18496758270674070881_by_1","typeString":"int_const 18496758270674070881"},"value":"0x100B1AFA5ABCBED61"},"src":"6264:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101557,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6263:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6297:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6263:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6254:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101561,"nodeType":"ExpressionStatement","src":"6254:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101564,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6331:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830303030303030303030303030","id":101565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6335:16:196","typeDescriptions":{"typeIdentifier":"t_rational_36028797018963968_by_1","typeString":"int_const 36028797018963968"},"value":"0x80000000000000"},"src":"6331:20:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6354:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6331:24:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101579,"nodeType":"IfStatement","src":"6327:108:196","trueBody":{"id":101578,"nodeType":"Block","src":"6357:78:196","statements":[{"expression":{"id":101576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101569,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6375:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101570,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6385:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303538433836444131433039454132","id":101571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6394:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18471734244850835106_by_1","typeString":"int_const 18471734244850835106"},"value":"0x10058C86DA1C09EA2"},"src":"6385:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101573,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6384:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6418:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6384:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6375:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101577,"nodeType":"ExpressionStatement","src":"6375:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101584,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101580,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6452:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430303030303030303030303030","id":101581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6456:16:196","typeDescriptions":{"typeIdentifier":"t_rational_18014398509481984_by_1","typeString":"int_const 18014398509481984"},"value":"0x40000000000000"},"src":"6452:20:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6475:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6452:24:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101595,"nodeType":"IfStatement","src":"6448:108:196","trueBody":{"id":101594,"nodeType":"Block","src":"6478:78:196","statements":[{"expression":{"id":101592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101585,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6496:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101586,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6506:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303243363035453245384345433530","id":101587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6515:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18459234930309000272_by_1","typeString":"int_const 18459234930309000272"},"value":"0x1002C605E2E8CEC50"},"src":"6506:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101589,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6505:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6539:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6505:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6496:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101593,"nodeType":"ExpressionStatement","src":"6496:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101596,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6573:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230303030303030303030303030","id":101597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6577:16:196","typeDescriptions":{"typeIdentifier":"t_rational_9007199254740992_by_1","typeString":"int_const 9007199254740992"},"value":"0x20000000000000"},"src":"6573:20:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101599,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6596:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6573:24:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101611,"nodeType":"IfStatement","src":"6569:108:196","trueBody":{"id":101610,"nodeType":"Block","src":"6599:78:196","statements":[{"expression":{"id":101608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101601,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6617:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101607,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101602,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6627:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303136324633393034303531464131","id":101603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6636:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18452988445124272033_by_1","typeString":"int_const 18452988445124272033"},"value":"0x100162F3904051FA1"},"src":"6627:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101605,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6626:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6660:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6626:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6617:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101609,"nodeType":"ExpressionStatement","src":"6617:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101612,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6694:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130303030303030303030303030","id":101613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6698:16:196","typeDescriptions":{"typeIdentifier":"t_rational_4503599627370496_by_1","typeString":"int_const 4503599627370496"},"value":"0x10000000000000"},"src":"6694:20:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6717:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6694:24:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101627,"nodeType":"IfStatement","src":"6690:108:196","trueBody":{"id":101626,"nodeType":"Block","src":"6720:78:196","statements":[{"expression":{"id":101624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101617,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6738:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101623,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101620,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101618,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6748:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303042313735454646444337364241","id":101619,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6757:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18449865995240371898_by_1","typeString":"int_const 18449865995240371898"},"value":"0x1000B175EFFDC76BA"},"src":"6748:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101621,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6747:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6781:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6747:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6738:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101625,"nodeType":"ExpressionStatement","src":"6738:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101628,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6815:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030303030303030303030","id":101629,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6819:15:196","typeDescriptions":{"typeIdentifier":"t_rational_2251799813685248_by_1","typeString":"int_const 2251799813685248"},"value":"0x8000000000000"},"src":"6815:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6837:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6815:23:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101643,"nodeType":"IfStatement","src":"6811:107:196","trueBody":{"id":101642,"nodeType":"Block","src":"6840:78:196","statements":[{"expression":{"id":101640,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101633,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6858:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101634,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6868:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303035384241303146423946393644","id":101635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6877:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18448304968436414829_by_1","typeString":"int_const 18448304968436414829"},"value":"0x100058BA01FB9F96D"},"src":"6868:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101637,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6867:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6901:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6867:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6858:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101641,"nodeType":"ExpressionStatement","src":"6858:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101644,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"6935:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030303030303030303030","id":101645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6939:15:196","typeDescriptions":{"typeIdentifier":"t_rational_1125899906842624_by_1","typeString":"int_const 1125899906842624"},"value":"0x4000000000000"},"src":"6935:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6957:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6935:23:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101659,"nodeType":"IfStatement","src":"6931:107:196","trueBody":{"id":101658,"nodeType":"Block","src":"6960:78:196","statements":[{"expression":{"id":101656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101649,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6978:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101650,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"6988:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303032433543433337444139343932","id":101651,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6997:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18447524504564044946_by_1","typeString":"int_const 18447524504564044946"},"value":"0x10002C5CC37DA9492"},"src":"6988:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101653,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6987:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101654,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7021:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"6987:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6978:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101657,"nodeType":"ExpressionStatement","src":"6978:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101660,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7055:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030303030303030303030","id":101661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7059:15:196","typeDescriptions":{"typeIdentifier":"t_rational_562949953421312_by_1","typeString":"int_const 562949953421312"},"value":"0x2000000000000"},"src":"7055:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7077:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7055:23:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101675,"nodeType":"IfStatement","src":"7051:107:196","trueBody":{"id":101674,"nodeType":"Block","src":"7080:78:196","statements":[{"expression":{"id":101672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101665,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7098:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101666,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7108:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303031363245353235454530353437","id":101667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7117:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18447134285009651015_by_1","typeString":"int_const 18447134285009651015"},"value":"0x1000162E525EE0547"},"src":"7108:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101669,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7107:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7141:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7107:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7098:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101673,"nodeType":"ExpressionStatement","src":"7098:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101676,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7175:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030303030303030303030","id":101677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7179:15:196","typeDescriptions":{"typeIdentifier":"t_rational_281474976710656_by_1","typeString":"int_const 281474976710656"},"value":"0x1000000000000"},"src":"7175:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7197:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7175:23:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101691,"nodeType":"IfStatement","src":"7171:107:196","trueBody":{"id":101690,"nodeType":"Block","src":"7200:78:196","statements":[{"expression":{"id":101688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101681,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7218:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101682,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7228:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030423137323535373735433034","id":101683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7237:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446939178327825412_by_1","typeString":"int_const 18446939178327825412"},"value":"0x10000B17255775C04"},"src":"7228:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101685,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7227:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7261:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7227:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7218:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101689,"nodeType":"ExpressionStatement","src":"7218:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101692,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7295:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030303030303030303030","id":101693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7299:14:196","typeDescriptions":{"typeIdentifier":"t_rational_140737488355328_by_1","typeString":"int_const 140737488355328"},"value":"0x800000000000"},"src":"7295:18:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7316:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7295:22:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101707,"nodeType":"IfStatement","src":"7291:106:196","trueBody":{"id":101706,"nodeType":"Block","src":"7319:78:196","statements":[{"expression":{"id":101704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101697,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7337:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101700,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101698,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7347:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030353842393142354243394145","id":101699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7356:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446841625760745902_by_1","typeString":"int_const 18446841625760745902"},"value":"0x1000058B91B5BC9AE"},"src":"7347:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101701,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7346:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101702,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7380:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7346:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7337:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101705,"nodeType":"ExpressionStatement","src":"7337:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101708,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7414:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030303030303030303030","id":101709,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7418:14:196","typeDescriptions":{"typeIdentifier":"t_rational_70368744177664_by_1","typeString":"int_const 70368744177664"},"value":"0x400000000000"},"src":"7414:18:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101711,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7435:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7414:22:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101723,"nodeType":"IfStatement","src":"7410:106:196","trueBody":{"id":101722,"nodeType":"Block","src":"7438:78:196","statements":[{"expression":{"id":101720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101713,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7456:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101714,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7466:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030324335433839443545433644","id":101715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7475:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446792849670663277_by_1","typeString":"int_const 18446792849670663277"},"value":"0x100002C5C89D5EC6D"},"src":"7466:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101717,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7465:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7499:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7465:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7456:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101721,"nodeType":"ExpressionStatement","src":"7456:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101724,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7533:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030303030303030303030","id":101725,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7537:14:196","typeDescriptions":{"typeIdentifier":"t_rational_35184372088832_by_1","typeString":"int_const 35184372088832"},"value":"0x200000000000"},"src":"7533:18:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7554:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7533:22:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101739,"nodeType":"IfStatement","src":"7529:106:196","trueBody":{"id":101738,"nodeType":"Block","src":"7557:78:196","statements":[{"expression":{"id":101736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101729,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7575:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101735,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101730,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7585:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030313632453433463446383331","id":101731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7594:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446768461673986097_by_1","typeString":"int_const 18446768461673986097"},"value":"0x10000162E43F4F831"},"src":"7585:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101733,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7584:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101734,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7618:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7584:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7575:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101737,"nodeType":"ExpressionStatement","src":"7575:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101744,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101742,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101740,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7652:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030303030303030303030","id":101741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7656:14:196","typeDescriptions":{"typeIdentifier":"t_rational_17592186044416_by_1","typeString":"int_const 17592186044416"},"value":"0x100000000000"},"src":"7652:18:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7673:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7652:22:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101755,"nodeType":"IfStatement","src":"7648:106:196","trueBody":{"id":101754,"nodeType":"Block","src":"7676:78:196","statements":[{"expression":{"id":101752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101745,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7694:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101746,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7704:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030304231373231424346433941","id":101747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7713:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446756267687738522_by_1","typeString":"int_const 18446756267687738522"},"value":"0x100000B1721BCFC9A"},"src":"7704:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101749,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7703:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7737:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7703:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7694:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101753,"nodeType":"ExpressionStatement","src":"7694:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101756,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7771:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830303030303030303030","id":101757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7775:13:196","typeDescriptions":{"typeIdentifier":"t_rational_8796093022208_by_1","typeString":"int_const 8796093022208"},"value":"0x80000000000"},"src":"7771:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7791:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7771:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101771,"nodeType":"IfStatement","src":"7767:105:196","trueBody":{"id":101770,"nodeType":"Block","src":"7794:78:196","statements":[{"expression":{"id":101768,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101761,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7812:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101764,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101762,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7822:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303538423930434631453645","id":101763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7831:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446750170697637486_by_1","typeString":"int_const 18446750170697637486"},"value":"0x10000058B90CF1E6E"},"src":"7822:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101765,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7821:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7855:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7821:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7812:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101769,"nodeType":"ExpressionStatement","src":"7812:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101776,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101772,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"7889:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430303030303030303030","id":101773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7893:13:196","typeDescriptions":{"typeIdentifier":"t_rational_4398046511104_by_1","typeString":"int_const 4398046511104"},"value":"0x40000000000"},"src":"7889:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7909:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7889:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101787,"nodeType":"IfStatement","src":"7885:105:196","trueBody":{"id":101786,"nodeType":"Block","src":"7912:78:196","statements":[{"expression":{"id":101784,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101777,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7930:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101783,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101778,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"7940:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303243354338363342373346","id":101779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7949:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446747122203342655_by_1","typeString":"int_const 18446747122203342655"},"value":"0x1000002C5C863B73F"},"src":"7940:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101781,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7939:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7973:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"7939:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7930:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101785,"nodeType":"ExpressionStatement","src":"7930:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101790,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101788,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8007:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230303030303030303030","id":101789,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8011:13:196","typeDescriptions":{"typeIdentifier":"t_rational_2199023255552_by_1","typeString":"int_const 2199023255552"},"value":"0x20000000000"},"src":"8007:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8027:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8007:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101803,"nodeType":"IfStatement","src":"8003:105:196","trueBody":{"id":101802,"nodeType":"Block","src":"8030:78:196","statements":[{"expression":{"id":101800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101793,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8048:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101794,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8058:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303136324534333045354132","id":101795,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8067:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446745597956384162_by_1","typeString":"int_const 18446745597956384162"},"value":"0x100000162E430E5A2"},"src":"8058:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101797,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8057:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8091:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8057:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8048:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101801,"nodeType":"ExpressionStatement","src":"8048:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101804,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8125:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130303030303030303030","id":101805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8129:13:196","typeDescriptions":{"typeIdentifier":"t_rational_1099511627776_by_1","typeString":"int_const 1099511627776"},"value":"0x10000000000"},"src":"8125:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8145:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8125:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101819,"nodeType":"IfStatement","src":"8121:105:196","trueBody":{"id":101818,"nodeType":"Block","src":"8148:78:196","statements":[{"expression":{"id":101816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101809,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8166:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101810,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8176:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303042313732313833353531","id":101811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8185:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744835832952145_by_1","typeString":"int_const 18446744835832952145"},"value":"0x1000000B172183551"},"src":"8176:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101813,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8175:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8209:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8175:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8166:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101817,"nodeType":"ExpressionStatement","src":"8166:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101824,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101822,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101820,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8243:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030303030303030","id":101821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8247:12:196","typeDescriptions":{"typeIdentifier":"t_rational_549755813888_by_1","typeString":"int_const 549755813888"},"value":"0x8000000000"},"src":"8243:16:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8262:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8243:20:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101835,"nodeType":"IfStatement","src":"8239:104:196","trueBody":{"id":101834,"nodeType":"Block","src":"8265:78:196","statements":[{"expression":{"id":101832,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101825,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8283:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101828,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101826,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8293:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303035384239304330423439","id":101827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8302:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744454771247945_by_1","typeString":"int_const 18446744454771247945"},"value":"0x100000058B90C0B49"},"src":"8293:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101829,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8292:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8326:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8292:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8283:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101833,"nodeType":"ExpressionStatement","src":"8283:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101836,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8360:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030303030303030","id":101837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8364:12:196","typeDescriptions":{"typeIdentifier":"t_rational_274877906944_by_1","typeString":"int_const 274877906944"},"value":"0x4000000000"},"src":"8360:16:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8379:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8360:20:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101851,"nodeType":"IfStatement","src":"8356:104:196","trueBody":{"id":101850,"nodeType":"Block","src":"8382:78:196","statements":[{"expression":{"id":101848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101841,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8400:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101842,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8410:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303032433543383630314343","id":101843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8419:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744264240398796_by_1","typeString":"int_const 18446744264240398796"},"value":"0x10000002C5C8601CC"},"src":"8410:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101845,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8409:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101846,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8443:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8409:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8400:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101849,"nodeType":"ExpressionStatement","src":"8400:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101854,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101852,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8477:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030303030303030","id":101853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8481:12:196","typeDescriptions":{"typeIdentifier":"t_rational_137438953472_by_1","typeString":"int_const 137438953472"},"value":"0x2000000000"},"src":"8477:16:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8496:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8477:20:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101867,"nodeType":"IfStatement","src":"8473:104:196","trueBody":{"id":101866,"nodeType":"Block","src":"8499:78:196","statements":[{"expression":{"id":101864,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101857,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8517:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101858,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8527:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303031363245343246464630","id":101859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8536:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744168974974960_by_1","typeString":"int_const 18446744168974974960"},"value":"0x1000000162E42FFF0"},"src":"8527:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101861,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8526:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8560:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8526:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8517:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101865,"nodeType":"ExpressionStatement","src":"8517:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101870,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101868,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8594:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030303030303030","id":101869,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8598:12:196","typeDescriptions":{"typeIdentifier":"t_rational_68719476736_by_1","typeString":"int_const 68719476736"},"value":"0x1000000000"},"src":"8594:16:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8613:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8594:20:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101883,"nodeType":"IfStatement","src":"8590:104:196","trueBody":{"id":101882,"nodeType":"Block","src":"8616:78:196","statements":[{"expression":{"id":101880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101873,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8634:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101874,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8644:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030423137323137464242","id":101875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8653:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744121342263227_by_1","typeString":"int_const 18446744121342263227"},"value":"0x10000000B17217FBB"},"src":"8644:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101877,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8643:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8677:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8643:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8634:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101881,"nodeType":"ExpressionStatement","src":"8634:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101884,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8711:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030303030303030","id":101885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8715:11:196","typeDescriptions":{"typeIdentifier":"t_rational_34359738368_by_1","typeString":"int_const 34359738368"},"value":"0x800000000"},"src":"8711:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8729:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8711:19:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101899,"nodeType":"IfStatement","src":"8707:103:196","trueBody":{"id":101898,"nodeType":"Block","src":"8732:78:196","statements":[{"expression":{"id":101896,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101889,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8750:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101890,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8760:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030353842393042464345","id":101891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8769:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744097525907406_by_1","typeString":"int_const 18446744097525907406"},"value":"0x1000000058B90BFCE"},"src":"8760:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101893,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8759:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101894,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8793:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8759:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8750:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101897,"nodeType":"ExpressionStatement","src":"8750:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101904,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101900,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8827:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030303030303030","id":101901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8831:11:196","typeDescriptions":{"typeIdentifier":"t_rational_17179869184_by_1","typeString":"int_const 17179869184"},"value":"0x400000000"},"src":"8827:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8845:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8827:19:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101915,"nodeType":"IfStatement","src":"8823:103:196","trueBody":{"id":101914,"nodeType":"Block","src":"8848:78:196","statements":[{"expression":{"id":101912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101905,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8866:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101906,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8876:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030324335433835464533","id":101907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8885:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744085617729507_by_1","typeString":"int_const 18446744085617729507"},"value":"0x100000002C5C85FE3"},"src":"8876:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101909,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8875:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101910,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8909:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8875:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8866:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101913,"nodeType":"ExpressionStatement","src":"8866:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101916,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"8943:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030303030303030","id":101917,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8947:11:196","typeDescriptions":{"typeIdentifier":"t_rational_8589934592_by_1","typeString":"int_const 8589934592"},"value":"0x200000000"},"src":"8943:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8961:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8943:19:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101931,"nodeType":"IfStatement","src":"8939:103:196","trueBody":{"id":101930,"nodeType":"Block","src":"8964:78:196","statements":[{"expression":{"id":101928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101921,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8982:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101927,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101922,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"8992:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030313632453432464631","id":101923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9001:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744079663640561_by_1","typeString":"int_const 18446744079663640561"},"value":"0x10000000162E42FF1"},"src":"8992:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101925,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8991:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9025:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"8991:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8982:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101929,"nodeType":"ExpressionStatement","src":"8982:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101932,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9059:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030303030303030","id":101933,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9063:11:196","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"value":"0x100000000"},"src":"9059:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9077:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9059:19:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101947,"nodeType":"IfStatement","src":"9055:103:196","trueBody":{"id":101946,"nodeType":"Block","src":"9080:78:196","statements":[{"expression":{"id":101944,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101937,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9098:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101940,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101938,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9108:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030304231373231374638","id":101939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9117:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744076686596088_by_1","typeString":"int_const 18446744076686596088"},"value":"0x100000000B17217F8"},"src":"9108:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101941,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9107:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9141:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9107:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9098:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101945,"nodeType":"ExpressionStatement","src":"9098:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101950,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101948,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9175:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830303030303030","id":101949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9179:10:196","typeDescriptions":{"typeIdentifier":"t_rational_2147483648_by_1","typeString":"int_const 2147483648"},"value":"0x80000000"},"src":"9175:14:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101951,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9192:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9175:18:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101963,"nodeType":"IfStatement","src":"9171:102:196","trueBody":{"id":101962,"nodeType":"Block","src":"9195:78:196","statements":[{"expression":{"id":101960,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101953,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9213:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101956,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101954,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9223:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303538423930424643","id":101955,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9232:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744075198073852_by_1","typeString":"int_const 18446744075198073852"},"value":"0x10000000058B90BFC"},"src":"9223:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101957,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9222:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9256:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9222:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9213:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101961,"nodeType":"ExpressionStatement","src":"9213:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101966,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101964,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9290:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430303030303030","id":101965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9294:10:196","typeDescriptions":{"typeIdentifier":"t_rational_1073741824_by_1","typeString":"int_const 1073741824"},"value":"0x40000000"},"src":"9290:14:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9307:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9290:18:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101979,"nodeType":"IfStatement","src":"9286:102:196","trueBody":{"id":101978,"nodeType":"Block","src":"9310:78:196","statements":[{"expression":{"id":101976,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101969,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9328:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101970,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9338:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303243354338354645","id":101971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9347:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744074453812734_by_1","typeString":"int_const 18446744074453812734"},"value":"0x1000000002C5C85FE"},"src":"9338:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101973,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9337:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9371:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9337:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9328:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101977,"nodeType":"ExpressionStatement","src":"9328:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101980,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9405:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230303030303030","id":101981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9409:10:196","typeDescriptions":{"typeIdentifier":"t_rational_536870912_by_1","typeString":"int_const 536870912"},"value":"0x20000000"},"src":"9405:14:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9422:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9405:18:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":101995,"nodeType":"IfStatement","src":"9401:102:196","trueBody":{"id":101994,"nodeType":"Block","src":"9425:78:196","statements":[{"expression":{"id":101992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":101985,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9443:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101986,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9453:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303136324534324646","id":101987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9462:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744074081682175_by_1","typeString":"int_const 18446744074081682175"},"value":"0x100000000162E42FF"},"src":"9453:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":101989,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9452:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":101990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9486:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9452:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9443:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":101993,"nodeType":"ExpressionStatement","src":"9443:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102000,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":101998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":101996,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9520:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130303030303030","id":101997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9524:10:196","typeDescriptions":{"typeIdentifier":"t_rational_268435456_by_1","typeString":"int_const 268435456"},"value":"0x10000000"},"src":"9520:14:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":101999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9537:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9520:18:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102011,"nodeType":"IfStatement","src":"9516:102:196","trueBody":{"id":102010,"nodeType":"Block","src":"9540:78:196","statements":[{"expression":{"id":102008,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102001,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9558:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102002,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9568:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303042313732313746","id":102003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9577:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073895616895_by_1","typeString":"int_const 18446744073895616895"},"value":"0x1000000000B17217F"},"src":"9568:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102005,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9567:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9601:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9567:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9558:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102009,"nodeType":"ExpressionStatement","src":"9558:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102016,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102012,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9635:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030303030","id":102013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9639:9:196","typeDescriptions":{"typeIdentifier":"t_rational_134217728_by_1","typeString":"int_const 134217728"},"value":"0x8000000"},"src":"9635:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9651:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9635:17:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102027,"nodeType":"IfStatement","src":"9631:101:196","trueBody":{"id":102026,"nodeType":"Block","src":"9654:78:196","statements":[{"expression":{"id":102024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102017,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9672:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102018,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9682:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303035384239304330","id":102019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9691:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073802584256_by_1","typeString":"int_const 18446744073802584256"},"value":"0x100000000058B90C0"},"src":"9682:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102021,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9681:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102022,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9715:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9681:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9672:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102025,"nodeType":"ExpressionStatement","src":"9672:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102032,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102028,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9749:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030303030","id":102029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9753:9:196","typeDescriptions":{"typeIdentifier":"t_rational_67108864_by_1","typeString":"int_const 67108864"},"value":"0x4000000"},"src":"9749:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9765:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9749:17:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102043,"nodeType":"IfStatement","src":"9745:101:196","trueBody":{"id":102042,"nodeType":"Block","src":"9768:78:196","statements":[{"expression":{"id":102040,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102033,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9786:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102034,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9796:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303032433543383630","id":102035,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9805:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073756067936_by_1","typeString":"int_const 18446744073756067936"},"value":"0x10000000002C5C860"},"src":"9796:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102037,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9795:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9829:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9795:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9786:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102041,"nodeType":"ExpressionStatement","src":"9786:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102044,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9863:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030303030","id":102045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9867:9:196","typeDescriptions":{"typeIdentifier":"t_rational_33554432_by_1","typeString":"int_const 33554432"},"value":"0x2000000"},"src":"9863:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102047,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9879:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9863:17:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102059,"nodeType":"IfStatement","src":"9859:101:196","trueBody":{"id":102058,"nodeType":"Block","src":"9882:78:196","statements":[{"expression":{"id":102056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102049,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9900:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"9910:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303031363245343330","id":102051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9919:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073732809776_by_1","typeString":"int_const 18446744073732809776"},"value":"0x1000000000162E430"},"src":"9910:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102053,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"9909:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9943:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"9909:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9900:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102057,"nodeType":"ExpressionStatement","src":"9900:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102060,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"9977:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030303030","id":102061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9981:9:196","typeDescriptions":{"typeIdentifier":"t_rational_16777216_by_1","typeString":"int_const 16777216"},"value":"0x1000000"},"src":"9977:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9993:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9977:17:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102075,"nodeType":"IfStatement","src":"9973:101:196","trueBody":{"id":102074,"nodeType":"Block","src":"9996:78:196","statements":[{"expression":{"id":102072,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102065,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10014:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102066,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10024:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030423137323138","id":102067,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10033:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073721180696_by_1","typeString":"int_const 18446744073721180696"},"value":"0x10000000000B17218"},"src":"10024:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102069,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10023:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10057:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10023:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10014:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102073,"nodeType":"ExpressionStatement","src":"10014:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102076,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10091:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030303030","id":102077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10095:8:196","typeDescriptions":{"typeIdentifier":"t_rational_8388608_by_1","typeString":"int_const 8388608"},"value":"0x800000"},"src":"10091:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10106:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10091:16:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102091,"nodeType":"IfStatement","src":"10087:100:196","trueBody":{"id":102090,"nodeType":"Block","src":"10109:78:196","statements":[{"expression":{"id":102088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102081,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10127:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102084,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102082,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10137:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030353842393043","id":102083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10146:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073715366156_by_1","typeString":"int_const 18446744073715366156"},"value":"0x1000000000058B90C"},"src":"10137:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102085,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10136:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10170:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10136:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10127:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102089,"nodeType":"ExpressionStatement","src":"10127:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102096,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102094,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102092,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10204:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030303030","id":102093,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10208:8:196","typeDescriptions":{"typeIdentifier":"t_rational_4194304_by_1","typeString":"int_const 4194304"},"value":"0x400000"},"src":"10204:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10219:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10204:16:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102107,"nodeType":"IfStatement","src":"10200:100:196","trueBody":{"id":102106,"nodeType":"Block","src":"10222:78:196","statements":[{"expression":{"id":102104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102097,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10240:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102098,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10250:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030324335433836","id":102099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10259:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073712458886_by_1","typeString":"int_const 18446744073712458886"},"value":"0x100000000002C5C86"},"src":"10250:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102101,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10249:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102102,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10283:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10249:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10240:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102105,"nodeType":"ExpressionStatement","src":"10240:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102112,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102108,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10317:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030303030","id":102109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10321:8:196","typeDescriptions":{"typeIdentifier":"t_rational_2097152_by_1","typeString":"int_const 2097152"},"value":"0x200000"},"src":"10317:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10332:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10317:16:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102123,"nodeType":"IfStatement","src":"10313:100:196","trueBody":{"id":102122,"nodeType":"Block","src":"10335:78:196","statements":[{"expression":{"id":102120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102113,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10353:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102114,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10363:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030313632453433","id":102115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10372:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073711005251_by_1","typeString":"int_const 18446744073711005251"},"value":"0x10000000000162E43"},"src":"10363:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102117,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10362:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10396:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10362:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10353:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102121,"nodeType":"ExpressionStatement","src":"10353:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102124,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10430:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030303030","id":102125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10434:8:196","typeDescriptions":{"typeIdentifier":"t_rational_1048576_by_1","typeString":"int_const 1048576"},"value":"0x100000"},"src":"10430:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10445:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10430:16:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102139,"nodeType":"IfStatement","src":"10426:100:196","trueBody":{"id":102138,"nodeType":"Block","src":"10448:78:196","statements":[{"expression":{"id":102136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102129,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10466:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102130,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10476:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030304231373231","id":102131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10485:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073710278433_by_1","typeString":"int_const 18446744073710278433"},"value":"0x100000000000B1721"},"src":"10476:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102133,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10475:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102134,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10509:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10475:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10466:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102137,"nodeType":"ExpressionStatement","src":"10466:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102140,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10543:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830303030","id":102141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10547:7:196","typeDescriptions":{"typeIdentifier":"t_rational_524288_by_1","typeString":"int_const 524288"},"value":"0x80000"},"src":"10543:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10557:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10543:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102155,"nodeType":"IfStatement","src":"10539:99:196","trueBody":{"id":102154,"nodeType":"Block","src":"10560:78:196","statements":[{"expression":{"id":102152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102145,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10578:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102146,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10588:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303538423931","id":102147,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10597:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709915025_by_1","typeString":"int_const 18446744073709915025"},"value":"0x10000000000058B91"},"src":"10588:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102149,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10587:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10621:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10587:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10578:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102153,"nodeType":"ExpressionStatement","src":"10578:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102160,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102156,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10655:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430303030","id":102157,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10659:7:196","typeDescriptions":{"typeIdentifier":"t_rational_262144_by_1","typeString":"int_const 262144"},"value":"0x40000"},"src":"10655:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102159,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10669:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10655:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102171,"nodeType":"IfStatement","src":"10651:99:196","trueBody":{"id":102170,"nodeType":"Block","src":"10672:78:196","statements":[{"expression":{"id":102168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102161,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10690:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102167,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102162,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10700:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303243354338","id":102163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10709:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709733320_by_1","typeString":"int_const 18446744073709733320"},"value":"0x1000000000002C5C8"},"src":"10700:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102165,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10699:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10733:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10699:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10690:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102169,"nodeType":"ExpressionStatement","src":"10690:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102176,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102172,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10767:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230303030","id":102173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10771:7:196","typeDescriptions":{"typeIdentifier":"t_rational_131072_by_1","typeString":"int_const 131072"},"value":"0x20000"},"src":"10767:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10781:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10767:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102187,"nodeType":"IfStatement","src":"10763:99:196","trueBody":{"id":102186,"nodeType":"Block","src":"10784:78:196","statements":[{"expression":{"id":102184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102177,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10802:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102180,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102178,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10812:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303136324534","id":102179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10821:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709642468_by_1","typeString":"int_const 18446744073709642468"},"value":"0x100000000000162E4"},"src":"10812:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102181,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10811:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102182,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10845:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10811:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10802:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102185,"nodeType":"ExpressionStatement","src":"10802:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102190,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102188,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10879:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130303030","id":102189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10883:7:196","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"value":"0x10000"},"src":"10879:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10893:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10879:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102203,"nodeType":"IfStatement","src":"10875:99:196","trueBody":{"id":102202,"nodeType":"Block","src":"10896:78:196","statements":[{"expression":{"id":102200,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102193,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10914:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102194,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"10924:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303042313732","id":102195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10933:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709597042_by_1","typeString":"int_const 18446744073709597042"},"value":"0x1000000000000B172"},"src":"10924:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102197,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10923:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10957:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"10923:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10914:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102201,"nodeType":"ExpressionStatement","src":"10914:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102204,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"10991:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838303030","id":102205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10995:6:196","typeDescriptions":{"typeIdentifier":"t_rational_32768_by_1","typeString":"int_const 32768"},"value":"0x8000"},"src":"10991:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11004:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10991:14:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102219,"nodeType":"IfStatement","src":"10987:98:196","trueBody":{"id":102218,"nodeType":"Block","src":"11007:78:196","statements":[{"expression":{"id":102216,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102209,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11025:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102210,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11035:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303035384239","id":102211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11044:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709574329_by_1","typeString":"int_const 18446744073709574329"},"value":"0x100000000000058B9"},"src":"11035:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102213,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11034:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11068:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11034:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11025:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102217,"nodeType":"ExpressionStatement","src":"11025:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102222,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102220,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11102:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834303030","id":102221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11106:6:196","typeDescriptions":{"typeIdentifier":"t_rational_16384_by_1","typeString":"int_const 16384"},"value":"0x4000"},"src":"11102:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11115:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11102:14:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102235,"nodeType":"IfStatement","src":"11098:98:196","trueBody":{"id":102234,"nodeType":"Block","src":"11118:78:196","statements":[{"expression":{"id":102232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102225,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11136:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102231,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102228,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102226,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11146:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303032433544","id":102227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11155:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709562973_by_1","typeString":"int_const 18446744073709562973"},"value":"0x10000000000002C5D"},"src":"11146:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102229,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11145:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11179:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11145:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11136:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102233,"nodeType":"ExpressionStatement","src":"11136:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102236,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11213:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832303030","id":102237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11217:6:196","typeDescriptions":{"typeIdentifier":"t_rational_8192_by_1","typeString":"int_const 8192"},"value":"0x2000"},"src":"11213:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11226:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11213:14:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102251,"nodeType":"IfStatement","src":"11209:98:196","trueBody":{"id":102250,"nodeType":"Block","src":"11229:78:196","statements":[{"expression":{"id":102248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102241,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11247:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102242,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11257:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303031363245","id":102243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11266:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709557294_by_1","typeString":"int_const 18446744073709557294"},"value":"0x1000000000000162E"},"src":"11257:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102245,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11256:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11290:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11256:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11247:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102249,"nodeType":"ExpressionStatement","src":"11247:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102252,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11324:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831303030","id":102253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11328:6:196","typeDescriptions":{"typeIdentifier":"t_rational_4096_by_1","typeString":"int_const 4096"},"value":"0x1000"},"src":"11324:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102255,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11337:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11324:14:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102267,"nodeType":"IfStatement","src":"11320:98:196","trueBody":{"id":102266,"nodeType":"Block","src":"11340:78:196","statements":[{"expression":{"id":102264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102257,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11358:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102258,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11368:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030423137","id":102259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11377:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709554455_by_1","typeString":"int_const 18446744073709554455"},"value":"0x10000000000000B17"},"src":"11368:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102261,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11367:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11401:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11367:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11358:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102265,"nodeType":"ExpressionStatement","src":"11358:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102272,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102270,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102268,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11435:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078383030","id":102269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11439:5:196","typeDescriptions":{"typeIdentifier":"t_rational_2048_by_1","typeString":"int_const 2048"},"value":"0x800"},"src":"11435:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11447:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11435:13:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102283,"nodeType":"IfStatement","src":"11431:97:196","trueBody":{"id":102282,"nodeType":"Block","src":"11450:78:196","statements":[{"expression":{"id":102280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102273,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11468:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102279,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102274,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11478:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030353843","id":102275,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11487:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709553036_by_1","typeString":"int_const 18446744073709553036"},"value":"0x1000000000000058C"},"src":"11478:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102277,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11477:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11511:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11477:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11468:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102281,"nodeType":"ExpressionStatement","src":"11468:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102284,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11545:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078343030","id":102285,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11549:5:196","typeDescriptions":{"typeIdentifier":"t_rational_1024_by_1","typeString":"int_const 1024"},"value":"0x400"},"src":"11545:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11557:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11545:13:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102299,"nodeType":"IfStatement","src":"11541:97:196","trueBody":{"id":102298,"nodeType":"Block","src":"11560:78:196","statements":[{"expression":{"id":102296,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102289,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11578:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102290,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11588:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030324336","id":102291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11597:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709552326_by_1","typeString":"int_const 18446744073709552326"},"value":"0x100000000000002C6"},"src":"11588:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102293,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11587:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11621:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11587:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11578:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102297,"nodeType":"ExpressionStatement","src":"11578:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102302,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102300,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11655:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078323030","id":102301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11659:5:196","typeDescriptions":{"typeIdentifier":"t_rational_512_by_1","typeString":"int_const 512"},"value":"0x200"},"src":"11655:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11667:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11655:13:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102315,"nodeType":"IfStatement","src":"11651:97:196","trueBody":{"id":102314,"nodeType":"Block","src":"11670:78:196","statements":[{"expression":{"id":102312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102305,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11688:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102311,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102306,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11698:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030313633","id":102307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11707:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551971_by_1","typeString":"int_const 18446744073709551971"},"value":"0x10000000000000163"},"src":"11698:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102309,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11697:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11731:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11697:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11688:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102313,"nodeType":"ExpressionStatement","src":"11688:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102316,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11765:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"3078313030","id":102317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11769:5:196","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"0x100"},"src":"11765:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11777:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11765:13:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102331,"nodeType":"IfStatement","src":"11761:97:196","trueBody":{"id":102330,"nodeType":"Block","src":"11780:78:196","statements":[{"expression":{"id":102328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102321,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11798:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102322,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11808:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030304231","id":102323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11817:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551793_by_1","typeString":"int_const 18446744073709551793"},"value":"0x100000000000000B1"},"src":"11808:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102325,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11807:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11841:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11807:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11798:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102329,"nodeType":"ExpressionStatement","src":"11798:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102332,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11875:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783830","id":102333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11879:4:196","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"},"src":"11875:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102335,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11886:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11875:12:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102347,"nodeType":"IfStatement","src":"11871:96:196","trueBody":{"id":102346,"nodeType":"Block","src":"11889:78:196","statements":[{"expression":{"id":102344,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102337,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11907:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102338,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"11917:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303539","id":102339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11926:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551705_by_1","typeString":"int_const 18446744073709551705"},"value":"0x10000000000000059"},"src":"11917:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102341,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11916:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11950:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"11916:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11907:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102345,"nodeType":"ExpressionStatement","src":"11907:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102348,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"11984:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783430","id":102349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11988:4:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"0x40"},"src":"11984:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11995:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11984:12:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102363,"nodeType":"IfStatement","src":"11980:96:196","trueBody":{"id":102362,"nodeType":"Block","src":"11998:78:196","statements":[{"expression":{"id":102360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102353,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12016:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102356,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102354,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12026:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303243","id":102355,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12035:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551660_by_1","typeString":"int_const 18446744073709551660"},"value":"0x1000000000000002C"},"src":"12026:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102357,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12025:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12059:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12025:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12016:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102361,"nodeType":"ExpressionStatement","src":"12016:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102364,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12093:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783230","id":102365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12097:4:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"0x20"},"src":"12093:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12104:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12093:12:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102379,"nodeType":"IfStatement","src":"12089:96:196","trueBody":{"id":102378,"nodeType":"Block","src":"12107:78:196","statements":[{"expression":{"id":102376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102369,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12125:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102370,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12135:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303136","id":102371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12144:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551638_by_1","typeString":"int_const 18446744073709551638"},"value":"0x10000000000000016"},"src":"12135:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102373,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12134:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12168:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12134:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12125:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102377,"nodeType":"ExpressionStatement","src":"12125:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102380,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12202:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"30783130","id":102381,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12206:4:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"0x10"},"src":"12202:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12213:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12202:12:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102395,"nodeType":"IfStatement","src":"12198:96:196","trueBody":{"id":102394,"nodeType":"Block","src":"12216:78:196","statements":[{"expression":{"id":102392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102385,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12234:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102391,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102388,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102386,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12244:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303042","id":102387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12253:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551627_by_1","typeString":"int_const 18446744073709551627"},"value":"0x1000000000000000B"},"src":"12244:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102389,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12243:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12277:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12243:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12234:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102393,"nodeType":"ExpressionStatement","src":"12234:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102396,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12311:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307838","id":102397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12315:3:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x8"},"src":"12311:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102399,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12321:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12311:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102411,"nodeType":"IfStatement","src":"12307:95:196","trueBody":{"id":102410,"nodeType":"Block","src":"12324:78:196","statements":[{"expression":{"id":102408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102401,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12342:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102402,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12352:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303036","id":102403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12361:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551622_by_1","typeString":"int_const 18446744073709551622"},"value":"0x10000000000000006"},"src":"12352:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102405,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12351:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12385:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12351:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12342:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102409,"nodeType":"ExpressionStatement","src":"12342:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102416,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102412,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12419:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307834","id":102413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12423:3:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x4"},"src":"12419:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12429:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12419:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102427,"nodeType":"IfStatement","src":"12415:95:196","trueBody":{"id":102426,"nodeType":"Block","src":"12432:78:196","statements":[{"expression":{"id":102424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102417,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12450:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102423,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102418,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12460:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303033","id":102419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12469:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551619_by_1","typeString":"int_const 18446744073709551619"},"value":"0x10000000000000003"},"src":"12460:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102421,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12459:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102422,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12493:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12459:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12450:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102425,"nodeType":"ExpressionStatement","src":"12450:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102432,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102428,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12527:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307832","id":102429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12531:3:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x2"},"src":"12527:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12537:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12527:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102443,"nodeType":"IfStatement","src":"12523:95:196","trueBody":{"id":102442,"nodeType":"Block","src":"12540:78:196","statements":[{"expression":{"id":102440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102433,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12558:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102434,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12568:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303031","id":102435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12577:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551617_by_1","typeString":"int_const 18446744073709551617"},"value":"0x10000000000000001"},"src":"12568:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102437,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12567:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12601:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12567:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12558:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102441,"nodeType":"ExpressionStatement","src":"12558:45:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102444,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"12635:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307831","id":102445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12639:3:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x1"},"src":"12635:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":102447,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12645:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12635:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102459,"nodeType":"IfStatement","src":"12631:95:196","trueBody":{"id":102458,"nodeType":"Block","src":"12648:78:196","statements":[{"expression":{"id":102456,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102449,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12666:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102455,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102450,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"12676:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"30783130303030303030303030303030303031","id":102451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12685:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551617_by_1","typeString":"int_const 18446744073709551617"},"value":"0x10000000000000001"},"src":"12676:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102453,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12675:30:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12709:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"12675:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12666:45:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102457,"nodeType":"ExpressionStatement","src":"12666:45:196"}]}},{"expression":{"id":102462,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102460,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"13286:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"id":102461,"name":"SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101416,"src":"13296:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13286:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102463,"nodeType":"ExpressionStatement","src":"13286:15:196"},{"expression":{"id":102472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102464,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101430,"src":"13315:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"313931","id":102465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13327:3:196","typeDescriptions":{"typeIdentifier":"t_rational_191_by_1","typeString":"int_const 191"},"value":"191"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102466,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101427,"src":"13334:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"3634","id":102467,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13339:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"13334:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102469,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13333:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13327:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102471,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13326:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13315:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102473,"nodeType":"ExpressionStatement","src":"13315:28:196"}]}]},"documentation":{"id":101425,"nodeType":"StructuredDocumentation","src":"4523:358:196","text":"@notice Calculates the binary exponent of x using the binary fraction method.\n @dev Has to use 192.64-bit fixed-point numbers.\n See https://ethereum.stackexchange.com/a/96594/24693.\n @param x The exponent as an unsigned 192.64-bit fixed-point number.\n @return result The result as an unsigned 60.18-decimal fixed-point number."},"implemented":true,"kind":"function","modifiers":[],"name":"exp2","nameLocation":"4895:4:196","parameters":{"id":101428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101427,"mutability":"mutable","name":"x","nameLocation":"4908:1:196","nodeType":"VariableDeclaration","scope":102476,"src":"4900:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101426,"name":"uint256","nodeType":"ElementaryTypeName","src":"4900:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4899:11:196"},"returnParameters":{"id":101431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101430,"mutability":"mutable","name":"result","nameLocation":"4942:6:196","nodeType":"VariableDeclaration","scope":102476,"src":"4934:14:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":101429,"name":"uint256","nodeType":"ElementaryTypeName","src":"4934:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4933:16:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":102601,"nodeType":"FunctionDefinition","src":"13747:744:196","nodes":[],"body":{"id":102600,"nodeType":"Block","src":"13822:669:196","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102484,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"13836:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"id":102487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13841:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"313238","id":102486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13844:3:196","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"13841:6:196","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"}},"src":"13836:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102498,"nodeType":"IfStatement","src":"13832:75:196","trueBody":{"id":102497,"nodeType":"Block","src":"13849:58:196","statements":[{"expression":{"id":102491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102489,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"13863:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":102490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13869:3:196","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"13863:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102492,"nodeType":"ExpressionStatement","src":"13863:9:196"},{"expression":{"id":102495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102493,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"13886:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"313238","id":102494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13893:3:196","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"13886:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102496,"nodeType":"ExpressionStatement","src":"13886:10:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102499,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"13920:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"id":102502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13925:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3634","id":102501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13928:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"13925:5:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"}},"src":"13920:10:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102513,"nodeType":"IfStatement","src":"13916:72:196","trueBody":{"id":102512,"nodeType":"Block","src":"13932:56:196","statements":[{"expression":{"id":102506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102504,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"13946:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":102505,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13952:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"13946:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102507,"nodeType":"ExpressionStatement","src":"13946:8:196"},{"expression":{"id":102510,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102508,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"13968:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3634","id":102509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13975:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"13968:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102511,"nodeType":"ExpressionStatement","src":"13968:9:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102518,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102514,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14001:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"id":102517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14006:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3332","id":102516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14009:2:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"14006:5:196","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"}},"src":"14001:10:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102528,"nodeType":"IfStatement","src":"13997:72:196","trueBody":{"id":102527,"nodeType":"Block","src":"14013:56:196","statements":[{"expression":{"id":102521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102519,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14027:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":102520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14033:2:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"14027:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102522,"nodeType":"ExpressionStatement","src":"14027:8:196"},{"expression":{"id":102525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102523,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14049:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3332","id":102524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14056:2:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"14049:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102526,"nodeType":"ExpressionStatement","src":"14049:9:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102529,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14082:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"id":102532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102530,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14087:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3136","id":102531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14090:2:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"14087:5:196","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"}},"src":"14082:10:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102543,"nodeType":"IfStatement","src":"14078:72:196","trueBody":{"id":102542,"nodeType":"Block","src":"14094:56:196","statements":[{"expression":{"id":102536,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102534,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14108:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":102535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14114:2:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"14108:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102537,"nodeType":"ExpressionStatement","src":"14108:8:196"},{"expression":{"id":102540,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102538,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14130:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"3136","id":102539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14137:2:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"14130:9:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102541,"nodeType":"ExpressionStatement","src":"14130:9:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102544,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14163:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"id":102547,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14168:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"38","id":102546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14171:1:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"14168:4:196","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"}},"src":"14163:9:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102558,"nodeType":"IfStatement","src":"14159:69:196","trueBody":{"id":102557,"nodeType":"Block","src":"14174:54:196","statements":[{"expression":{"id":102551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102549,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14188:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":102550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14194:1:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"14188:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102552,"nodeType":"ExpressionStatement","src":"14188:7:196"},{"expression":{"id":102555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102553,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14209:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"38","id":102554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14216:1:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"14209:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102556,"nodeType":"ExpressionStatement","src":"14209:8:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102563,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102559,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14241:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"id":102562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14246:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"34","id":102561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14249:1:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"14246:4:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"}},"src":"14241:9:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102573,"nodeType":"IfStatement","src":"14237:69:196","trueBody":{"id":102572,"nodeType":"Block","src":"14252:54:196","statements":[{"expression":{"id":102566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102564,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14266:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":102565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14272:1:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"14266:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102567,"nodeType":"ExpressionStatement","src":"14266:7:196"},{"expression":{"id":102570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102568,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14287:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"34","id":102569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14294:1:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"14287:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102571,"nodeType":"ExpressionStatement","src":"14287:8:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102574,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14319:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"id":102577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102575,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14324:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"32","id":102576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14327:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14324:4:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"}},"src":"14319:9:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102588,"nodeType":"IfStatement","src":"14315:69:196","trueBody":{"id":102587,"nodeType":"Block","src":"14330:54:196","statements":[{"expression":{"id":102581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102579,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14344:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"32","id":102580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14350:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14344:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102582,"nodeType":"ExpressionStatement","src":"14344:7:196"},{"expression":{"id":102585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102583,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14365:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"32","id":102584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14372:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"14365:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102586,"nodeType":"ExpressionStatement","src":"14365:8:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102593,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102589,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102479,"src":"14397:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"commonType":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"id":102592,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14402:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"31","id":102591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14405:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14402:4:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"}},"src":"14397:9:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102599,"nodeType":"IfStatement","src":"14393:92:196","trueBody":{"id":102598,"nodeType":"Block","src":"14408:77:196","statements":[{"expression":{"id":102596,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102594,"name":"msb","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102482,"src":"14466:3:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":102595,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14473:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"14466:8:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102597,"nodeType":"ExpressionStatement","src":"14466:8:196"}]}}]},"documentation":{"id":102477,"nodeType":"StructuredDocumentation","src":"13366:376:196","text":"@notice Finds the zero-based index of the first one in the binary representation of x.\n @dev See the note on msb in the \"Find First Set\" Wikipedia article https://en.wikipedia.org/wiki/Find_first_set\n @param x The uint256 number for which to find the index of the most significant bit.\n @return msb The index of the most significant bit as an uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"mostSignificantBit","nameLocation":"13756:18:196","parameters":{"id":102480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102479,"mutability":"mutable","name":"x","nameLocation":"13783:1:196","nodeType":"VariableDeclaration","scope":102601,"src":"13775:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102478,"name":"uint256","nodeType":"ElementaryTypeName","src":"13775:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13774:11:196"},"returnParameters":{"id":102483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102482,"mutability":"mutable","name":"msb","nameLocation":"13817:3:196","nodeType":"VariableDeclaration","scope":102601,"src":"13809:11:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102481,"name":"uint256","nodeType":"ElementaryTypeName","src":"13809:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13808:13:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":102732,"nodeType":"FunctionDefinition","src":"15079:3983:196","nodes":[],"body":{"id":102731,"nodeType":"Block","src":"15207:3855:196","nodes":[],"statements":[{"assignments":[102614],"declarations":[{"constant":false,"id":102614,"mutability":"mutable","name":"prod0","nameLocation":"15510:5:196","nodeType":"VariableDeclaration","scope":102731,"src":"15502:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102613,"name":"uint256","nodeType":"ElementaryTypeName","src":"15502:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102615,"nodeType":"VariableDeclarationStatement","src":"15502:13:196"},{"assignments":[102617],"declarations":[{"constant":false,"id":102617,"mutability":"mutable","name":"prod1","nameLocation":"15578:5:196","nodeType":"VariableDeclaration","scope":102731,"src":"15570:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102616,"name":"uint256","nodeType":"ElementaryTypeName","src":"15570:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102618,"nodeType":"VariableDeclarationStatement","src":"15570:13:196"},{"AST":{"nativeSrc":"15646:141:196","nodeType":"YulBlock","src":"15646:141:196","statements":[{"nativeSrc":"15660:30:196","nodeType":"YulVariableDeclaration","src":"15660:30:196","value":{"arguments":[{"name":"x","nativeSrc":"15677:1:196","nodeType":"YulIdentifier","src":"15677:1:196"},{"name":"y","nativeSrc":"15680:1:196","nodeType":"YulIdentifier","src":"15680:1:196"},{"arguments":[{"kind":"number","nativeSrc":"15687:1:196","nodeType":"YulLiteral","src":"15687:1:196","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"15683:3:196","nodeType":"YulIdentifier","src":"15683:3:196"},"nativeSrc":"15683:6:196","nodeType":"YulFunctionCall","src":"15683:6:196"}],"functionName":{"name":"mulmod","nativeSrc":"15670:6:196","nodeType":"YulIdentifier","src":"15670:6:196"},"nativeSrc":"15670:20:196","nodeType":"YulFunctionCall","src":"15670:20:196"},"variables":[{"name":"mm","nativeSrc":"15664:2:196","nodeType":"YulTypedName","src":"15664:2:196","type":""}]},{"nativeSrc":"15703:18:196","nodeType":"YulAssignment","src":"15703:18:196","value":{"arguments":[{"name":"x","nativeSrc":"15716:1:196","nodeType":"YulIdentifier","src":"15716:1:196"},{"name":"y","nativeSrc":"15719:1:196","nodeType":"YulIdentifier","src":"15719:1:196"}],"functionName":{"name":"mul","nativeSrc":"15712:3:196","nodeType":"YulIdentifier","src":"15712:3:196"},"nativeSrc":"15712:9:196","nodeType":"YulFunctionCall","src":"15712:9:196"},"variableNames":[{"name":"prod0","nativeSrc":"15703:5:196","nodeType":"YulIdentifier","src":"15703:5:196"}]},{"nativeSrc":"15734:43:196","nodeType":"YulAssignment","src":"15734:43:196","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"15751:2:196","nodeType":"YulIdentifier","src":"15751:2:196"},{"name":"prod0","nativeSrc":"15755:5:196","nodeType":"YulIdentifier","src":"15755:5:196"}],"functionName":{"name":"sub","nativeSrc":"15747:3:196","nodeType":"YulIdentifier","src":"15747:3:196"},"nativeSrc":"15747:14:196","nodeType":"YulFunctionCall","src":"15747:14:196"},{"arguments":[{"name":"mm","nativeSrc":"15766:2:196","nodeType":"YulIdentifier","src":"15766:2:196"},{"name":"prod0","nativeSrc":"15770:5:196","nodeType":"YulIdentifier","src":"15770:5:196"}],"functionName":{"name":"lt","nativeSrc":"15763:2:196","nodeType":"YulIdentifier","src":"15763:2:196"},"nativeSrc":"15763:13:196","nodeType":"YulFunctionCall","src":"15763:13:196"}],"functionName":{"name":"sub","nativeSrc":"15743:3:196","nodeType":"YulIdentifier","src":"15743:3:196"},"nativeSrc":"15743:34:196","nodeType":"YulFunctionCall","src":"15743:34:196"},"variableNames":[{"name":"prod1","nativeSrc":"15734:5:196","nodeType":"YulIdentifier","src":"15734:5:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":102614,"isOffset":false,"isSlot":false,"src":"15703:5:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"15755:5:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"15770:5:196","valueSize":1},{"declaration":102617,"isOffset":false,"isSlot":false,"src":"15734:5:196","valueSize":1},{"declaration":102604,"isOffset":false,"isSlot":false,"src":"15677:1:196","valueSize":1},{"declaration":102604,"isOffset":false,"isSlot":false,"src":"15716:1:196","valueSize":1},{"declaration":102606,"isOffset":false,"isSlot":false,"src":"15680:1:196","valueSize":1},{"declaration":102606,"isOffset":false,"isSlot":false,"src":"15719:1:196","valueSize":1}],"id":102619,"nodeType":"InlineAssembly","src":"15637:150:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102620,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102617,"src":"15860:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":102621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15869:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"15860:10:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102633,"nodeType":"IfStatement","src":"15856:138:196","trueBody":{"id":102632,"nodeType":"Block","src":"15872:122:196","statements":[{"id":102629,"nodeType":"UncheckedBlock","src":"15886:71:196","statements":[{"expression":{"id":102627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102623,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102611,"src":"15914:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102624,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102614,"src":"15923:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":102625,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"15931:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15923:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15914:28:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102628,"nodeType":"ExpressionStatement","src":"15914:28:196"}]},{"expression":{"id":102630,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102611,"src":"15977:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":102612,"id":102631,"nodeType":"Return","src":"15970:13:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102634,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102617,"src":"16092:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":102635,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"16101:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16092:20:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102643,"nodeType":"IfStatement","src":"16088:101:196","trueBody":{"id":102642,"nodeType":"Block","src":"16114:75:196","statements":[{"errorCall":{"arguments":[{"id":102638,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102617,"src":"16159:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":102639,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"16166:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102637,"name":"PRBMath__MulDivOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101262,"src":"16135:23:196","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256) pure"}},"id":102640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16135:43:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":102641,"nodeType":"RevertStatement","src":"16128:50:196"}]}},{"assignments":[102645],"declarations":[{"constant":false,"id":102645,"mutability":"mutable","name":"remainder","nameLocation":"16432:9:196","nodeType":"VariableDeclaration","scope":102731,"src":"16424:17:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102644,"name":"uint256","nodeType":"ElementaryTypeName","src":"16424:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102646,"nodeType":"VariableDeclarationStatement","src":"16424:17:196"},{"AST":{"nativeSrc":"16460:267:196","nodeType":"YulBlock","src":"16460:267:196","statements":[{"nativeSrc":"16521:38:196","nodeType":"YulAssignment","src":"16521:38:196","value":{"arguments":[{"name":"x","nativeSrc":"16541:1:196","nodeType":"YulIdentifier","src":"16541:1:196"},{"name":"y","nativeSrc":"16544:1:196","nodeType":"YulIdentifier","src":"16544:1:196"},{"name":"denominator","nativeSrc":"16547:11:196","nodeType":"YulIdentifier","src":"16547:11:196"}],"functionName":{"name":"mulmod","nativeSrc":"16534:6:196","nodeType":"YulIdentifier","src":"16534:6:196"},"nativeSrc":"16534:25:196","nodeType":"YulFunctionCall","src":"16534:25:196"},"variableNames":[{"name":"remainder","nativeSrc":"16521:9:196","nodeType":"YulIdentifier","src":"16521:9:196"}]},{"nativeSrc":"16633:41:196","nodeType":"YulAssignment","src":"16633:41:196","value":{"arguments":[{"name":"prod1","nativeSrc":"16646:5:196","nodeType":"YulIdentifier","src":"16646:5:196"},{"arguments":[{"name":"remainder","nativeSrc":"16656:9:196","nodeType":"YulIdentifier","src":"16656:9:196"},{"name":"prod0","nativeSrc":"16667:5:196","nodeType":"YulIdentifier","src":"16667:5:196"}],"functionName":{"name":"gt","nativeSrc":"16653:2:196","nodeType":"YulIdentifier","src":"16653:2:196"},"nativeSrc":"16653:20:196","nodeType":"YulFunctionCall","src":"16653:20:196"}],"functionName":{"name":"sub","nativeSrc":"16642:3:196","nodeType":"YulIdentifier","src":"16642:3:196"},"nativeSrc":"16642:32:196","nodeType":"YulFunctionCall","src":"16642:32:196"},"variableNames":[{"name":"prod1","nativeSrc":"16633:5:196","nodeType":"YulIdentifier","src":"16633:5:196"}]},{"nativeSrc":"16687:30:196","nodeType":"YulAssignment","src":"16687:30:196","value":{"arguments":[{"name":"prod0","nativeSrc":"16700:5:196","nodeType":"YulIdentifier","src":"16700:5:196"},{"name":"remainder","nativeSrc":"16707:9:196","nodeType":"YulIdentifier","src":"16707:9:196"}],"functionName":{"name":"sub","nativeSrc":"16696:3:196","nodeType":"YulIdentifier","src":"16696:3:196"},"nativeSrc":"16696:21:196","nodeType":"YulFunctionCall","src":"16696:21:196"},"variableNames":[{"name":"prod0","nativeSrc":"16687:5:196","nodeType":"YulIdentifier","src":"16687:5:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":102608,"isOffset":false,"isSlot":false,"src":"16547:11:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"16667:5:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"16687:5:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"16700:5:196","valueSize":1},{"declaration":102617,"isOffset":false,"isSlot":false,"src":"16633:5:196","valueSize":1},{"declaration":102617,"isOffset":false,"isSlot":false,"src":"16646:5:196","valueSize":1},{"declaration":102645,"isOffset":false,"isSlot":false,"src":"16521:9:196","valueSize":1},{"declaration":102645,"isOffset":false,"isSlot":false,"src":"16656:9:196","valueSize":1},{"declaration":102645,"isOffset":false,"isSlot":false,"src":"16707:9:196","valueSize":1},{"declaration":102604,"isOffset":false,"isSlot":false,"src":"16541:1:196","valueSize":1},{"declaration":102606,"isOffset":false,"isSlot":false,"src":"16544:1:196","valueSize":1}],"id":102647,"nodeType":"InlineAssembly","src":"16451:276:196"},{"id":102730,"nodeType":"UncheckedBlock","src":"16918:2138:196","statements":[{"assignments":[102649],"declarations":[{"constant":false,"id":102649,"mutability":"mutable","name":"lpotdod","nameLocation":"17053:7:196","nodeType":"VariableDeclaration","scope":102730,"src":"17045:15:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102648,"name":"uint256","nodeType":"ElementaryTypeName","src":"17045:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102657,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102656,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102650,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"17063:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"~","prefix":true,"src":"17078:12:196","subExpression":{"id":102651,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"17079:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":102653,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17093:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"17078:16:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102655,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17077:18:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17063:32:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17045:50:196"},{"AST":{"nativeSrc":"17118:392:196","nodeType":"YulBlock","src":"17118:392:196","statements":[{"nativeSrc":"17186:40:196","nodeType":"YulAssignment","src":"17186:40:196","value":{"arguments":[{"name":"denominator","nativeSrc":"17205:11:196","nodeType":"YulIdentifier","src":"17205:11:196"},{"name":"lpotdod","nativeSrc":"17218:7:196","nodeType":"YulIdentifier","src":"17218:7:196"}],"functionName":{"name":"div","nativeSrc":"17201:3:196","nodeType":"YulIdentifier","src":"17201:3:196"},"nativeSrc":"17201:25:196","nodeType":"YulFunctionCall","src":"17201:25:196"},"variableNames":[{"name":"denominator","nativeSrc":"17186:11:196","nodeType":"YulIdentifier","src":"17186:11:196"}]},{"nativeSrc":"17296:28:196","nodeType":"YulAssignment","src":"17296:28:196","value":{"arguments":[{"name":"prod0","nativeSrc":"17309:5:196","nodeType":"YulIdentifier","src":"17309:5:196"},{"name":"lpotdod","nativeSrc":"17316:7:196","nodeType":"YulIdentifier","src":"17316:7:196"}],"functionName":{"name":"div","nativeSrc":"17305:3:196","nodeType":"YulIdentifier","src":"17305:3:196"},"nativeSrc":"17305:19:196","nodeType":"YulFunctionCall","src":"17305:19:196"},"variableNames":[{"name":"prod0","nativeSrc":"17296:5:196","nodeType":"YulIdentifier","src":"17296:5:196"}]},{"nativeSrc":"17448:48:196","nodeType":"YulAssignment","src":"17448:48:196","value":{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"17471:1:196","nodeType":"YulLiteral","src":"17471:1:196","type":"","value":"0"},{"name":"lpotdod","nativeSrc":"17474:7:196","nodeType":"YulIdentifier","src":"17474:7:196"}],"functionName":{"name":"sub","nativeSrc":"17467:3:196","nodeType":"YulIdentifier","src":"17467:3:196"},"nativeSrc":"17467:15:196","nodeType":"YulFunctionCall","src":"17467:15:196"},{"name":"lpotdod","nativeSrc":"17484:7:196","nodeType":"YulIdentifier","src":"17484:7:196"}],"functionName":{"name":"div","nativeSrc":"17463:3:196","nodeType":"YulIdentifier","src":"17463:3:196"},"nativeSrc":"17463:29:196","nodeType":"YulFunctionCall","src":"17463:29:196"},{"kind":"number","nativeSrc":"17494:1:196","nodeType":"YulLiteral","src":"17494:1:196","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"17459:3:196","nodeType":"YulIdentifier","src":"17459:3:196"},"nativeSrc":"17459:37:196","nodeType":"YulFunctionCall","src":"17459:37:196"},"variableNames":[{"name":"lpotdod","nativeSrc":"17448:7:196","nodeType":"YulIdentifier","src":"17448:7:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":102608,"isOffset":false,"isSlot":false,"src":"17186:11:196","valueSize":1},{"declaration":102608,"isOffset":false,"isSlot":false,"src":"17205:11:196","valueSize":1},{"declaration":102649,"isOffset":false,"isSlot":false,"src":"17218:7:196","valueSize":1},{"declaration":102649,"isOffset":false,"isSlot":false,"src":"17316:7:196","valueSize":1},{"declaration":102649,"isOffset":false,"isSlot":false,"src":"17448:7:196","valueSize":1},{"declaration":102649,"isOffset":false,"isSlot":false,"src":"17474:7:196","valueSize":1},{"declaration":102649,"isOffset":false,"isSlot":false,"src":"17484:7:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"17296:5:196","valueSize":1},{"declaration":102614,"isOffset":false,"isSlot":false,"src":"17309:5:196","valueSize":1}],"id":102658,"nodeType":"InlineAssembly","src":"17109:401:196"},{"expression":{"id":102663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102659,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102614,"src":"17576:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"|=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102660,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102617,"src":"17585:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102661,"name":"lpotdod","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102649,"src":"17593:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17585:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17576:24:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102664,"nodeType":"ExpressionStatement","src":"17576:24:196"},{"assignments":[102666],"declarations":[{"constant":false,"id":102666,"mutability":"mutable","name":"inverse","nameLocation":"17926:7:196","nodeType":"VariableDeclaration","scope":102730,"src":"17918:15:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102665,"name":"uint256","nodeType":"ElementaryTypeName","src":"17918:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102673,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102669,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"33","id":102667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17937:1:196","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"3"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102668,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"17941:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17937:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102670,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17936:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"hexValue":"32","id":102671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17956:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"17936:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"17918:39:196"},{"expression":{"id":102680,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102674,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18174:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102675,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18185:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102676,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18189:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102677,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18203:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18189:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18185:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18174:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102681,"nodeType":"ExpressionStatement","src":"18174:36:196"},{"expression":{"id":102688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102682,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18243:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18254:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102686,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102684,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18258:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102685,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18272:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18258:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18254:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18243:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102689,"nodeType":"ExpressionStatement","src":"18243:36:196"},{"expression":{"id":102696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102690,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18313:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102695,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102691,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18324:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102692,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18328:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102693,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18342:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18328:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18324:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18313:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102697,"nodeType":"ExpressionStatement","src":"18313:36:196"},{"expression":{"id":102704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102698,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18383:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102703,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102699,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18394:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102702,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102700,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18398:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102701,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18412:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18398:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18394:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18383:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102705,"nodeType":"ExpressionStatement","src":"18383:36:196"},{"expression":{"id":102712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102706,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18453:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18464:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102710,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102708,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18468:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102709,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18482:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18468:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18464:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18453:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102713,"nodeType":"ExpressionStatement","src":"18453:36:196"},{"expression":{"id":102720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102714,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18524:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"*=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102719,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":102715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18535:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102718,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102716,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102608,"src":"18539:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102717,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"18553:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18539:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18535:25:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18524:36:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102721,"nodeType":"ExpressionStatement","src":"18524:36:196"},{"expression":{"id":102726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102722,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102611,"src":"18994:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102723,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102614,"src":"19003:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":102724,"name":"inverse","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102666,"src":"19011:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19003:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"18994:24:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102727,"nodeType":"ExpressionStatement","src":"18994:24:196"},{"expression":{"id":102728,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102611,"src":"19039:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":102612,"id":102729,"nodeType":"Return","src":"19032:13:196"}]}]},"documentation":{"id":102602,"nodeType":"StructuredDocumentation","src":"14497:577:196","text":"@notice Calculates floor(x*y÷denominator) with full precision.\n @dev Credit to Remco Bloemen under MIT license https://xn--2-umb.com/21/muldiv.\n Requirements:\n - The denominator cannot be zero.\n - The result must fit within uint256.\n Caveats:\n - This function does not work with fixed-point numbers.\n @param x The multiplicand as an uint256.\n @param y The multiplier as an uint256.\n @param denominator The divisor as an uint256.\n @return result The result as an uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDiv","nameLocation":"15088:6:196","parameters":{"id":102609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102604,"mutability":"mutable","name":"x","nameLocation":"15112:1:196","nodeType":"VariableDeclaration","scope":102732,"src":"15104:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102603,"name":"uint256","nodeType":"ElementaryTypeName","src":"15104:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":102606,"mutability":"mutable","name":"y","nameLocation":"15131:1:196","nodeType":"VariableDeclaration","scope":102732,"src":"15123:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102605,"name":"uint256","nodeType":"ElementaryTypeName","src":"15123:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":102608,"mutability":"mutable","name":"denominator","nameLocation":"15150:11:196","nodeType":"VariableDeclaration","scope":102732,"src":"15142:19:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102607,"name":"uint256","nodeType":"ElementaryTypeName","src":"15142:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15094:73:196"},"returnParameters":{"id":102612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102611,"mutability":"mutable","name":"result","nameLocation":"15199:6:196","nodeType":"VariableDeclaration","scope":102732,"src":"15191:14:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102610,"name":"uint256","nodeType":"ElementaryTypeName","src":"15191:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15190:16:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":102784,"nodeType":"FunctionDefinition","src":"20191:1149:196","nodes":[],"body":{"id":102783,"nodeType":"Block","src":"20278:1062:196","nodes":[],"statements":[{"assignments":[102743],"declarations":[{"constant":false,"id":102743,"mutability":"mutable","name":"prod0","nameLocation":"20296:5:196","nodeType":"VariableDeclaration","scope":102783,"src":"20288:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102742,"name":"uint256","nodeType":"ElementaryTypeName","src":"20288:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102744,"nodeType":"VariableDeclarationStatement","src":"20288:13:196"},{"assignments":[102746],"declarations":[{"constant":false,"id":102746,"mutability":"mutable","name":"prod1","nameLocation":"20319:5:196","nodeType":"VariableDeclaration","scope":102783,"src":"20311:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102745,"name":"uint256","nodeType":"ElementaryTypeName","src":"20311:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102747,"nodeType":"VariableDeclarationStatement","src":"20311:13:196"},{"AST":{"nativeSrc":"20343:141:196","nodeType":"YulBlock","src":"20343:141:196","statements":[{"nativeSrc":"20357:30:196","nodeType":"YulVariableDeclaration","src":"20357:30:196","value":{"arguments":[{"name":"x","nativeSrc":"20374:1:196","nodeType":"YulIdentifier","src":"20374:1:196"},{"name":"y","nativeSrc":"20377:1:196","nodeType":"YulIdentifier","src":"20377:1:196"},{"arguments":[{"kind":"number","nativeSrc":"20384:1:196","nodeType":"YulLiteral","src":"20384:1:196","type":"","value":"0"}],"functionName":{"name":"not","nativeSrc":"20380:3:196","nodeType":"YulIdentifier","src":"20380:3:196"},"nativeSrc":"20380:6:196","nodeType":"YulFunctionCall","src":"20380:6:196"}],"functionName":{"name":"mulmod","nativeSrc":"20367:6:196","nodeType":"YulIdentifier","src":"20367:6:196"},"nativeSrc":"20367:20:196","nodeType":"YulFunctionCall","src":"20367:20:196"},"variables":[{"name":"mm","nativeSrc":"20361:2:196","nodeType":"YulTypedName","src":"20361:2:196","type":""}]},{"nativeSrc":"20400:18:196","nodeType":"YulAssignment","src":"20400:18:196","value":{"arguments":[{"name":"x","nativeSrc":"20413:1:196","nodeType":"YulIdentifier","src":"20413:1:196"},{"name":"y","nativeSrc":"20416:1:196","nodeType":"YulIdentifier","src":"20416:1:196"}],"functionName":{"name":"mul","nativeSrc":"20409:3:196","nodeType":"YulIdentifier","src":"20409:3:196"},"nativeSrc":"20409:9:196","nodeType":"YulFunctionCall","src":"20409:9:196"},"variableNames":[{"name":"prod0","nativeSrc":"20400:5:196","nodeType":"YulIdentifier","src":"20400:5:196"}]},{"nativeSrc":"20431:43:196","nodeType":"YulAssignment","src":"20431:43:196","value":{"arguments":[{"arguments":[{"name":"mm","nativeSrc":"20448:2:196","nodeType":"YulIdentifier","src":"20448:2:196"},{"name":"prod0","nativeSrc":"20452:5:196","nodeType":"YulIdentifier","src":"20452:5:196"}],"functionName":{"name":"sub","nativeSrc":"20444:3:196","nodeType":"YulIdentifier","src":"20444:3:196"},"nativeSrc":"20444:14:196","nodeType":"YulFunctionCall","src":"20444:14:196"},{"arguments":[{"name":"mm","nativeSrc":"20463:2:196","nodeType":"YulIdentifier","src":"20463:2:196"},{"name":"prod0","nativeSrc":"20467:5:196","nodeType":"YulIdentifier","src":"20467:5:196"}],"functionName":{"name":"lt","nativeSrc":"20460:2:196","nodeType":"YulIdentifier","src":"20460:2:196"},"nativeSrc":"20460:13:196","nodeType":"YulFunctionCall","src":"20460:13:196"}],"functionName":{"name":"sub","nativeSrc":"20440:3:196","nodeType":"YulIdentifier","src":"20440:3:196"},"nativeSrc":"20440:34:196","nodeType":"YulFunctionCall","src":"20440:34:196"},"variableNames":[{"name":"prod1","nativeSrc":"20431:5:196","nodeType":"YulIdentifier","src":"20431:5:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":102743,"isOffset":false,"isSlot":false,"src":"20400:5:196","valueSize":1},{"declaration":102743,"isOffset":false,"isSlot":false,"src":"20452:5:196","valueSize":1},{"declaration":102743,"isOffset":false,"isSlot":false,"src":"20467:5:196","valueSize":1},{"declaration":102746,"isOffset":false,"isSlot":false,"src":"20431:5:196","valueSize":1},{"declaration":102735,"isOffset":false,"isSlot":false,"src":"20374:1:196","valueSize":1},{"declaration":102735,"isOffset":false,"isSlot":false,"src":"20413:1:196","valueSize":1},{"declaration":102737,"isOffset":false,"isSlot":false,"src":"20377:1:196","valueSize":1},{"declaration":102737,"isOffset":false,"isSlot":false,"src":"20416:1:196","valueSize":1}],"id":102748,"nodeType":"InlineAssembly","src":"20334:150:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102751,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102749,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102746,"src":"20498:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":102750,"name":"SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101416,"src":"20507:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20498:14:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102757,"nodeType":"IfStatement","src":"20494:92:196","trueBody":{"id":102756,"nodeType":"Block","src":"20514:72:196","statements":[{"errorCall":{"arguments":[{"id":102753,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102746,"src":"20569:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102752,"name":"PRBMath__MulDivFixedPointOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101255,"src":"20535:33:196","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":102754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20535:40:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":102755,"nodeType":"RevertStatement","src":"20528:47:196"}]}},{"assignments":[102759],"declarations":[{"constant":false,"id":102759,"mutability":"mutable","name":"remainder","nameLocation":"20604:9:196","nodeType":"VariableDeclaration","scope":102783,"src":"20596:17:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102758,"name":"uint256","nodeType":"ElementaryTypeName","src":"20596:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102760,"nodeType":"VariableDeclarationStatement","src":"20596:17:196"},{"assignments":[102762],"declarations":[{"constant":false,"id":102762,"mutability":"mutable","name":"roundUpUnit","nameLocation":"20631:11:196","nodeType":"VariableDeclaration","scope":102783,"src":"20623:19:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102761,"name":"uint256","nodeType":"ElementaryTypeName","src":"20623:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102763,"nodeType":"VariableDeclarationStatement","src":"20623:19:196"},{"AST":{"nativeSrc":"20661:117:196","nodeType":"YulBlock","src":"20661:117:196","statements":[{"nativeSrc":"20675:32:196","nodeType":"YulAssignment","src":"20675:32:196","value":{"arguments":[{"name":"x","nativeSrc":"20695:1:196","nodeType":"YulIdentifier","src":"20695:1:196"},{"name":"y","nativeSrc":"20698:1:196","nodeType":"YulIdentifier","src":"20698:1:196"},{"name":"SCALE","nativeSrc":"20701:5:196","nodeType":"YulIdentifier","src":"20701:5:196"}],"functionName":{"name":"mulmod","nativeSrc":"20688:6:196","nodeType":"YulIdentifier","src":"20688:6:196"},"nativeSrc":"20688:19:196","nodeType":"YulFunctionCall","src":"20688:19:196"},"variableNames":[{"name":"remainder","nativeSrc":"20675:9:196","nodeType":"YulIdentifier","src":"20675:9:196"}]},{"nativeSrc":"20720:48:196","nodeType":"YulAssignment","src":"20720:48:196","value":{"arguments":[{"name":"remainder","nativeSrc":"20738:9:196","nodeType":"YulIdentifier","src":"20738:9:196"},{"kind":"number","nativeSrc":"20749:18:196","nodeType":"YulLiteral","src":"20749:18:196","type":"","value":"499999999999999999"}],"functionName":{"name":"gt","nativeSrc":"20735:2:196","nodeType":"YulIdentifier","src":"20735:2:196"},"nativeSrc":"20735:33:196","nodeType":"YulFunctionCall","src":"20735:33:196"},"variableNames":[{"name":"roundUpUnit","nativeSrc":"20720:11:196","nodeType":"YulIdentifier","src":"20720:11:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":101416,"isOffset":false,"isSlot":false,"src":"20701:5:196","valueSize":1},{"declaration":102759,"isOffset":false,"isSlot":false,"src":"20675:9:196","valueSize":1},{"declaration":102759,"isOffset":false,"isSlot":false,"src":"20738:9:196","valueSize":1},{"declaration":102762,"isOffset":false,"isSlot":false,"src":"20720:11:196","valueSize":1},{"declaration":102735,"isOffset":false,"isSlot":false,"src":"20695:1:196","valueSize":1},{"declaration":102737,"isOffset":false,"isSlot":false,"src":"20698:1:196","valueSize":1}],"id":102764,"nodeType":"InlineAssembly","src":"20652:126:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102765,"name":"prod1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102746,"src":"20792:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":102766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20801:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"20792:10:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102781,"nodeType":"IfStatement","src":"20788:152:196","trueBody":{"id":102780,"nodeType":"Block","src":"20804:136:196","statements":[{"id":102779,"nodeType":"UncheckedBlock","src":"20818:112:196","statements":[{"expression":{"id":102775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102768,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102740,"src":"20846:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102771,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102769,"name":"prod0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102743,"src":"20856:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":102770,"name":"SCALE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101416,"src":"20864:5:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20856:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":102772,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"20855:15:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":102773,"name":"roundUpUnit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102762,"src":"20873:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20855:29:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"20846:38:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102776,"nodeType":"ExpressionStatement","src":"20846:38:196"},{"expression":{"id":102777,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102740,"src":"20909:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":102741,"id":102778,"nodeType":"Return","src":"20902:13:196"}]}]}},{"AST":{"nativeSrc":"20959:375:196","nodeType":"YulBlock","src":"20959:375:196","statements":[{"nativeSrc":"20973:351:196","nodeType":"YulAssignment","src":"20973:351:196","value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"prod0","nativeSrc":"21065:5:196","nodeType":"YulIdentifier","src":"21065:5:196"},{"name":"remainder","nativeSrc":"21072:9:196","nodeType":"YulIdentifier","src":"21072:9:196"}],"functionName":{"name":"sub","nativeSrc":"21061:3:196","nodeType":"YulIdentifier","src":"21061:3:196"},"nativeSrc":"21061:21:196","nodeType":"YulFunctionCall","src":"21061:21:196"},{"name":"SCALE_LPOTD","nativeSrc":"21084:11:196","nodeType":"YulIdentifier","src":"21084:11:196"}],"functionName":{"name":"div","nativeSrc":"21057:3:196","nodeType":"YulIdentifier","src":"21057:3:196"},"nativeSrc":"21057:39:196","nodeType":"YulFunctionCall","src":"21057:39:196"},{"arguments":[{"arguments":[{"name":"prod1","nativeSrc":"21130:5:196","nodeType":"YulIdentifier","src":"21130:5:196"},{"arguments":[{"name":"remainder","nativeSrc":"21140:9:196","nodeType":"YulIdentifier","src":"21140:9:196"},{"name":"prod0","nativeSrc":"21151:5:196","nodeType":"YulIdentifier","src":"21151:5:196"}],"functionName":{"name":"gt","nativeSrc":"21137:2:196","nodeType":"YulIdentifier","src":"21137:2:196"},"nativeSrc":"21137:20:196","nodeType":"YulFunctionCall","src":"21137:20:196"}],"functionName":{"name":"sub","nativeSrc":"21126:3:196","nodeType":"YulIdentifier","src":"21126:3:196"},"nativeSrc":"21126:32:196","nodeType":"YulFunctionCall","src":"21126:32:196"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"21172:1:196","nodeType":"YulLiteral","src":"21172:1:196","type":"","value":"0"},{"name":"SCALE_LPOTD","nativeSrc":"21175:11:196","nodeType":"YulIdentifier","src":"21175:11:196"}],"functionName":{"name":"sub","nativeSrc":"21168:3:196","nodeType":"YulIdentifier","src":"21168:3:196"},"nativeSrc":"21168:19:196","nodeType":"YulFunctionCall","src":"21168:19:196"},{"name":"SCALE_LPOTD","nativeSrc":"21189:11:196","nodeType":"YulIdentifier","src":"21189:11:196"}],"functionName":{"name":"div","nativeSrc":"21164:3:196","nodeType":"YulIdentifier","src":"21164:3:196"},"nativeSrc":"21164:37:196","nodeType":"YulFunctionCall","src":"21164:37:196"},{"kind":"number","nativeSrc":"21203:1:196","nodeType":"YulLiteral","src":"21203:1:196","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"21160:3:196","nodeType":"YulIdentifier","src":"21160:3:196"},"nativeSrc":"21160:45:196","nodeType":"YulFunctionCall","src":"21160:45:196"}],"functionName":{"name":"mul","nativeSrc":"21122:3:196","nodeType":"YulIdentifier","src":"21122:3:196"},"nativeSrc":"21122:84:196","nodeType":"YulFunctionCall","src":"21122:84:196"}],"functionName":{"name":"or","nativeSrc":"21029:2:196","nodeType":"YulIdentifier","src":"21029:2:196"},"nativeSrc":"21029:199:196","nodeType":"YulFunctionCall","src":"21029:199:196"},{"name":"SCALE_INVERSE","nativeSrc":"21250:13:196","nodeType":"YulIdentifier","src":"21250:13:196"}],"functionName":{"name":"mul","nativeSrc":"21004:3:196","nodeType":"YulIdentifier","src":"21004:3:196"},"nativeSrc":"21004:277:196","nodeType":"YulFunctionCall","src":"21004:277:196"},{"name":"roundUpUnit","nativeSrc":"21299:11:196","nodeType":"YulIdentifier","src":"21299:11:196"}],"functionName":{"name":"add","nativeSrc":"20983:3:196","nodeType":"YulIdentifier","src":"20983:3:196"},"nativeSrc":"20983:341:196","nodeType":"YulFunctionCall","src":"20983:341:196"},"variableNames":[{"name":"result","nativeSrc":"20973:6:196","nodeType":"YulIdentifier","src":"20973:6:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":101424,"isOffset":false,"isSlot":false,"src":"21250:13:196","valueSize":1},{"declaration":101420,"isOffset":false,"isSlot":false,"src":"21084:11:196","valueSize":1},{"declaration":101420,"isOffset":false,"isSlot":false,"src":"21175:11:196","valueSize":1},{"declaration":101420,"isOffset":false,"isSlot":false,"src":"21189:11:196","valueSize":1},{"declaration":102743,"isOffset":false,"isSlot":false,"src":"21065:5:196","valueSize":1},{"declaration":102743,"isOffset":false,"isSlot":false,"src":"21151:5:196","valueSize":1},{"declaration":102746,"isOffset":false,"isSlot":false,"src":"21130:5:196","valueSize":1},{"declaration":102759,"isOffset":false,"isSlot":false,"src":"21072:9:196","valueSize":1},{"declaration":102759,"isOffset":false,"isSlot":false,"src":"21140:9:196","valueSize":1},{"declaration":102740,"isOffset":false,"isSlot":false,"src":"20973:6:196","valueSize":1},{"declaration":102762,"isOffset":false,"isSlot":false,"src":"21299:11:196","valueSize":1}],"id":102782,"nodeType":"InlineAssembly","src":"20950:384:196"}]},"documentation":{"id":102733,"nodeType":"StructuredDocumentation","src":"19068:1118:196","text":"@notice Calculates floor(x*y÷1e18) with full precision.\n @dev Variant of \"mulDiv\" with constant folding, i.e. in which the denominator is always 1e18. Before returning the\n final result, we add 1 if (x * y) % SCALE >= HALF_SCALE. Without this, 6.6e-19 would be truncated to 0 instead of\n being rounded to 1e-18. See \"Listing 6\" and text above it at https://accu.org/index.php/journals/1717.\n Requirements:\n - The result must fit within uint256.\n Caveats:\n - The body is purposely left uncommented; see the NatSpec comments in \"PRBMath.mulDiv\" to understand how this works.\n - It is assumed that the result can never be type(uint256).max when x and y solve the following two equations:\n 1. x * y = type(uint256).max * SCALE\n 2. (x * y) % SCALE >= SCALE / 2\n @param x The multiplicand as an unsigned 60.18-decimal fixed-point number.\n @param y The multiplier as an unsigned 60.18-decimal fixed-point number.\n @return result The result as an unsigned 60.18-decimal fixed-point number."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDivFixedPoint","nameLocation":"20200:16:196","parameters":{"id":102738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102735,"mutability":"mutable","name":"x","nameLocation":"20225:1:196","nodeType":"VariableDeclaration","scope":102784,"src":"20217:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102734,"name":"uint256","nodeType":"ElementaryTypeName","src":"20217:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":102737,"mutability":"mutable","name":"y","nameLocation":"20236:1:196","nodeType":"VariableDeclaration","scope":102784,"src":"20228:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102736,"name":"uint256","nodeType":"ElementaryTypeName","src":"20228:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20216:22:196"},"returnParameters":{"id":102741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102740,"mutability":"mutable","name":"result","nameLocation":"20270:6:196","nodeType":"VariableDeclaration","scope":102784,"src":"20262:14:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102739,"name":"uint256","nodeType":"ElementaryTypeName","src":"20262:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20261:16:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":102937,"nodeType":"FunctionDefinition","src":"21881:1394:196","nodes":[],"body":{"id":102936,"nodeType":"Block","src":"22011:1264:196","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":102818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":102810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102796,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102787,"src":"22025:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":102799,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22035:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102798,"name":"int256","nodeType":"ElementaryTypeName","src":"22035:6:196","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":102797,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"22030:4:196","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":102800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22030:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":102801,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22043:3:196","memberName":"min","nodeType":"MemberAccess","src":"22030:16:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22025:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102803,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102789,"src":"22050:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":102806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22060:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102805,"name":"int256","nodeType":"ElementaryTypeName","src":"22060:6:196","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":102804,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"22055:4:196","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":102807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22055:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":102808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22068:3:196","memberName":"min","nodeType":"MemberAccess","src":"22055:16:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22050:21:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22025:46:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102817,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102811,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102791,"src":"22075:11:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"arguments":[{"id":102814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22095:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102813,"name":"int256","nodeType":"ElementaryTypeName","src":"22095:6:196","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":102812,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"22090:4:196","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":102815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22090:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":102816,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22103:3:196","memberName":"min","nodeType":"MemberAccess","src":"22090:16:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22075:31:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"22025:81:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102823,"nodeType":"IfStatement","src":"22021:155:196","trueBody":{"id":102822,"nodeType":"Block","src":"22108:68:196","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":102819,"name":"PRBMath__MulDivSignedInputTooSmall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101265,"src":"22129:34:196","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":102820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22129:36:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":102821,"nodeType":"RevertStatement","src":"22122:43:196"}]}},{"assignments":[102825],"declarations":[{"constant":false,"id":102825,"mutability":"mutable","name":"ax","nameLocation":"22266:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22258:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102824,"name":"uint256","nodeType":"ElementaryTypeName","src":"22258:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102826,"nodeType":"VariableDeclarationStatement","src":"22258:10:196"},{"assignments":[102828],"declarations":[{"constant":false,"id":102828,"mutability":"mutable","name":"ay","nameLocation":"22286:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22278:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102827,"name":"uint256","nodeType":"ElementaryTypeName","src":"22278:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102829,"nodeType":"VariableDeclarationStatement","src":"22278:10:196"},{"assignments":[102831],"declarations":[{"constant":false,"id":102831,"mutability":"mutable","name":"ad","nameLocation":"22306:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22298:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102830,"name":"uint256","nodeType":"ElementaryTypeName","src":"22298:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102832,"nodeType":"VariableDeclarationStatement","src":"22298:10:196"},{"id":102881,"nodeType":"UncheckedBlock","src":"22318:204:196","statements":[{"expression":{"id":102847,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102833,"name":"ax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102825,"src":"22342:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102834,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102787,"src":"22347:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":102835,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22351:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22347:5:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":102844,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102787,"src":"22377:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22369:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102842,"name":"uint256","nodeType":"ElementaryTypeName","src":"22369:7:196","typeDescriptions":{}}},"id":102845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22369:10:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22347:32:196","trueExpression":{"arguments":[{"id":102840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"22363:2:196","subExpression":{"id":102839,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102787,"src":"22364:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102838,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22355:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102837,"name":"uint256","nodeType":"ElementaryTypeName","src":"22355:7:196","typeDescriptions":{}}},"id":102841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22355:11:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22342:37:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102848,"nodeType":"ExpressionStatement","src":"22342:37:196"},{"expression":{"id":102863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102849,"name":"ay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102828,"src":"22393:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102850,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102789,"src":"22398:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":102851,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22402:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22398:5:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":102860,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102789,"src":"22428:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102859,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22420:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102858,"name":"uint256","nodeType":"ElementaryTypeName","src":"22420:7:196","typeDescriptions":{}}},"id":102861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22420:10:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22398:32:196","trueExpression":{"arguments":[{"id":102856,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"22414:2:196","subExpression":{"id":102855,"name":"y","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102789,"src":"22415:1:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22406:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102853,"name":"uint256","nodeType":"ElementaryTypeName","src":"22406:7:196","typeDescriptions":{}}},"id":102857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22406:11:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22393:37:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102864,"nodeType":"ExpressionStatement","src":"22393:37:196"},{"expression":{"id":102879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102865,"name":"ad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102831,"src":"22444:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":102868,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102866,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102791,"src":"22449:11:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":102867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"22463:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"22449:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":102876,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102791,"src":"22499:11:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22491:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102874,"name":"uint256","nodeType":"ElementaryTypeName","src":"22491:7:196","typeDescriptions":{}}},"id":102877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22491:20:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"22449:62:196","trueExpression":{"arguments":[{"id":102872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"22475:12:196","subExpression":{"id":102871,"name":"denominator","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102791,"src":"22476:11:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22467:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102869,"name":"uint256","nodeType":"ElementaryTypeName","src":"22467:7:196","typeDescriptions":{}}},"id":102873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22467:21:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22444:67:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102880,"nodeType":"ExpressionStatement","src":"22444:67:196"}]},{"assignments":[102883],"declarations":[{"constant":false,"id":102883,"mutability":"mutable","name":"rAbs","nameLocation":"22636:4:196","nodeType":"VariableDeclaration","scope":102936,"src":"22628:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102882,"name":"uint256","nodeType":"ElementaryTypeName","src":"22628:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102889,"initialValue":{"arguments":[{"id":102885,"name":"ax","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102825,"src":"22650:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":102886,"name":"ay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102828,"src":"22654:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":102887,"name":"ad","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102831,"src":"22658:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102884,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102732,"src":"22643:6:196","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":102888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22643:18:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"22628:33:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102890,"name":"rAbs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102883,"src":"22675:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":102895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22695:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102894,"name":"int256","nodeType":"ElementaryTypeName","src":"22695:6:196","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":102893,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"22690:4:196","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":102896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22690:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":102897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22703:3:196","memberName":"max","nodeType":"MemberAccess","src":"22690:16:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":102892,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22682:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102891,"name":"uint256","nodeType":"ElementaryTypeName","src":"22682:7:196","typeDescriptions":{}}},"id":102898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22682:25:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"22675:32:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102905,"nodeType":"IfStatement","src":"22671:105:196","trueBody":{"id":102904,"nodeType":"Block","src":"22709:67:196","statements":[{"errorCall":{"arguments":[{"id":102901,"name":"rAbs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102883,"src":"22760:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102900,"name":"PRBMath__MulDivSignedOverflow","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":101270,"src":"22730:29:196","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":102902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22730:35:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":102903,"nodeType":"RevertStatement","src":"22723:42:196"}]}},{"assignments":[102907],"declarations":[{"constant":false,"id":102907,"mutability":"mutable","name":"sx","nameLocation":"22848:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22840:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102906,"name":"uint256","nodeType":"ElementaryTypeName","src":"22840:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102908,"nodeType":"VariableDeclarationStatement","src":"22840:10:196"},{"assignments":[102910],"declarations":[{"constant":false,"id":102910,"mutability":"mutable","name":"sy","nameLocation":"22868:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22860:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102909,"name":"uint256","nodeType":"ElementaryTypeName","src":"22860:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102911,"nodeType":"VariableDeclarationStatement","src":"22860:10:196"},{"assignments":[102913],"declarations":[{"constant":false,"id":102913,"mutability":"mutable","name":"sd","nameLocation":"22888:2:196","nodeType":"VariableDeclaration","scope":102936,"src":"22880:10:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102912,"name":"uint256","nodeType":"ElementaryTypeName","src":"22880:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102914,"nodeType":"VariableDeclarationStatement","src":"22880:10:196"},{"AST":{"nativeSrc":"22909:129:196","nodeType":"YulBlock","src":"22909:129:196","statements":[{"nativeSrc":"22923:23:196","nodeType":"YulAssignment","src":"22923:23:196","value":{"arguments":[{"name":"x","nativeSrc":"22933:1:196","nodeType":"YulIdentifier","src":"22933:1:196"},{"arguments":[{"kind":"number","nativeSrc":"22940:1:196","nodeType":"YulLiteral","src":"22940:1:196","type":"","value":"0"},{"kind":"number","nativeSrc":"22943:1:196","nodeType":"YulLiteral","src":"22943:1:196","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"22936:3:196","nodeType":"YulIdentifier","src":"22936:3:196"},"nativeSrc":"22936:9:196","nodeType":"YulFunctionCall","src":"22936:9:196"}],"functionName":{"name":"sgt","nativeSrc":"22929:3:196","nodeType":"YulIdentifier","src":"22929:3:196"},"nativeSrc":"22929:17:196","nodeType":"YulFunctionCall","src":"22929:17:196"},"variableNames":[{"name":"sx","nativeSrc":"22923:2:196","nodeType":"YulIdentifier","src":"22923:2:196"}]},{"nativeSrc":"22959:23:196","nodeType":"YulAssignment","src":"22959:23:196","value":{"arguments":[{"name":"y","nativeSrc":"22969:1:196","nodeType":"YulIdentifier","src":"22969:1:196"},{"arguments":[{"kind":"number","nativeSrc":"22976:1:196","nodeType":"YulLiteral","src":"22976:1:196","type":"","value":"0"},{"kind":"number","nativeSrc":"22979:1:196","nodeType":"YulLiteral","src":"22979:1:196","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"22972:3:196","nodeType":"YulIdentifier","src":"22972:3:196"},"nativeSrc":"22972:9:196","nodeType":"YulFunctionCall","src":"22972:9:196"}],"functionName":{"name":"sgt","nativeSrc":"22965:3:196","nodeType":"YulIdentifier","src":"22965:3:196"},"nativeSrc":"22965:17:196","nodeType":"YulFunctionCall","src":"22965:17:196"},"variableNames":[{"name":"sy","nativeSrc":"22959:2:196","nodeType":"YulIdentifier","src":"22959:2:196"}]},{"nativeSrc":"22995:33:196","nodeType":"YulAssignment","src":"22995:33:196","value":{"arguments":[{"name":"denominator","nativeSrc":"23005:11:196","nodeType":"YulIdentifier","src":"23005:11:196"},{"arguments":[{"kind":"number","nativeSrc":"23022:1:196","nodeType":"YulLiteral","src":"23022:1:196","type":"","value":"0"},{"kind":"number","nativeSrc":"23025:1:196","nodeType":"YulLiteral","src":"23025:1:196","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"23018:3:196","nodeType":"YulIdentifier","src":"23018:3:196"},"nativeSrc":"23018:9:196","nodeType":"YulFunctionCall","src":"23018:9:196"}],"functionName":{"name":"sgt","nativeSrc":"23001:3:196","nodeType":"YulIdentifier","src":"23001:3:196"},"nativeSrc":"23001:27:196","nodeType":"YulFunctionCall","src":"23001:27:196"},"variableNames":[{"name":"sd","nativeSrc":"22995:2:196","nodeType":"YulIdentifier","src":"22995:2:196"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":102791,"isOffset":false,"isSlot":false,"src":"23005:11:196","valueSize":1},{"declaration":102913,"isOffset":false,"isSlot":false,"src":"22995:2:196","valueSize":1},{"declaration":102907,"isOffset":false,"isSlot":false,"src":"22923:2:196","valueSize":1},{"declaration":102910,"isOffset":false,"isSlot":false,"src":"22959:2:196","valueSize":1},{"declaration":102787,"isOffset":false,"isSlot":false,"src":"22933:1:196","valueSize":1},{"declaration":102789,"isOffset":false,"isSlot":false,"src":"22969:1:196","valueSize":1}],"id":102915,"nodeType":"InlineAssembly","src":"22900:138:196"},{"expression":{"id":102934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102916,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102794,"src":"23211:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102923,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102921,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102917,"name":"sx","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102907,"src":"23220:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":102918,"name":"sy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102910,"src":"23225:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23220:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"^","rightExpression":{"id":102920,"name":"sd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102913,"src":"23230:2:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"23220:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":102922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23236:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23220:17:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"arguments":[{"id":102931,"name":"rAbs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102883,"src":"23263:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102930,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23256:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102929,"name":"int256","nodeType":"ElementaryTypeName","src":"23256:6:196","typeDescriptions":{}}},"id":102932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23256:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":102933,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"23220:48:196","trueExpression":{"id":102928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"23240:13:196","subExpression":{"arguments":[{"id":102926,"name":"rAbs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102883,"src":"23248:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23241:6:196","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":102924,"name":"int256","nodeType":"ElementaryTypeName","src":"23241:6:196","typeDescriptions":{}}},"id":102927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23241:12:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23211:57:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":102935,"nodeType":"ExpressionStatement","src":"23211:57:196"}]},"documentation":{"id":102785,"nodeType":"StructuredDocumentation","src":"21346:530:196","text":"@notice Calculates floor(x*y÷denominator) with full precision.\n @dev An extension of \"mulDiv\" for signed numbers. Works by computing the signs and the absolute values separately.\n Requirements:\n - None of the inputs can be type(int256).min.\n - The result must fit within int256.\n @param x The multiplicand as an int256.\n @param y The multiplier as an int256.\n @param denominator The divisor as an int256.\n @return result The result as an int256."},"implemented":true,"kind":"function","modifiers":[],"name":"mulDivSigned","nameLocation":"21890:12:196","parameters":{"id":102792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102787,"mutability":"mutable","name":"x","nameLocation":"21919:1:196","nodeType":"VariableDeclaration","scope":102937,"src":"21912:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":102786,"name":"int256","nodeType":"ElementaryTypeName","src":"21912:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":102789,"mutability":"mutable","name":"y","nameLocation":"21937:1:196","nodeType":"VariableDeclaration","scope":102937,"src":"21930:8:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":102788,"name":"int256","nodeType":"ElementaryTypeName","src":"21930:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":102791,"mutability":"mutable","name":"denominator","nameLocation":"21955:11:196","nodeType":"VariableDeclaration","scope":102937,"src":"21948:18:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":102790,"name":"int256","nodeType":"ElementaryTypeName","src":"21948:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21902:70:196"},"returnParameters":{"id":102795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102794,"mutability":"mutable","name":"result","nameLocation":"22003:6:196","nodeType":"VariableDeclaration","scope":102937,"src":"21996:13:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":102793,"name":"int256","nodeType":"ElementaryTypeName","src":"21996:6:196","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21995:15:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":103142,"nodeType":"FunctionDefinition","src":"23690:1582:196","nodes":[],"body":{"id":103141,"nodeType":"Block","src":"23754:1518:196","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102947,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102945,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"23768:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":102946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23773:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"23768:6:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102951,"nodeType":"IfStatement","src":"23764:45:196","trueBody":{"id":102950,"nodeType":"Block","src":"23776:33:196","statements":[{"expression":{"hexValue":"30","id":102948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23797:1:196","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":102944,"id":102949,"nodeType":"Return","src":"23790:8:196"}]}},{"assignments":[102953],"declarations":[{"constant":false,"id":102953,"mutability":"mutable","name":"xAux","nameLocation":"23928:4:196","nodeType":"VariableDeclaration","scope":103141,"src":"23920:12:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102952,"name":"uint256","nodeType":"ElementaryTypeName","src":"23920:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":102958,"initialValue":{"arguments":[{"id":102956,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"23943:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":102955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23935:7:196","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":102954,"name":"uint256","nodeType":"ElementaryTypeName","src":"23935:7:196","typeDescriptions":{}}},"id":102957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23935:10:196","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"23920:25:196"},{"expression":{"id":102961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102959,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"23955:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"31","id":102960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23964:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"23955:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102962,"nodeType":"ExpressionStatement","src":"23955:10:196"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102963,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"23979:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3078313030303030303030303030303030303030303030303030303030303030303030","id":102964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"23987:35:196","typeDescriptions":{"typeIdentifier":"t_rational_340282366920938463463374607431768211456_by_1","typeString":"int_const 3402...(31 digits omitted)...1456"},"value":"0x100000000000000000000000000000000"},"src":"23979:43:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102975,"nodeType":"IfStatement","src":"23975:113:196","trueBody":{"id":102974,"nodeType":"Block","src":"24024:64:196","statements":[{"expression":{"id":102968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102966,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24038:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"313238","id":102967,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24047:3:196","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"src":"24038:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102969,"nodeType":"ExpressionStatement","src":"24038:12:196"},{"expression":{"id":102972,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102970,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24064:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3634","id":102971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24075:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"24064:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102973,"nodeType":"ExpressionStatement","src":"24064:13:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102976,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24101:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783130303030303030303030303030303030","id":102977,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24109:19:196","typeDescriptions":{"typeIdentifier":"t_rational_18446744073709551616_by_1","typeString":"int_const 18446744073709551616"},"value":"0x10000000000000000"},"src":"24101:27:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":102988,"nodeType":"IfStatement","src":"24097:96:196","trueBody":{"id":102987,"nodeType":"Block","src":"24130:63:196","statements":[{"expression":{"id":102981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102979,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24144:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3634","id":102980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24153:2:196","typeDescriptions":{"typeIdentifier":"t_rational_64_by_1","typeString":"int_const 64"},"value":"64"},"src":"24144:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102982,"nodeType":"ExpressionStatement","src":"24144:11:196"},{"expression":{"id":102985,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102983,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24169:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3332","id":102984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24180:2:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"24169:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102986,"nodeType":"ExpressionStatement","src":"24169:13:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":102991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":102989,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24206:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3078313030303030303030","id":102990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24214:11:196","typeDescriptions":{"typeIdentifier":"t_rational_4294967296_by_1","typeString":"int_const 4294967296"},"value":"0x100000000"},"src":"24206:19:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":103001,"nodeType":"IfStatement","src":"24202:88:196","trueBody":{"id":103000,"nodeType":"Block","src":"24227:63:196","statements":[{"expression":{"id":102994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102992,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24241:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3332","id":102993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24250:2:196","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"24241:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102995,"nodeType":"ExpressionStatement","src":"24241:11:196"},{"expression":{"id":102998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":102996,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24266:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"3136","id":102997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24277:2:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"24266:13:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":102999,"nodeType":"ExpressionStatement","src":"24266:13:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103002,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24303:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783130303030","id":103003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24311:7:196","typeDescriptions":{"typeIdentifier":"t_rational_65536_by_1","typeString":"int_const 65536"},"value":"0x10000"},"src":"24303:15:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":103014,"nodeType":"IfStatement","src":"24299:83:196","trueBody":{"id":103013,"nodeType":"Block","src":"24320:62:196","statements":[{"expression":{"id":103007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103005,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24334:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"3136","id":103006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24343:2:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"16"},"src":"24334:11:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103008,"nodeType":"ExpressionStatement","src":"24334:11:196"},{"expression":{"id":103011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103009,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24359:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"38","id":103010,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24370:1:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"24359:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103012,"nodeType":"ExpressionStatement","src":"24359:12:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103015,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24395:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"3078313030","id":103016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24403:5:196","typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"0x100"},"src":"24395:13:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":103027,"nodeType":"IfStatement","src":"24391:80:196","trueBody":{"id":103026,"nodeType":"Block","src":"24410:61:196","statements":[{"expression":{"id":103020,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103018,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24424:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"38","id":103019,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24433:1:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"24424:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103021,"nodeType":"ExpressionStatement","src":"24424:10:196"},{"expression":{"id":103024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103022,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24448:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"34","id":103023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24459:1:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"24448:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103025,"nodeType":"ExpressionStatement","src":"24448:12:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103028,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24484:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30783130","id":103029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24492:4:196","typeDescriptions":{"typeIdentifier":"t_rational_16_by_1","typeString":"int_const 16"},"value":"0x10"},"src":"24484:12:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":103040,"nodeType":"IfStatement","src":"24480:79:196","trueBody":{"id":103039,"nodeType":"Block","src":"24498:61:196","statements":[{"expression":{"id":103033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103031,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24512:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":103032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24521:1:196","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"24512:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103034,"nodeType":"ExpressionStatement","src":"24512:10:196"},{"expression":{"id":103037,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103035,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24536:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"32","id":103036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24547:1:196","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"24536:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103038,"nodeType":"ExpressionStatement","src":"24536:12:196"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103041,"name":"xAux","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102953,"src":"24572:4:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"307838","id":103042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24580:3:196","typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"0x8"},"src":"24572:11:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":103049,"nodeType":"IfStatement","src":"24568:54:196","trueBody":{"id":103048,"nodeType":"Block","src":"24585:37:196","statements":[{"expression":{"id":103046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103044,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24599:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"<<=","rightHandSide":{"hexValue":"31","id":103045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24610:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24599:12:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103047,"nodeType":"ExpressionStatement","src":"24599:12:196"}]}},{"id":103140,"nodeType":"UncheckedBlock","src":"24736:530:196","statements":[{"expression":{"id":103059,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103050,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24760:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103058,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103051,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24770:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103052,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"24779:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103053,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24783:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24779:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24770:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103056,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24769:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24794:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24769:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24760:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103060,"nodeType":"ExpressionStatement","src":"24760:35:196"},{"expression":{"id":103070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103061,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24809:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103069,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103062,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24819:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103065,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103063,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"24828:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103064,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24832:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24828:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24819:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103067,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24818:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24843:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24818:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24809:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103071,"nodeType":"ExpressionStatement","src":"24809:35:196"},{"expression":{"id":103081,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103072,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24858:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103080,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103073,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24868:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103074,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"24877:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103075,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24881:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24877:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24868:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103078,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24867:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24892:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24867:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24858:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103082,"nodeType":"ExpressionStatement","src":"24858:35:196"},{"expression":{"id":103092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103083,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24907:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103084,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24917:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103085,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"24926:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103086,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24930:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24926:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24917:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103089,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24916:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24941:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24916:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24907:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103093,"nodeType":"ExpressionStatement","src":"24907:35:196"},{"expression":{"id":103103,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103094,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24956:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103095,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24966:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103098,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103096,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"24975:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103097,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"24979:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24975:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24966:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103100,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"24965:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103101,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"24990:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"24965:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"24956:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103104,"nodeType":"ExpressionStatement","src":"24956:35:196"},{"expression":{"id":103114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103105,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25005:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103110,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103106,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25015:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103109,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103107,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"25024:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103108,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25028:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25024:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25015:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103111,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25014:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25039:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25014:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25005:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103115,"nodeType":"ExpressionStatement","src":"25005:35:196"},{"expression":{"id":103125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":103116,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25054:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103117,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25064:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103118,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"25073:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103119,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25077:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25073:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25064:19:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":103122,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"25063:21:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">>","rightExpression":{"hexValue":"31","id":103123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"25088:1:196","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"25063:26:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25054:35:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103126,"nodeType":"ExpressionStatement","src":"25054:35:196"},{"assignments":[103128],"declarations":[{"constant":false,"id":103128,"mutability":"mutable","name":"roundedDownResult","nameLocation":"25148:17:196","nodeType":"VariableDeclaration","scope":103140,"src":"25140:25:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103127,"name":"uint256","nodeType":"ElementaryTypeName","src":"25140:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":103132,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103129,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102940,"src":"25168:1:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":103130,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25172:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25168:10:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"25140:38:196"},{"expression":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":103135,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":103133,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25199:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":103134,"name":"roundedDownResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103128,"src":"25209:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"25199:27:196","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":103137,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102943,"src":"25249:6:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":103138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"25199:56:196","trueExpression":{"id":103136,"name":"roundedDownResult","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103128,"src":"25229:17:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":102944,"id":103139,"nodeType":"Return","src":"25192:63:196"}]}]},"documentation":{"id":102938,"nodeType":"StructuredDocumentation","src":"23281:404:196","text":"@notice Calculates the square root of x, rounding down.\n @dev Uses the Babylonian method https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method.\n Caveats:\n - This function does not work with fixed-point numbers.\n @param x The uint256 number for which to calculate the square root.\n @return result The result as an uint256."},"implemented":true,"kind":"function","modifiers":[],"name":"sqrt","nameLocation":"23699:4:196","parameters":{"id":102941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102940,"mutability":"mutable","name":"x","nameLocation":"23712:1:196","nodeType":"VariableDeclaration","scope":103142,"src":"23704:9:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102939,"name":"uint256","nodeType":"ElementaryTypeName","src":"23704:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23703:11:196"},"returnParameters":{"id":102944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102943,"mutability":"mutable","name":"result","nameLocation":"23746:6:196","nodeType":"VariableDeclaration","scope":103142,"src":"23738:14:196","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":102942,"name":"uint256","nodeType":"ElementaryTypeName","src":"23738:7:196","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23737:16:196"},"scope":103143,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"PRBMath","contractDependencies":[],"contractKind":"library","documentation":{"id":101405,"nodeType":"StructuredDocumentation","src":"3633:318:196","text":"@dev Common mathematical functions used in both PRBMathSD59x18 and PRBMathUD60x18. Note that this shared library\n does not always assume the signed 59.18-decimal fixed-point or the unsigned 60.18-decimal fixed-point\n representation. When it does not, it is explicitly mentioned in the NatSpec documentation."},"fullyImplemented":true,"linearizedBaseContracts":[103143],"name":"PRBMath","nameLocation":"3959:7:196","scope":103144,"usedErrors":[],"usedEvents":[]}],"license":"Unlicense"},"id":196} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201bf9c585514781aba718b98a1dc9dfaa0662ff13ab0aaf03ab74c0095e3802dd64736f6c63430008170033","sourceMap":"3951:21323:196:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;3951:21323:196;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201bf9c585514781aba718b98a1dc9dfaa0662ff13ab0aaf03ab74c0095e3802dd64736f6c63430008170033","sourceMap":"3951:21323:196:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Common mathematical functions used in both PRBMathSD59x18 and PRBMathUD60x18. Note that this shared library does not always assume the signed 59.18-decimal fixed-point or the unsigned 60.18-decimal fixed-point representation. When it does not, it is explicitly mentioned in the NatSpec documentation.\",\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"SCALE\":{\"details\":\"How many trailing decimals can be represented.\"},\"SCALE_INVERSE\":{\"details\":\"SCALE inverted mod 2^256.\"},\"SCALE_LPOTD\":{\"details\":\"Largest power of two divisor of SCALE.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/prb-math/contracts/PRBMath.sol\":\"PRBMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/prb-math/contracts/PRBMath.sol":"PRBMath"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"id":196} \ No newline at end of file diff --git a/out/ReentrancyGuard.sol/ReentrancyGuard.json b/out/ReentrancyGuard.sol/ReentrancyGuard.json index a5d4c41b..dc82980d 100644 --- a/out/ReentrancyGuard.sol/ReentrancyGuard.json +++ b/out/ReentrancyGuard.sol/ReentrancyGuard.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":"ReentrancyGuard"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol","id":90532,"exportedSymbols":{"ReentrancyGuard":[90531]},"nodeType":"SourceUnit","src":"112:3015:165","nodes":[{"id":90468,"nodeType":"PragmaDirective","src":"112:23:165","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":90531,"nodeType":"ContractDefinition","src":"888:2238:165","nodes":[{"id":90472,"nodeType":"VariableDeclaration","src":"1676:41:165","nodes":[],"constant":true,"mutability":"constant","name":"_NOT_ENTERED","nameLocation":"1701:12:165","scope":90531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90470,"name":"uint256","nodeType":"ElementaryTypeName","src":"1676:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":90471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1716:1:165","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"id":90475,"nodeType":"VariableDeclaration","src":"1723:37:165","nodes":[],"constant":true,"mutability":"constant","name":"_ENTERED","nameLocation":"1748:8:165","scope":90531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90473,"name":"uint256","nodeType":"ElementaryTypeName","src":"1723:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":90474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1759:1:165","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"id":90477,"nodeType":"VariableDeclaration","src":"1767:23:165","nodes":[],"constant":false,"mutability":"mutable","name":"_status","nameLocation":"1783:7:165","scope":90531,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90476,"name":"uint256","nodeType":"ElementaryTypeName","src":"1767:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"id":90485,"nodeType":"FunctionDefinition","src":"1797:53:165","nodes":[],"body":{"id":90484,"nodeType":"Block","src":"1811:39:165","nodes":[],"statements":[{"expression":{"id":90482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90480,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90477,"src":"1821:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90481,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90472,"src":"1831:12:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1821:22:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90483,"nodeType":"ExpressionStatement","src":"1821:22:165"}]},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":90478,"nodeType":"ParameterList","parameters":[],"src":"1808:2:165"},"returnParameters":{"id":90479,"nodeType":"ParameterList","parameters":[],"src":"1811:0:165"},"scope":90531,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":90496,"nodeType":"ModifierDefinition","src":"2227:103:165","nodes":[],"body":{"id":90495,"nodeType":"Block","src":"2251:79:165","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":90488,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90511,"src":"2261:19:165","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":90489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2261:21:165","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90490,"nodeType":"ExpressionStatement","src":"2261:21:165"},{"id":90491,"nodeType":"PlaceholderStatement","src":"2292:1:165"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":90492,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90519,"src":"2303:18:165","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":90493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2303:20:165","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90494,"nodeType":"ExpressionStatement","src":"2303:20:165"}]},"documentation":{"id":90486,"nodeType":"StructuredDocumentation","src":"1856:366:165","text":" @dev Prevents a contract from calling itself, directly or indirectly.\n Calling a `nonReentrant` function from another `nonReentrant`\n function is not supported. It is possible to prevent this from happening\n by making the `nonReentrant` function external, and making it call a\n `private` function that does the actual work."},"name":"nonReentrant","nameLocation":"2236:12:165","parameters":{"id":90487,"nodeType":"ParameterList","parameters":[],"src":"2248:2:165"},"virtual":false,"visibility":"internal"},{"id":90511,"nodeType":"FunctionDefinition","src":"2336:287:165","nodes":[],"body":{"id":90510,"nodeType":"Block","src":"2375:248:165","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90500,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90477,"src":"2468:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":90501,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90475,"src":"2479:8:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2468:19:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265656e7472616e637947756172643a207265656e7472616e742063616c6c","id":90503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2489:33:165","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""},"value":"ReentrancyGuard: reentrant call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""}],"id":90499,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2460:7:165","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2460:63:165","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90505,"nodeType":"ExpressionStatement","src":"2460:63:165"},{"expression":{"id":90508,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90506,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90477,"src":"2598:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90507,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90475,"src":"2608:8:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2598:18:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90509,"nodeType":"ExpressionStatement","src":"2598:18:165"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"2345:19:165","parameters":{"id":90497,"nodeType":"ParameterList","parameters":[],"src":"2364:2:165"},"returnParameters":{"id":90498,"nodeType":"ParameterList","parameters":[],"src":"2375:0:165"},"scope":90531,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":90519,"nodeType":"FunctionDefinition","src":"2629:209:165","nodes":[],"body":{"id":90518,"nodeType":"Block","src":"2667:171:165","nodes":[],"statements":[{"expression":{"id":90516,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90514,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90477,"src":"2809:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90515,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90472,"src":"2819:12:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2809:22:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90517,"nodeType":"ExpressionStatement","src":"2809:22:165"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"2638:18:165","parameters":{"id":90512,"nodeType":"ParameterList","parameters":[],"src":"2656:2:165"},"returnParameters":{"id":90513,"nodeType":"ParameterList","parameters":[],"src":"2667:0:165"},"scope":90531,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":90530,"nodeType":"FunctionDefinition","src":"3017:107:165","nodes":[],"body":{"id":90529,"nodeType":"Block","src":"3081:43:165","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90525,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90477,"src":"3098:7:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":90526,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90475,"src":"3109:8:165","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3098:19:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":90524,"id":90528,"nodeType":"Return","src":"3091:26:165"}]},"documentation":{"id":90520,"nodeType":"StructuredDocumentation","src":"2844:168:165","text":" @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n `nonReentrant` function in the call stack."},"implemented":true,"kind":"function","modifiers":[],"name":"_reentrancyGuardEntered","nameLocation":"3026:23:165","parameters":{"id":90521,"nodeType":"ParameterList","parameters":[],"src":"3049:2:165"},"returnParameters":{"id":90524,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90523,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90530,"src":"3075:4:165","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":90522,"name":"bool","nodeType":"ElementaryTypeName","src":"3075:4:165","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3074:6:165"},"scope":90531,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"ReentrancyGuard","contractDependencies":[],"contractKind":"contract","documentation":{"id":90469,"nodeType":"StructuredDocumentation","src":"137:750:165","text":" @dev Contract module that helps prevent reentrant calls to a function.\n Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier\n available, which can be applied to functions to make sure there are no nested\n (reentrant) calls to them.\n Note that because there is a single `nonReentrant` guard, functions marked as\n `nonReentrant` may not call one another. This can be worked around by making\n those functions `private`, and then adding `external` `nonReentrant` entry\n points to them.\n TIP: If you would like to learn more about reentrancy and alternative ways\n to protect against it, check out our blog post\n https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]."},"fullyImplemented":true,"linearizedBaseContracts":[90531],"name":"ReentrancyGuard","nameLocation":"906:15:165","scope":90532,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":165} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Contract module that helps prevent reentrant calls to a function. Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier available, which can be applied to functions to make sure there are no nested (reentrant) calls to them. Note that because there is a single `nonReentrant` guard, functions marked as `nonReentrant` may not call one another. This can be worked around by making those functions `private`, and then adding `external` `nonReentrant` entry points to them. TIP: If you would like to learn more about reentrancy and alternative ways to protect against it, check out our blog post https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":"ReentrancyGuard"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"}},"version":1},"id":165} \ No newline at end of file diff --git a/out/SafeCast.sol/SafeCast.json b/out/SafeCast.sol/SafeCast.json index 76bcc60d..3a6f5376 100644 --- a/out/SafeCast.sol/SafeCast.json +++ b/out/SafeCast.sol/SafeCast.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fa59688194f00c4389c51b781ef2e3439ac36c59e64b0e9d6e0308ed8022ca364736f6c63430008170033","sourceMap":"927:34153:192:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;927:34153:192;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fa59688194f00c4389c51b781ef2e3439ac36c59e64b0e9d6e0308ed8022ca364736f6c63430008170033","sourceMap":"927:34153:192:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":"SafeCast"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol","id":99413,"exportedSymbols":{"SafeCast":[99412]},"nodeType":"SourceUnit","src":"192:34889:192","nodes":[{"id":97873,"nodeType":"PragmaDirective","src":"192:23:192","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":99412,"nodeType":"ContractDefinition","src":"927:34153:192","nodes":[{"id":97899,"nodeType":"FunctionDefinition","src":"1273:192:192","nodes":[],"body":{"id":97898,"nodeType":"Block","src":"1339:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97889,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97883,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97877,"src":"1357:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":97886,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1371:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":97885,"name":"uint248","nodeType":"ElementaryTypeName","src":"1371:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"}],"id":97884,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1366:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1366:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint248","typeString":"type(uint248)"}},"id":97888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1380:3:192","memberName":"max","nodeType":"MemberAccess","src":"1366:17:192","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"src":"1357:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473","id":97890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1385:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""},"value":"SafeCast: value doesn't fit in 248 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""}],"id":97882,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1349:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1349:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97892,"nodeType":"ExpressionStatement","src":"1349:78:192"},{"expression":{"arguments":[{"id":97895,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97877,"src":"1452:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1444:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint248_$","typeString":"type(uint248)"},"typeName":{"id":97893,"name":"uint248","nodeType":"ElementaryTypeName","src":"1444:7:192","typeDescriptions":{}}},"id":97896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1444:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"functionReturnParameters":97881,"id":97897,"nodeType":"Return","src":"1437:21:192"}]},"documentation":{"id":97875,"nodeType":"StructuredDocumentation","src":"950:318:192","text":" @dev Returns the downcasted uint248 from uint256, reverting on\n overflow (when the input is greater than largest uint248).\n Counterpart to Solidity's `uint248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint248","nameLocation":"1282:9:192","parameters":{"id":97878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97877,"mutability":"mutable","name":"value","nameLocation":"1300:5:192","nodeType":"VariableDeclaration","scope":97899,"src":"1292:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97876,"name":"uint256","nodeType":"ElementaryTypeName","src":"1292:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1291:15:192"},"returnParameters":{"id":97881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97880,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97899,"src":"1330:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"},"typeName":{"id":97879,"name":"uint248","nodeType":"ElementaryTypeName","src":"1330:7:192","typeDescriptions":{"typeIdentifier":"t_uint248","typeString":"uint248"}},"visibility":"internal"}],"src":"1329:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97924,"nodeType":"FunctionDefinition","src":"1794:192:192","nodes":[],"body":{"id":97923,"nodeType":"Block","src":"1860:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97908,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97902,"src":"1878:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":97911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1892:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":97910,"name":"uint240","nodeType":"ElementaryTypeName","src":"1892:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"}],"id":97909,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"1887:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1887:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint240","typeString":"type(uint240)"}},"id":97913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1901:3:192","memberName":"max","nodeType":"MemberAccess","src":"1887:17:192","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"src":"1878:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473","id":97915,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1906:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""},"value":"SafeCast: value doesn't fit in 240 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""}],"id":97907,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1870:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1870:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97917,"nodeType":"ExpressionStatement","src":"1870:78:192"},{"expression":{"arguments":[{"id":97920,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97902,"src":"1973:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97919,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1965:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint240_$","typeString":"type(uint240)"},"typeName":{"id":97918,"name":"uint240","nodeType":"ElementaryTypeName","src":"1965:7:192","typeDescriptions":{}}},"id":97921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1965:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"functionReturnParameters":97906,"id":97922,"nodeType":"Return","src":"1958:21:192"}]},"documentation":{"id":97900,"nodeType":"StructuredDocumentation","src":"1471:318:192","text":" @dev Returns the downcasted uint240 from uint256, reverting on\n overflow (when the input is greater than largest uint240).\n Counterpart to Solidity's `uint240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint240","nameLocation":"1803:9:192","parameters":{"id":97903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97902,"mutability":"mutable","name":"value","nameLocation":"1821:5:192","nodeType":"VariableDeclaration","scope":97924,"src":"1813:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97901,"name":"uint256","nodeType":"ElementaryTypeName","src":"1813:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1812:15:192"},"returnParameters":{"id":97906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97924,"src":"1851:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"},"typeName":{"id":97904,"name":"uint240","nodeType":"ElementaryTypeName","src":"1851:7:192","typeDescriptions":{"typeIdentifier":"t_uint240","typeString":"uint240"}},"visibility":"internal"}],"src":"1850:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97949,"nodeType":"FunctionDefinition","src":"2315:192:192","nodes":[],"body":{"id":97948,"nodeType":"Block","src":"2381:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97933,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97927,"src":"2399:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":97936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2413:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":97935,"name":"uint232","nodeType":"ElementaryTypeName","src":"2413:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"}],"id":97934,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2408:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2408:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint232","typeString":"type(uint232)"}},"id":97938,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2422:3:192","memberName":"max","nodeType":"MemberAccess","src":"2408:17:192","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"src":"2399:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473","id":97940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2427:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""},"value":"SafeCast: value doesn't fit in 232 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""}],"id":97932,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2391:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2391:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97942,"nodeType":"ExpressionStatement","src":"2391:78:192"},{"expression":{"arguments":[{"id":97945,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97927,"src":"2494:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2486:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint232_$","typeString":"type(uint232)"},"typeName":{"id":97943,"name":"uint232","nodeType":"ElementaryTypeName","src":"2486:7:192","typeDescriptions":{}}},"id":97946,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2486:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"functionReturnParameters":97931,"id":97947,"nodeType":"Return","src":"2479:21:192"}]},"documentation":{"id":97925,"nodeType":"StructuredDocumentation","src":"1992:318:192","text":" @dev Returns the downcasted uint232 from uint256, reverting on\n overflow (when the input is greater than largest uint232).\n Counterpart to Solidity's `uint232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint232","nameLocation":"2324:9:192","parameters":{"id":97928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97927,"mutability":"mutable","name":"value","nameLocation":"2342:5:192","nodeType":"VariableDeclaration","scope":97949,"src":"2334:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97926,"name":"uint256","nodeType":"ElementaryTypeName","src":"2334:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2333:15:192"},"returnParameters":{"id":97931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97930,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97949,"src":"2372:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"},"typeName":{"id":97929,"name":"uint232","nodeType":"ElementaryTypeName","src":"2372:7:192","typeDescriptions":{"typeIdentifier":"t_uint232","typeString":"uint232"}},"visibility":"internal"}],"src":"2371:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97974,"nodeType":"FunctionDefinition","src":"2836:192:192","nodes":[],"body":{"id":97973,"nodeType":"Block","src":"2902:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97958,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97952,"src":"2920:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":97961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2934:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":97960,"name":"uint224","nodeType":"ElementaryTypeName","src":"2934:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"}],"id":97959,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"2929:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97962,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2929:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint224","typeString":"type(uint224)"}},"id":97963,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2943:3:192","memberName":"max","nodeType":"MemberAccess","src":"2929:17:192","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"2920:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473","id":97965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2948:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""},"value":"SafeCast: value doesn't fit in 224 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""}],"id":97957,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2912:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2912:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97967,"nodeType":"ExpressionStatement","src":"2912:78:192"},{"expression":{"arguments":[{"id":97970,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97952,"src":"3015:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3007:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint224_$","typeString":"type(uint224)"},"typeName":{"id":97968,"name":"uint224","nodeType":"ElementaryTypeName","src":"3007:7:192","typeDescriptions":{}}},"id":97971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3007:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":97956,"id":97972,"nodeType":"Return","src":"3000:21:192"}]},"documentation":{"id":97950,"nodeType":"StructuredDocumentation","src":"2513:318:192","text":" @dev Returns the downcasted uint224 from uint256, reverting on\n overflow (when the input is greater than largest uint224).\n Counterpart to Solidity's `uint224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.2._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint224","nameLocation":"2845:9:192","parameters":{"id":97953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97952,"mutability":"mutable","name":"value","nameLocation":"2863:5:192","nodeType":"VariableDeclaration","scope":97974,"src":"2855:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97951,"name":"uint256","nodeType":"ElementaryTypeName","src":"2855:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2854:15:192"},"returnParameters":{"id":97956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97955,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97974,"src":"2893:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":97954,"name":"uint224","nodeType":"ElementaryTypeName","src":"2893:7:192","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"2892:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":97999,"nodeType":"FunctionDefinition","src":"3357:192:192","nodes":[],"body":{"id":97998,"nodeType":"Block","src":"3423:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":97989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":97983,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97977,"src":"3441:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":97986,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3455:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":97985,"name":"uint216","nodeType":"ElementaryTypeName","src":"3455:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"}],"id":97984,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3450:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":97987,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3450:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint216","typeString":"type(uint216)"}},"id":97988,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3464:3:192","memberName":"max","nodeType":"MemberAccess","src":"3450:17:192","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"src":"3441:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473","id":97990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3469:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""},"value":"SafeCast: value doesn't fit in 216 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""}],"id":97982,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3433:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":97991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3433:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":97992,"nodeType":"ExpressionStatement","src":"3433:78:192"},{"expression":{"arguments":[{"id":97995,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97977,"src":"3536:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":97994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3528:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint216_$","typeString":"type(uint216)"},"typeName":{"id":97993,"name":"uint216","nodeType":"ElementaryTypeName","src":"3528:7:192","typeDescriptions":{}}},"id":97996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3528:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"functionReturnParameters":97981,"id":97997,"nodeType":"Return","src":"3521:21:192"}]},"documentation":{"id":97975,"nodeType":"StructuredDocumentation","src":"3034:318:192","text":" @dev Returns the downcasted uint216 from uint256, reverting on\n overflow (when the input is greater than largest uint216).\n Counterpart to Solidity's `uint216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint216","nameLocation":"3366:9:192","parameters":{"id":97978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97977,"mutability":"mutable","name":"value","nameLocation":"3384:5:192","nodeType":"VariableDeclaration","scope":97999,"src":"3376:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":97976,"name":"uint256","nodeType":"ElementaryTypeName","src":"3376:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3375:15:192"},"returnParameters":{"id":97981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":97980,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":97999,"src":"3414:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"},"typeName":{"id":97979,"name":"uint216","nodeType":"ElementaryTypeName","src":"3414:7:192","typeDescriptions":{"typeIdentifier":"t_uint216","typeString":"uint216"}},"visibility":"internal"}],"src":"3413:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98024,"nodeType":"FunctionDefinition","src":"3878:192:192","nodes":[],"body":{"id":98023,"nodeType":"Block","src":"3944:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98008,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98002,"src":"3962:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98011,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3976:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":98010,"name":"uint208","nodeType":"ElementaryTypeName","src":"3976:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"}],"id":98009,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"3971:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3971:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint208","typeString":"type(uint208)"}},"id":98013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3985:3:192","memberName":"max","nodeType":"MemberAccess","src":"3971:17:192","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"src":"3962:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473","id":98015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3990:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""},"value":"SafeCast: value doesn't fit in 208 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""}],"id":98007,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3954:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98016,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3954:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98017,"nodeType":"ExpressionStatement","src":"3954:78:192"},{"expression":{"arguments":[{"id":98020,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98002,"src":"4057:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98019,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4049:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint208_$","typeString":"type(uint208)"},"typeName":{"id":98018,"name":"uint208","nodeType":"ElementaryTypeName","src":"4049:7:192","typeDescriptions":{}}},"id":98021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4049:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"functionReturnParameters":98006,"id":98022,"nodeType":"Return","src":"4042:21:192"}]},"documentation":{"id":98000,"nodeType":"StructuredDocumentation","src":"3555:318:192","text":" @dev Returns the downcasted uint208 from uint256, reverting on\n overflow (when the input is greater than largest uint208).\n Counterpart to Solidity's `uint208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint208","nameLocation":"3887:9:192","parameters":{"id":98003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98002,"mutability":"mutable","name":"value","nameLocation":"3905:5:192","nodeType":"VariableDeclaration","scope":98024,"src":"3897:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98001,"name":"uint256","nodeType":"ElementaryTypeName","src":"3897:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3896:15:192"},"returnParameters":{"id":98006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98005,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98024,"src":"3935:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"},"typeName":{"id":98004,"name":"uint208","nodeType":"ElementaryTypeName","src":"3935:7:192","typeDescriptions":{"typeIdentifier":"t_uint208","typeString":"uint208"}},"visibility":"internal"}],"src":"3934:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98049,"nodeType":"FunctionDefinition","src":"4399:192:192","nodes":[],"body":{"id":98048,"nodeType":"Block","src":"4465:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98033,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98027,"src":"4483:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4497:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":98035,"name":"uint200","nodeType":"ElementaryTypeName","src":"4497:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"}],"id":98034,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"4492:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4492:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint200","typeString":"type(uint200)"}},"id":98038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4506:3:192","memberName":"max","nodeType":"MemberAccess","src":"4492:17:192","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"src":"4483:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473","id":98040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4511:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""},"value":"SafeCast: value doesn't fit in 200 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""}],"id":98032,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4475:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4475:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98042,"nodeType":"ExpressionStatement","src":"4475:78:192"},{"expression":{"arguments":[{"id":98045,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98027,"src":"4578:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4570:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint200_$","typeString":"type(uint200)"},"typeName":{"id":98043,"name":"uint200","nodeType":"ElementaryTypeName","src":"4570:7:192","typeDescriptions":{}}},"id":98046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4570:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"functionReturnParameters":98031,"id":98047,"nodeType":"Return","src":"4563:21:192"}]},"documentation":{"id":98025,"nodeType":"StructuredDocumentation","src":"4076:318:192","text":" @dev Returns the downcasted uint200 from uint256, reverting on\n overflow (when the input is greater than largest uint200).\n Counterpart to Solidity's `uint200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint200","nameLocation":"4408:9:192","parameters":{"id":98028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98027,"mutability":"mutable","name":"value","nameLocation":"4426:5:192","nodeType":"VariableDeclaration","scope":98049,"src":"4418:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98026,"name":"uint256","nodeType":"ElementaryTypeName","src":"4418:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4417:15:192"},"returnParameters":{"id":98031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98030,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98049,"src":"4456:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"},"typeName":{"id":98029,"name":"uint200","nodeType":"ElementaryTypeName","src":"4456:7:192","typeDescriptions":{"typeIdentifier":"t_uint200","typeString":"uint200"}},"visibility":"internal"}],"src":"4455:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98074,"nodeType":"FunctionDefinition","src":"4920:192:192","nodes":[],"body":{"id":98073,"nodeType":"Block","src":"4986:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98058,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98052,"src":"5004:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5018:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":98060,"name":"uint192","nodeType":"ElementaryTypeName","src":"5018:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"}],"id":98059,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5013:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5013:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint192","typeString":"type(uint192)"}},"id":98063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5027:3:192","memberName":"max","nodeType":"MemberAccess","src":"5013:17:192","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"src":"5004:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473","id":98065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5032:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""},"value":"SafeCast: value doesn't fit in 192 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""}],"id":98057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4996:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4996:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98067,"nodeType":"ExpressionStatement","src":"4996:78:192"},{"expression":{"arguments":[{"id":98070,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98052,"src":"5099:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98069,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5091:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint192_$","typeString":"type(uint192)"},"typeName":{"id":98068,"name":"uint192","nodeType":"ElementaryTypeName","src":"5091:7:192","typeDescriptions":{}}},"id":98071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5091:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"functionReturnParameters":98056,"id":98072,"nodeType":"Return","src":"5084:21:192"}]},"documentation":{"id":98050,"nodeType":"StructuredDocumentation","src":"4597:318:192","text":" @dev Returns the downcasted uint192 from uint256, reverting on\n overflow (when the input is greater than largest uint192).\n Counterpart to Solidity's `uint192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint192","nameLocation":"4929:9:192","parameters":{"id":98053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98052,"mutability":"mutable","name":"value","nameLocation":"4947:5:192","nodeType":"VariableDeclaration","scope":98074,"src":"4939:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98051,"name":"uint256","nodeType":"ElementaryTypeName","src":"4939:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4938:15:192"},"returnParameters":{"id":98056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98074,"src":"4977:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"},"typeName":{"id":98054,"name":"uint192","nodeType":"ElementaryTypeName","src":"4977:7:192","typeDescriptions":{"typeIdentifier":"t_uint192","typeString":"uint192"}},"visibility":"internal"}],"src":"4976:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98099,"nodeType":"FunctionDefinition","src":"5441:192:192","nodes":[],"body":{"id":98098,"nodeType":"Block","src":"5507:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98083,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98077,"src":"5525:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5539:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":98085,"name":"uint184","nodeType":"ElementaryTypeName","src":"5539:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"}],"id":98084,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"5534:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5534:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint184","typeString":"type(uint184)"}},"id":98088,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5548:3:192","memberName":"max","nodeType":"MemberAccess","src":"5534:17:192","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"src":"5525:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473","id":98090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5553:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""},"value":"SafeCast: value doesn't fit in 184 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""}],"id":98082,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5517:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5517:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98092,"nodeType":"ExpressionStatement","src":"5517:78:192"},{"expression":{"arguments":[{"id":98095,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98077,"src":"5620:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5612:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint184_$","typeString":"type(uint184)"},"typeName":{"id":98093,"name":"uint184","nodeType":"ElementaryTypeName","src":"5612:7:192","typeDescriptions":{}}},"id":98096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5612:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"functionReturnParameters":98081,"id":98097,"nodeType":"Return","src":"5605:21:192"}]},"documentation":{"id":98075,"nodeType":"StructuredDocumentation","src":"5118:318:192","text":" @dev Returns the downcasted uint184 from uint256, reverting on\n overflow (when the input is greater than largest uint184).\n Counterpart to Solidity's `uint184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint184","nameLocation":"5450:9:192","parameters":{"id":98078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98077,"mutability":"mutable","name":"value","nameLocation":"5468:5:192","nodeType":"VariableDeclaration","scope":98099,"src":"5460:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98076,"name":"uint256","nodeType":"ElementaryTypeName","src":"5460:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5459:15:192"},"returnParameters":{"id":98081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98080,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98099,"src":"5498:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"},"typeName":{"id":98079,"name":"uint184","nodeType":"ElementaryTypeName","src":"5498:7:192","typeDescriptions":{"typeIdentifier":"t_uint184","typeString":"uint184"}},"visibility":"internal"}],"src":"5497:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98124,"nodeType":"FunctionDefinition","src":"5962:192:192","nodes":[],"body":{"id":98123,"nodeType":"Block","src":"6028:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98108,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98102,"src":"6046:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98111,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6060:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":98110,"name":"uint176","nodeType":"ElementaryTypeName","src":"6060:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"}],"id":98109,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6055:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98112,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6055:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint176","typeString":"type(uint176)"}},"id":98113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6069:3:192","memberName":"max","nodeType":"MemberAccess","src":"6055:17:192","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"src":"6046:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473","id":98115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6074:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""},"value":"SafeCast: value doesn't fit in 176 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""}],"id":98107,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6038:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6038:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98117,"nodeType":"ExpressionStatement","src":"6038:78:192"},{"expression":{"arguments":[{"id":98120,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98102,"src":"6141:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6133:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint176_$","typeString":"type(uint176)"},"typeName":{"id":98118,"name":"uint176","nodeType":"ElementaryTypeName","src":"6133:7:192","typeDescriptions":{}}},"id":98121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6133:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"functionReturnParameters":98106,"id":98122,"nodeType":"Return","src":"6126:21:192"}]},"documentation":{"id":98100,"nodeType":"StructuredDocumentation","src":"5639:318:192","text":" @dev Returns the downcasted uint176 from uint256, reverting on\n overflow (when the input is greater than largest uint176).\n Counterpart to Solidity's `uint176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint176","nameLocation":"5971:9:192","parameters":{"id":98103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98102,"mutability":"mutable","name":"value","nameLocation":"5989:5:192","nodeType":"VariableDeclaration","scope":98124,"src":"5981:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98101,"name":"uint256","nodeType":"ElementaryTypeName","src":"5981:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5980:15:192"},"returnParameters":{"id":98106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98105,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98124,"src":"6019:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"},"typeName":{"id":98104,"name":"uint176","nodeType":"ElementaryTypeName","src":"6019:7:192","typeDescriptions":{"typeIdentifier":"t_uint176","typeString":"uint176"}},"visibility":"internal"}],"src":"6018:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98149,"nodeType":"FunctionDefinition","src":"6483:192:192","nodes":[],"body":{"id":98148,"nodeType":"Block","src":"6549:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98139,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98133,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98127,"src":"6567:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98136,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6581:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":98135,"name":"uint168","nodeType":"ElementaryTypeName","src":"6581:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"}],"id":98134,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"6576:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6576:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint168","typeString":"type(uint168)"}},"id":98138,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6590:3:192","memberName":"max","nodeType":"MemberAccess","src":"6576:17:192","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"src":"6567:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473","id":98140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6595:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""},"value":"SafeCast: value doesn't fit in 168 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""}],"id":98132,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6559:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6559:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98142,"nodeType":"ExpressionStatement","src":"6559:78:192"},{"expression":{"arguments":[{"id":98145,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98127,"src":"6662:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98144,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6654:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint168_$","typeString":"type(uint168)"},"typeName":{"id":98143,"name":"uint168","nodeType":"ElementaryTypeName","src":"6654:7:192","typeDescriptions":{}}},"id":98146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6654:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"functionReturnParameters":98131,"id":98147,"nodeType":"Return","src":"6647:21:192"}]},"documentation":{"id":98125,"nodeType":"StructuredDocumentation","src":"6160:318:192","text":" @dev Returns the downcasted uint168 from uint256, reverting on\n overflow (when the input is greater than largest uint168).\n Counterpart to Solidity's `uint168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint168","nameLocation":"6492:9:192","parameters":{"id":98128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98127,"mutability":"mutable","name":"value","nameLocation":"6510:5:192","nodeType":"VariableDeclaration","scope":98149,"src":"6502:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98126,"name":"uint256","nodeType":"ElementaryTypeName","src":"6502:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6501:15:192"},"returnParameters":{"id":98131,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98130,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98149,"src":"6540:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"},"typeName":{"id":98129,"name":"uint168","nodeType":"ElementaryTypeName","src":"6540:7:192","typeDescriptions":{"typeIdentifier":"t_uint168","typeString":"uint168"}},"visibility":"internal"}],"src":"6539:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98174,"nodeType":"FunctionDefinition","src":"7004:192:192","nodes":[],"body":{"id":98173,"nodeType":"Block","src":"7070:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98164,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98158,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98152,"src":"7088:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98161,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7102:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":98160,"name":"uint160","nodeType":"ElementaryTypeName","src":"7102:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"}],"id":98159,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7097:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98162,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7097:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint160","typeString":"type(uint160)"}},"id":98163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7111:3:192","memberName":"max","nodeType":"MemberAccess","src":"7097:17:192","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"src":"7088:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473","id":98165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7116:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""},"value":"SafeCast: value doesn't fit in 160 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""}],"id":98157,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7080:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7080:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98167,"nodeType":"ExpressionStatement","src":"7080:78:192"},{"expression":{"arguments":[{"id":98170,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98152,"src":"7183:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7175:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":98168,"name":"uint160","nodeType":"ElementaryTypeName","src":"7175:7:192","typeDescriptions":{}}},"id":98171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7175:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"functionReturnParameters":98156,"id":98172,"nodeType":"Return","src":"7168:21:192"}]},"documentation":{"id":98150,"nodeType":"StructuredDocumentation","src":"6681:318:192","text":" @dev Returns the downcasted uint160 from uint256, reverting on\n overflow (when the input is greater than largest uint160).\n Counterpart to Solidity's `uint160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint160","nameLocation":"7013:9:192","parameters":{"id":98153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98152,"mutability":"mutable","name":"value","nameLocation":"7031:5:192","nodeType":"VariableDeclaration","scope":98174,"src":"7023:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98151,"name":"uint256","nodeType":"ElementaryTypeName","src":"7023:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7022:15:192"},"returnParameters":{"id":98156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98155,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98174,"src":"7061:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"},"typeName":{"id":98154,"name":"uint160","nodeType":"ElementaryTypeName","src":"7061:7:192","typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}},"visibility":"internal"}],"src":"7060:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98199,"nodeType":"FunctionDefinition","src":"7525:192:192","nodes":[],"body":{"id":98198,"nodeType":"Block","src":"7591:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98183,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98177,"src":"7609:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7623:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":98185,"name":"uint152","nodeType":"ElementaryTypeName","src":"7623:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"}],"id":98184,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"7618:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7618:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint152","typeString":"type(uint152)"}},"id":98188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7632:3:192","memberName":"max","nodeType":"MemberAccess","src":"7618:17:192","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"src":"7609:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473","id":98190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7637:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""},"value":"SafeCast: value doesn't fit in 152 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""}],"id":98182,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7601:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98191,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7601:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98192,"nodeType":"ExpressionStatement","src":"7601:78:192"},{"expression":{"arguments":[{"id":98195,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98177,"src":"7704:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98194,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7696:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint152_$","typeString":"type(uint152)"},"typeName":{"id":98193,"name":"uint152","nodeType":"ElementaryTypeName","src":"7696:7:192","typeDescriptions":{}}},"id":98196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7696:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"functionReturnParameters":98181,"id":98197,"nodeType":"Return","src":"7689:21:192"}]},"documentation":{"id":98175,"nodeType":"StructuredDocumentation","src":"7202:318:192","text":" @dev Returns the downcasted uint152 from uint256, reverting on\n overflow (when the input is greater than largest uint152).\n Counterpart to Solidity's `uint152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint152","nameLocation":"7534:9:192","parameters":{"id":98178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98177,"mutability":"mutable","name":"value","nameLocation":"7552:5:192","nodeType":"VariableDeclaration","scope":98199,"src":"7544:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98176,"name":"uint256","nodeType":"ElementaryTypeName","src":"7544:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7543:15:192"},"returnParameters":{"id":98181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98180,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98199,"src":"7582:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"},"typeName":{"id":98179,"name":"uint152","nodeType":"ElementaryTypeName","src":"7582:7:192","typeDescriptions":{"typeIdentifier":"t_uint152","typeString":"uint152"}},"visibility":"internal"}],"src":"7581:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98224,"nodeType":"FunctionDefinition","src":"8046:192:192","nodes":[],"body":{"id":98223,"nodeType":"Block","src":"8112:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98202,"src":"8130:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8144:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":98210,"name":"uint144","nodeType":"ElementaryTypeName","src":"8144:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"}],"id":98209,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8139:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8139:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint144","typeString":"type(uint144)"}},"id":98213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8153:3:192","memberName":"max","nodeType":"MemberAccess","src":"8139:17:192","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"src":"8130:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473","id":98215,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8158:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""},"value":"SafeCast: value doesn't fit in 144 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""}],"id":98207,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8122:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8122:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98217,"nodeType":"ExpressionStatement","src":"8122:78:192"},{"expression":{"arguments":[{"id":98220,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98202,"src":"8225:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98219,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8217:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint144_$","typeString":"type(uint144)"},"typeName":{"id":98218,"name":"uint144","nodeType":"ElementaryTypeName","src":"8217:7:192","typeDescriptions":{}}},"id":98221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8217:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"functionReturnParameters":98206,"id":98222,"nodeType":"Return","src":"8210:21:192"}]},"documentation":{"id":98200,"nodeType":"StructuredDocumentation","src":"7723:318:192","text":" @dev Returns the downcasted uint144 from uint256, reverting on\n overflow (when the input is greater than largest uint144).\n Counterpart to Solidity's `uint144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint144","nameLocation":"8055:9:192","parameters":{"id":98203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98202,"mutability":"mutable","name":"value","nameLocation":"8073:5:192","nodeType":"VariableDeclaration","scope":98224,"src":"8065:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98201,"name":"uint256","nodeType":"ElementaryTypeName","src":"8065:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8064:15:192"},"returnParameters":{"id":98206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98224,"src":"8103:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"},"typeName":{"id":98204,"name":"uint144","nodeType":"ElementaryTypeName","src":"8103:7:192","typeDescriptions":{"typeIdentifier":"t_uint144","typeString":"uint144"}},"visibility":"internal"}],"src":"8102:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98249,"nodeType":"FunctionDefinition","src":"8567:192:192","nodes":[],"body":{"id":98248,"nodeType":"Block","src":"8633:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98233,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98227,"src":"8651:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98236,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8665:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":98235,"name":"uint136","nodeType":"ElementaryTypeName","src":"8665:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"}],"id":98234,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"8660:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98237,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8660:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint136","typeString":"type(uint136)"}},"id":98238,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8674:3:192","memberName":"max","nodeType":"MemberAccess","src":"8660:17:192","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"src":"8651:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473","id":98240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8679:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""},"value":"SafeCast: value doesn't fit in 136 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""}],"id":98232,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8643:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8643:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98242,"nodeType":"ExpressionStatement","src":"8643:78:192"},{"expression":{"arguments":[{"id":98245,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98227,"src":"8746:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8738:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint136_$","typeString":"type(uint136)"},"typeName":{"id":98243,"name":"uint136","nodeType":"ElementaryTypeName","src":"8738:7:192","typeDescriptions":{}}},"id":98246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8738:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"functionReturnParameters":98231,"id":98247,"nodeType":"Return","src":"8731:21:192"}]},"documentation":{"id":98225,"nodeType":"StructuredDocumentation","src":"8244:318:192","text":" @dev Returns the downcasted uint136 from uint256, reverting on\n overflow (when the input is greater than largest uint136).\n Counterpart to Solidity's `uint136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint136","nameLocation":"8576:9:192","parameters":{"id":98228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98227,"mutability":"mutable","name":"value","nameLocation":"8594:5:192","nodeType":"VariableDeclaration","scope":98249,"src":"8586:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98226,"name":"uint256","nodeType":"ElementaryTypeName","src":"8586:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8585:15:192"},"returnParameters":{"id":98231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98230,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98249,"src":"8624:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"},"typeName":{"id":98229,"name":"uint136","nodeType":"ElementaryTypeName","src":"8624:7:192","typeDescriptions":{"typeIdentifier":"t_uint136","typeString":"uint136"}},"visibility":"internal"}],"src":"8623:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98274,"nodeType":"FunctionDefinition","src":"9088:192:192","nodes":[],"body":{"id":98273,"nodeType":"Block","src":"9154:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98258,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98252,"src":"9172:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98261,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9186:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":98260,"name":"uint128","nodeType":"ElementaryTypeName","src":"9186:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"}],"id":98259,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9181:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98262,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9181:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint128","typeString":"type(uint128)"}},"id":98263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9195:3:192","memberName":"max","nodeType":"MemberAccess","src":"9181:17:192","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"src":"9172:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473","id":98265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9200:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""},"value":"SafeCast: value doesn't fit in 128 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""}],"id":98257,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9164:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9164:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98267,"nodeType":"ExpressionStatement","src":"9164:78:192"},{"expression":{"arguments":[{"id":98270,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98252,"src":"9267:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9259:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint128_$","typeString":"type(uint128)"},"typeName":{"id":98268,"name":"uint128","nodeType":"ElementaryTypeName","src":"9259:7:192","typeDescriptions":{}}},"id":98271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9259:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"functionReturnParameters":98256,"id":98272,"nodeType":"Return","src":"9252:21:192"}]},"documentation":{"id":98250,"nodeType":"StructuredDocumentation","src":"8765:318:192","text":" @dev Returns the downcasted uint128 from uint256, reverting on\n overflow (when the input is greater than largest uint128).\n Counterpart to Solidity's `uint128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v2.5._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint128","nameLocation":"9097:9:192","parameters":{"id":98253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98252,"mutability":"mutable","name":"value","nameLocation":"9115:5:192","nodeType":"VariableDeclaration","scope":98274,"src":"9107:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98251,"name":"uint256","nodeType":"ElementaryTypeName","src":"9107:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9106:15:192"},"returnParameters":{"id":98256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98255,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98274,"src":"9145:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"},"typeName":{"id":98254,"name":"uint128","nodeType":"ElementaryTypeName","src":"9145:7:192","typeDescriptions":{"typeIdentifier":"t_uint128","typeString":"uint128"}},"visibility":"internal"}],"src":"9144:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98299,"nodeType":"FunctionDefinition","src":"9609:192:192","nodes":[],"body":{"id":98298,"nodeType":"Block","src":"9675:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98283,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98277,"src":"9693:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98286,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9707:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":98285,"name":"uint120","nodeType":"ElementaryTypeName","src":"9707:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"}],"id":98284,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"9702:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9702:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint120","typeString":"type(uint120)"}},"id":98288,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9716:3:192","memberName":"max","nodeType":"MemberAccess","src":"9702:17:192","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"src":"9693:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473","id":98290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9721:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""},"value":"SafeCast: value doesn't fit in 120 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""}],"id":98282,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9685:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9685:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98292,"nodeType":"ExpressionStatement","src":"9685:78:192"},{"expression":{"arguments":[{"id":98295,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98277,"src":"9788:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9780:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint120_$","typeString":"type(uint120)"},"typeName":{"id":98293,"name":"uint120","nodeType":"ElementaryTypeName","src":"9780:7:192","typeDescriptions":{}}},"id":98296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9780:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"functionReturnParameters":98281,"id":98297,"nodeType":"Return","src":"9773:21:192"}]},"documentation":{"id":98275,"nodeType":"StructuredDocumentation","src":"9286:318:192","text":" @dev Returns the downcasted uint120 from uint256, reverting on\n overflow (when the input is greater than largest uint120).\n Counterpart to Solidity's `uint120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint120","nameLocation":"9618:9:192","parameters":{"id":98278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98277,"mutability":"mutable","name":"value","nameLocation":"9636:5:192","nodeType":"VariableDeclaration","scope":98299,"src":"9628:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98276,"name":"uint256","nodeType":"ElementaryTypeName","src":"9628:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9627:15:192"},"returnParameters":{"id":98281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98280,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98299,"src":"9666:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"},"typeName":{"id":98279,"name":"uint120","nodeType":"ElementaryTypeName","src":"9666:7:192","typeDescriptions":{"typeIdentifier":"t_uint120","typeString":"uint120"}},"visibility":"internal"}],"src":"9665:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98324,"nodeType":"FunctionDefinition","src":"10130:192:192","nodes":[],"body":{"id":98323,"nodeType":"Block","src":"10196:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98314,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98308,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98302,"src":"10214:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10228:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":98310,"name":"uint112","nodeType":"ElementaryTypeName","src":"10228:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"}],"id":98309,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10223:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10223:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint112","typeString":"type(uint112)"}},"id":98313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10237:3:192","memberName":"max","nodeType":"MemberAccess","src":"10223:17:192","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"src":"10214:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473","id":98315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10242:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""},"value":"SafeCast: value doesn't fit in 112 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""}],"id":98307,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10206:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98316,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10206:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98317,"nodeType":"ExpressionStatement","src":"10206:78:192"},{"expression":{"arguments":[{"id":98320,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98302,"src":"10309:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98319,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10301:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint112_$","typeString":"type(uint112)"},"typeName":{"id":98318,"name":"uint112","nodeType":"ElementaryTypeName","src":"10301:7:192","typeDescriptions":{}}},"id":98321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10301:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"functionReturnParameters":98306,"id":98322,"nodeType":"Return","src":"10294:21:192"}]},"documentation":{"id":98300,"nodeType":"StructuredDocumentation","src":"9807:318:192","text":" @dev Returns the downcasted uint112 from uint256, reverting on\n overflow (when the input is greater than largest uint112).\n Counterpart to Solidity's `uint112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint112","nameLocation":"10139:9:192","parameters":{"id":98303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98302,"mutability":"mutable","name":"value","nameLocation":"10157:5:192","nodeType":"VariableDeclaration","scope":98324,"src":"10149:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98301,"name":"uint256","nodeType":"ElementaryTypeName","src":"10149:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10148:15:192"},"returnParameters":{"id":98306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98305,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98324,"src":"10187:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"},"typeName":{"id":98304,"name":"uint112","nodeType":"ElementaryTypeName","src":"10187:7:192","typeDescriptions":{"typeIdentifier":"t_uint112","typeString":"uint112"}},"visibility":"internal"}],"src":"10186:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98349,"nodeType":"FunctionDefinition","src":"10651:192:192","nodes":[],"body":{"id":98348,"nodeType":"Block","src":"10717:126:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98333,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98327,"src":"10735:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10749:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":98335,"name":"uint104","nodeType":"ElementaryTypeName","src":"10749:7:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"}],"id":98334,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"10744:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10744:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint104","typeString":"type(uint104)"}},"id":98338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10758:3:192","memberName":"max","nodeType":"MemberAccess","src":"10744:17:192","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"src":"10735:26:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473","id":98340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10763:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""},"value":"SafeCast: value doesn't fit in 104 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""}],"id":98332,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10727:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10727:78:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98342,"nodeType":"ExpressionStatement","src":"10727:78:192"},{"expression":{"arguments":[{"id":98345,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98327,"src":"10830:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10822:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint104_$","typeString":"type(uint104)"},"typeName":{"id":98343,"name":"uint104","nodeType":"ElementaryTypeName","src":"10822:7:192","typeDescriptions":{}}},"id":98346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10822:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"functionReturnParameters":98331,"id":98347,"nodeType":"Return","src":"10815:21:192"}]},"documentation":{"id":98325,"nodeType":"StructuredDocumentation","src":"10328:318:192","text":" @dev Returns the downcasted uint104 from uint256, reverting on\n overflow (when the input is greater than largest uint104).\n Counterpart to Solidity's `uint104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint104","nameLocation":"10660:9:192","parameters":{"id":98328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98327,"mutability":"mutable","name":"value","nameLocation":"10678:5:192","nodeType":"VariableDeclaration","scope":98349,"src":"10670:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98326,"name":"uint256","nodeType":"ElementaryTypeName","src":"10670:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10669:15:192"},"returnParameters":{"id":98331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98330,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98349,"src":"10708:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"},"typeName":{"id":98329,"name":"uint104","nodeType":"ElementaryTypeName","src":"10708:7:192","typeDescriptions":{"typeIdentifier":"t_uint104","typeString":"uint104"}},"visibility":"internal"}],"src":"10707:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98374,"nodeType":"FunctionDefinition","src":"11168:187:192","nodes":[],"body":{"id":98373,"nodeType":"Block","src":"11232:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98358,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98352,"src":"11250:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11264:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":98360,"name":"uint96","nodeType":"ElementaryTypeName","src":"11264:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"}],"id":98359,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11259:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11259:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint96","typeString":"type(uint96)"}},"id":98363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11272:3:192","memberName":"max","nodeType":"MemberAccess","src":"11259:16:192","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"src":"11250:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473","id":98365,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11277:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""},"value":"SafeCast: value doesn't fit in 96 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""}],"id":98357,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11242:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11242:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98367,"nodeType":"ExpressionStatement","src":"11242:76:192"},{"expression":{"arguments":[{"id":98370,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98352,"src":"11342:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98369,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11335:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint96_$","typeString":"type(uint96)"},"typeName":{"id":98368,"name":"uint96","nodeType":"ElementaryTypeName","src":"11335:6:192","typeDescriptions":{}}},"id":98371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11335:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"functionReturnParameters":98356,"id":98372,"nodeType":"Return","src":"11328:20:192"}]},"documentation":{"id":98350,"nodeType":"StructuredDocumentation","src":"10849:314:192","text":" @dev Returns the downcasted uint96 from uint256, reverting on\n overflow (when the input is greater than largest uint96).\n Counterpart to Solidity's `uint96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.2._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint96","nameLocation":"11177:8:192","parameters":{"id":98353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98352,"mutability":"mutable","name":"value","nameLocation":"11194:5:192","nodeType":"VariableDeclaration","scope":98374,"src":"11186:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98351,"name":"uint256","nodeType":"ElementaryTypeName","src":"11186:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11185:15:192"},"returnParameters":{"id":98356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98355,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98374,"src":"11224:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"},"typeName":{"id":98354,"name":"uint96","nodeType":"ElementaryTypeName","src":"11224:6:192","typeDescriptions":{"typeIdentifier":"t_uint96","typeString":"uint96"}},"visibility":"internal"}],"src":"11223:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98399,"nodeType":"FunctionDefinition","src":"11680:187:192","nodes":[],"body":{"id":98398,"nodeType":"Block","src":"11744:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98383,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98377,"src":"11762:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11776:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":98385,"name":"uint88","nodeType":"ElementaryTypeName","src":"11776:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"}],"id":98384,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"11771:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98387,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11771:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint88","typeString":"type(uint88)"}},"id":98388,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11784:3:192","memberName":"max","nodeType":"MemberAccess","src":"11771:16:192","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"src":"11762:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473","id":98390,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11789:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""},"value":"SafeCast: value doesn't fit in 88 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""}],"id":98382,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11754:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11754:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98392,"nodeType":"ExpressionStatement","src":"11754:76:192"},{"expression":{"arguments":[{"id":98395,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98377,"src":"11854:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"11847:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint88_$","typeString":"type(uint88)"},"typeName":{"id":98393,"name":"uint88","nodeType":"ElementaryTypeName","src":"11847:6:192","typeDescriptions":{}}},"id":98396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11847:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"functionReturnParameters":98381,"id":98397,"nodeType":"Return","src":"11840:20:192"}]},"documentation":{"id":98375,"nodeType":"StructuredDocumentation","src":"11361:314:192","text":" @dev Returns the downcasted uint88 from uint256, reverting on\n overflow (when the input is greater than largest uint88).\n Counterpart to Solidity's `uint88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint88","nameLocation":"11689:8:192","parameters":{"id":98378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98377,"mutability":"mutable","name":"value","nameLocation":"11706:5:192","nodeType":"VariableDeclaration","scope":98399,"src":"11698:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98376,"name":"uint256","nodeType":"ElementaryTypeName","src":"11698:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11697:15:192"},"returnParameters":{"id":98381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98399,"src":"11736:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"},"typeName":{"id":98379,"name":"uint88","nodeType":"ElementaryTypeName","src":"11736:6:192","typeDescriptions":{"typeIdentifier":"t_uint88","typeString":"uint88"}},"visibility":"internal"}],"src":"11735:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98424,"nodeType":"FunctionDefinition","src":"12192:187:192","nodes":[],"body":{"id":98423,"nodeType":"Block","src":"12256:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98408,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98402,"src":"12274:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98411,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12288:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":98410,"name":"uint80","nodeType":"ElementaryTypeName","src":"12288:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"}],"id":98409,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12283:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98412,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12283:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint80","typeString":"type(uint80)"}},"id":98413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12296:3:192","memberName":"max","nodeType":"MemberAccess","src":"12283:16:192","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"12274:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473","id":98415,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12301:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""},"value":"SafeCast: value doesn't fit in 80 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""}],"id":98407,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12266:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12266:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98417,"nodeType":"ExpressionStatement","src":"12266:76:192"},{"expression":{"arguments":[{"id":98420,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98402,"src":"12366:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12359:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint80_$","typeString":"type(uint80)"},"typeName":{"id":98418,"name":"uint80","nodeType":"ElementaryTypeName","src":"12359:6:192","typeDescriptions":{}}},"id":98421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12359:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"functionReturnParameters":98406,"id":98422,"nodeType":"Return","src":"12352:20:192"}]},"documentation":{"id":98400,"nodeType":"StructuredDocumentation","src":"11873:314:192","text":" @dev Returns the downcasted uint80 from uint256, reverting on\n overflow (when the input is greater than largest uint80).\n Counterpart to Solidity's `uint80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint80","nameLocation":"12201:8:192","parameters":{"id":98403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98402,"mutability":"mutable","name":"value","nameLocation":"12218:5:192","nodeType":"VariableDeclaration","scope":98424,"src":"12210:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98401,"name":"uint256","nodeType":"ElementaryTypeName","src":"12210:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12209:15:192"},"returnParameters":{"id":98406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98424,"src":"12248:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":98404,"name":"uint80","nodeType":"ElementaryTypeName","src":"12248:6:192","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"visibility":"internal"}],"src":"12247:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98449,"nodeType":"FunctionDefinition","src":"12704:187:192","nodes":[],"body":{"id":98448,"nodeType":"Block","src":"12768:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98433,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98427,"src":"12786:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98436,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12800:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":98435,"name":"uint72","nodeType":"ElementaryTypeName","src":"12800:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"}],"id":98434,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"12795:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98437,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12795:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint72","typeString":"type(uint72)"}},"id":98438,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12808:3:192","memberName":"max","nodeType":"MemberAccess","src":"12795:16:192","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"src":"12786:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473","id":98440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12813:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""},"value":"SafeCast: value doesn't fit in 72 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""}],"id":98432,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12778:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12778:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98442,"nodeType":"ExpressionStatement","src":"12778:76:192"},{"expression":{"arguments":[{"id":98445,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98427,"src":"12878:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98444,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"12871:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint72_$","typeString":"type(uint72)"},"typeName":{"id":98443,"name":"uint72","nodeType":"ElementaryTypeName","src":"12871:6:192","typeDescriptions":{}}},"id":98446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12871:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"functionReturnParameters":98431,"id":98447,"nodeType":"Return","src":"12864:20:192"}]},"documentation":{"id":98425,"nodeType":"StructuredDocumentation","src":"12385:314:192","text":" @dev Returns the downcasted uint72 from uint256, reverting on\n overflow (when the input is greater than largest uint72).\n Counterpart to Solidity's `uint72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint72","nameLocation":"12713:8:192","parameters":{"id":98428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98427,"mutability":"mutable","name":"value","nameLocation":"12730:5:192","nodeType":"VariableDeclaration","scope":98449,"src":"12722:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98426,"name":"uint256","nodeType":"ElementaryTypeName","src":"12722:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12721:15:192"},"returnParameters":{"id":98431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98430,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98449,"src":"12760:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"},"typeName":{"id":98429,"name":"uint72","nodeType":"ElementaryTypeName","src":"12760:6:192","typeDescriptions":{"typeIdentifier":"t_uint72","typeString":"uint72"}},"visibility":"internal"}],"src":"12759:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98474,"nodeType":"FunctionDefinition","src":"13216:187:192","nodes":[],"body":{"id":98473,"nodeType":"Block","src":"13280:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98458,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98452,"src":"13298:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13312:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":98460,"name":"uint64","nodeType":"ElementaryTypeName","src":"13312:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"}],"id":98459,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13307:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13307:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint64","typeString":"type(uint64)"}},"id":98463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13320:3:192","memberName":"max","nodeType":"MemberAccess","src":"13307:16:192","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"src":"13298:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473","id":98465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13325:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""},"value":"SafeCast: value doesn't fit in 64 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""}],"id":98457,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13290:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98466,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13290:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98467,"nodeType":"ExpressionStatement","src":"13290:76:192"},{"expression":{"arguments":[{"id":98470,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98452,"src":"13390:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13383:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint64_$","typeString":"type(uint64)"},"typeName":{"id":98468,"name":"uint64","nodeType":"ElementaryTypeName","src":"13383:6:192","typeDescriptions":{}}},"id":98471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13383:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"functionReturnParameters":98456,"id":98472,"nodeType":"Return","src":"13376:20:192"}]},"documentation":{"id":98450,"nodeType":"StructuredDocumentation","src":"12897:314:192","text":" @dev Returns the downcasted uint64 from uint256, reverting on\n overflow (when the input is greater than largest uint64).\n Counterpart to Solidity's `uint64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v2.5._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint64","nameLocation":"13225:8:192","parameters":{"id":98453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98452,"mutability":"mutable","name":"value","nameLocation":"13242:5:192","nodeType":"VariableDeclaration","scope":98474,"src":"13234:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98451,"name":"uint256","nodeType":"ElementaryTypeName","src":"13234:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13233:15:192"},"returnParameters":{"id":98456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98474,"src":"13272:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":98454,"name":"uint64","nodeType":"ElementaryTypeName","src":"13272:6:192","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"13271:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98499,"nodeType":"FunctionDefinition","src":"13728:187:192","nodes":[],"body":{"id":98498,"nodeType":"Block","src":"13792:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98489,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98483,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98477,"src":"13810:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13824:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":98485,"name":"uint56","nodeType":"ElementaryTypeName","src":"13824:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"}],"id":98484,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"13819:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13819:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint56","typeString":"type(uint56)"}},"id":98488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13832:3:192","memberName":"max","nodeType":"MemberAccess","src":"13819:16:192","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"src":"13810:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473","id":98490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13837:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""},"value":"SafeCast: value doesn't fit in 56 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""}],"id":98482,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13802:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13802:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98492,"nodeType":"ExpressionStatement","src":"13802:76:192"},{"expression":{"arguments":[{"id":98495,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98477,"src":"13902:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98494,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"13895:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint56_$","typeString":"type(uint56)"},"typeName":{"id":98493,"name":"uint56","nodeType":"ElementaryTypeName","src":"13895:6:192","typeDescriptions":{}}},"id":98496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13895:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"functionReturnParameters":98481,"id":98497,"nodeType":"Return","src":"13888:20:192"}]},"documentation":{"id":98475,"nodeType":"StructuredDocumentation","src":"13409:314:192","text":" @dev Returns the downcasted uint56 from uint256, reverting on\n overflow (when the input is greater than largest uint56).\n Counterpart to Solidity's `uint56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint56","nameLocation":"13737:8:192","parameters":{"id":98478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98477,"mutability":"mutable","name":"value","nameLocation":"13754:5:192","nodeType":"VariableDeclaration","scope":98499,"src":"13746:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98476,"name":"uint256","nodeType":"ElementaryTypeName","src":"13746:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13745:15:192"},"returnParameters":{"id":98481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98480,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98499,"src":"13784:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"},"typeName":{"id":98479,"name":"uint56","nodeType":"ElementaryTypeName","src":"13784:6:192","typeDescriptions":{"typeIdentifier":"t_uint56","typeString":"uint56"}},"visibility":"internal"}],"src":"13783:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98524,"nodeType":"FunctionDefinition","src":"14240:187:192","nodes":[],"body":{"id":98523,"nodeType":"Block","src":"14304:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98508,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98502,"src":"14322:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14336:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":98510,"name":"uint48","nodeType":"ElementaryTypeName","src":"14336:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"}],"id":98509,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14331:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14331:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint48","typeString":"type(uint48)"}},"id":98513,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14344:3:192","memberName":"max","nodeType":"MemberAccess","src":"14331:16:192","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"14322:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473","id":98515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14349:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""},"value":"SafeCast: value doesn't fit in 48 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""}],"id":98507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14314:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14314:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98517,"nodeType":"ExpressionStatement","src":"14314:76:192"},{"expression":{"arguments":[{"id":98520,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98502,"src":"14414:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14407:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint48_$","typeString":"type(uint48)"},"typeName":{"id":98518,"name":"uint48","nodeType":"ElementaryTypeName","src":"14407:6:192","typeDescriptions":{}}},"id":98521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14407:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":98506,"id":98522,"nodeType":"Return","src":"14400:20:192"}]},"documentation":{"id":98500,"nodeType":"StructuredDocumentation","src":"13921:314:192","text":" @dev Returns the downcasted uint48 from uint256, reverting on\n overflow (when the input is greater than largest uint48).\n Counterpart to Solidity's `uint48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint48","nameLocation":"14249:8:192","parameters":{"id":98503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98502,"mutability":"mutable","name":"value","nameLocation":"14266:5:192","nodeType":"VariableDeclaration","scope":98524,"src":"14258:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98501,"name":"uint256","nodeType":"ElementaryTypeName","src":"14258:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14257:15:192"},"returnParameters":{"id":98506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98505,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98524,"src":"14296:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":98504,"name":"uint48","nodeType":"ElementaryTypeName","src":"14296:6:192","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"14295:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98549,"nodeType":"FunctionDefinition","src":"14752:187:192","nodes":[],"body":{"id":98548,"nodeType":"Block","src":"14816:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98533,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98527,"src":"14834:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98536,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14848:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":98535,"name":"uint40","nodeType":"ElementaryTypeName","src":"14848:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"}],"id":98534,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"14843:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98537,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14843:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint40","typeString":"type(uint40)"}},"id":98538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14856:3:192","memberName":"max","nodeType":"MemberAccess","src":"14843:16:192","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"src":"14834:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473","id":98540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14861:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""},"value":"SafeCast: value doesn't fit in 40 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""}],"id":98532,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14826:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14826:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98542,"nodeType":"ExpressionStatement","src":"14826:76:192"},{"expression":{"arguments":[{"id":98545,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98527,"src":"14926:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14919:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint40_$","typeString":"type(uint40)"},"typeName":{"id":98543,"name":"uint40","nodeType":"ElementaryTypeName","src":"14919:6:192","typeDescriptions":{}}},"id":98546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14919:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"functionReturnParameters":98531,"id":98547,"nodeType":"Return","src":"14912:20:192"}]},"documentation":{"id":98525,"nodeType":"StructuredDocumentation","src":"14433:314:192","text":" @dev Returns the downcasted uint40 from uint256, reverting on\n overflow (when the input is greater than largest uint40).\n Counterpart to Solidity's `uint40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint40","nameLocation":"14761:8:192","parameters":{"id":98528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98527,"mutability":"mutable","name":"value","nameLocation":"14778:5:192","nodeType":"VariableDeclaration","scope":98549,"src":"14770:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98526,"name":"uint256","nodeType":"ElementaryTypeName","src":"14770:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14769:15:192"},"returnParameters":{"id":98531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98549,"src":"14808:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"},"typeName":{"id":98529,"name":"uint40","nodeType":"ElementaryTypeName","src":"14808:6:192","typeDescriptions":{"typeIdentifier":"t_uint40","typeString":"uint40"}},"visibility":"internal"}],"src":"14807:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98574,"nodeType":"FunctionDefinition","src":"15264:187:192","nodes":[],"body":{"id":98573,"nodeType":"Block","src":"15328:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98558,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98552,"src":"15346:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98561,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15360:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":98560,"name":"uint32","nodeType":"ElementaryTypeName","src":"15360:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"}],"id":98559,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15355:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98562,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15355:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint32","typeString":"type(uint32)"}},"id":98563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15368:3:192","memberName":"max","nodeType":"MemberAccess","src":"15355:16:192","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"src":"15346:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473","id":98565,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15373:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""},"value":"SafeCast: value doesn't fit in 32 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""}],"id":98557,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15338:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15338:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98567,"nodeType":"ExpressionStatement","src":"15338:76:192"},{"expression":{"arguments":[{"id":98570,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98552,"src":"15438:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98569,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15431:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":98568,"name":"uint32","nodeType":"ElementaryTypeName","src":"15431:6:192","typeDescriptions":{}}},"id":98571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15431:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"functionReturnParameters":98556,"id":98572,"nodeType":"Return","src":"15424:20:192"}]},"documentation":{"id":98550,"nodeType":"StructuredDocumentation","src":"14945:314:192","text":" @dev Returns the downcasted uint32 from uint256, reverting on\n overflow (when the input is greater than largest uint32).\n Counterpart to Solidity's `uint32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v2.5._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint32","nameLocation":"15273:8:192","parameters":{"id":98553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98552,"mutability":"mutable","name":"value","nameLocation":"15290:5:192","nodeType":"VariableDeclaration","scope":98574,"src":"15282:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98551,"name":"uint256","nodeType":"ElementaryTypeName","src":"15282:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15281:15:192"},"returnParameters":{"id":98556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98555,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98574,"src":"15320:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":98554,"name":"uint32","nodeType":"ElementaryTypeName","src":"15320:6:192","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"15319:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98599,"nodeType":"FunctionDefinition","src":"15776:187:192","nodes":[],"body":{"id":98598,"nodeType":"Block","src":"15840:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98583,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98577,"src":"15858:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98586,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15872:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":98585,"name":"uint24","nodeType":"ElementaryTypeName","src":"15872:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"}],"id":98584,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"15867:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15867:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint24","typeString":"type(uint24)"}},"id":98588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15880:3:192","memberName":"max","nodeType":"MemberAccess","src":"15867:16:192","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"src":"15858:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473","id":98590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15885:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""},"value":"SafeCast: value doesn't fit in 24 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""}],"id":98582,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"15850:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15850:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98592,"nodeType":"ExpressionStatement","src":"15850:76:192"},{"expression":{"arguments":[{"id":98595,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98577,"src":"15950:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98594,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"15943:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":98593,"name":"uint24","nodeType":"ElementaryTypeName","src":"15943:6:192","typeDescriptions":{}}},"id":98596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15943:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"functionReturnParameters":98581,"id":98597,"nodeType":"Return","src":"15936:20:192"}]},"documentation":{"id":98575,"nodeType":"StructuredDocumentation","src":"15457:314:192","text":" @dev Returns the downcasted uint24 from uint256, reverting on\n overflow (when the input is greater than largest uint24).\n Counterpart to Solidity's `uint24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint24","nameLocation":"15785:8:192","parameters":{"id":98578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98577,"mutability":"mutable","name":"value","nameLocation":"15802:5:192","nodeType":"VariableDeclaration","scope":98599,"src":"15794:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98576,"name":"uint256","nodeType":"ElementaryTypeName","src":"15794:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15793:15:192"},"returnParameters":{"id":98581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98580,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98599,"src":"15832:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"},"typeName":{"id":98579,"name":"uint24","nodeType":"ElementaryTypeName","src":"15832:6:192","typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}},"visibility":"internal"}],"src":"15831:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98624,"nodeType":"FunctionDefinition","src":"16288:187:192","nodes":[],"body":{"id":98623,"nodeType":"Block","src":"16352:123:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98614,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98608,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98602,"src":"16370:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16384:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":98610,"name":"uint16","nodeType":"ElementaryTypeName","src":"16384:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"}],"id":98609,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16379:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16379:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint16","typeString":"type(uint16)"}},"id":98613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16392:3:192","memberName":"max","nodeType":"MemberAccess","src":"16379:16:192","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"16370:25:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473","id":98615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16397:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""},"value":"SafeCast: value doesn't fit in 16 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""}],"id":98607,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16362:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16362:76:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98617,"nodeType":"ExpressionStatement","src":"16362:76:192"},{"expression":{"arguments":[{"id":98620,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98602,"src":"16462:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16455:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":98618,"name":"uint16","nodeType":"ElementaryTypeName","src":"16455:6:192","typeDescriptions":{}}},"id":98621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16455:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"functionReturnParameters":98606,"id":98622,"nodeType":"Return","src":"16448:20:192"}]},"documentation":{"id":98600,"nodeType":"StructuredDocumentation","src":"15969:314:192","text":" @dev Returns the downcasted uint16 from uint256, reverting on\n overflow (when the input is greater than largest uint16).\n Counterpart to Solidity's `uint16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v2.5._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint16","nameLocation":"16297:8:192","parameters":{"id":98603,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98602,"mutability":"mutable","name":"value","nameLocation":"16314:5:192","nodeType":"VariableDeclaration","scope":98624,"src":"16306:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98601,"name":"uint256","nodeType":"ElementaryTypeName","src":"16306:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16305:15:192"},"returnParameters":{"id":98606,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98605,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98624,"src":"16344:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":98604,"name":"uint16","nodeType":"ElementaryTypeName","src":"16344:6:192","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"16343:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98649,"nodeType":"FunctionDefinition","src":"16796:182:192","nodes":[],"body":{"id":98648,"nodeType":"Block","src":"16858:120:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":98639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98633,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98627,"src":"16876:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"arguments":[{"id":98636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16890:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":98635,"name":"uint8","nodeType":"ElementaryTypeName","src":"16890:5:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"}],"id":98634,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"16885:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":98637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16885:11:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_uint8","typeString":"type(uint8)"}},"id":98638,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16897:3:192","memberName":"max","nodeType":"MemberAccess","src":"16885:15:192","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"16876:24:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473","id":98640,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16902:39:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""},"value":"SafeCast: value doesn't fit in 8 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""}],"id":98632,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"16868:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16868:74:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98642,"nodeType":"ExpressionStatement","src":"16868:74:192"},{"expression":{"arguments":[{"id":98645,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98627,"src":"16965:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":98644,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"16959:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":98643,"name":"uint8","nodeType":"ElementaryTypeName","src":"16959:5:192","typeDescriptions":{}}},"id":98646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16959:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":98631,"id":98647,"nodeType":"Return","src":"16952:19:192"}]},"documentation":{"id":98625,"nodeType":"StructuredDocumentation","src":"16481:310:192","text":" @dev Returns the downcasted uint8 from uint256, reverting on\n overflow (when the input is greater than largest uint8).\n Counterpart to Solidity's `uint8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v2.5._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint8","nameLocation":"16805:7:192","parameters":{"id":98628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98627,"mutability":"mutable","name":"value","nameLocation":"16821:5:192","nodeType":"VariableDeclaration","scope":98649,"src":"16813:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98626,"name":"uint256","nodeType":"ElementaryTypeName","src":"16813:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16812:15:192"},"returnParameters":{"id":98631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98630,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98649,"src":"16851:5:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":98629,"name":"uint8","nodeType":"ElementaryTypeName","src":"16851:5:192","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"16850:7:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98670,"nodeType":"FunctionDefinition","src":"17187:168:192","nodes":[],"body":{"id":98669,"nodeType":"Block","src":"17252:103:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98658,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98652,"src":"17270:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"hexValue":"30","id":98659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"17279:1:192","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"17270:10:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c7565206d75737420626520706f736974697665","id":98661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17282:34:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807","typeString":"literal_string \"SafeCast: value must be positive\""},"value":"SafeCast: value must be positive"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_74e6d3a4204092bea305532ded31d3763fc378e46be3884a93ceff08a0761807","typeString":"literal_string \"SafeCast: value must be positive\""}],"id":98657,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17262:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17262:55:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98663,"nodeType":"ExpressionStatement","src":"17262:55:192"},{"expression":{"arguments":[{"id":98666,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98652,"src":"17342:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98665,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17334:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":98664,"name":"uint256","nodeType":"ElementaryTypeName","src":"17334:7:192","typeDescriptions":{}}},"id":98667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17334:14:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":98656,"id":98668,"nodeType":"Return","src":"17327:21:192"}]},"documentation":{"id":98650,"nodeType":"StructuredDocumentation","src":"16984:198:192","text":" @dev Converts a signed int256 into an unsigned uint256.\n Requirements:\n - input must be greater than or equal to 0.\n _Available since v3.0._"},"implemented":true,"kind":"function","modifiers":[],"name":"toUint256","nameLocation":"17196:9:192","parameters":{"id":98653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98652,"mutability":"mutable","name":"value","nameLocation":"17213:5:192","nodeType":"VariableDeclaration","scope":98670,"src":"17206:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98651,"name":"int256","nodeType":"ElementaryTypeName","src":"17206:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17205:14:192"},"returnParameters":{"id":98656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98655,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":98670,"src":"17243:7:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":98654,"name":"uint256","nodeType":"ElementaryTypeName","src":"17243:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17242:9:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98693,"nodeType":"FunctionDefinition","src":"17716:198:192","nodes":[],"body":{"id":98692,"nodeType":"Block","src":"17790:124:192","nodes":[],"statements":[{"expression":{"id":98683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98678,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98676,"src":"17800:10:192","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98681,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98673,"src":"17820:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"17813:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int248_$","typeString":"type(int248)"},"typeName":{"id":98679,"name":"int248","nodeType":"ElementaryTypeName","src":"17813:6:192","typeDescriptions":{}}},"id":98682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17813:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"src":"17800:26:192","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"id":98684,"nodeType":"ExpressionStatement","src":"17800:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98686,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98676,"src":"17844:10:192","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98687,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98673,"src":"17858:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17844:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234382062697473","id":98689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17865:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""},"value":"SafeCast: value doesn't fit in 248 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6ac19bba4607c9b45ff35f54fbc4ca64c29c7457109a16fa180ea77cdbda8593","typeString":"literal_string \"SafeCast: value doesn't fit in 248 bits\""}],"id":98685,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"17836:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17836:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98691,"nodeType":"ExpressionStatement","src":"17836:71:192"}]},"documentation":{"id":98671,"nodeType":"StructuredDocumentation","src":"17361:350:192","text":" @dev Returns the downcasted int248 from int256, reverting on\n overflow (when the input is less than smallest int248 or\n greater than largest int248).\n Counterpart to Solidity's `int248` operator.\n Requirements:\n - input must fit into 248 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt248","nameLocation":"17725:8:192","parameters":{"id":98674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98673,"mutability":"mutable","name":"value","nameLocation":"17741:5:192","nodeType":"VariableDeclaration","scope":98693,"src":"17734:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98672,"name":"int256","nodeType":"ElementaryTypeName","src":"17734:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17733:14:192"},"returnParameters":{"id":98677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98676,"mutability":"mutable","name":"downcasted","nameLocation":"17778:10:192","nodeType":"VariableDeclaration","scope":98693,"src":"17771:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"},"typeName":{"id":98675,"name":"int248","nodeType":"ElementaryTypeName","src":"17771:6:192","typeDescriptions":{"typeIdentifier":"t_int248","typeString":"int248"}},"visibility":"internal"}],"src":"17770:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98716,"nodeType":"FunctionDefinition","src":"18275:198:192","nodes":[],"body":{"id":98715,"nodeType":"Block","src":"18349:124:192","nodes":[],"statements":[{"expression":{"id":98706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98701,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98699,"src":"18359:10:192","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98704,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98696,"src":"18379:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18372:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int240_$","typeString":"type(int240)"},"typeName":{"id":98702,"name":"int240","nodeType":"ElementaryTypeName","src":"18372:6:192","typeDescriptions":{}}},"id":98705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18372:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"src":"18359:26:192","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"id":98707,"nodeType":"ExpressionStatement","src":"18359:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98709,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98699,"src":"18403:10:192","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98710,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98696,"src":"18417:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18403:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203234302062697473","id":98712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18424:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""},"value":"SafeCast: value doesn't fit in 240 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_375fa0f6cb9fb5845d214c630920cedf4424913ed6dc32c297d430efa3d61a87","typeString":"literal_string \"SafeCast: value doesn't fit in 240 bits\""}],"id":98708,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18395:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18395:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98714,"nodeType":"ExpressionStatement","src":"18395:71:192"}]},"documentation":{"id":98694,"nodeType":"StructuredDocumentation","src":"17920:350:192","text":" @dev Returns the downcasted int240 from int256, reverting on\n overflow (when the input is less than smallest int240 or\n greater than largest int240).\n Counterpart to Solidity's `int240` operator.\n Requirements:\n - input must fit into 240 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt240","nameLocation":"18284:8:192","parameters":{"id":98697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98696,"mutability":"mutable","name":"value","nameLocation":"18300:5:192","nodeType":"VariableDeclaration","scope":98716,"src":"18293:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98695,"name":"int256","nodeType":"ElementaryTypeName","src":"18293:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18292:14:192"},"returnParameters":{"id":98700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98699,"mutability":"mutable","name":"downcasted","nameLocation":"18337:10:192","nodeType":"VariableDeclaration","scope":98716,"src":"18330:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"},"typeName":{"id":98698,"name":"int240","nodeType":"ElementaryTypeName","src":"18330:6:192","typeDescriptions":{"typeIdentifier":"t_int240","typeString":"int240"}},"visibility":"internal"}],"src":"18329:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98739,"nodeType":"FunctionDefinition","src":"18834:198:192","nodes":[],"body":{"id":98738,"nodeType":"Block","src":"18908:124:192","nodes":[],"statements":[{"expression":{"id":98729,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98724,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98722,"src":"18918:10:192","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98727,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98719,"src":"18938:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"18931:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int232_$","typeString":"type(int232)"},"typeName":{"id":98725,"name":"int232","nodeType":"ElementaryTypeName","src":"18931:6:192","typeDescriptions":{}}},"id":98728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18931:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"src":"18918:26:192","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"id":98730,"nodeType":"ExpressionStatement","src":"18918:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98732,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98722,"src":"18962:10:192","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98733,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98719,"src":"18976:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"18962:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203233322062697473","id":98735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18983:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""},"value":"SafeCast: value doesn't fit in 232 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5797fb2c4589bd6a92752ce0eacaac67341e37ab28c96c2284ab897e7ac77957","typeString":"literal_string \"SafeCast: value doesn't fit in 232 bits\""}],"id":98731,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"18954:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18954:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98737,"nodeType":"ExpressionStatement","src":"18954:71:192"}]},"documentation":{"id":98717,"nodeType":"StructuredDocumentation","src":"18479:350:192","text":" @dev Returns the downcasted int232 from int256, reverting on\n overflow (when the input is less than smallest int232 or\n greater than largest int232).\n Counterpart to Solidity's `int232` operator.\n Requirements:\n - input must fit into 232 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt232","nameLocation":"18843:8:192","parameters":{"id":98720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98719,"mutability":"mutable","name":"value","nameLocation":"18859:5:192","nodeType":"VariableDeclaration","scope":98739,"src":"18852:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98718,"name":"int256","nodeType":"ElementaryTypeName","src":"18852:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"18851:14:192"},"returnParameters":{"id":98723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98722,"mutability":"mutable","name":"downcasted","nameLocation":"18896:10:192","nodeType":"VariableDeclaration","scope":98739,"src":"18889:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"},"typeName":{"id":98721,"name":"int232","nodeType":"ElementaryTypeName","src":"18889:6:192","typeDescriptions":{"typeIdentifier":"t_int232","typeString":"int232"}},"visibility":"internal"}],"src":"18888:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98762,"nodeType":"FunctionDefinition","src":"19393:198:192","nodes":[],"body":{"id":98761,"nodeType":"Block","src":"19467:124:192","nodes":[],"statements":[{"expression":{"id":98752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98747,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98745,"src":"19477:10:192","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98750,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98742,"src":"19497:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"19490:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int224_$","typeString":"type(int224)"},"typeName":{"id":98748,"name":"int224","nodeType":"ElementaryTypeName","src":"19490:6:192","typeDescriptions":{}}},"id":98751,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19490:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"src":"19477:26:192","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"id":98753,"nodeType":"ExpressionStatement","src":"19477:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98755,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98745,"src":"19521:10:192","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98756,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98742,"src":"19535:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"19521:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203232342062697473","id":98758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19542:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""},"value":"SafeCast: value doesn't fit in 224 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9d2acf551b2466898443b9bc3a403a4d86037386bc5a8960c1bbb0f204e69b79","typeString":"literal_string \"SafeCast: value doesn't fit in 224 bits\""}],"id":98754,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"19513:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19513:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98760,"nodeType":"ExpressionStatement","src":"19513:71:192"}]},"documentation":{"id":98740,"nodeType":"StructuredDocumentation","src":"19038:350:192","text":" @dev Returns the downcasted int224 from int256, reverting on\n overflow (when the input is less than smallest int224 or\n greater than largest int224).\n Counterpart to Solidity's `int224` operator.\n Requirements:\n - input must fit into 224 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt224","nameLocation":"19402:8:192","parameters":{"id":98743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98742,"mutability":"mutable","name":"value","nameLocation":"19418:5:192","nodeType":"VariableDeclaration","scope":98762,"src":"19411:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98741,"name":"int256","nodeType":"ElementaryTypeName","src":"19411:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19410:14:192"},"returnParameters":{"id":98746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98745,"mutability":"mutable","name":"downcasted","nameLocation":"19455:10:192","nodeType":"VariableDeclaration","scope":98762,"src":"19448:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"},"typeName":{"id":98744,"name":"int224","nodeType":"ElementaryTypeName","src":"19448:6:192","typeDescriptions":{"typeIdentifier":"t_int224","typeString":"int224"}},"visibility":"internal"}],"src":"19447:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98785,"nodeType":"FunctionDefinition","src":"19952:198:192","nodes":[],"body":{"id":98784,"nodeType":"Block","src":"20026:124:192","nodes":[],"statements":[{"expression":{"id":98775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98770,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98768,"src":"20036:10:192","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98773,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98765,"src":"20056:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20049:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int216_$","typeString":"type(int216)"},"typeName":{"id":98771,"name":"int216","nodeType":"ElementaryTypeName","src":"20049:6:192","typeDescriptions":{}}},"id":98774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20049:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"src":"20036:26:192","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"id":98776,"nodeType":"ExpressionStatement","src":"20036:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98778,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98768,"src":"20080:10:192","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98779,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98765,"src":"20094:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20080:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203231362062697473","id":98781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20101:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""},"value":"SafeCast: value doesn't fit in 216 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8966adc0aad8dc91b207c69c3eb4937e498af8cc706cfe7edd55f3a6ea53488d","typeString":"literal_string \"SafeCast: value doesn't fit in 216 bits\""}],"id":98777,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20072:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20072:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98783,"nodeType":"ExpressionStatement","src":"20072:71:192"}]},"documentation":{"id":98763,"nodeType":"StructuredDocumentation","src":"19597:350:192","text":" @dev Returns the downcasted int216 from int256, reverting on\n overflow (when the input is less than smallest int216 or\n greater than largest int216).\n Counterpart to Solidity's `int216` operator.\n Requirements:\n - input must fit into 216 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt216","nameLocation":"19961:8:192","parameters":{"id":98766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98765,"mutability":"mutable","name":"value","nameLocation":"19977:5:192","nodeType":"VariableDeclaration","scope":98785,"src":"19970:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98764,"name":"int256","nodeType":"ElementaryTypeName","src":"19970:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"19969:14:192"},"returnParameters":{"id":98769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98768,"mutability":"mutable","name":"downcasted","nameLocation":"20014:10:192","nodeType":"VariableDeclaration","scope":98785,"src":"20007:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"},"typeName":{"id":98767,"name":"int216","nodeType":"ElementaryTypeName","src":"20007:6:192","typeDescriptions":{"typeIdentifier":"t_int216","typeString":"int216"}},"visibility":"internal"}],"src":"20006:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98808,"nodeType":"FunctionDefinition","src":"20511:198:192","nodes":[],"body":{"id":98807,"nodeType":"Block","src":"20585:124:192","nodes":[],"statements":[{"expression":{"id":98798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98793,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98791,"src":"20595:10:192","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98796,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98788,"src":"20615:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"20608:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int208_$","typeString":"type(int208)"},"typeName":{"id":98794,"name":"int208","nodeType":"ElementaryTypeName","src":"20608:6:192","typeDescriptions":{}}},"id":98797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20608:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"src":"20595:26:192","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"id":98799,"nodeType":"ExpressionStatement","src":"20595:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98801,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98791,"src":"20639:10:192","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98802,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98788,"src":"20653:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"20639:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230382062697473","id":98804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20660:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""},"value":"SafeCast: value doesn't fit in 208 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_43d81217fa633fa1c6e88855de94fb990f5831ac266b0a90afa660e986ab5e23","typeString":"literal_string \"SafeCast: value doesn't fit in 208 bits\""}],"id":98800,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"20631:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20631:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98806,"nodeType":"ExpressionStatement","src":"20631:71:192"}]},"documentation":{"id":98786,"nodeType":"StructuredDocumentation","src":"20156:350:192","text":" @dev Returns the downcasted int208 from int256, reverting on\n overflow (when the input is less than smallest int208 or\n greater than largest int208).\n Counterpart to Solidity's `int208` operator.\n Requirements:\n - input must fit into 208 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt208","nameLocation":"20520:8:192","parameters":{"id":98789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98788,"mutability":"mutable","name":"value","nameLocation":"20536:5:192","nodeType":"VariableDeclaration","scope":98808,"src":"20529:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98787,"name":"int256","nodeType":"ElementaryTypeName","src":"20529:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"20528:14:192"},"returnParameters":{"id":98792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98791,"mutability":"mutable","name":"downcasted","nameLocation":"20573:10:192","nodeType":"VariableDeclaration","scope":98808,"src":"20566:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"},"typeName":{"id":98790,"name":"int208","nodeType":"ElementaryTypeName","src":"20566:6:192","typeDescriptions":{"typeIdentifier":"t_int208","typeString":"int208"}},"visibility":"internal"}],"src":"20565:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98831,"nodeType":"FunctionDefinition","src":"21070:198:192","nodes":[],"body":{"id":98830,"nodeType":"Block","src":"21144:124:192","nodes":[],"statements":[{"expression":{"id":98821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98816,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98814,"src":"21154:10:192","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98819,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98811,"src":"21174:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21167:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int200_$","typeString":"type(int200)"},"typeName":{"id":98817,"name":"int200","nodeType":"ElementaryTypeName","src":"21167:6:192","typeDescriptions":{}}},"id":98820,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21167:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"src":"21154:26:192","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"id":98822,"nodeType":"ExpressionStatement","src":"21154:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98824,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98814,"src":"21198:10:192","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98825,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98811,"src":"21212:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21198:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203230302062697473","id":98827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21219:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""},"value":"SafeCast: value doesn't fit in 200 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_df8130f294fe2698967ea9ead82c4da9454490567d976d00551e0174e655314c","typeString":"literal_string \"SafeCast: value doesn't fit in 200 bits\""}],"id":98823,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21190:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21190:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98829,"nodeType":"ExpressionStatement","src":"21190:71:192"}]},"documentation":{"id":98809,"nodeType":"StructuredDocumentation","src":"20715:350:192","text":" @dev Returns the downcasted int200 from int256, reverting on\n overflow (when the input is less than smallest int200 or\n greater than largest int200).\n Counterpart to Solidity's `int200` operator.\n Requirements:\n - input must fit into 200 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt200","nameLocation":"21079:8:192","parameters":{"id":98812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98811,"mutability":"mutable","name":"value","nameLocation":"21095:5:192","nodeType":"VariableDeclaration","scope":98831,"src":"21088:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98810,"name":"int256","nodeType":"ElementaryTypeName","src":"21088:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21087:14:192"},"returnParameters":{"id":98815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98814,"mutability":"mutable","name":"downcasted","nameLocation":"21132:10:192","nodeType":"VariableDeclaration","scope":98831,"src":"21125:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"},"typeName":{"id":98813,"name":"int200","nodeType":"ElementaryTypeName","src":"21125:6:192","typeDescriptions":{"typeIdentifier":"t_int200","typeString":"int200"}},"visibility":"internal"}],"src":"21124:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98854,"nodeType":"FunctionDefinition","src":"21629:198:192","nodes":[],"body":{"id":98853,"nodeType":"Block","src":"21703:124:192","nodes":[],"statements":[{"expression":{"id":98844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98839,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98837,"src":"21713:10:192","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98842,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98834,"src":"21733:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"21726:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int192_$","typeString":"type(int192)"},"typeName":{"id":98840,"name":"int192","nodeType":"ElementaryTypeName","src":"21726:6:192","typeDescriptions":{}}},"id":98843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21726:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"src":"21713:26:192","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"id":98845,"nodeType":"ExpressionStatement","src":"21713:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98847,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98837,"src":"21757:10:192","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98848,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98834,"src":"21771:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"21757:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203139322062697473","id":98850,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21778:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""},"value":"SafeCast: value doesn't fit in 192 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_112978800f12a1c4f1eab82789f7b6defd49dc1c17ba270a84ffc28392fb05ae","typeString":"literal_string \"SafeCast: value doesn't fit in 192 bits\""}],"id":98846,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"21749:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21749:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98852,"nodeType":"ExpressionStatement","src":"21749:71:192"}]},"documentation":{"id":98832,"nodeType":"StructuredDocumentation","src":"21274:350:192","text":" @dev Returns the downcasted int192 from int256, reverting on\n overflow (when the input is less than smallest int192 or\n greater than largest int192).\n Counterpart to Solidity's `int192` operator.\n Requirements:\n - input must fit into 192 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt192","nameLocation":"21638:8:192","parameters":{"id":98835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98834,"mutability":"mutable","name":"value","nameLocation":"21654:5:192","nodeType":"VariableDeclaration","scope":98854,"src":"21647:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98833,"name":"int256","nodeType":"ElementaryTypeName","src":"21647:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"21646:14:192"},"returnParameters":{"id":98838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98837,"mutability":"mutable","name":"downcasted","nameLocation":"21691:10:192","nodeType":"VariableDeclaration","scope":98854,"src":"21684:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"},"typeName":{"id":98836,"name":"int192","nodeType":"ElementaryTypeName","src":"21684:6:192","typeDescriptions":{"typeIdentifier":"t_int192","typeString":"int192"}},"visibility":"internal"}],"src":"21683:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98877,"nodeType":"FunctionDefinition","src":"22188:198:192","nodes":[],"body":{"id":98876,"nodeType":"Block","src":"22262:124:192","nodes":[],"statements":[{"expression":{"id":98867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98862,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98860,"src":"22272:10:192","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98865,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98857,"src":"22292:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22285:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int184_$","typeString":"type(int184)"},"typeName":{"id":98863,"name":"int184","nodeType":"ElementaryTypeName","src":"22285:6:192","typeDescriptions":{}}},"id":98866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22285:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"src":"22272:26:192","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"id":98868,"nodeType":"ExpressionStatement","src":"22272:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98870,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98860,"src":"22316:10:192","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98871,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98857,"src":"22330:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22316:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203138342062697473","id":98873,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22337:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""},"value":"SafeCast: value doesn't fit in 184 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_86c53d89b1944d561ecfa42e859033241d1df6ea8d42a57ae02f79d45de4aa75","typeString":"literal_string \"SafeCast: value doesn't fit in 184 bits\""}],"id":98869,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22308:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22308:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98875,"nodeType":"ExpressionStatement","src":"22308:71:192"}]},"documentation":{"id":98855,"nodeType":"StructuredDocumentation","src":"21833:350:192","text":" @dev Returns the downcasted int184 from int256, reverting on\n overflow (when the input is less than smallest int184 or\n greater than largest int184).\n Counterpart to Solidity's `int184` operator.\n Requirements:\n - input must fit into 184 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt184","nameLocation":"22197:8:192","parameters":{"id":98858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98857,"mutability":"mutable","name":"value","nameLocation":"22213:5:192","nodeType":"VariableDeclaration","scope":98877,"src":"22206:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98856,"name":"int256","nodeType":"ElementaryTypeName","src":"22206:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22205:14:192"},"returnParameters":{"id":98861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98860,"mutability":"mutable","name":"downcasted","nameLocation":"22250:10:192","nodeType":"VariableDeclaration","scope":98877,"src":"22243:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"},"typeName":{"id":98859,"name":"int184","nodeType":"ElementaryTypeName","src":"22243:6:192","typeDescriptions":{"typeIdentifier":"t_int184","typeString":"int184"}},"visibility":"internal"}],"src":"22242:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98900,"nodeType":"FunctionDefinition","src":"22747:198:192","nodes":[],"body":{"id":98899,"nodeType":"Block","src":"22821:124:192","nodes":[],"statements":[{"expression":{"id":98890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98885,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98883,"src":"22831:10:192","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98888,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98880,"src":"22851:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"22844:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int176_$","typeString":"type(int176)"},"typeName":{"id":98886,"name":"int176","nodeType":"ElementaryTypeName","src":"22844:6:192","typeDescriptions":{}}},"id":98889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22844:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"src":"22831:26:192","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"id":98891,"nodeType":"ExpressionStatement","src":"22831:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98895,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98893,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98883,"src":"22875:10:192","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98894,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98880,"src":"22889:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"22875:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203137362062697473","id":98896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22896:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""},"value":"SafeCast: value doesn't fit in 176 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4069e970f734339c7841e84a1b26f503bff22b76884c1168dc24e2e6af9b1e30","typeString":"literal_string \"SafeCast: value doesn't fit in 176 bits\""}],"id":98892,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"22867:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22867:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98898,"nodeType":"ExpressionStatement","src":"22867:71:192"}]},"documentation":{"id":98878,"nodeType":"StructuredDocumentation","src":"22392:350:192","text":" @dev Returns the downcasted int176 from int256, reverting on\n overflow (when the input is less than smallest int176 or\n greater than largest int176).\n Counterpart to Solidity's `int176` operator.\n Requirements:\n - input must fit into 176 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt176","nameLocation":"22756:8:192","parameters":{"id":98881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98880,"mutability":"mutable","name":"value","nameLocation":"22772:5:192","nodeType":"VariableDeclaration","scope":98900,"src":"22765:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98879,"name":"int256","nodeType":"ElementaryTypeName","src":"22765:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"22764:14:192"},"returnParameters":{"id":98884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98883,"mutability":"mutable","name":"downcasted","nameLocation":"22809:10:192","nodeType":"VariableDeclaration","scope":98900,"src":"22802:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"},"typeName":{"id":98882,"name":"int176","nodeType":"ElementaryTypeName","src":"22802:6:192","typeDescriptions":{"typeIdentifier":"t_int176","typeString":"int176"}},"visibility":"internal"}],"src":"22801:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98923,"nodeType":"FunctionDefinition","src":"23306:198:192","nodes":[],"body":{"id":98922,"nodeType":"Block","src":"23380:124:192","nodes":[],"statements":[{"expression":{"id":98913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98908,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98906,"src":"23390:10:192","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98911,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98903,"src":"23410:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23403:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int168_$","typeString":"type(int168)"},"typeName":{"id":98909,"name":"int168","nodeType":"ElementaryTypeName","src":"23403:6:192","typeDescriptions":{}}},"id":98912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23403:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"src":"23390:26:192","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"id":98914,"nodeType":"ExpressionStatement","src":"23390:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98918,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98916,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98906,"src":"23434:10:192","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98917,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98903,"src":"23448:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23434:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136382062697473","id":98919,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23455:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""},"value":"SafeCast: value doesn't fit in 168 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_67ef32a3cbe7b34392347d335b0a7ae95c74a34ca40e4efb58f6c9a3154e85a1","typeString":"literal_string \"SafeCast: value doesn't fit in 168 bits\""}],"id":98915,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23426:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23426:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98921,"nodeType":"ExpressionStatement","src":"23426:71:192"}]},"documentation":{"id":98901,"nodeType":"StructuredDocumentation","src":"22951:350:192","text":" @dev Returns the downcasted int168 from int256, reverting on\n overflow (when the input is less than smallest int168 or\n greater than largest int168).\n Counterpart to Solidity's `int168` operator.\n Requirements:\n - input must fit into 168 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt168","nameLocation":"23315:8:192","parameters":{"id":98904,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98903,"mutability":"mutable","name":"value","nameLocation":"23331:5:192","nodeType":"VariableDeclaration","scope":98923,"src":"23324:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98902,"name":"int256","nodeType":"ElementaryTypeName","src":"23324:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23323:14:192"},"returnParameters":{"id":98907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98906,"mutability":"mutable","name":"downcasted","nameLocation":"23368:10:192","nodeType":"VariableDeclaration","scope":98923,"src":"23361:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"},"typeName":{"id":98905,"name":"int168","nodeType":"ElementaryTypeName","src":"23361:6:192","typeDescriptions":{"typeIdentifier":"t_int168","typeString":"int168"}},"visibility":"internal"}],"src":"23360:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98946,"nodeType":"FunctionDefinition","src":"23865:198:192","nodes":[],"body":{"id":98945,"nodeType":"Block","src":"23939:124:192","nodes":[],"statements":[{"expression":{"id":98936,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98931,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98929,"src":"23949:10:192","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98934,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98926,"src":"23969:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"23962:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int160_$","typeString":"type(int160)"},"typeName":{"id":98932,"name":"int160","nodeType":"ElementaryTypeName","src":"23962:6:192","typeDescriptions":{}}},"id":98935,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23962:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"src":"23949:26:192","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"id":98937,"nodeType":"ExpressionStatement","src":"23949:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98939,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98929,"src":"23993:10:192","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98940,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98926,"src":"24007:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"23993:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203136302062697473","id":98942,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24014:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""},"value":"SafeCast: value doesn't fit in 160 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_976ecce9083debfe29d3a99b955facf24b8725f1b964d1a5bb4197ffcd60ab9d","typeString":"literal_string \"SafeCast: value doesn't fit in 160 bits\""}],"id":98938,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"23985:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23985:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98944,"nodeType":"ExpressionStatement","src":"23985:71:192"}]},"documentation":{"id":98924,"nodeType":"StructuredDocumentation","src":"23510:350:192","text":" @dev Returns the downcasted int160 from int256, reverting on\n overflow (when the input is less than smallest int160 or\n greater than largest int160).\n Counterpart to Solidity's `int160` operator.\n Requirements:\n - input must fit into 160 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt160","nameLocation":"23874:8:192","parameters":{"id":98927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98926,"mutability":"mutable","name":"value","nameLocation":"23890:5:192","nodeType":"VariableDeclaration","scope":98946,"src":"23883:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98925,"name":"int256","nodeType":"ElementaryTypeName","src":"23883:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"23882:14:192"},"returnParameters":{"id":98930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98929,"mutability":"mutable","name":"downcasted","nameLocation":"23927:10:192","nodeType":"VariableDeclaration","scope":98946,"src":"23920:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"},"typeName":{"id":98928,"name":"int160","nodeType":"ElementaryTypeName","src":"23920:6:192","typeDescriptions":{"typeIdentifier":"t_int160","typeString":"int160"}},"visibility":"internal"}],"src":"23919:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98969,"nodeType":"FunctionDefinition","src":"24424:198:192","nodes":[],"body":{"id":98968,"nodeType":"Block","src":"24498:124:192","nodes":[],"statements":[{"expression":{"id":98959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98954,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98952,"src":"24508:10:192","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98957,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98949,"src":"24528:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"24521:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int152_$","typeString":"type(int152)"},"typeName":{"id":98955,"name":"int152","nodeType":"ElementaryTypeName","src":"24521:6:192","typeDescriptions":{}}},"id":98958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24521:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"src":"24508:26:192","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"id":98960,"nodeType":"ExpressionStatement","src":"24508:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98964,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98962,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98952,"src":"24552:10:192","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98963,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98949,"src":"24566:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"24552:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203135322062697473","id":98965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24573:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""},"value":"SafeCast: value doesn't fit in 152 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_211cad43a2caf5f01e34af51190b8a7b6f3d9c195bd25586ea12242191b97831","typeString":"literal_string \"SafeCast: value doesn't fit in 152 bits\""}],"id":98961,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"24544:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24544:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98967,"nodeType":"ExpressionStatement","src":"24544:71:192"}]},"documentation":{"id":98947,"nodeType":"StructuredDocumentation","src":"24069:350:192","text":" @dev Returns the downcasted int152 from int256, reverting on\n overflow (when the input is less than smallest int152 or\n greater than largest int152).\n Counterpart to Solidity's `int152` operator.\n Requirements:\n - input must fit into 152 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt152","nameLocation":"24433:8:192","parameters":{"id":98950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98949,"mutability":"mutable","name":"value","nameLocation":"24449:5:192","nodeType":"VariableDeclaration","scope":98969,"src":"24442:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98948,"name":"int256","nodeType":"ElementaryTypeName","src":"24442:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"24441:14:192"},"returnParameters":{"id":98953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98952,"mutability":"mutable","name":"downcasted","nameLocation":"24486:10:192","nodeType":"VariableDeclaration","scope":98969,"src":"24479:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"},"typeName":{"id":98951,"name":"int152","nodeType":"ElementaryTypeName","src":"24479:6:192","typeDescriptions":{"typeIdentifier":"t_int152","typeString":"int152"}},"visibility":"internal"}],"src":"24478:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":98992,"nodeType":"FunctionDefinition","src":"24983:198:192","nodes":[],"body":{"id":98991,"nodeType":"Block","src":"25057:124:192","nodes":[],"statements":[{"expression":{"id":98982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":98977,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98975,"src":"25067:10:192","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":98980,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98972,"src":"25087:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":98979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25080:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int144_$","typeString":"type(int144)"},"typeName":{"id":98978,"name":"int144","nodeType":"ElementaryTypeName","src":"25080:6:192","typeDescriptions":{}}},"id":98981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25080:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"src":"25067:26:192","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"id":98983,"nodeType":"ExpressionStatement","src":"25067:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":98987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":98985,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98975,"src":"25111:10:192","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":98986,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98972,"src":"25125:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25111:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203134342062697473","id":98988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25132:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""},"value":"SafeCast: value doesn't fit in 144 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_17d8c5a6d3b2fd2517ba2e4a2ac70a3367cd362448f8338aaa6edf8bfd812bab","typeString":"literal_string \"SafeCast: value doesn't fit in 144 bits\""}],"id":98984,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"25103:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":98989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25103:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":98990,"nodeType":"ExpressionStatement","src":"25103:71:192"}]},"documentation":{"id":98970,"nodeType":"StructuredDocumentation","src":"24628:350:192","text":" @dev Returns the downcasted int144 from int256, reverting on\n overflow (when the input is less than smallest int144 or\n greater than largest int144).\n Counterpart to Solidity's `int144` operator.\n Requirements:\n - input must fit into 144 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt144","nameLocation":"24992:8:192","parameters":{"id":98973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98972,"mutability":"mutable","name":"value","nameLocation":"25008:5:192","nodeType":"VariableDeclaration","scope":98992,"src":"25001:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98971,"name":"int256","nodeType":"ElementaryTypeName","src":"25001:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25000:14:192"},"returnParameters":{"id":98976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98975,"mutability":"mutable","name":"downcasted","nameLocation":"25045:10:192","nodeType":"VariableDeclaration","scope":98992,"src":"25038:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"},"typeName":{"id":98974,"name":"int144","nodeType":"ElementaryTypeName","src":"25038:6:192","typeDescriptions":{"typeIdentifier":"t_int144","typeString":"int144"}},"visibility":"internal"}],"src":"25037:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99015,"nodeType":"FunctionDefinition","src":"25542:198:192","nodes":[],"body":{"id":99014,"nodeType":"Block","src":"25616:124:192","nodes":[],"statements":[{"expression":{"id":99005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99000,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98998,"src":"25626:10:192","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99003,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98995,"src":"25646:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"25639:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int136_$","typeString":"type(int136)"},"typeName":{"id":99001,"name":"int136","nodeType":"ElementaryTypeName","src":"25639:6:192","typeDescriptions":{}}},"id":99004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25639:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"src":"25626:26:192","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"id":99006,"nodeType":"ExpressionStatement","src":"25626:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99010,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99008,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98998,"src":"25670:10:192","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99009,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98995,"src":"25684:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"25670:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203133362062697473","id":99011,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25691:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""},"value":"SafeCast: value doesn't fit in 136 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8b1f81e2e2913e1cee9dba7bcd9837bbf8a8122edaac4afc578271db3c25a56a","typeString":"literal_string \"SafeCast: value doesn't fit in 136 bits\""}],"id":99007,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"25662:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25662:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99013,"nodeType":"ExpressionStatement","src":"25662:71:192"}]},"documentation":{"id":98993,"nodeType":"StructuredDocumentation","src":"25187:350:192","text":" @dev Returns the downcasted int136 from int256, reverting on\n overflow (when the input is less than smallest int136 or\n greater than largest int136).\n Counterpart to Solidity's `int136` operator.\n Requirements:\n - input must fit into 136 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt136","nameLocation":"25551:8:192","parameters":{"id":98996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98995,"mutability":"mutable","name":"value","nameLocation":"25567:5:192","nodeType":"VariableDeclaration","scope":99015,"src":"25560:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":98994,"name":"int256","nodeType":"ElementaryTypeName","src":"25560:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"25559:14:192"},"returnParameters":{"id":98999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98998,"mutability":"mutable","name":"downcasted","nameLocation":"25604:10:192","nodeType":"VariableDeclaration","scope":99015,"src":"25597:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"},"typeName":{"id":98997,"name":"int136","nodeType":"ElementaryTypeName","src":"25597:6:192","typeDescriptions":{"typeIdentifier":"t_int136","typeString":"int136"}},"visibility":"internal"}],"src":"25596:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99038,"nodeType":"FunctionDefinition","src":"26101:198:192","nodes":[],"body":{"id":99037,"nodeType":"Block","src":"26175:124:192","nodes":[],"statements":[{"expression":{"id":99028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99023,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99021,"src":"26185:10:192","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99026,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99018,"src":"26205:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26198:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int128_$","typeString":"type(int128)"},"typeName":{"id":99024,"name":"int128","nodeType":"ElementaryTypeName","src":"26198:6:192","typeDescriptions":{}}},"id":99027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26198:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"src":"26185:26:192","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"id":99029,"nodeType":"ExpressionStatement","src":"26185:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99031,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99021,"src":"26229:10:192","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99032,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99018,"src":"26243:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26229:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473","id":99034,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26250:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""},"value":"SafeCast: value doesn't fit in 128 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47a1e201974f94d3d1a31c8b08ae18c6966c758bdcd4400020012b98cc55426c","typeString":"literal_string \"SafeCast: value doesn't fit in 128 bits\""}],"id":99030,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"26221:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26221:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99036,"nodeType":"ExpressionStatement","src":"26221:71:192"}]},"documentation":{"id":99016,"nodeType":"StructuredDocumentation","src":"25746:350:192","text":" @dev Returns the downcasted int128 from int256, reverting on\n overflow (when the input is less than smallest int128 or\n greater than largest int128).\n Counterpart to Solidity's `int128` operator.\n Requirements:\n - input must fit into 128 bits\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt128","nameLocation":"26110:8:192","parameters":{"id":99019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99018,"mutability":"mutable","name":"value","nameLocation":"26126:5:192","nodeType":"VariableDeclaration","scope":99038,"src":"26119:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99017,"name":"int256","nodeType":"ElementaryTypeName","src":"26119:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26118:14:192"},"returnParameters":{"id":99022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99021,"mutability":"mutable","name":"downcasted","nameLocation":"26163:10:192","nodeType":"VariableDeclaration","scope":99038,"src":"26156:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"},"typeName":{"id":99020,"name":"int128","nodeType":"ElementaryTypeName","src":"26156:6:192","typeDescriptions":{"typeIdentifier":"t_int128","typeString":"int128"}},"visibility":"internal"}],"src":"26155:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99061,"nodeType":"FunctionDefinition","src":"26660:198:192","nodes":[],"body":{"id":99060,"nodeType":"Block","src":"26734:124:192","nodes":[],"statements":[{"expression":{"id":99051,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99046,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99044,"src":"26744:10:192","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99049,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99041,"src":"26764:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"26757:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int120_$","typeString":"type(int120)"},"typeName":{"id":99047,"name":"int120","nodeType":"ElementaryTypeName","src":"26757:6:192","typeDescriptions":{}}},"id":99050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26757:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"src":"26744:26:192","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"id":99052,"nodeType":"ExpressionStatement","src":"26744:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99056,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99054,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99044,"src":"26788:10:192","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99055,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99041,"src":"26802:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"26788:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203132302062697473","id":99057,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26809:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""},"value":"SafeCast: value doesn't fit in 120 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3c40c26bb27060cce77002ca0c426dcc1bef2d367c195ca2eb24bd8b2cc1bb09","typeString":"literal_string \"SafeCast: value doesn't fit in 120 bits\""}],"id":99053,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"26780:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26780:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99059,"nodeType":"ExpressionStatement","src":"26780:71:192"}]},"documentation":{"id":99039,"nodeType":"StructuredDocumentation","src":"26305:350:192","text":" @dev Returns the downcasted int120 from int256, reverting on\n overflow (when the input is less than smallest int120 or\n greater than largest int120).\n Counterpart to Solidity's `int120` operator.\n Requirements:\n - input must fit into 120 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt120","nameLocation":"26669:8:192","parameters":{"id":99042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99041,"mutability":"mutable","name":"value","nameLocation":"26685:5:192","nodeType":"VariableDeclaration","scope":99061,"src":"26678:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99040,"name":"int256","nodeType":"ElementaryTypeName","src":"26678:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"26677:14:192"},"returnParameters":{"id":99045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99044,"mutability":"mutable","name":"downcasted","nameLocation":"26722:10:192","nodeType":"VariableDeclaration","scope":99061,"src":"26715:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"},"typeName":{"id":99043,"name":"int120","nodeType":"ElementaryTypeName","src":"26715:6:192","typeDescriptions":{"typeIdentifier":"t_int120","typeString":"int120"}},"visibility":"internal"}],"src":"26714:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99084,"nodeType":"FunctionDefinition","src":"27219:198:192","nodes":[],"body":{"id":99083,"nodeType":"Block","src":"27293:124:192","nodes":[],"statements":[{"expression":{"id":99074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99069,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99067,"src":"27303:10:192","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99072,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99064,"src":"27323:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27316:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int112_$","typeString":"type(int112)"},"typeName":{"id":99070,"name":"int112","nodeType":"ElementaryTypeName","src":"27316:6:192","typeDescriptions":{}}},"id":99073,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27316:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"src":"27303:26:192","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"id":99075,"nodeType":"ExpressionStatement","src":"27303:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99079,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99077,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99067,"src":"27347:10:192","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99078,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99064,"src":"27361:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27347:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203131322062697473","id":99080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27368:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""},"value":"SafeCast: value doesn't fit in 112 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45659ae152ef697531e1c1115de07c87af91ac22466c3e76b808821799776efd","typeString":"literal_string \"SafeCast: value doesn't fit in 112 bits\""}],"id":99076,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27339:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27339:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99082,"nodeType":"ExpressionStatement","src":"27339:71:192"}]},"documentation":{"id":99062,"nodeType":"StructuredDocumentation","src":"26864:350:192","text":" @dev Returns the downcasted int112 from int256, reverting on\n overflow (when the input is less than smallest int112 or\n greater than largest int112).\n Counterpart to Solidity's `int112` operator.\n Requirements:\n - input must fit into 112 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt112","nameLocation":"27228:8:192","parameters":{"id":99065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99064,"mutability":"mutable","name":"value","nameLocation":"27244:5:192","nodeType":"VariableDeclaration","scope":99084,"src":"27237:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99063,"name":"int256","nodeType":"ElementaryTypeName","src":"27237:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27236:14:192"},"returnParameters":{"id":99068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99067,"mutability":"mutable","name":"downcasted","nameLocation":"27281:10:192","nodeType":"VariableDeclaration","scope":99084,"src":"27274:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"},"typeName":{"id":99066,"name":"int112","nodeType":"ElementaryTypeName","src":"27274:6:192","typeDescriptions":{"typeIdentifier":"t_int112","typeString":"int112"}},"visibility":"internal"}],"src":"27273:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99107,"nodeType":"FunctionDefinition","src":"27778:198:192","nodes":[],"body":{"id":99106,"nodeType":"Block","src":"27852:124:192","nodes":[],"statements":[{"expression":{"id":99097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99092,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99090,"src":"27862:10:192","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99095,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99087,"src":"27882:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"27875:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int104_$","typeString":"type(int104)"},"typeName":{"id":99093,"name":"int104","nodeType":"ElementaryTypeName","src":"27875:6:192","typeDescriptions":{}}},"id":99096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27875:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"src":"27862:26:192","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"id":99098,"nodeType":"ExpressionStatement","src":"27862:26:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99102,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99100,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99090,"src":"27906:10:192","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99101,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99087,"src":"27920:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"27906:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e203130342062697473","id":99103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27927:41:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""},"value":"SafeCast: value doesn't fit in 104 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5d7f3e1b7e9f9a06fded6b093c6fd1473ca0a14cc4bb683db904e803e2482981","typeString":"literal_string \"SafeCast: value doesn't fit in 104 bits\""}],"id":99099,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"27898:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27898:71:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99105,"nodeType":"ExpressionStatement","src":"27898:71:192"}]},"documentation":{"id":99085,"nodeType":"StructuredDocumentation","src":"27423:350:192","text":" @dev Returns the downcasted int104 from int256, reverting on\n overflow (when the input is less than smallest int104 or\n greater than largest int104).\n Counterpart to Solidity's `int104` operator.\n Requirements:\n - input must fit into 104 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt104","nameLocation":"27787:8:192","parameters":{"id":99088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99087,"mutability":"mutable","name":"value","nameLocation":"27803:5:192","nodeType":"VariableDeclaration","scope":99107,"src":"27796:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99086,"name":"int256","nodeType":"ElementaryTypeName","src":"27796:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"27795:14:192"},"returnParameters":{"id":99091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99090,"mutability":"mutable","name":"downcasted","nameLocation":"27840:10:192","nodeType":"VariableDeclaration","scope":99107,"src":"27833:17:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"},"typeName":{"id":99089,"name":"int104","nodeType":"ElementaryTypeName","src":"27833:6:192","typeDescriptions":{"typeIdentifier":"t_int104","typeString":"int104"}},"visibility":"internal"}],"src":"27832:19:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99130,"nodeType":"FunctionDefinition","src":"28332:194:192","nodes":[],"body":{"id":99129,"nodeType":"Block","src":"28404:122:192","nodes":[],"statements":[{"expression":{"id":99120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99115,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99113,"src":"28414:10:192","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99118,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99110,"src":"28433:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28427:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int96_$","typeString":"type(int96)"},"typeName":{"id":99116,"name":"int96","nodeType":"ElementaryTypeName","src":"28427:5:192","typeDescriptions":{}}},"id":99119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28427:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"src":"28414:25:192","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"id":99121,"nodeType":"ExpressionStatement","src":"28414:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99123,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99113,"src":"28457:10:192","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99124,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99110,"src":"28471:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"28457:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2039362062697473","id":99126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28478:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""},"value":"SafeCast: value doesn't fit in 96 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_06d20189090e973729391526269baef79c35dd621633195648e5f8309eef9e19","typeString":"literal_string \"SafeCast: value doesn't fit in 96 bits\""}],"id":99122,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28449:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28449:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99128,"nodeType":"ExpressionStatement","src":"28449:70:192"}]},"documentation":{"id":99108,"nodeType":"StructuredDocumentation","src":"27982:345:192","text":" @dev Returns the downcasted int96 from int256, reverting on\n overflow (when the input is less than smallest int96 or\n greater than largest int96).\n Counterpart to Solidity's `int96` operator.\n Requirements:\n - input must fit into 96 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt96","nameLocation":"28341:7:192","parameters":{"id":99111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99110,"mutability":"mutable","name":"value","nameLocation":"28356:5:192","nodeType":"VariableDeclaration","scope":99130,"src":"28349:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99109,"name":"int256","nodeType":"ElementaryTypeName","src":"28349:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28348:14:192"},"returnParameters":{"id":99114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99113,"mutability":"mutable","name":"downcasted","nameLocation":"28392:10:192","nodeType":"VariableDeclaration","scope":99130,"src":"28386:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"},"typeName":{"id":99112,"name":"int96","nodeType":"ElementaryTypeName","src":"28386:5:192","typeDescriptions":{"typeIdentifier":"t_int96","typeString":"int96"}},"visibility":"internal"}],"src":"28385:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99153,"nodeType":"FunctionDefinition","src":"28882:194:192","nodes":[],"body":{"id":99152,"nodeType":"Block","src":"28954:122:192","nodes":[],"statements":[{"expression":{"id":99143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99138,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99136,"src":"28964:10:192","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99141,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99133,"src":"28983:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"28977:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int88_$","typeString":"type(int88)"},"typeName":{"id":99139,"name":"int88","nodeType":"ElementaryTypeName","src":"28977:5:192","typeDescriptions":{}}},"id":99142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28977:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"src":"28964:25:192","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"id":99144,"nodeType":"ExpressionStatement","src":"28964:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99146,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99136,"src":"29007:10:192","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99147,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99133,"src":"29021:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29007:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038382062697473","id":99149,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29028:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""},"value":"SafeCast: value doesn't fit in 88 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae080bd7a76a46f0a0caf00941bc2cdf6002799ca2813a3af7295019576d715d","typeString":"literal_string \"SafeCast: value doesn't fit in 88 bits\""}],"id":99145,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"28999:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28999:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99151,"nodeType":"ExpressionStatement","src":"28999:70:192"}]},"documentation":{"id":99131,"nodeType":"StructuredDocumentation","src":"28532:345:192","text":" @dev Returns the downcasted int88 from int256, reverting on\n overflow (when the input is less than smallest int88 or\n greater than largest int88).\n Counterpart to Solidity's `int88` operator.\n Requirements:\n - input must fit into 88 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt88","nameLocation":"28891:7:192","parameters":{"id":99134,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99133,"mutability":"mutable","name":"value","nameLocation":"28906:5:192","nodeType":"VariableDeclaration","scope":99153,"src":"28899:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99132,"name":"int256","nodeType":"ElementaryTypeName","src":"28899:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"28898:14:192"},"returnParameters":{"id":99137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99136,"mutability":"mutable","name":"downcasted","nameLocation":"28942:10:192","nodeType":"VariableDeclaration","scope":99153,"src":"28936:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"},"typeName":{"id":99135,"name":"int88","nodeType":"ElementaryTypeName","src":"28936:5:192","typeDescriptions":{"typeIdentifier":"t_int88","typeString":"int88"}},"visibility":"internal"}],"src":"28935:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99176,"nodeType":"FunctionDefinition","src":"29432:194:192","nodes":[],"body":{"id":99175,"nodeType":"Block","src":"29504:122:192","nodes":[],"statements":[{"expression":{"id":99166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99161,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99159,"src":"29514:10:192","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99164,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99156,"src":"29533:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"29527:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int80_$","typeString":"type(int80)"},"typeName":{"id":99162,"name":"int80","nodeType":"ElementaryTypeName","src":"29527:5:192","typeDescriptions":{}}},"id":99165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29527:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"src":"29514:25:192","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"id":99167,"nodeType":"ExpressionStatement","src":"29514:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99169,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99159,"src":"29557:10:192","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99170,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99156,"src":"29571:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"29557:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2038302062697473","id":99172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29578:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""},"value":"SafeCast: value doesn't fit in 80 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3cba87c71fade7d3cd7b673c159aab98afc040a5369691a33559d905d20ab5d1","typeString":"literal_string \"SafeCast: value doesn't fit in 80 bits\""}],"id":99168,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"29549:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29549:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99174,"nodeType":"ExpressionStatement","src":"29549:70:192"}]},"documentation":{"id":99154,"nodeType":"StructuredDocumentation","src":"29082:345:192","text":" @dev Returns the downcasted int80 from int256, reverting on\n overflow (when the input is less than smallest int80 or\n greater than largest int80).\n Counterpart to Solidity's `int80` operator.\n Requirements:\n - input must fit into 80 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt80","nameLocation":"29441:7:192","parameters":{"id":99157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99156,"mutability":"mutable","name":"value","nameLocation":"29456:5:192","nodeType":"VariableDeclaration","scope":99176,"src":"29449:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99155,"name":"int256","nodeType":"ElementaryTypeName","src":"29449:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29448:14:192"},"returnParameters":{"id":99160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99159,"mutability":"mutable","name":"downcasted","nameLocation":"29492:10:192","nodeType":"VariableDeclaration","scope":99176,"src":"29486:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"},"typeName":{"id":99158,"name":"int80","nodeType":"ElementaryTypeName","src":"29486:5:192","typeDescriptions":{"typeIdentifier":"t_int80","typeString":"int80"}},"visibility":"internal"}],"src":"29485:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99199,"nodeType":"FunctionDefinition","src":"29982:194:192","nodes":[],"body":{"id":99198,"nodeType":"Block","src":"30054:122:192","nodes":[],"statements":[{"expression":{"id":99189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99184,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99182,"src":"30064:10:192","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99187,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99179,"src":"30083:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30077:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int72_$","typeString":"type(int72)"},"typeName":{"id":99185,"name":"int72","nodeType":"ElementaryTypeName","src":"30077:5:192","typeDescriptions":{}}},"id":99188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30077:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"src":"30064:25:192","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"id":99190,"nodeType":"ExpressionStatement","src":"30064:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99192,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99182,"src":"30107:10:192","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99193,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99179,"src":"30121:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30107:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2037322062697473","id":99195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30128:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""},"value":"SafeCast: value doesn't fit in 72 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_71584237cc5250b8f417982144a947efe8f4c76feba008ff32ac480e69d60606","typeString":"literal_string \"SafeCast: value doesn't fit in 72 bits\""}],"id":99191,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30099:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30099:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99197,"nodeType":"ExpressionStatement","src":"30099:70:192"}]},"documentation":{"id":99177,"nodeType":"StructuredDocumentation","src":"29632:345:192","text":" @dev Returns the downcasted int72 from int256, reverting on\n overflow (when the input is less than smallest int72 or\n greater than largest int72).\n Counterpart to Solidity's `int72` operator.\n Requirements:\n - input must fit into 72 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt72","nameLocation":"29991:7:192","parameters":{"id":99180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99179,"mutability":"mutable","name":"value","nameLocation":"30006:5:192","nodeType":"VariableDeclaration","scope":99199,"src":"29999:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99178,"name":"int256","nodeType":"ElementaryTypeName","src":"29999:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"29998:14:192"},"returnParameters":{"id":99183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99182,"mutability":"mutable","name":"downcasted","nameLocation":"30042:10:192","nodeType":"VariableDeclaration","scope":99199,"src":"30036:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"},"typeName":{"id":99181,"name":"int72","nodeType":"ElementaryTypeName","src":"30036:5:192","typeDescriptions":{"typeIdentifier":"t_int72","typeString":"int72"}},"visibility":"internal"}],"src":"30035:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99222,"nodeType":"FunctionDefinition","src":"30532:194:192","nodes":[],"body":{"id":99221,"nodeType":"Block","src":"30604:122:192","nodes":[],"statements":[{"expression":{"id":99212,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99207,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99205,"src":"30614:10:192","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99210,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99202,"src":"30633:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"30627:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int64_$","typeString":"type(int64)"},"typeName":{"id":99208,"name":"int64","nodeType":"ElementaryTypeName","src":"30627:5:192","typeDescriptions":{}}},"id":99211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30627:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"src":"30614:25:192","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"id":99213,"nodeType":"ExpressionStatement","src":"30614:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99217,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99215,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99205,"src":"30657:10:192","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99216,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99202,"src":"30671:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"30657:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473","id":99218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30678:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""},"value":"SafeCast: value doesn't fit in 64 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_93ae0c6bf6ffaece591a770b1865daa9f65157e541970aa9d8dc5f89a9490939","typeString":"literal_string \"SafeCast: value doesn't fit in 64 bits\""}],"id":99214,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"30649:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30649:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99220,"nodeType":"ExpressionStatement","src":"30649:70:192"}]},"documentation":{"id":99200,"nodeType":"StructuredDocumentation","src":"30182:345:192","text":" @dev Returns the downcasted int64 from int256, reverting on\n overflow (when the input is less than smallest int64 or\n greater than largest int64).\n Counterpart to Solidity's `int64` operator.\n Requirements:\n - input must fit into 64 bits\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt64","nameLocation":"30541:7:192","parameters":{"id":99203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99202,"mutability":"mutable","name":"value","nameLocation":"30556:5:192","nodeType":"VariableDeclaration","scope":99222,"src":"30549:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99201,"name":"int256","nodeType":"ElementaryTypeName","src":"30549:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"30548:14:192"},"returnParameters":{"id":99206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99205,"mutability":"mutable","name":"downcasted","nameLocation":"30592:10:192","nodeType":"VariableDeclaration","scope":99222,"src":"30586:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":99204,"name":"int64","nodeType":"ElementaryTypeName","src":"30586:5:192","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"}],"src":"30585:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99245,"nodeType":"FunctionDefinition","src":"31082:194:192","nodes":[],"body":{"id":99244,"nodeType":"Block","src":"31154:122:192","nodes":[],"statements":[{"expression":{"id":99235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99230,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99228,"src":"31164:10:192","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99233,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99225,"src":"31183:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31177:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int56_$","typeString":"type(int56)"},"typeName":{"id":99231,"name":"int56","nodeType":"ElementaryTypeName","src":"31177:5:192","typeDescriptions":{}}},"id":99234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31177:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"src":"31164:25:192","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"id":99236,"nodeType":"ExpressionStatement","src":"31164:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99238,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99228,"src":"31207:10:192","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99239,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99225,"src":"31221:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31207:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2035362062697473","id":99241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31228:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""},"value":"SafeCast: value doesn't fit in 56 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_656ad93b5ff6665bfe05d97d51fad7c02ad79e6c43bef066c042a6900f450bc5","typeString":"literal_string \"SafeCast: value doesn't fit in 56 bits\""}],"id":99237,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"31199:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31199:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99243,"nodeType":"ExpressionStatement","src":"31199:70:192"}]},"documentation":{"id":99223,"nodeType":"StructuredDocumentation","src":"30732:345:192","text":" @dev Returns the downcasted int56 from int256, reverting on\n overflow (when the input is less than smallest int56 or\n greater than largest int56).\n Counterpart to Solidity's `int56` operator.\n Requirements:\n - input must fit into 56 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt56","nameLocation":"31091:7:192","parameters":{"id":99226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99225,"mutability":"mutable","name":"value","nameLocation":"31106:5:192","nodeType":"VariableDeclaration","scope":99245,"src":"31099:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99224,"name":"int256","nodeType":"ElementaryTypeName","src":"31099:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31098:14:192"},"returnParameters":{"id":99229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99228,"mutability":"mutable","name":"downcasted","nameLocation":"31142:10:192","nodeType":"VariableDeclaration","scope":99245,"src":"31136:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"},"typeName":{"id":99227,"name":"int56","nodeType":"ElementaryTypeName","src":"31136:5:192","typeDescriptions":{"typeIdentifier":"t_int56","typeString":"int56"}},"visibility":"internal"}],"src":"31135:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99268,"nodeType":"FunctionDefinition","src":"31632:194:192","nodes":[],"body":{"id":99267,"nodeType":"Block","src":"31704:122:192","nodes":[],"statements":[{"expression":{"id":99258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99253,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99251,"src":"31714:10:192","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99256,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99248,"src":"31733:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"31727:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int48_$","typeString":"type(int48)"},"typeName":{"id":99254,"name":"int48","nodeType":"ElementaryTypeName","src":"31727:5:192","typeDescriptions":{}}},"id":99257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31727:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"src":"31714:25:192","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"id":99259,"nodeType":"ExpressionStatement","src":"31714:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99263,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99261,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99251,"src":"31757:10:192","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99262,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99248,"src":"31771:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"31757:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034382062697473","id":99264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31778:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""},"value":"SafeCast: value doesn't fit in 48 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_599034f9324dd4e988c6cea5a00a30f53147fec1b01559682f18cd840028f495","typeString":"literal_string \"SafeCast: value doesn't fit in 48 bits\""}],"id":99260,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"31749:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31749:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99266,"nodeType":"ExpressionStatement","src":"31749:70:192"}]},"documentation":{"id":99246,"nodeType":"StructuredDocumentation","src":"31282:345:192","text":" @dev Returns the downcasted int48 from int256, reverting on\n overflow (when the input is less than smallest int48 or\n greater than largest int48).\n Counterpart to Solidity's `int48` operator.\n Requirements:\n - input must fit into 48 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt48","nameLocation":"31641:7:192","parameters":{"id":99249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99248,"mutability":"mutable","name":"value","nameLocation":"31656:5:192","nodeType":"VariableDeclaration","scope":99268,"src":"31649:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99247,"name":"int256","nodeType":"ElementaryTypeName","src":"31649:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31648:14:192"},"returnParameters":{"id":99252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99251,"mutability":"mutable","name":"downcasted","nameLocation":"31692:10:192","nodeType":"VariableDeclaration","scope":99268,"src":"31686:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"},"typeName":{"id":99250,"name":"int48","nodeType":"ElementaryTypeName","src":"31686:5:192","typeDescriptions":{"typeIdentifier":"t_int48","typeString":"int48"}},"visibility":"internal"}],"src":"31685:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99291,"nodeType":"FunctionDefinition","src":"32182:194:192","nodes":[],"body":{"id":99290,"nodeType":"Block","src":"32254:122:192","nodes":[],"statements":[{"expression":{"id":99281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99276,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99274,"src":"32264:10:192","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99279,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99271,"src":"32283:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32277:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int40_$","typeString":"type(int40)"},"typeName":{"id":99277,"name":"int40","nodeType":"ElementaryTypeName","src":"32277:5:192","typeDescriptions":{}}},"id":99280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32277:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"src":"32264:25:192","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"id":99282,"nodeType":"ExpressionStatement","src":"32264:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99284,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99274,"src":"32307:10:192","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99285,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99271,"src":"32321:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32307:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2034302062697473","id":99287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32328:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""},"value":"SafeCast: value doesn't fit in 40 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b23559c58b98a5d3ed7016699c7171ac8defa5a1d180f9a9ffa60468a5701d37","typeString":"literal_string \"SafeCast: value doesn't fit in 40 bits\""}],"id":99283,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"32299:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32299:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99289,"nodeType":"ExpressionStatement","src":"32299:70:192"}]},"documentation":{"id":99269,"nodeType":"StructuredDocumentation","src":"31832:345:192","text":" @dev Returns the downcasted int40 from int256, reverting on\n overflow (when the input is less than smallest int40 or\n greater than largest int40).\n Counterpart to Solidity's `int40` operator.\n Requirements:\n - input must fit into 40 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt40","nameLocation":"32191:7:192","parameters":{"id":99272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99271,"mutability":"mutable","name":"value","nameLocation":"32206:5:192","nodeType":"VariableDeclaration","scope":99291,"src":"32199:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99270,"name":"int256","nodeType":"ElementaryTypeName","src":"32199:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32198:14:192"},"returnParameters":{"id":99275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99274,"mutability":"mutable","name":"downcasted","nameLocation":"32242:10:192","nodeType":"VariableDeclaration","scope":99291,"src":"32236:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"},"typeName":{"id":99273,"name":"int40","nodeType":"ElementaryTypeName","src":"32236:5:192","typeDescriptions":{"typeIdentifier":"t_int40","typeString":"int40"}},"visibility":"internal"}],"src":"32235:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99314,"nodeType":"FunctionDefinition","src":"32732:194:192","nodes":[],"body":{"id":99313,"nodeType":"Block","src":"32804:122:192","nodes":[],"statements":[{"expression":{"id":99304,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99299,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99297,"src":"32814:10:192","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99302,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99294,"src":"32833:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"32827:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":99300,"name":"int32","nodeType":"ElementaryTypeName","src":"32827:5:192","typeDescriptions":{}}},"id":99303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32827:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"32814:25:192","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":99305,"nodeType":"ExpressionStatement","src":"32814:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99307,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99297,"src":"32857:10:192","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99308,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99294,"src":"32871:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"32857:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2033322062697473","id":99310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32878:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""},"value":"SafeCast: value doesn't fit in 32 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_c907489dafcfb622d3b83f2657a14d6da2f59e0de3116af0d6a80554c1a7cb19","typeString":"literal_string \"SafeCast: value doesn't fit in 32 bits\""}],"id":99306,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"32849:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32849:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99312,"nodeType":"ExpressionStatement","src":"32849:70:192"}]},"documentation":{"id":99292,"nodeType":"StructuredDocumentation","src":"32382:345:192","text":" @dev Returns the downcasted int32 from int256, reverting on\n overflow (when the input is less than smallest int32 or\n greater than largest int32).\n Counterpart to Solidity's `int32` operator.\n Requirements:\n - input must fit into 32 bits\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt32","nameLocation":"32741:7:192","parameters":{"id":99295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99294,"mutability":"mutable","name":"value","nameLocation":"32756:5:192","nodeType":"VariableDeclaration","scope":99314,"src":"32749:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99293,"name":"int256","nodeType":"ElementaryTypeName","src":"32749:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"32748:14:192"},"returnParameters":{"id":99298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99297,"mutability":"mutable","name":"downcasted","nameLocation":"32792:10:192","nodeType":"VariableDeclaration","scope":99314,"src":"32786:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":99296,"name":"int32","nodeType":"ElementaryTypeName","src":"32786:5:192","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"32785:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99337,"nodeType":"FunctionDefinition","src":"33282:194:192","nodes":[],"body":{"id":99336,"nodeType":"Block","src":"33354:122:192","nodes":[],"statements":[{"expression":{"id":99327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99322,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99320,"src":"33364:10:192","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99325,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99317,"src":"33383:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33377:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int24_$","typeString":"type(int24)"},"typeName":{"id":99323,"name":"int24","nodeType":"ElementaryTypeName","src":"33377:5:192","typeDescriptions":{}}},"id":99326,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33377:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"src":"33364:25:192","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"id":99328,"nodeType":"ExpressionStatement","src":"33364:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99332,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99330,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99320,"src":"33407:10:192","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99331,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99317,"src":"33421:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33407:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2032342062697473","id":99333,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33428:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""},"value":"SafeCast: value doesn't fit in 24 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_f68b65aaf4574c34e9b9d1442d19636c6608b8c4dbd9331c7245f7915c8b2f55","typeString":"literal_string \"SafeCast: value doesn't fit in 24 bits\""}],"id":99329,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"33399:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33399:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99335,"nodeType":"ExpressionStatement","src":"33399:70:192"}]},"documentation":{"id":99315,"nodeType":"StructuredDocumentation","src":"32932:345:192","text":" @dev Returns the downcasted int24 from int256, reverting on\n overflow (when the input is less than smallest int24 or\n greater than largest int24).\n Counterpart to Solidity's `int24` operator.\n Requirements:\n - input must fit into 24 bits\n _Available since v4.7._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt24","nameLocation":"33291:7:192","parameters":{"id":99318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99317,"mutability":"mutable","name":"value","nameLocation":"33306:5:192","nodeType":"VariableDeclaration","scope":99337,"src":"33299:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99316,"name":"int256","nodeType":"ElementaryTypeName","src":"33299:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33298:14:192"},"returnParameters":{"id":99321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99320,"mutability":"mutable","name":"downcasted","nameLocation":"33342:10:192","nodeType":"VariableDeclaration","scope":99337,"src":"33336:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"},"typeName":{"id":99319,"name":"int24","nodeType":"ElementaryTypeName","src":"33336:5:192","typeDescriptions":{"typeIdentifier":"t_int24","typeString":"int24"}},"visibility":"internal"}],"src":"33335:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99360,"nodeType":"FunctionDefinition","src":"33832:194:192","nodes":[],"body":{"id":99359,"nodeType":"Block","src":"33904:122:192","nodes":[],"statements":[{"expression":{"id":99350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99345,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99343,"src":"33914:10:192","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99348,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99340,"src":"33933:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"33927:5:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int16_$","typeString":"type(int16)"},"typeName":{"id":99346,"name":"int16","nodeType":"ElementaryTypeName","src":"33927:5:192","typeDescriptions":{}}},"id":99349,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33927:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"src":"33914:25:192","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"id":99351,"nodeType":"ExpressionStatement","src":"33914:25:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99353,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99343,"src":"33957:10:192","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99354,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99340,"src":"33971:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"33957:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e2031362062697473","id":99356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33978:40:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""},"value":"SafeCast: value doesn't fit in 16 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13d3a66f9e0e5c92bbe7743bcd3bdb4695009d5f3a96e5ff49718d715b484033","typeString":"literal_string \"SafeCast: value doesn't fit in 16 bits\""}],"id":99352,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"33949:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33949:70:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99358,"nodeType":"ExpressionStatement","src":"33949:70:192"}]},"documentation":{"id":99338,"nodeType":"StructuredDocumentation","src":"33482:345:192","text":" @dev Returns the downcasted int16 from int256, reverting on\n overflow (when the input is less than smallest int16 or\n greater than largest int16).\n Counterpart to Solidity's `int16` operator.\n Requirements:\n - input must fit into 16 bits\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt16","nameLocation":"33841:7:192","parameters":{"id":99341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99340,"mutability":"mutable","name":"value","nameLocation":"33856:5:192","nodeType":"VariableDeclaration","scope":99360,"src":"33849:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99339,"name":"int256","nodeType":"ElementaryTypeName","src":"33849:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"33848:14:192"},"returnParameters":{"id":99344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99343,"mutability":"mutable","name":"downcasted","nameLocation":"33892:10:192","nodeType":"VariableDeclaration","scope":99360,"src":"33886:16:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"},"typeName":{"id":99342,"name":"int16","nodeType":"ElementaryTypeName","src":"33886:5:192","typeDescriptions":{"typeIdentifier":"t_int16","typeString":"int16"}},"visibility":"internal"}],"src":"33885:18:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99383,"nodeType":"FunctionDefinition","src":"34377:190:192","nodes":[],"body":{"id":99382,"nodeType":"Block","src":"34447:120:192","nodes":[],"statements":[{"expression":{"id":99373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":99368,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99366,"src":"34457:10:192","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":99371,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99363,"src":"34475:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34470:4:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int8_$","typeString":"type(int8)"},"typeName":{"id":99369,"name":"int8","nodeType":"ElementaryTypeName","src":"34470:4:192","typeDescriptions":{}}},"id":99372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34470:11:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"src":"34457:24:192","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"id":99374,"nodeType":"ExpressionStatement","src":"34457:24:192"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":99378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99376,"name":"downcasted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99366,"src":"34499:10:192","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":99377,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99363,"src":"34513:5:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"34499:19:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20382062697473","id":99379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34520:39:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""},"value":"SafeCast: value doesn't fit in 8 bits"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2610961ba53259047cd57c60366c5ad0b8aabf5eb4132487619b736715a740d1","typeString":"literal_string \"SafeCast: value doesn't fit in 8 bits\""}],"id":99375,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34491:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34491:69:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99381,"nodeType":"ExpressionStatement","src":"34491:69:192"}]},"documentation":{"id":99361,"nodeType":"StructuredDocumentation","src":"34032:340:192","text":" @dev Returns the downcasted int8 from int256, reverting on\n overflow (when the input is less than smallest int8 or\n greater than largest int8).\n Counterpart to Solidity's `int8` operator.\n Requirements:\n - input must fit into 8 bits\n _Available since v3.1._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt8","nameLocation":"34386:6:192","parameters":{"id":99364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99363,"mutability":"mutable","name":"value","nameLocation":"34400:5:192","nodeType":"VariableDeclaration","scope":99383,"src":"34393:12:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99362,"name":"int256","nodeType":"ElementaryTypeName","src":"34393:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34392:14:192"},"returnParameters":{"id":99367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99366,"mutability":"mutable","name":"downcasted","nameLocation":"34435:10:192","nodeType":"VariableDeclaration","scope":99383,"src":"34430:15:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"},"typeName":{"id":99365,"name":"int8","nodeType":"ElementaryTypeName","src":"34430:4:192","typeDescriptions":{"typeIdentifier":"t_int8","typeString":"int8"}},"visibility":"internal"}],"src":"34429:17:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":99411,"nodeType":"FunctionDefinition","src":"34781:297:192","nodes":[],"body":{"id":99410,"nodeType":"Block","src":"34845:233:192","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":99401,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":99392,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99386,"src":"34962:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"arguments":[{"expression":{"arguments":[{"id":99397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34984:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":99396,"name":"int256","nodeType":"ElementaryTypeName","src":"34984:6:192","typeDescriptions":{}}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"}],"id":99395,"name":"type","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-27,"src":"34979:4:192","typeDescriptions":{"typeIdentifier":"t_function_metatype_pure$__$returns$__$","typeString":"function () pure"}},"id":99398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34979:12:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_magic_meta_type_t_int256","typeString":"type(int256)"}},"id":99399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34992:3:192","memberName":"max","nodeType":"MemberAccess","src":"34979:16:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":99394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"34971:7:192","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":99393,"name":"uint256","nodeType":"ElementaryTypeName","src":"34971:7:192","typeDescriptions":{}}},"id":99400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34971:25:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"34962:34:192","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53616665436173743a2076616c756520646f65736e27742066697420696e20616e20696e74323536","id":99402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34998:42:192","typeDescriptions":{"typeIdentifier":"t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227","typeString":"literal_string \"SafeCast: value doesn't fit in an int256\""},"value":"SafeCast: value doesn't fit in an int256"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d70dcf21692b3c91b4c5fbb89ed57f464aa42efbe5b0ea96c4acb7c080144227","typeString":"literal_string \"SafeCast: value doesn't fit in an int256\""}],"id":99391,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"34954:7:192","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":99403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34954:87:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":99404,"nodeType":"ExpressionStatement","src":"34954:87:192"},{"expression":{"arguments":[{"id":99407,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99386,"src":"35065:5:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":99406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"35058:6:192","typeDescriptions":{"typeIdentifier":"t_type$_t_int256_$","typeString":"type(int256)"},"typeName":{"id":99405,"name":"int256","nodeType":"ElementaryTypeName","src":"35058:6:192","typeDescriptions":{}}},"id":99408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35058:13:192","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"functionReturnParameters":99390,"id":99409,"nodeType":"Return","src":"35051:20:192"}]},"documentation":{"id":99384,"nodeType":"StructuredDocumentation","src":"34573:203:192","text":" @dev Converts an unsigned uint256 into a signed int256.\n Requirements:\n - input must be less than or equal to maxInt256.\n _Available since v3.0._"},"implemented":true,"kind":"function","modifiers":[],"name":"toInt256","nameLocation":"34790:8:192","parameters":{"id":99387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99386,"mutability":"mutable","name":"value","nameLocation":"34807:5:192","nodeType":"VariableDeclaration","scope":99411,"src":"34799:13:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":99385,"name":"uint256","nodeType":"ElementaryTypeName","src":"34799:7:192","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34798:15:192"},"returnParameters":{"id":99390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":99389,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":99411,"src":"34837:6:192","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":99388,"name":"int256","nodeType":"ElementaryTypeName","src":"34837:6:192","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34836:8:192"},"scope":99412,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeCast","contractDependencies":[],"contractKind":"library","documentation":{"id":97874,"nodeType":"StructuredDocumentation","src":"217:709:192","text":" @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow\n checks.\n Downcasting from uint256/int256 in Solidity does not revert on overflow. This can\n easily result in undesired exploitation or bugs, since developers usually\n assume that overflows raise errors. `SafeCast` restores this intuition by\n reverting the transaction when such an operation overflows.\n Using this library instead of the unchecked operations eliminates an entire\n class of bugs, so it's recommended to use it always.\n Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing\n all math on `uint256` and `int256` and then downcasting."},"fullyImplemented":true,"linearizedBaseContracts":[99412],"name":"SafeCast","nameLocation":"935:8:192","scope":99413,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":192} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fa59688194f00c4389c51b781ef2e3439ac36c59e64b0e9d6e0308ed8022ca364736f6c63430008170033","sourceMap":"927:34153:192:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;927:34153:192;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201fa59688194f00c4389c51b781ef2e3439ac36c59e64b0e9d6e0308ed8022ca364736f6c63430008170033","sourceMap":"927:34153:192:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":"SafeCast"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"id":192} \ No newline at end of file diff --git a/out/SafeERC20.sol/SafeERC20.json b/out/SafeERC20.sol/SafeERC20.json index a45e48bc..91529ab9 100644 --- a/out/SafeERC20.sol/SafeERC20.json +++ b/out/SafeERC20.sol/SafeERC20.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a1240823c3f604cddc426fff33256b2e56fe5e1a0ceacfdaea4d75268cef072b64736f6c63430008170033","sourceMap":"701:6211:172:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6211:172;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a1240823c3f604cddc426fff33256b2e56fe5e1a0ceacfdaea4d75268cef072b64736f6c63430008170033","sourceMap":"701:6211:172:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol","id":92540,"exportedSymbols":{"Address":[94013],"IERC20":[91196],"IERC20Permit":[92163],"SafeERC20":[92539]},"nodeType":"SourceUnit","src":"115:6798:172","nodes":[{"id":92165,"nodeType":"PragmaDirective","src":"115:23:172","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":92166,"nodeType":"ImportDirective","src":"140:23:172","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","file":"../IERC20.sol","nameLocation":"-1:-1:-1","scope":92540,"sourceUnit":91197,"symbolAliases":[],"unitAlias":""},{"id":92167,"nodeType":"ImportDirective","src":"164:40:172","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"../extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":92540,"sourceUnit":92164,"symbolAliases":[],"unitAlias":""},{"id":92168,"nodeType":"ImportDirective","src":"205:36:172","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Address.sol","file":"../../../utils/Address.sol","nameLocation":"-1:-1:-1","scope":92540,"sourceUnit":94014,"symbolAliases":[],"unitAlias":""},{"id":92539,"nodeType":"ContractDefinition","src":"701:6211:172","nodes":[{"id":92172,"nodeType":"UsingForDirective","src":"725:26:172","nodes":[],"global":false,"libraryName":{"id":92170,"name":"Address","nameLocations":["731:7:172"],"nodeType":"IdentifierPath","referencedDeclaration":94013,"src":"731:7:172"},"typeName":{"id":92171,"name":"address","nodeType":"ElementaryTypeName","src":"743:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":92196,"nodeType":"FunctionDefinition","src":"941:175:172","nodes":[],"body":{"id":92195,"nodeType":"Block","src":"1013:103:172","nodes":[],"statements":[{"expression":{"arguments":[{"id":92184,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92176,"src":"1043:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92187,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92176,"src":"1073:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92188,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1079:8:172","memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":91163,"src":"1073:14:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1088:8:172","memberName":"selector","nodeType":"MemberAccess","src":"1073:23:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92190,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92178,"src":"1098:2:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92191,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92180,"src":"1102:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1050:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1054:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1050:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1050:58:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92183,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"1023:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1023:86:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92194,"nodeType":"ExpressionStatement","src":"1023:86:172"}]},"documentation":{"id":92173,"nodeType":"StructuredDocumentation","src":"757:179:172","text":" @dev Transfer `value` amount of `token` from the calling contract to `to`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransfer","nameLocation":"950:12:172","parameters":{"id":92181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92176,"mutability":"mutable","name":"token","nameLocation":"970:5:172","nodeType":"VariableDeclaration","scope":92196,"src":"963:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92175,"nodeType":"UserDefinedTypeName","pathNode":{"id":92174,"name":"IERC20","nameLocations":["963:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"963:6:172"},"referencedDeclaration":91196,"src":"963:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92178,"mutability":"mutable","name":"to","nameLocation":"985:2:172","nodeType":"VariableDeclaration","scope":92196,"src":"977:10:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92177,"name":"address","nodeType":"ElementaryTypeName","src":"977:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92180,"mutability":"mutable","name":"value","nameLocation":"997:5:172","nodeType":"VariableDeclaration","scope":92196,"src":"989:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92179,"name":"uint256","nodeType":"ElementaryTypeName","src":"989:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"962:41:172"},"returnParameters":{"id":92182,"nodeType":"ParameterList","parameters":[],"src":"1013:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92223,"nodeType":"FunctionDefinition","src":"1355:203:172","nodes":[],"body":{"id":92222,"nodeType":"Block","src":"1445:113:172","nodes":[],"statements":[{"expression":{"arguments":[{"id":92210,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92200,"src":"1475:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92213,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92200,"src":"1505:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1511:12:172","memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":91195,"src":"1505:18:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":92215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1524:8:172","memberName":"selector","nodeType":"MemberAccess","src":"1505:27:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92216,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92202,"src":"1534:4:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92217,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92204,"src":"1540:2:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92218,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92206,"src":"1544:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1482:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1486:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"1482:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1482:68:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92209,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"1455:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1455:96:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92221,"nodeType":"ExpressionStatement","src":"1455:96:172"}]},"documentation":{"id":92197,"nodeType":"StructuredDocumentation","src":"1122:228:172","text":" @dev Transfer `value` amount of `token` from `from` to `to`, spending the approval given by `from` to the\n calling contract. If `token` returns no value, non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeTransferFrom","nameLocation":"1364:16:172","parameters":{"id":92207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92200,"mutability":"mutable","name":"token","nameLocation":"1388:5:172","nodeType":"VariableDeclaration","scope":92223,"src":"1381:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92199,"nodeType":"UserDefinedTypeName","pathNode":{"id":92198,"name":"IERC20","nameLocations":["1381:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"1381:6:172"},"referencedDeclaration":91196,"src":"1381:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92202,"mutability":"mutable","name":"from","nameLocation":"1403:4:172","nodeType":"VariableDeclaration","scope":92223,"src":"1395:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92201,"name":"address","nodeType":"ElementaryTypeName","src":"1395:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92204,"mutability":"mutable","name":"to","nameLocation":"1417:2:172","nodeType":"VariableDeclaration","scope":92223,"src":"1409:10:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92203,"name":"address","nodeType":"ElementaryTypeName","src":"1409:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92206,"mutability":"mutable","name":"value","nameLocation":"1429:5:172","nodeType":"VariableDeclaration","scope":92223,"src":"1421:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92205,"name":"uint256","nodeType":"ElementaryTypeName","src":"1421:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1380:55:172"},"returnParameters":{"id":92208,"nodeType":"ParameterList","parameters":[],"src":"1445:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92267,"nodeType":"FunctionDefinition","src":"1818:573:172","nodes":[],"body":{"id":92266,"nodeType":"Block","src":"1894:497:172","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92235,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92231,"src":"2143:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":92236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2152:1:172","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2143:10:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":92238,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2142:12:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":92243,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2183:4:172","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}],"id":92242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2175:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92241,"name":"address","nodeType":"ElementaryTypeName","src":"2175:7:172","typeDescriptions":{}}},"id":92244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2175:13:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92245,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92229,"src":"2190:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92239,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92227,"src":"2159:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2165:9:172","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":91173,"src":"2159:15:172","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":92246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2159:39:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":92247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2202:1:172","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2159:44:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":92249,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2158:46:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2142:62:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365","id":92251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2218:56:172","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""},"value":"SafeERC20: approve from non-zero to non-zero allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef945ddb1bfdc0da870feb4560d868b047642b4ac7f2fb7f8b7c51cb4a411e25","typeString":"literal_string \"SafeERC20: approve from non-zero to non-zero allowance\""}],"id":92234,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2121:7:172","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2121:163:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92253,"nodeType":"ExpressionStatement","src":"2121:163:172"},{"expression":{"arguments":[{"id":92255,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92227,"src":"2314:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92258,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92227,"src":"2344:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2350:7:172","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":91183,"src":"2344:13:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92260,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2358:8:172","memberName":"selector","nodeType":"MemberAccess","src":"2344:22:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92261,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92229,"src":"2368:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92262,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92231,"src":"2377:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2321:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2325:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2321:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2321:62:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92254,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"2294:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2294:90:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92265,"nodeType":"ExpressionStatement","src":"2294:90:172"}]},"documentation":{"id":92224,"nodeType":"StructuredDocumentation","src":"1564:249:172","text":" @dev Deprecated. This function has issues similar to the ones found in\n {IERC20-approve}, and its usage is discouraged.\n Whenever possible, use {safeIncreaseAllowance} and\n {safeDecreaseAllowance} instead."},"implemented":true,"kind":"function","modifiers":[],"name":"safeApprove","nameLocation":"1827:11:172","parameters":{"id":92232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92227,"mutability":"mutable","name":"token","nameLocation":"1846:5:172","nodeType":"VariableDeclaration","scope":92267,"src":"1839:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92226,"nodeType":"UserDefinedTypeName","pathNode":{"id":92225,"name":"IERC20","nameLocations":["1839:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"1839:6:172"},"referencedDeclaration":91196,"src":"1839:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92229,"mutability":"mutable","name":"spender","nameLocation":"1861:7:172","nodeType":"VariableDeclaration","scope":92267,"src":"1853:15:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92228,"name":"address","nodeType":"ElementaryTypeName","src":"1853:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92231,"mutability":"mutable","name":"value","nameLocation":"1878:5:172","nodeType":"VariableDeclaration","scope":92267,"src":"1870:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92230,"name":"uint256","nodeType":"ElementaryTypeName","src":"1870:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:46:172"},"returnParameters":{"id":92233,"nodeType":"ParameterList","parameters":[],"src":"1894:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92304,"nodeType":"FunctionDefinition","src":"2582:280:172","nodes":[],"body":{"id":92303,"nodeType":"Block","src":"2668:194:172","nodes":[],"statements":[{"assignments":[92279],"declarations":[{"constant":false,"id":92279,"mutability":"mutable","name":"oldAllowance","nameLocation":"2686:12:172","nodeType":"VariableDeclaration","scope":92303,"src":"2678:20:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92278,"name":"uint256","nodeType":"ElementaryTypeName","src":"2678:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":92288,"initialValue":{"arguments":[{"arguments":[{"id":92284,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2725:4:172","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}],"id":92283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2717:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92282,"name":"address","nodeType":"ElementaryTypeName","src":"2717:7:172","typeDescriptions":{}}},"id":92285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2717:13:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92286,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92273,"src":"2732:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92280,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92271,"src":"2701:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2707:9:172","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":91173,"src":"2701:15:172","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":92287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2701:39:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2678:62:172"},{"expression":{"arguments":[{"id":92290,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92271,"src":"2770:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92293,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92271,"src":"2800:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2806:7:172","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":91183,"src":"2800:13:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2814:8:172","memberName":"selector","nodeType":"MemberAccess","src":"2800:22:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92296,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92273,"src":"2824:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92299,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92297,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92279,"src":"2833:12:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":92298,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92275,"src":"2848:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2833:20:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92291,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2777:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2781:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"2777:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:77:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92289,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"2750:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2750:105:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92302,"nodeType":"ExpressionStatement","src":"2750:105:172"}]},"documentation":{"id":92268,"nodeType":"StructuredDocumentation","src":"2397:180:172","text":" @dev Increase the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeIncreaseAllowance","nameLocation":"2591:21:172","parameters":{"id":92276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92271,"mutability":"mutable","name":"token","nameLocation":"2620:5:172","nodeType":"VariableDeclaration","scope":92304,"src":"2613:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92270,"nodeType":"UserDefinedTypeName","pathNode":{"id":92269,"name":"IERC20","nameLocations":["2613:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"2613:6:172"},"referencedDeclaration":91196,"src":"2613:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92273,"mutability":"mutable","name":"spender","nameLocation":"2635:7:172","nodeType":"VariableDeclaration","scope":92304,"src":"2627:15:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92272,"name":"address","nodeType":"ElementaryTypeName","src":"2627:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92275,"mutability":"mutable","name":"value","nameLocation":"2652:5:172","nodeType":"VariableDeclaration","scope":92304,"src":"2644:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92274,"name":"uint256","nodeType":"ElementaryTypeName","src":"2644:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2612:46:172"},"returnParameters":{"id":92277,"nodeType":"ParameterList","parameters":[],"src":"2668:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92349,"nodeType":"FunctionDefinition","src":"3053:407:172","nodes":[],"body":{"id":92348,"nodeType":"Block","src":"3139:321:172","nodes":[],"statements":[{"id":92347,"nodeType":"UncheckedBlock","src":"3149:305:172","statements":[{"assignments":[92316],"declarations":[{"constant":false,"id":92316,"mutability":"mutable","name":"oldAllowance","nameLocation":"3181:12:172","nodeType":"VariableDeclaration","scope":92347,"src":"3173:20:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92315,"name":"uint256","nodeType":"ElementaryTypeName","src":"3173:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":92325,"initialValue":{"arguments":[{"arguments":[{"id":92321,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"3220:4:172","typeDescriptions":{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SafeERC20_$92539","typeString":"library SafeERC20"}],"id":92320,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3212:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92319,"name":"address","nodeType":"ElementaryTypeName","src":"3212:7:172","typeDescriptions":{}}},"id":92322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3212:13:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92323,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92310,"src":"3227:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92317,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92308,"src":"3196:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3202:9:172","memberName":"allowance","nodeType":"MemberAccess","referencedDeclaration":91173,"src":"3196:15:172","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view external returns (uint256)"}},"id":92324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3196:39:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3173:62:172"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92327,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92316,"src":"3257:12:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":92328,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92312,"src":"3273:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3257:21:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f","id":92330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3280:43:172","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""},"value":"SafeERC20: decreased allowance below zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2c3af60974a758b7e72e108c9bf0943ecc9e4f2e8af4695da5f52fbf57a63d3a","typeString":"literal_string \"SafeERC20: decreased allowance below zero\""}],"id":92326,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3249:7:172","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3249:75:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92332,"nodeType":"ExpressionStatement","src":"3249:75:172"},{"expression":{"arguments":[{"id":92334,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92308,"src":"3358:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92337,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92308,"src":"3388:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3394:7:172","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":91183,"src":"3388:13:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92339,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3402:8:172","memberName":"selector","nodeType":"MemberAccess","src":"3388:22:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92340,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92310,"src":"3412:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92341,"name":"oldAllowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92316,"src":"3421:12:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":92342,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92312,"src":"3436:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3421:20:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3365:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3369:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3365:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3365:77:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92333,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"3338:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3338:105:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92346,"nodeType":"ExpressionStatement","src":"3338:105:172"}]}]},"documentation":{"id":92305,"nodeType":"StructuredDocumentation","src":"2868:180:172","text":" @dev Decrease the calling contract's allowance toward `spender` by `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful."},"implemented":true,"kind":"function","modifiers":[],"name":"safeDecreaseAllowance","nameLocation":"3062:21:172","parameters":{"id":92313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92308,"mutability":"mutable","name":"token","nameLocation":"3091:5:172","nodeType":"VariableDeclaration","scope":92349,"src":"3084:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92307,"nodeType":"UserDefinedTypeName","pathNode":{"id":92306,"name":"IERC20","nameLocations":["3084:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"3084:6:172"},"referencedDeclaration":91196,"src":"3084:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92310,"mutability":"mutable","name":"spender","nameLocation":"3106:7:172","nodeType":"VariableDeclaration","scope":92349,"src":"3098:15:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92309,"name":"address","nodeType":"ElementaryTypeName","src":"3098:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92312,"mutability":"mutable","name":"value","nameLocation":"3123:5:172","nodeType":"VariableDeclaration","scope":92349,"src":"3115:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92311,"name":"uint256","nodeType":"ElementaryTypeName","src":"3115:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3083:46:172"},"returnParameters":{"id":92314,"nodeType":"ParameterList","parameters":[],"src":"3139:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92396,"nodeType":"FunctionDefinition","src":"3756:410:172","nodes":[],"body":{"id":92395,"nodeType":"Block","src":"3833:333:172","nodes":[],"statements":[{"assignments":[92361],"declarations":[{"constant":false,"id":92361,"mutability":"mutable","name":"approvalCall","nameLocation":"3856:12:172","nodeType":"VariableDeclaration","scope":92395,"src":"3843:25:172","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92360,"name":"bytes","nodeType":"ElementaryTypeName","src":"3843:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":92370,"initialValue":{"arguments":[{"expression":{"expression":{"id":92364,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92353,"src":"3894:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3900:7:172","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":91183,"src":"3894:13:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92366,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3908:8:172","memberName":"selector","nodeType":"MemberAccess","src":"3894:22:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92367,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92355,"src":"3918:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92368,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92357,"src":"3927:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":92362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3871:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3875:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"3871:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3871:62:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3843:90:172"},{"condition":{"id":92375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3948:45:172","subExpression":{"arguments":[{"id":92372,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92353,"src":"3973:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"id":92373,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92361,"src":"3980:12:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92371,"name":"_callOptionalReturnBool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92538,"src":"3949:23:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (contract IERC20,bytes memory) returns (bool)"}},"id":92374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3949:44:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":92394,"nodeType":"IfStatement","src":"3944:216:172","trueBody":{"id":92393,"nodeType":"Block","src":"3995:165:172","statements":[{"expression":{"arguments":[{"id":92377,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92353,"src":"4029:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"arguments":[{"expression":{"expression":{"id":92380,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92353,"src":"4059:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"id":92381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:7:172","memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":91183,"src":"4059:13:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":92382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4073:8:172","memberName":"selector","nodeType":"MemberAccess","src":"4059:22:172","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":92383,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92355,"src":"4083:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"30","id":92384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4092:1:172","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":92378,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4036:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92379,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4040:18:172","memberName":"encodeWithSelector","nodeType":"MemberAccess","src":"4036:22:172","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$","typeString":"function (bytes4) pure returns (bytes memory)"}},"id":92385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4036:58:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92376,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"4009:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4009:86:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92387,"nodeType":"ExpressionStatement","src":"4009:86:172"},{"expression":{"arguments":[{"id":92389,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92353,"src":"4129:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},{"id":92390,"name":"approvalCall","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92361,"src":"4136:12:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":92388,"name":"_callOptionalReturn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92490,"src":"4109:19:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IERC20_$91196_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (contract IERC20,bytes memory)"}},"id":92391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4109:40:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92392,"nodeType":"ExpressionStatement","src":"4109:40:172"}]}}]},"documentation":{"id":92350,"nodeType":"StructuredDocumentation","src":"3466:285:172","text":" @dev Set the calling contract's allowance toward `spender` to `value`. If `token` returns no value,\n non-reverting calls are assumed to be successful. Compatible with tokens that require the approval to be set to\n 0 before setting it to a non-zero value."},"implemented":true,"kind":"function","modifiers":[],"name":"forceApprove","nameLocation":"3765:12:172","parameters":{"id":92358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92353,"mutability":"mutable","name":"token","nameLocation":"3785:5:172","nodeType":"VariableDeclaration","scope":92396,"src":"3778:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92352,"nodeType":"UserDefinedTypeName","pathNode":{"id":92351,"name":"IERC20","nameLocations":["3778:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"3778:6:172"},"referencedDeclaration":91196,"src":"3778:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92355,"mutability":"mutable","name":"spender","nameLocation":"3800:7:172","nodeType":"VariableDeclaration","scope":92396,"src":"3792:15:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92354,"name":"address","nodeType":"ElementaryTypeName","src":"3792:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92357,"mutability":"mutable","name":"value","nameLocation":"3817:5:172","nodeType":"VariableDeclaration","scope":92396,"src":"3809:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92356,"name":"uint256","nodeType":"ElementaryTypeName","src":"3809:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3777:46:172"},"returnParameters":{"id":92359,"nodeType":"ParameterList","parameters":[],"src":"3833:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92453,"nodeType":"FunctionDefinition","src":"4318:472:172","nodes":[],"body":{"id":92452,"nodeType":"Block","src":"4533:257:172","nodes":[],"statements":[{"assignments":[92418],"declarations":[{"constant":false,"id":92418,"mutability":"mutable","name":"nonceBefore","nameLocation":"4551:11:172","nodeType":"VariableDeclaration","scope":92452,"src":"4543:19:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92417,"name":"uint256","nodeType":"ElementaryTypeName","src":"4543:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":92423,"initialValue":{"arguments":[{"id":92421,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92402,"src":"4578:5:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92419,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92400,"src":"4565:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$92163","typeString":"contract IERC20Permit"}},"id":92420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4571:6:172","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":92156,"src":"4565:12:172","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":92422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4565:19:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4543:41:172"},{"expression":{"arguments":[{"id":92427,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92402,"src":"4607:5:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92428,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92404,"src":"4614:7:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":92429,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92406,"src":"4623:5:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92430,"name":"deadline","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92408,"src":"4630:8:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":92431,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92410,"src":"4640:1:172","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":92432,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92412,"src":"4643:1:172","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":92433,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92414,"src":"4646:1:172","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":92424,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92400,"src":"4594:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$92163","typeString":"contract IERC20Permit"}},"id":92426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4600:6:172","memberName":"permit","nodeType":"MemberAccess","referencedDeclaration":92148,"src":"4594:12:172","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint8,bytes32,bytes32) external"}},"id":92434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4594:54:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92435,"nodeType":"ExpressionStatement","src":"4594:54:172"},{"assignments":[92437],"declarations":[{"constant":false,"id":92437,"mutability":"mutable","name":"nonceAfter","nameLocation":"4666:10:172","nodeType":"VariableDeclaration","scope":92452,"src":"4658:18:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92436,"name":"uint256","nodeType":"ElementaryTypeName","src":"4658:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":92442,"initialValue":{"arguments":[{"id":92440,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92402,"src":"4692:5:172","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92438,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92400,"src":"4679:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$92163","typeString":"contract IERC20Permit"}},"id":92439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4685:6:172","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":92156,"src":"4679:12:172","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":92441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4679:19:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4658:40:172"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92444,"name":"nonceAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92437,"src":"4716:10:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92447,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92445,"name":"nonceBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92418,"src":"4730:11:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":92446,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4744:1:172","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4730:15:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4716:29:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a207065726d697420646964206e6f742073756363656564","id":92449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4747:35:172","typeDescriptions":{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""},"value":"SafeERC20: permit did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_cde8e927812a7a656f8f04e89ac4f4113d47940dd2125d11fcb8e0bd36bfc59d","typeString":"literal_string \"SafeERC20: permit did not succeed\""}],"id":92443,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4708:7:172","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4708:75:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92451,"nodeType":"ExpressionStatement","src":"4708:75:172"}]},"documentation":{"id":92397,"nodeType":"StructuredDocumentation","src":"4172:141:172","text":" @dev Use a ERC-2612 signature to set the `owner` approval toward `spender` on `token`.\n Revert on invalid signature."},"implemented":true,"kind":"function","modifiers":[],"name":"safePermit","nameLocation":"4327:10:172","parameters":{"id":92415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92400,"mutability":"mutable","name":"token","nameLocation":"4360:5:172","nodeType":"VariableDeclaration","scope":92453,"src":"4347:18:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$92163","typeString":"contract IERC20Permit"},"typeName":{"id":92399,"nodeType":"UserDefinedTypeName","pathNode":{"id":92398,"name":"IERC20Permit","nameLocations":["4347:12:172"],"nodeType":"IdentifierPath","referencedDeclaration":92163,"src":"4347:12:172"},"referencedDeclaration":92163,"src":"4347:12:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20Permit_$92163","typeString":"contract IERC20Permit"}},"visibility":"internal"},{"constant":false,"id":92402,"mutability":"mutable","name":"owner","nameLocation":"4383:5:172","nodeType":"VariableDeclaration","scope":92453,"src":"4375:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92401,"name":"address","nodeType":"ElementaryTypeName","src":"4375:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92404,"mutability":"mutable","name":"spender","nameLocation":"4406:7:172","nodeType":"VariableDeclaration","scope":92453,"src":"4398:15:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":92403,"name":"address","nodeType":"ElementaryTypeName","src":"4398:7:172","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":92406,"mutability":"mutable","name":"value","nameLocation":"4431:5:172","nodeType":"VariableDeclaration","scope":92453,"src":"4423:13:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92405,"name":"uint256","nodeType":"ElementaryTypeName","src":"4423:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92408,"mutability":"mutable","name":"deadline","nameLocation":"4454:8:172","nodeType":"VariableDeclaration","scope":92453,"src":"4446:16:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":92407,"name":"uint256","nodeType":"ElementaryTypeName","src":"4446:7:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":92410,"mutability":"mutable","name":"v","nameLocation":"4478:1:172","nodeType":"VariableDeclaration","scope":92453,"src":"4472:7:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":92409,"name":"uint8","nodeType":"ElementaryTypeName","src":"4472:5:172","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":92412,"mutability":"mutable","name":"r","nameLocation":"4497:1:172","nodeType":"VariableDeclaration","scope":92453,"src":"4489:9:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":92411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4489:7:172","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":92414,"mutability":"mutable","name":"s","nameLocation":"4516:1:172","nodeType":"VariableDeclaration","scope":92453,"src":"4508:9:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":92413,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4508:7:172","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4337:186:172"},"returnParameters":{"id":92416,"nodeType":"ParameterList","parameters":[],"src":"4533:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":92490,"nodeType":"FunctionDefinition","src":"5173:642:172","nodes":[],"body":{"id":92489,"nodeType":"Block","src":"5243:572:172","nodes":[],"statements":[{"assignments":[92463],"declarations":[{"constant":false,"id":92463,"mutability":"mutable","name":"returndata","nameLocation":"5605:10:172","nodeType":"VariableDeclaration","scope":92489,"src":"5592:23:172","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92462,"name":"bytes","nodeType":"ElementaryTypeName","src":"5592:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":92472,"initialValue":{"arguments":[{"id":92469,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92459,"src":"5646:4:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"hexValue":"5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564","id":92470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5652:34:172","typeDescriptions":{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""},"value":"SafeERC20: low-level call failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_stringliteral_47fb62c2c272651d2f0f342bac006756b8ba07f21cc5cb87e0fbb9d50c0c585b","typeString":"literal_string \"SafeERC20: low-level call failed\""}],"expression":{"arguments":[{"id":92466,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92457,"src":"5626:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}],"id":92465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5618:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92464,"name":"address","nodeType":"ElementaryTypeName","src":"5618:7:172","typeDescriptions":{}}},"id":92467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:14:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":92468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5633:12:172","memberName":"functionCall","nodeType":"MemberAccess","referencedDeclaration":93773,"src":"5618:27:172","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$attached_to$_t_address_$","typeString":"function (address,bytes memory,string memory) returns (bytes memory)"}},"id":92471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5618:69:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"5592:95:172"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":92474,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92463,"src":"5705:10:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":92475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5716:6:172","memberName":"length","nodeType":"MemberAccess","src":"5705:17:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":92476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5726:1:172","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5705:22:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":92480,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92463,"src":"5742:10:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":92482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5755:4:172","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":92481,"name":"bool","nodeType":"ElementaryTypeName","src":"5755:4:172","typeDescriptions":{}}}],"id":92483,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"5754:6:172","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":92478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5731:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5735:6:172","memberName":"decode","nodeType":"MemberAccess","src":"5731:10:172","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":92484,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5731:30:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5705:56:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564","id":92486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5763:44:172","typeDescriptions":{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""},"value":"SafeERC20: ERC20 operation did not succeed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e11ad79d1e4a7f2e5f376964cb99e8e8f7904e3fc16a109f7a7ecb9aa7956dcd","typeString":"literal_string \"SafeERC20: ERC20 operation did not succeed\""}],"id":92473,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5697:7:172","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":92487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5697:111:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":92488,"nodeType":"ExpressionStatement","src":"5697:111:172"}]},"documentation":{"id":92454,"nodeType":"StructuredDocumentation","src":"4796:372:172","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants)."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturn","nameLocation":"5182:19:172","parameters":{"id":92460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92457,"mutability":"mutable","name":"token","nameLocation":"5209:5:172","nodeType":"VariableDeclaration","scope":92490,"src":"5202:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92456,"nodeType":"UserDefinedTypeName","pathNode":{"id":92455,"name":"IERC20","nameLocations":["5202:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"5202:6:172"},"referencedDeclaration":91196,"src":"5202:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92459,"mutability":"mutable","name":"data","nameLocation":"5229:4:172","nodeType":"VariableDeclaration","scope":92490,"src":"5216:17:172","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92458,"name":"bytes","nodeType":"ElementaryTypeName","src":"5216:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5201:33:172"},"returnParameters":{"id":92461,"nodeType":"ParameterList","parameters":[],"src":"5243:0:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":92538,"nodeType":"FunctionDefinition","src":"6316:594:172","nodes":[],"body":{"id":92537,"nodeType":"Block","src":"6405:505:172","nodes":[],"statements":[{"assignments":[92502,92504],"declarations":[{"constant":false,"id":92502,"mutability":"mutable","name":"success","nameLocation":"6706:7:172","nodeType":"VariableDeclaration","scope":92537,"src":"6701:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92501,"name":"bool","nodeType":"ElementaryTypeName","src":"6701:4:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":92504,"mutability":"mutable","name":"returndata","nameLocation":"6728:10:172","nodeType":"VariableDeclaration","scope":92537,"src":"6715:23:172","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92503,"name":"bytes","nodeType":"ElementaryTypeName","src":"6715:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":92512,"initialValue":{"arguments":[{"id":92510,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92496,"src":"6762:4:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"arguments":[{"id":92507,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92494,"src":"6750:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}],"id":92506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6742:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92505,"name":"address","nodeType":"ElementaryTypeName","src":"6742:7:172","typeDescriptions":{}}},"id":92508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:14:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":92509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6757:4:172","memberName":"call","nodeType":"MemberAccess","src":"6742:19:172","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":92511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6742:25:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"6700:67:172"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":92513,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92502,"src":"6796:7:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":92525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":92517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":92514,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92504,"src":"6808:10:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":92515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6819:6:172","memberName":"length","nodeType":"MemberAccess","src":"6808:17:172","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":92516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6829:1:172","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6808:22:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":92520,"name":"returndata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92504,"src":"6845:10:172","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":92522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6858:4:172","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":92521,"name":"bool","nodeType":"ElementaryTypeName","src":"6858:4:172","typeDescriptions":{}}}],"id":92523,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6857:6:172","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":92518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6834:3:172","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":92519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6838:6:172","memberName":"decode","nodeType":"MemberAccess","src":"6834:10:172","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":92524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6834:30:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6808:56:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":92526,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6807:58:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:69:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"arguments":[{"id":92532,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":92494,"src":"6896:5:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}],"id":92531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6888:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":92530,"name":"address","nodeType":"ElementaryTypeName","src":"6888:7:172","typeDescriptions":{}}},"id":92533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:14:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":92528,"name":"Address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94013,"src":"6869:7:172","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Address_$94013_$","typeString":"type(library Address)"}},"id":92529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6877:10:172","memberName":"isContract","nodeType":"MemberAccess","referencedDeclaration":93701,"src":"6869:18:172","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":92534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6869:34:172","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6796:107:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":92500,"id":92536,"nodeType":"Return","src":"6777:126:172"}]},"documentation":{"id":92491,"nodeType":"StructuredDocumentation","src":"5821:490:172","text":" @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement\n on the return value: the return value is optional (but if data is returned, it must not be false).\n @param token The token targeted by the call.\n @param data The call data (encoded using abi.encode or one of its variants).\n This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead."},"implemented":true,"kind":"function","modifiers":[],"name":"_callOptionalReturnBool","nameLocation":"6325:23:172","parameters":{"id":92497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92494,"mutability":"mutable","name":"token","nameLocation":"6356:5:172","nodeType":"VariableDeclaration","scope":92538,"src":"6349:12:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"},"typeName":{"id":92493,"nodeType":"UserDefinedTypeName","pathNode":{"id":92492,"name":"IERC20","nameLocations":["6349:6:172"],"nodeType":"IdentifierPath","referencedDeclaration":91196,"src":"6349:6:172"},"referencedDeclaration":91196,"src":"6349:6:172","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$91196","typeString":"contract IERC20"}},"visibility":"internal"},{"constant":false,"id":92496,"mutability":"mutable","name":"data","nameLocation":"6376:4:172","nodeType":"VariableDeclaration","scope":92538,"src":"6363:17:172","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":92495,"name":"bytes","nodeType":"ElementaryTypeName","src":"6363:5:172","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6348:33:172"},"returnParameters":{"id":92500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":92499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":92538,"src":"6399:4:172","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":92498,"name":"bool","nodeType":"ElementaryTypeName","src":"6399:4:172","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6398:6:172"},"scope":92539,"stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[],"canonicalName":"SafeERC20","contractDependencies":[],"contractKind":"library","documentation":{"id":92169,"nodeType":"StructuredDocumentation","src":"243:457:172","text":" @title SafeERC20\n @dev Wrappers around ERC20 operations that throw on failure (when the token\n contract returns false). Tokens that return no value (and instead revert or\n throw on failure) are also supported, non-reverting calls are assumed to be\n successful.\n To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,\n which allows you to call the safe operations as `token.safeTransfer(...)`, etc."},"fullyImplemented":true,"linearizedBaseContracts":[92539],"name":"SafeERC20","nameLocation":"709:9:172","scope":92540,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":172} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a062aa0bcb5c062a8ddfd838388c97707e8fcbd9347e9e90f97b46890131ea3f64736f6c63430008170033","sourceMap":"701:6234:172:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;701:6234:172;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a062aa0bcb5c062a8ddfd838388c97707e8fcbd9347e9e90f97b46890131ea3f64736f6c63430008170033","sourceMap":"701:6234:172:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers around ERC20 operations that throw on failure (when the token contract returns false). Tokens that return no value (and instead revert or throw on failure) are also supported, non-reverting calls are assumed to be successful. To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, which allows you to call the safe operations as `token.safeTransfer(...)`, etc.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SafeERC20\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":"SafeERC20"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":172} \ No newline at end of file diff --git a/out/Script.sol/Script.json b/out/Script.sol/Script.json index 74d4641d..f229520f 100644 --- a/out/Script.sol/Script.json +++ b/out/Script.sol/Script.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Script.sol":"Script"},"libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"lib/forge-std/src/Script.sol","id":32086,"exportedSymbols":{"Script":[32085],"ScriptBase":[32046],"StdChains":[34223],"StdCheatsSafe":[36277],"StdStorage":[38081],"StdStyle":[40745],"StdUtils":[41593],"VmSafe":[42699],"console":[51235],"console2":[59360],"safeconsole":[72598],"stdJson":[37907],"stdMath":[38049],"stdStorageSafe":[38973]},"nodeType":"SourceUnit","src":"32:800:50","nodes":[{"id":32048,"nodeType":"PragmaDirective","src":"32:31:50","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":32050,"nodeType":"ImportDirective","src":"127:38:50","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":51236,"symbolAliases":[{"foreign":{"id":32049,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51235,"src":"135:7:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32052,"nodeType":"ImportDirective","src":"166:40:50","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":59361,"symbolAliases":[{"foreign":{"id":32051,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59360,"src":"174:8:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32054,"nodeType":"ImportDirective","src":"207:46:50","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":72599,"symbolAliases":[{"foreign":{"id":32053,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"215:11:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32056,"nodeType":"ImportDirective","src":"254:42:50","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":34224,"symbolAliases":[{"foreign":{"id":32055,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34223,"src":"262:9:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32058,"nodeType":"ImportDirective","src":"297:46:50","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":37042,"symbolAliases":[{"foreign":{"id":32057,"name":"StdCheatsSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":36277,"src":"305:13:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32060,"nodeType":"ImportDirective","src":"344:38:50","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":37908,"symbolAliases":[{"foreign":{"id":32059,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37907,"src":"352:7:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32062,"nodeType":"ImportDirective","src":"383:38:50","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":38050,"symbolAliases":[{"foreign":{"id":32061,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38049,"src":"391:7:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32065,"nodeType":"ImportDirective","src":"422:60:50","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":39535,"symbolAliases":[{"foreign":{"id":32063,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38081,"src":"430:10:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":32064,"name":"stdStorageSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38973,"src":"442:14:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32067,"nodeType":"ImportDirective","src":"483:40:50","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":40746,"symbolAliases":[{"foreign":{"id":32066,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40745,"src":"491:8:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32069,"nodeType":"ImportDirective","src":"524:40:50","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":41594,"symbolAliases":[{"foreign":{"id":32068,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41593,"src":"532:8:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32071,"nodeType":"ImportDirective","src":"565:32:50","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":43172,"symbolAliases":[{"foreign":{"id":32070,"name":"VmSafe","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42699,"src":"573:6:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32073,"nodeType":"ImportDirective","src":"619:38:50","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":32086,"sourceUnit":32047,"symbolAliases":[{"foreign":{"id":32072,"name":"ScriptBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32046,"src":"627:10:50","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":32085,"nodeType":"ContractDefinition","src":"676:155:50","nodes":[{"id":32084,"nodeType":"VariableDeclaration","src":"800:28:50","nodes":[],"constant":false,"functionSelector":"f8ccbf47","mutability":"mutable","name":"IS_SCRIPT","nameLocation":"812:9:50","scope":32085,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32082,"name":"bool","nodeType":"ElementaryTypeName","src":"800:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":32083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"824:4:50","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"}],"abstract":true,"baseContracts":[{"baseName":{"id":32074,"name":"ScriptBase","nameLocations":["704:10:50"],"nodeType":"IdentifierPath","referencedDeclaration":32046,"src":"704:10:50"},"id":32075,"nodeType":"InheritanceSpecifier","src":"704:10:50"},{"baseName":{"id":32076,"name":"StdChains","nameLocations":["716:9:50"],"nodeType":"IdentifierPath","referencedDeclaration":34223,"src":"716:9:50"},"id":32077,"nodeType":"InheritanceSpecifier","src":"716:9:50"},{"baseName":{"id":32078,"name":"StdCheatsSafe","nameLocations":["727:13:50"],"nodeType":"IdentifierPath","referencedDeclaration":36277,"src":"727:13:50"},"id":32079,"nodeType":"InheritanceSpecifier","src":"727:13:50"},{"baseName":{"id":32080,"name":"StdUtils","nameLocations":["742:8:50"],"nodeType":"IdentifierPath","referencedDeclaration":41593,"src":"742:8:50"},"id":32081,"nodeType":"InheritanceSpecifier","src":"742:8:50"}],"canonicalName":"Script","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[32085,41593,36277,34223,32046,32034],"name":"Script","nameLocation":"694:6:50","scope":32086,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":50} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_SCRIPT()":"f8ccbf47"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Script.sol\":\"Script\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c\",\"dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"IS_SCRIPT","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Script.sol":"Script"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/Script.sol":{"keccak256":"0x2315be74cc2826f9da401bea3da46a10ad6a6efdf73176d79160b453286d0ed2","urls":["bzz-raw://af0d4dc826911d6cb4d6272ed5cbdb6950e1476141cca328e178b808d848789c","dweb:/ipfs/QmV2ytjUEkV84VtdMs1nZqQTBoVE987cHboQMpiha5yo3e"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"id":50} \ No newline at end of file diff --git a/out/Strings.sol/Strings.json b/out/Strings.sol/Strings.json index d0eb54d5..97d8a0ff 100644 --- a/out/Strings.sol/Strings.json +++ b/out/Strings.sol/Strings.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ffd9c7491adf10a8b4a379f4f098b1838a82217ec32ccc54774aeaaf2fa783af64736f6c63430008170033","sourceMap":"220:2559:185:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:185;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ffd9c7491adf10a8b4a379f4f098b1838a82217ec32ccc54774aeaaf2fa783af64736f6c63430008170033","sourceMap":"220:2559:185:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":"Strings"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/utils/Strings.sol","id":96206,"exportedSymbols":{"Math":[97871],"SignedMath":[99517],"Strings":[96205]},"nodeType":"SourceUnit","src":"101:2679:185","nodes":[{"id":95978,"nodeType":"PragmaDirective","src":"101:23:185","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":95979,"nodeType":"ImportDirective","src":"126:25:185","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","file":"./math/Math.sol","nameLocation":"-1:-1:-1","scope":96206,"sourceUnit":97872,"symbolAliases":[],"unitAlias":""},{"id":95980,"nodeType":"ImportDirective","src":"152:31:185","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol","file":"./math/SignedMath.sol","nameLocation":"-1:-1:-1","scope":96206,"sourceUnit":99518,"symbolAliases":[],"unitAlias":""},{"id":96205,"nodeType":"ContractDefinition","src":"220:2559:185","nodes":[{"id":95984,"nodeType":"VariableDeclaration","src":"242:54:185","nodes":[],"constant":true,"mutability":"constant","name":"_SYMBOLS","nameLocation":"267:8:185","scope":96205,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":95982,"name":"bytes16","nodeType":"ElementaryTypeName","src":"242:7:185","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"value":{"hexValue":"30313233343536373839616263646566","id":95983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"278:18:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f","typeString":"literal_string \"0123456789abcdef\""},"value":"0123456789abcdef"},"visibility":"private"},{"id":95987,"nodeType":"VariableDeclaration","src":"302:43:185","nodes":[],"constant":true,"mutability":"constant","name":"_ADDRESS_LENGTH","nameLocation":"325:15:185","scope":96205,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":95985,"name":"uint8","nodeType":"ElementaryTypeName","src":"302:5:185","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":{"hexValue":"3230","id":95986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"343:2:185","typeDescriptions":{"typeIdentifier":"t_rational_20_by_1","typeString":"int_const 20"},"value":"20"},"visibility":"private"},{"id":96035,"nodeType":"FunctionDefinition","src":"447:696:185","nodes":[],"body":{"id":96034,"nodeType":"Block","src":"518:625:185","nodes":[],"statements":[{"id":96033,"nodeType":"UncheckedBlock","src":"528:609:185","statements":[{"assignments":[95996],"declarations":[{"constant":false,"id":95996,"mutability":"mutable","name":"length","nameLocation":"560:6:185","nodeType":"VariableDeclaration","scope":96033,"src":"552:14:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95995,"name":"uint256","nodeType":"ElementaryTypeName","src":"552:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96003,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":95999,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95990,"src":"580:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":95997,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"569:4:185","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":95998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"574:5:185","memberName":"log10","nodeType":"MemberAccess","referencedDeclaration":97708,"src":"569:10:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":96000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"569:17:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":96001,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"589:1:185","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"569:21:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"552:38:185"},{"assignments":[96005],"declarations":[{"constant":false,"id":96005,"mutability":"mutable","name":"buffer","nameLocation":"618:6:185","nodeType":"VariableDeclaration","scope":96033,"src":"604:20:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96004,"name":"string","nodeType":"ElementaryTypeName","src":"604:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":96010,"initialValue":{"arguments":[{"id":96008,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95996,"src":"638:6:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"627:10:185","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"},"typeName":{"id":96006,"name":"string","nodeType":"ElementaryTypeName","src":"631:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}}},"id":96009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"627:18:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"604:41:185"},{"assignments":[96012],"declarations":[{"constant":false,"id":96012,"mutability":"mutable","name":"ptr","nameLocation":"667:3:185","nodeType":"VariableDeclaration","scope":96033,"src":"659:11:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96011,"name":"uint256","nodeType":"ElementaryTypeName","src":"659:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96013,"nodeType":"VariableDeclarationStatement","src":"659:11:185"},{"AST":{"nativeSrc":"740:67:185","nodeType":"YulBlock","src":"740:67:185","statements":[{"nativeSrc":"758:35:185","nodeType":"YulAssignment","src":"758:35:185","value":{"arguments":[{"name":"buffer","nativeSrc":"769:6:185","nodeType":"YulIdentifier","src":"769:6:185"},{"arguments":[{"kind":"number","nativeSrc":"781:2:185","nodeType":"YulLiteral","src":"781:2:185","type":"","value":"32"},{"name":"length","nativeSrc":"785:6:185","nodeType":"YulIdentifier","src":"785:6:185"}],"functionName":{"name":"add","nativeSrc":"777:3:185","nodeType":"YulIdentifier","src":"777:3:185"},"nativeSrc":"777:15:185","nodeType":"YulFunctionCall","src":"777:15:185"}],"functionName":{"name":"add","nativeSrc":"765:3:185","nodeType":"YulIdentifier","src":"765:3:185"},"nativeSrc":"765:28:185","nodeType":"YulFunctionCall","src":"765:28:185"},"variableNames":[{"name":"ptr","nativeSrc":"758:3:185","nodeType":"YulIdentifier","src":"758:3:185"}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":96005,"isOffset":false,"isSlot":false,"src":"769:6:185","valueSize":1},{"declaration":95996,"isOffset":false,"isSlot":false,"src":"785:6:185","valueSize":1},{"declaration":96012,"isOffset":false,"isSlot":false,"src":"758:3:185","valueSize":1}],"id":96014,"nodeType":"InlineAssembly","src":"731:76:185"},{"body":{"id":96029,"nodeType":"Block","src":"833:267:185","statements":[{"expression":{"id":96017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"851:5:185","subExpression":{"id":96016,"name":"ptr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96012,"src":"851:3:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96018,"nodeType":"ExpressionStatement","src":"851:5:185"},{"AST":{"nativeSrc":"934:84:185","nodeType":"YulBlock","src":"934:84:185","statements":[{"expression":{"arguments":[{"name":"ptr","nativeSrc":"964:3:185","nodeType":"YulIdentifier","src":"964:3:185"},{"arguments":[{"arguments":[{"name":"value","nativeSrc":"978:5:185","nodeType":"YulIdentifier","src":"978:5:185"},{"kind":"number","nativeSrc":"985:2:185","nodeType":"YulLiteral","src":"985:2:185","type":"","value":"10"}],"functionName":{"name":"mod","nativeSrc":"974:3:185","nodeType":"YulIdentifier","src":"974:3:185"},"nativeSrc":"974:14:185","nodeType":"YulFunctionCall","src":"974:14:185"},{"name":"_SYMBOLS","nativeSrc":"990:8:185","nodeType":"YulIdentifier","src":"990:8:185"}],"functionName":{"name":"byte","nativeSrc":"969:4:185","nodeType":"YulIdentifier","src":"969:4:185"},"nativeSrc":"969:30:185","nodeType":"YulFunctionCall","src":"969:30:185"}],"functionName":{"name":"mstore8","nativeSrc":"956:7:185","nodeType":"YulIdentifier","src":"956:7:185"},"nativeSrc":"956:44:185","nodeType":"YulFunctionCall","src":"956:44:185"},"nativeSrc":"956:44:185","nodeType":"YulExpressionStatement","src":"956:44:185"}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":95984,"isOffset":false,"isSlot":false,"src":"990:8:185","valueSize":1},{"declaration":96012,"isOffset":false,"isSlot":false,"src":"964:3:185","valueSize":1},{"declaration":95990,"isOffset":false,"isSlot":false,"src":"978:5:185","valueSize":1}],"id":96019,"nodeType":"InlineAssembly","src":"925:93:185"},{"expression":{"id":96022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96020,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95990,"src":"1035:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"/=","rightHandSide":{"hexValue":"3130","id":96021,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1044:2:185","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"src":"1035:11:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96023,"nodeType":"ExpressionStatement","src":"1035:11:185"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96024,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95990,"src":"1068:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":96025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1077:1:185","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1068:10:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96028,"nodeType":"IfStatement","src":"1064:21:185","trueBody":{"id":96027,"nodeType":"Break","src":"1080:5:185"}}]},"condition":{"hexValue":"74727565","id":96015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"827:4:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"id":96030,"nodeType":"WhileStatement","src":"820:280:185"},{"expression":{"id":96031,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96005,"src":"1120:6:185","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":95994,"id":96032,"nodeType":"Return","src":"1113:13:185"}]}]},"documentation":{"id":95988,"nodeType":"StructuredDocumentation","src":"352:90:185","text":" @dev Converts a `uint256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"456:8:185","parameters":{"id":95991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95990,"mutability":"mutable","name":"value","nameLocation":"473:5:185","nodeType":"VariableDeclaration","scope":96035,"src":"465:13:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":95989,"name":"uint256","nodeType":"ElementaryTypeName","src":"465:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"464:15:185"},"returnParameters":{"id":95994,"nodeType":"ParameterList","parameters":[{"constant":false,"id":95993,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96035,"src":"503:13:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":95992,"name":"string","nodeType":"ElementaryTypeName","src":"503:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"502:15:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96063,"nodeType":"FunctionDefinition","src":"1243:173:185","nodes":[],"body":{"id":96062,"nodeType":"Block","src":"1313:103:185","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":96049,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96047,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96038,"src":"1354:5:185","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"hexValue":"30","id":96048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1362:1:185","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"1354:9:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"hexValue":"","id":96051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1372:2:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"id":96052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"1354:20:185","trueExpression":{"hexValue":"2d","id":96050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1366:3:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3b8281179950f98149eefdb158d0e1acb56f56e8e343aa9fefafa7e36959561","typeString":"literal_string \"-\""},"value":"-"},"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"arguments":[{"arguments":[{"id":96056,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96038,"src":"1400:5:185","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":96054,"name":"SignedMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99517,"src":"1385:10:185","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SignedMath_$99517_$","typeString":"type(library SignedMath)"}},"id":96055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1396:3:185","memberName":"abs","nodeType":"MemberAccess","referencedDeclaration":99516,"src":"1385:14:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_int256_$returns$_t_uint256_$","typeString":"function (int256) pure returns (uint256)"}},"id":96057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1385:21:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96053,"name":"toString","nodeType":"Identifier","overloadedDeclarations":[96035,96063],"referencedDeclaration":96035,"src":"1376:8:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256) pure returns (string memory)"}},"id":96058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1376:31:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":96045,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1337:3:185","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":96046,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1341:12:185","memberName":"encodePacked","nodeType":"MemberAccess","src":"1337:16:185","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":96059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1337:71:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96044,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1330:6:185","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":96043,"name":"string","nodeType":"ElementaryTypeName","src":"1330:6:185","typeDescriptions":{}}},"id":96060,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1330:79:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":96042,"id":96061,"nodeType":"Return","src":"1323:86:185"}]},"documentation":{"id":96036,"nodeType":"StructuredDocumentation","src":"1149:89:185","text":" @dev Converts a `int256` to its ASCII `string` decimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toString","nameLocation":"1252:8:185","parameters":{"id":96039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96038,"mutability":"mutable","name":"value","nameLocation":"1268:5:185","nodeType":"VariableDeclaration","scope":96063,"src":"1261:12:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":96037,"name":"int256","nodeType":"ElementaryTypeName","src":"1261:6:185","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1260:14:185"},"returnParameters":{"id":96042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96041,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96063,"src":"1298:13:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96040,"name":"string","nodeType":"ElementaryTypeName","src":"1298:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1297:15:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96083,"nodeType":"FunctionDefinition","src":"1521:174:185","nodes":[],"body":{"id":96082,"nodeType":"Block","src":"1595:100:185","nodes":[],"statements":[{"id":96081,"nodeType":"UncheckedBlock","src":"1605:84:185","statements":[{"expression":{"arguments":[{"id":96072,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96066,"src":"1648:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96078,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":96075,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96066,"src":"1667:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":96073,"name":"Math","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":97871,"src":"1655:4:185","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Math_$97871_$","typeString":"type(library Math)"}},"id":96074,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1660:6:185","memberName":"log256","nodeType":"MemberAccess","referencedDeclaration":97831,"src":"1655:11:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":96076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1655:18:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":96077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1676:1:185","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1655:22:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96071,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[96083,96159,96179],"referencedDeclaration":96159,"src":"1636:11:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":96079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1636:42:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":96070,"id":96080,"nodeType":"Return","src":"1629:49:185"}]}]},"documentation":{"id":96064,"nodeType":"StructuredDocumentation","src":"1422:94:185","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1530:11:185","parameters":{"id":96067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96066,"mutability":"mutable","name":"value","nameLocation":"1550:5:185","nodeType":"VariableDeclaration","scope":96083,"src":"1542:13:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96065,"name":"uint256","nodeType":"ElementaryTypeName","src":"1542:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1541:15:185"},"returnParameters":{"id":96070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96069,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96083,"src":"1580:13:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96068,"name":"string","nodeType":"ElementaryTypeName","src":"1580:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1579:15:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96159,"nodeType":"FunctionDefinition","src":"1818:437:185","nodes":[],"body":{"id":96158,"nodeType":"Block","src":"1908:347:185","nodes":[],"statements":[{"assignments":[96094],"declarations":[{"constant":false,"id":96094,"mutability":"mutable","name":"buffer","nameLocation":"1931:6:185","nodeType":"VariableDeclaration","scope":96158,"src":"1918:19:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":96093,"name":"bytes","nodeType":"ElementaryTypeName","src":"1918:5:185","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":96103,"initialValue":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96099,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":96097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1950:1:185","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":96098,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96088,"src":"1954:6:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1950:10:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"32","id":96100,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1963:1:185","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"1950:14:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":96096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1940:9:185","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":96095,"name":"bytes","nodeType":"ElementaryTypeName","src":"1944:5:185","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":96102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1940:25:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1918:47:185"},{"expression":{"id":96108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":96104,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96094,"src":"1975:6:185","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96106,"indexExpression":{"hexValue":"30","id":96105,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1982:1:185","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1975:9:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":96107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1987:3:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d","typeString":"literal_string \"0\""},"value":"0"},"src":"1975:15:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":96109,"nodeType":"ExpressionStatement","src":"1975:15:185"},{"expression":{"id":96114,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":96110,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96094,"src":"2000:6:185","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96112,"indexExpression":{"hexValue":"31","id":96111,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2007:1:185","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2000:9:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"78","id":96113,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2012:3:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83","typeString":"literal_string \"x\""},"value":"x"},"src":"2000:15:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":96115,"nodeType":"ExpressionStatement","src":"2000:15:185"},{"body":{"id":96144,"nodeType":"Block","src":"2070:83:185","statements":[{"expression":{"id":96138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":96130,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96094,"src":"2084:6:185","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":96132,"indexExpression":{"id":96131,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96117,"src":"2091:1:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2084:9:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":96133,"name":"_SYMBOLS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95984,"src":"2096:8:185","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"id":96137,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96136,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96134,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96086,"src":"2105:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"&","rightExpression":{"hexValue":"307866","id":96135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2113:3:185","typeDescriptions":{"typeIdentifier":"t_rational_15_by_1","typeString":"int_const 15"},"value":"0xf"},"src":"2105:11:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2096:21:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"2084:33:185","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"id":96139,"nodeType":"ExpressionStatement","src":"2084:33:185"},{"expression":{"id":96142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":96140,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96086,"src":"2131:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":">>=","rightHandSide":{"hexValue":"34","id":96141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2141:1:185","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"src":"2131:11:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96143,"nodeType":"ExpressionStatement","src":"2131:11:185"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96124,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96117,"src":"2058:1:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"31","id":96125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2062:1:185","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2058:5:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":96145,"initializationExpression":{"assignments":[96117],"declarations":[{"constant":false,"id":96117,"mutability":"mutable","name":"i","nameLocation":"2038:1:185","nodeType":"VariableDeclaration","scope":96145,"src":"2030:9:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96116,"name":"uint256","nodeType":"ElementaryTypeName","src":"2030:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":96123,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"hexValue":"32","id":96118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2042:1:185","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":96119,"name":"length","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96088,"src":"2046:6:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2042:10:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":96121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2055:1:185","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2042:14:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2030:26:185"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":96128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":true,"src":"2065:3:185","subExpression":{"id":96127,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96117,"src":"2067:1:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":96129,"nodeType":"ExpressionStatement","src":"2065:3:185"},"nodeType":"ForStatement","src":"2025:128:185"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":96149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":96147,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96086,"src":"2170:5:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":96148,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2179:1:185","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2170:10:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"537472696e67733a20686578206c656e67746820696e73756666696369656e74","id":96150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2182:34:185","typeDescriptions":{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""},"value":"Strings: hex length insufficient"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2","typeString":"literal_string \"Strings: hex length insufficient\""}],"id":96146,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2162:7:185","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":96151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2162:55:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":96152,"nodeType":"ExpressionStatement","src":"2162:55:185"},{"expression":{"arguments":[{"id":96155,"name":"buffer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96094,"src":"2241:6:185","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2234:6:185","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":96153,"name":"string","nodeType":"ElementaryTypeName","src":"2234:6:185","typeDescriptions":{}}},"id":96156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2234:14:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":96092,"id":96157,"nodeType":"Return","src":"2227:21:185"}]},"documentation":{"id":96084,"nodeType":"StructuredDocumentation","src":"1701:112:185","text":" @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"1827:11:185","parameters":{"id":96089,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96086,"mutability":"mutable","name":"value","nameLocation":"1847:5:185","nodeType":"VariableDeclaration","scope":96159,"src":"1839:13:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96085,"name":"uint256","nodeType":"ElementaryTypeName","src":"1839:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":96088,"mutability":"mutable","name":"length","nameLocation":"1862:6:185","nodeType":"VariableDeclaration","scope":96159,"src":"1854:14:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":96087,"name":"uint256","nodeType":"ElementaryTypeName","src":"1854:7:185","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1838:31:185"},"returnParameters":{"id":96092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96091,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96159,"src":"1893:13:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96090,"name":"string","nodeType":"ElementaryTypeName","src":"1893:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1892:15:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96179,"nodeType":"FunctionDefinition","src":"2407:149:185","nodes":[],"body":{"id":96178,"nodeType":"Block","src":"2480:76:185","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":96172,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96162,"src":"2525:4:185","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":96171,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2517:7:185","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":96170,"name":"uint160","nodeType":"ElementaryTypeName","src":"2517:7:185","typeDescriptions":{}}},"id":96173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2517:13:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":96169,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2509:7:185","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":96168,"name":"uint256","nodeType":"ElementaryTypeName","src":"2509:7:185","typeDescriptions":{}}},"id":96174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2509:22:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":96175,"name":"_ADDRESS_LENGTH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95987,"src":"2533:15:185","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"id":96167,"name":"toHexString","nodeType":"Identifier","overloadedDeclarations":[96083,96159,96179],"referencedDeclaration":96159,"src":"2497:11:185","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$","typeString":"function (uint256,uint256) pure returns (string memory)"}},"id":96176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2497:52:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"functionReturnParameters":96166,"id":96177,"nodeType":"Return","src":"2490:59:185"}]},"documentation":{"id":96160,"nodeType":"StructuredDocumentation","src":"2261:141:185","text":" @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation."},"implemented":true,"kind":"function","modifiers":[],"name":"toHexString","nameLocation":"2416:11:185","parameters":{"id":96163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96162,"mutability":"mutable","name":"addr","nameLocation":"2436:4:185","nodeType":"VariableDeclaration","scope":96179,"src":"2428:12:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96161,"name":"address","nodeType":"ElementaryTypeName","src":"2428:7:185","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2427:14:185"},"returnParameters":{"id":96166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96165,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96179,"src":"2465:13:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96164,"name":"string","nodeType":"ElementaryTypeName","src":"2465:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2464:15:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":96204,"nodeType":"FunctionDefinition","src":"2633:144:185","nodes":[],"body":{"id":96203,"nodeType":"Block","src":"2711:66:185","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":96201,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":96192,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96182,"src":"2744:1:185","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":96191,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2738:5:185","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":96190,"name":"bytes","nodeType":"ElementaryTypeName","src":"2738:5:185","typeDescriptions":{}}},"id":96193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2738:8:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96189,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2728:9:185","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":96194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2728:19:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":96198,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96184,"src":"2767:1:185","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":96197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2761:5:185","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":96196,"name":"bytes","nodeType":"ElementaryTypeName","src":"2761:5:185","typeDescriptions":{}}},"id":96199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2761:8:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":96195,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2751:9:185","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":96200,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2751:19:185","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2728:42:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":96188,"id":96202,"nodeType":"Return","src":"2721:49:185"}]},"documentation":{"id":96180,"nodeType":"StructuredDocumentation","src":"2562:66:185","text":" @dev Returns true if the two strings are equal."},"implemented":true,"kind":"function","modifiers":[],"name":"equal","nameLocation":"2642:5:185","parameters":{"id":96185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96182,"mutability":"mutable","name":"a","nameLocation":"2662:1:185","nodeType":"VariableDeclaration","scope":96204,"src":"2648:15:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96181,"name":"string","nodeType":"ElementaryTypeName","src":"2648:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":96184,"mutability":"mutable","name":"b","nameLocation":"2679:1:185","nodeType":"VariableDeclaration","scope":96204,"src":"2665:15:185","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":96183,"name":"string","nodeType":"ElementaryTypeName","src":"2665:6:185","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2647:34:185"},"returnParameters":{"id":96188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96187,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":96204,"src":"2705:4:185","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":96186,"name":"bool","nodeType":"ElementaryTypeName","src":"2705:4:185","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2704:6:185"},"scope":96205,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"Strings","contractDependencies":[],"contractKind":"library","documentation":{"id":95981,"nodeType":"StructuredDocumentation","src":"185:34:185","text":" @dev String operations."},"fullyImplemented":true,"linearizedBaseContracts":[96205],"name":"Strings","nameLocation":"228:7:185","scope":96206,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":185} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ffd9c7491adf10a8b4a379f4f098b1838a82217ec32ccc54774aeaaf2fa783af64736f6c63430008170033","sourceMap":"220:2559:185:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:185;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ffd9c7491adf10a8b4a379f4f098b1838a82217ec32ccc54774aeaaf2fa783af64736f6c63430008170033","sourceMap":"220:2559:185:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":"Strings"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":185} \ No newline at end of file diff --git a/out/Test.sol/Test.json b/out/Test.sol/Test.json index b19d47b3..dedd5714 100644 --- a/out/Test.sol/Test.json +++ b/out/Test.sol/Test.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Test.sol":"Test"},"libraries":{}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"lib/forge-std/src/Test.sol","id":41645,"exportedSymbols":{"DSTest":[31971],"StdAssertions":[33503],"StdChains":[34223],"StdCheats":[37041],"StdInvariant":[37331],"StdStorage":[38081],"StdStyle":[40745],"StdUtils":[41593],"Test":[41644],"TestBase":[32037],"Vm":[43171],"console":[51235],"console2":[59360],"safeconsole":[72598],"stdError":[37107],"stdJson":[37907],"stdMath":[38049],"stdStorage":[39534]},"nodeType":"SourceUnit","src":"32:1126:61","nodes":[{"id":41595,"nodeType":"PragmaDirective","src":"32:31:61","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":41596,"nodeType":"PragmaDirective","src":"65:33:61","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":41598,"nodeType":"ImportDirective","src":"160:38:61","nodes":[],"absolutePath":"lib/forge-std/src/console.sol","file":"./console.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":51236,"symbolAliases":[{"foreign":{"id":41597,"name":"console","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51235,"src":"168:7:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41600,"nodeType":"ImportDirective","src":"199:40:61","nodes":[],"absolutePath":"lib/forge-std/src/console2.sol","file":"./console2.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":59361,"symbolAliases":[{"foreign":{"id":41599,"name":"console2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59360,"src":"207:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41602,"nodeType":"ImportDirective","src":"240:46:61","nodes":[],"absolutePath":"lib/forge-std/src/safeconsole.sol","file":"./safeconsole.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":72599,"symbolAliases":[{"foreign":{"id":41601,"name":"safeconsole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72598,"src":"248:11:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41604,"nodeType":"ImportDirective","src":"287:50:61","nodes":[],"absolutePath":"lib/forge-std/src/StdAssertions.sol","file":"./StdAssertions.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":33504,"symbolAliases":[{"foreign":{"id":41603,"name":"StdAssertions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":33503,"src":"295:13:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41606,"nodeType":"ImportDirective","src":"338:42:61","nodes":[],"absolutePath":"lib/forge-std/src/StdChains.sol","file":"./StdChains.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":34224,"symbolAliases":[{"foreign":{"id":41605,"name":"StdChains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34223,"src":"346:9:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41608,"nodeType":"ImportDirective","src":"381:42:61","nodes":[],"absolutePath":"lib/forge-std/src/StdCheats.sol","file":"./StdCheats.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":37042,"symbolAliases":[{"foreign":{"id":41607,"name":"StdCheats","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37041,"src":"389:9:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41610,"nodeType":"ImportDirective","src":"424:40:61","nodes":[],"absolutePath":"lib/forge-std/src/StdError.sol","file":"./StdError.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":37108,"symbolAliases":[{"foreign":{"id":41609,"name":"stdError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37107,"src":"432:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41612,"nodeType":"ImportDirective","src":"465:48:61","nodes":[],"absolutePath":"lib/forge-std/src/StdInvariant.sol","file":"./StdInvariant.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":37332,"symbolAliases":[{"foreign":{"id":41611,"name":"StdInvariant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37331,"src":"473:12:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41614,"nodeType":"ImportDirective","src":"514:38:61","nodes":[],"absolutePath":"lib/forge-std/src/StdJson.sol","file":"./StdJson.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":37908,"symbolAliases":[{"foreign":{"id":41613,"name":"stdJson","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":37907,"src":"522:7:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41616,"nodeType":"ImportDirective","src":"553:38:61","nodes":[],"absolutePath":"lib/forge-std/src/StdMath.sol","file":"./StdMath.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":38050,"symbolAliases":[{"foreign":{"id":41615,"name":"stdMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38049,"src":"561:7:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41619,"nodeType":"ImportDirective","src":"592:56:61","nodes":[],"absolutePath":"lib/forge-std/src/StdStorage.sol","file":"./StdStorage.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":39535,"symbolAliases":[{"foreign":{"id":41617,"name":"StdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38081,"src":"600:10:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":41618,"name":"stdStorage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":39534,"src":"612:10:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41621,"nodeType":"ImportDirective","src":"649:40:61","nodes":[],"absolutePath":"lib/forge-std/src/StdStyle.sol","file":"./StdStyle.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":40746,"symbolAliases":[{"foreign":{"id":41620,"name":"StdStyle","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40745,"src":"657:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41623,"nodeType":"ImportDirective","src":"690:40:61","nodes":[],"absolutePath":"lib/forge-std/src/StdUtils.sol","file":"./StdUtils.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":41594,"symbolAliases":[{"foreign":{"id":41622,"name":"StdUtils","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":41593,"src":"698:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41625,"nodeType":"ImportDirective","src":"731:28:61","nodes":[],"absolutePath":"lib/forge-std/src/Vm.sol","file":"./Vm.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":43172,"symbolAliases":[{"foreign":{"id":41624,"name":"Vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43171,"src":"739:2:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41627,"nodeType":"ImportDirective","src":"781:36:61","nodes":[],"absolutePath":"lib/forge-std/src/Base.sol","file":"./Base.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":32047,"symbolAliases":[{"foreign":{"id":41626,"name":"TestBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32037,"src":"789:8:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41629,"nodeType":"ImportDirective","src":"818:40:61","nodes":[],"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","file":"ds-test/test.sol","nameLocation":"-1:-1:-1","scope":41645,"sourceUnit":31972,"symbolAliases":[{"foreign":{"id":41628,"name":"DSTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31971,"src":"826:6:61","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":41644,"nodeType":"ContractDefinition","src":"875:282:61","nodes":[],"abstract":true,"baseContracts":[{"baseName":{"id":41630,"name":"TestBase","nameLocations":["901:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":32037,"src":"901:8:61"},"id":41631,"nodeType":"InheritanceSpecifier","src":"901:8:61"},{"baseName":{"id":41632,"name":"DSTest","nameLocations":["911:6:61"],"nodeType":"IdentifierPath","referencedDeclaration":31971,"src":"911:6:61"},"id":41633,"nodeType":"InheritanceSpecifier","src":"911:6:61"},{"baseName":{"id":41634,"name":"StdAssertions","nameLocations":["919:13:61"],"nodeType":"IdentifierPath","referencedDeclaration":33503,"src":"919:13:61"},"id":41635,"nodeType":"InheritanceSpecifier","src":"919:13:61"},{"baseName":{"id":41636,"name":"StdChains","nameLocations":["934:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":34223,"src":"934:9:61"},"id":41637,"nodeType":"InheritanceSpecifier","src":"934:9:61"},{"baseName":{"id":41638,"name":"StdCheats","nameLocations":["945:9:61"],"nodeType":"IdentifierPath","referencedDeclaration":37041,"src":"945:9:61"},"id":41639,"nodeType":"InheritanceSpecifier","src":"945:9:61"},{"baseName":{"id":41640,"name":"StdInvariant","nameLocations":["956:12:61"],"nodeType":"IdentifierPath","referencedDeclaration":37331,"src":"956:12:61"},"id":41641,"nodeType":"InheritanceSpecifier","src":"956:12:61"},{"baseName":{"id":41642,"name":"StdUtils","nameLocations":["970:8:61"],"nodeType":"IdentifierPath","referencedDeclaration":41593,"src":"970:8:61"},"id":41643,"nodeType":"InheritanceSpecifier","src":"970:8:61"}],"canonicalName":"Test","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[41644,41593,37331,37041,36277,34223,33503,31971,32037,32034],"name":"Test","nameLocation":"893:4:61","scope":41645,"usedErrors":[],"usedEvents":[29685,29689,29693,29697,29701,29705,29709,29713,29719,29725,29733,29741,29747,29753,29759,29765,32098,32103,32108,32115,32122,32129]}],"license":"MIT"},"id":61} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"Test\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Test.sol":"Test"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"}},"version":1},"id":61} \ No newline at end of file diff --git a/out/TestBaseWorkflow.sol/TestBaseWorkflow.json b/out/TestBaseWorkflow.sol/TestBaseWorkflow.json index b59a083a..6e9d5752 100644 --- a/out/TestBaseWorkflow.sol/TestBaseWorkflow.json +++ b/out/TestBaseWorkflow.sol/TestBaseWorkflow.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526007805460ff199081166001908117909255600b80549091169091179055601b80546001600160a01b0319908116607b17909155601c8054821662010f2c179055601d8054909116620aa28917905534801561005f57600080fd5b506201cc2780620000716000396000f3fe60806040523480156200001157600080fd5b5060043610620000b75760003560e01c806385226c81116200007a57806385226c811462000117578063916a17c61462000130578063b5508aa9146200013a578063ba414fa61462000144578063e20c9f71146200015f578063fa7626d4146200016957600080fd5b80630a9254e414620000bc5780631ed7831c14620000c85780633e5e3c2314620000ea5780633f7286f414620000f457806366d9a9a014620000fe575b600080fd5b620000c662000177565b005b620000d2620012fc565b604051620000e1919062001c20565b60405180910390f35b620000d262001360565b620000d2620013c2565b6200010862001424565b604051620000e1919062001c6f565b6200012162001517565b604051620000e1919062001d4e565b62000108620015f1565b62000121620016db565b6200014e620017b5565b6040519015158152602001620000e1565b620000d2620018e2565b6007546200014e9060ff1681565b604051620001859062001b78565b604051809103906000f080158015620001a2573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600f60448201526e4a424f70657261746f7253746f726560881b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200023157600080fd5b505af115801562000246573d6000803e3d6000fd5b5050601e546040516001600160a01b03909116925062000267915062001b86565b6001600160a01b039091168152602001604051809103906000f08015801562000294573d6000803e3d6000fd5b50601f80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600a6044820152694a4250726f6a6563747360b01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200031e57600080fd5b505af115801562000333573d6000803e3d6000fd5b5050601b546040516001600160a01b03909116925062000354915062001b94565b6001600160a01b039091168152602001604051809103906000f08015801562000381573d6000803e3d6000fd5b50602080546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260086044820152674a4250726963657360c01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200040957600080fd5b505af11580156200041e573d6000803e3d6000fd5b5050505060006200043130600562001944565b905080604051620004429062001ba2565b6001600160a01b039091168152602001604051809103906000f0801580156200046f573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260136044820152724a4246756e64696e674379636c6553746f726560681b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200050257600080fd5b505af115801562000517573d6000803e3d6000fd5b5050601e54601f54602254601b546040516001600160a01b03948516965092841694509083169216906200054b9062001bb0565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000590573d6000803e3d6000fd5b50602180546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600b60448201526a4a424469726563746f727960a81b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200061b57600080fd5b505af115801562000630573d6000803e3d6000fd5b50506021546040516001600160a01b03909116925062000651915062001bbe565b6001600160a01b039091168152602001604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602480546001600160a01b0319166001600160a01b03928316179055601e54601f546021546022546040519385169492831693918316921690620006c39062001bcc565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000708573d6000803e3d6000fd5b50602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b4a42546f6b656e53746f726560a01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b5050601e54601f546021546040516001600160a01b039384169550918316935090911690620007d89062001bda565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000815573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600d60448201526c4a4253706c69747353746f726560981b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620008a257600080fd5b505af1158015620008b7573d6000803e3d6000fd5b5050601e54601f546021546022546023546025546024546040516001600160a01b0397881699509587169750938616959283169491831693908316921690620009009062001be8565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e001604051809103906000f0801580156200095b573d6000803e3d6000fd5b50602680546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b252121b7b73a3937b63632b960a11b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620009e757600080fd5b505af1158015620009fc573d6000803e3d6000fd5b5050601b5460405163ca669fa760e01b81526001600160a01b0390911660048201526000805160206201cbd2833981519152925063ca669fa79150602401600060405180830381600087803b15801562000a5557600080fd5b505af115801562000a6a573d6000803e3d6000fd5b505060215460265460405163a1ed317560e01b81526001600160a01b039182166004820152600160248201529116925063a1ed31759150604401600060405180830381600087803b15801562000abf57600080fd5b505af115801562000ad4573d6000803e3d6000fd5b50506021546022546020546040516001600160a01b03938416955091831693509091169062000b039062001bf6565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000b40573d6000803e3d6000fd5b50602780546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152602660448201527f4a4253696e676c65546f6b656e5061796d656e745465726d696e616c53746f7260648201526565335f315f3160d01b60848201526000805160206201cbd28339815191529063c657c7189060a401600060405180830381600087803b15801562000bec57600080fd5b505af115801562000c01573d6000803e3d6000fd5b5050505060405162000c139062001c04565b604051809103906000f08015801562000c30573d6000803e3d6000fd5b50603980546001600160a01b0319166001600160a01b03929092169182179055604080516341917ff960e11b81529051638322fff2916004808201926020929091908290030181865afa15801562000c8c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cb2919062001dcc565b601e54601f54602154602554602054602754601b546040516001600160a01b039788169796871696958616959485169493841693928316929091169062000cf99062001c12565b9788526001600160a01b039687166020890152948616604088015292851660608701529084166080860152831660a0850152821660c08401521660e082015261010001604051809103906000f08015801562000d59573d6000803e3d6000fd5b50602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152601960448201527f4a424554485061796d656e745465726d696e616c335f315f310000000000000060648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b15801562000df657600080fd5b505af115801562000e0b573d6000803e3d6000fd5b505060285460378054600181810183556000929092527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b039093169290921790915560408051608081018252600a918101918252690daf292a08ca690c2e6d60b31b6060820152818152602081019290925290925060299150819062000ea6908262001e8d565b506020918201516001918201556040805160808082018352600e808352683635c9adc5dea00000838701819052631ad2748084860181905260006060958601819052602b93909355602c91909155602d55602e80546001600160a01b0319169055835161026081018552610200810182815261022082018390526102408201839052815261138896810187905280850187905292830186905290820181905260a0820181905260c0820181905260e08201819052610100820184905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c08201939093526101e001829052602f805462ffffff1916905560308390556031839055603292909255603380546affffffffffffffffffffff19166a0100000000000100000000179055603455601c54905163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd28339815191529063c88a5e6d90604401600060405180830381600087803b1580156200103d57600080fd5b505af115801562001052573d6000803e3d6000fd5b5050601b5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b158015620010ba57600080fd5b505af1158015620010cf573d6000803e3d6000fd5b5050601d5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b1580156200113757600080fd5b505af11580156200114c573d6000803e3d6000fd5b5050601b54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b383937b532b1ba27bbb732b960a11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620011c757600080fd5b505af1158015620011dc573d6000803e3d6000fd5b5050601c54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600b60448201526a62656e656669636961727960a81b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b1580156200125657600080fd5b505af11580156200126b573d6000803e3d6000fd5b5050601d54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526531b0b63632b960d11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620012e057600080fd5b505af1158015620012f5573d6000803e3d6000fd5b5050505050565b606060148054806020026020016040519081016040528092919081815260200182805480156200135657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001337575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620014f557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620014b65790505b5050505050815250508152602001906001019062001448565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200150e5783829060005260206000200180546200155d9062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200158b9062001dfc565b8015620015dc5780601f10620015b057610100808354040283529160200191620015dc565b820191906000526020600020905b815481529060010190602001808311620015be57829003601f168201915b5050505050815260200190600101906200153b565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620016c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620016835790505b5050505050815250508152602001906001019062001615565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200150e578382906000526020600020018054620017219062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200174f9062001dfc565b8015620017a05780601f106200177457610100808354040283529160200191620017a0565b820191906000526020600020905b8154815290600101906020018083116200178257829003601f168201915b505050505081526020019060010190620016ff565b600754600090610100900460ff1615620017d85750600754610100900460ff1690565b60006000805160206201cbd28339815191523b15620018dd57604080516000805160206201cbd2833981519152602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200185f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162001f5a565b60408051601f19818403018152908290526200187b9162001f8d565b6000604051808303816000865af19150503d8060008114620018ba576040519150601f19603f3d011682016040523d82523d6000602084013e620018bf565b606091505b5091505080806020019051810190620018d9919062001fab565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6000606082600003620019a157604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152600160ff1b60368201526037015b604051602081830303815290604052905062001b64565b607f8311620019f257604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b16602282015260f884901b6001600160f81b03191660368201526037016200198a565b60ff831162001a4d5760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608160f81b603682015260f884901b6001600160f81b03191660378201526038016200198a565b61ffff831162001aa957604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152604160f91b60368201526001600160f01b031960f085901b1660378201526039016200198a565b62ffffff831162001b065760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608360f81b60368201526001600160e81b031960e885901b166037820152603a016200198a565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152602160fa1b60368201526001600160e01b031960e085901b166037820152603b0160405160208183030381529060405290505b805160209091012060008190529392505050565b6107ed8062001fd783390190565b6134ef80620027c483390190565b6109658062005cb383390190565b611465806200661883390190565b6118758062007a7d83390190565b61089a80620092f283390190565b61468c8062009b8c83390190565b61115c806200e21883390190565b614305806200f37483390190565b6135ea806201367983390190565b61011c8062016c6383390190565b615e538062016d7f83390190565b6020808252825182820181905260009190848201906040850190845b8181101562001c635783516001600160a01b03168352928401929184019160010162001c3c565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101562001d1957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562001d035783516001600160e01b0319168252928b019260019290920191908b019062001cd7565b50978a0197955050509187019160010162001c99565b50919998505050505050505050565b60005b8381101562001d4557818101518382015260200162001d2b565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562001dbf57878503603f190184528151805180875262001d9f818989018a850162001d28565b601f01601f19169590950186019450928501929085019060010162001d75565b5092979650505050505050565b60006020828403121562001ddf57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062001e1157607f821691505b60208210810362001e3257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562001e88576000816000526020600020601f850160051c8101602086101562001e635750805b601f850160051c820191505b8181101562001e845782815560010162001e6f565b5050505b505050565b815167ffffffffffffffff81111562001eaa5762001eaa62001de6565b62001ec28162001ebb845462001dfc565b8462001e38565b602080601f83116001811462001efa576000841562001ee15750858301515b600019600386901b1c1916600185901b17855562001e84565b600085815260208120601f198616915b8281101562001f2b5788860151825594840194600190910190840162001f0a565b508582101562001f4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160e01b031983168152815160009062001f7f81600485016020870162001d28565b919091016004019392505050565b6000825162001fa181846020870162001d28565b9190910192915050565b60006020828403121562001fbe57600080fd5b8151801515811462001fcf57600080fd5b939250505056fe608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c634300081700336101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c6343000817003360a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c6343000817003360e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c6343000817003360a060405234801561001057600080fd5b5060405161089a38038061089a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108086100926000396000818161011d01526101d001526108086000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806334002f31146100955780637a81b562146100aa578063c41c2f2414610118578063e8db213014610157575b600080fd5b61008061006a366004610600565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100a86100a3366004610631565b6101ae565b005b6101036100b83660046106cc565b60009384526001602090815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b6040805192835260208301919091520161008c565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008c565b6101036101653660046106cc565b6000938452602084815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b604051632eec7b5560e11b815260048101859052849033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610716565b6001600160a01b03161461026257604051632adfdd0560e21b815260040160405180910390fd5b8160005b818110156105f7576001600160e81b0385858381811061028857610288610733565b905060c002016040013511156102b15760405163a9b8fbcf60e01b815260040160405180910390fd5b62ffffff8585838181106102c7576102c7610733565b905060c002016060013511156102f057604051639583faed60e01b815260040160405180910390fd5b6001600160e81b0385858381811061030a5761030a610733565b905060c0020160800135111561033357604051635730278360e01b815260040160405180910390fd5b62ffffff85858381811061034957610349610733565b905060c0020160a0013511156103725760405163d9b93c2560e01b815260040160405180910390fd5b600085858381811061038657610386610733565b905060c002016040013511156104875760e88585838181106103aa576103aa610733565b905060c0020160600135901b8585838181106103c8576103c8610733565b905060c0020160400135176000808981526020019081526020016000206000888152602001908152602001600020600087878581811061040a5761040a610733565b61042092602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061045457610454610733565b905060c00201602001602081019061046c9190610749565b6001600160a01b031681526020810191909152604001600020555b600085858381811061049b5761049b610733565b905060c0020160800135111561059d5760e88585838181106104bf576104bf610733565b905060c0020160a00135901b8585838181106104dd576104dd610733565b905060c002016080013517600160008981526020019081526020016000206000888152602001908152602001600020600087878581811061052057610520610733565b61053692602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061056a5761056a610733565b905060c0020160200160208101906105829190610749565b6001600160a01b031681526020810191909152604001600020555b86867f26f78d7903ac64ef9b38a2bf94b365f364f28efa245a6b67bcc27350f141c5f78787858181106105d2576105d2610733565b905060c00201336040516105e7929190610766565b60405180910390a3600101610266565b50505050505050565b60006020828403121561061257600080fd5b81356001600160e01b03198116811461062a57600080fd5b9392505050565b6000806000806060858703121561064757600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561066d57600080fd5b818701915087601f83011261068157600080fd5b81358181111561069057600080fd5b88602060c0830285010111156106a557600080fd5b95989497505060200194505050565b6001600160a01b03811681146106c957600080fd5b50565b600080600080608085870312156106e257600080fd5b843593506020850135925060408501356106fb816106b4565b9150606085013561070b816106b4565b939692955090935050565b60006020828403121561072857600080fd5b815161062a816106b4565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561075b57600080fd5b813561062a816106b4565b60e081018335610775816106b4565b6001600160a01b039081168352602085013590610791826106b4565b808216602085015260408601356040850152606086013560608501526080860135608085015260a086013560a085015280851660c08501525050939250505056fea264697066735822122011f5dcceff3169faa67c51cab10310062e5f0eccc7841108493ed7d95c5c94b164736f6c634300081700336101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c6343000817003360e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c634300081700336101606040523480156200001257600080fd5b506040516200430538038062004305833981016040819052620000359162000085565b6001600160a01b0396871660805294861660a0529285166101405290841660c052831660e052821661010052166101205262000130565b6001600160a01b03811681146200008257600080fd5b50565b600080600080600080600060e0888a031215620000a157600080fd5b8751620000ae816200006c565b6020890151909750620000c1816200006c565b6040890151909650620000d4816200006c565b6060890151909550620000e7816200006c565b6080890151909450620000fa816200006c565b60a08901519093506200010d816200006c565b60c089015190925062000120816200006c565b8091505092959891949750929550565b60805160a05160c05160e0516101005161012051610140516140776200028e600039600081816103a6015281816105cf01528181610651015281816107f50152818161094f01528181610c1c0152818161107b0152818161114201526114290152600081816102ec0152611bcc0152600081816101ed01528181611b4e0152612539015260008181610278015281816109f901528181611275015281816117d801528181611fc801526125140152600081816102510152818161051e01528181610743015281816108a601528181610ae401528181610cd301528181610ed901528181610f560152818161139c01528181611a8d0152611fec0152600081816102c50152818161047c01528181610b8501528181610fe70152818161144c0152818161167e01528181612091015261265f015260008181610326015281816118cc0152818161196801528181611e700152611f0c01526140776000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638ae9c07b116100b8578063b3c526731161007c578063b3c5267314610348578063badbdf281461035b578063bdd504d71461036e578063c18f2d311461038e578063c41c2f24146103a1578063e867c59c146103c857600080fd5b80638ae9c07b146102ad5780638b79543c146102c0578063a29a6814146102e7578063a40bb9c71461030e578063ad007d631461032157600080fd5b80632bdfe0041161010a5780632bdfe004146101e85780633e8c615b14610227578063405b84fa14610239578063557e71551461024c57806361930630146102735780638776c4991461029a57600080fd5b806301ffc9a714610147578063111d861b1461016f57806312b37b14146101905780631665bc0f146101b15780631f510453146101c6575b600080fd5b61015a6101553660046129e0565b6103db565b60405190151581526020015b60405180910390f35b61018261017d366004612d84565b610463565b604051908152602001610166565b6101a361019e366004612e71565b61071d565b60405161016692919061304e565b6101c46101bf3660046130c5565b6107ca565b005b6101d96101d4366004612e71565b610abb565b60405161016693929190613140565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610166565b6101c461023536600461318a565b5050565b6101c461024736600461318a565b610b6f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a36102a8366004612e71565b610eb3565b6101826102bb3660046131ba565b610f10565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a361031c366004613249565b61136f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103563660046132c1565b611424565b6101826103693660046133ea565b611665565b61018261037c366004612e71565b60026020526000908152604090205481565b61018261039c366004612e71565b6117b3565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103d63660046134c1565b611855565b60006001600160e01b03198216630232efb760e61b148061040c57506001600160e01b03198216633e2d14f360e11b145b8061042757506001600160e01b03198216633e8c615b60e01b145b8061044257506001600160e01b0319821663ad007d6360e01b145b8061045d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef919061350c565b8a60016104fd8383836118a1565b604051632cee6deb60e01b8152600481018e90526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632cee6deb90602401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190613529565b11156105ab5760405160016217a1f760e11b0319815260040160405180910390fd5b6040516338a73f9960e11b8152600481018e90523060248201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063714e7f3290604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506106458d8d8d8d8d8d9061063f9190613542565b8c611a0a565b8651909450156106d0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663821b9fd88e886040518363ffffffff1660e01b815260040161069d9291906136c2565b600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505b7f8621c3692c18d8ddd4cd26457d6a3e1d916e7001c4243a6c8dfa862a7e10a823848e87336040516107059493929190613754565b60405180910390a15050509998505050505050505050565b6107256128e0565b61072d612935565b604051630b8aa00f60e31b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635c550078906024015b61012060405180830381865afa158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190613817565b91506107c382611c4c565b9050915091565b604051636e49181f60e01b81526004810186905233602482015286908690600a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108609190613834565b61086c84848484611e3b565b8760000361088d57604051637b38547b60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091a9190613817565b610100810151909150604b1c60019081161480156109c45750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190613834565b155b156109e257604051630f1490e360e31b815260040160405180910390fd5b60405163906ebd0f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063906ebd0f90610a34908e908e908e908c90600401613851565b600060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b50505050898b6001600160a01b03167fdf04e13ee4fcd48a81ab2fd114757093740a3efa9b6475d86e05878b4c59d0798b8b8b33604051610aa694939291906138a2565b60405180910390a35050505050505050505050565b610ac36128e0565b610acb612935565b60405163ebc8ca1f60e01b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ebc8ca1f9060240161014060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5891906138d5565b9093509050610b6683611c4c565b91509193909250565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf8919061350c565b826003610c068383836118a1565b604051632eec7b5560e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000009030906001600160a01b03831690635dd8f6aa90602401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061350c565b6001600160a01b031614610cba5760405163e0a0a87d60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d479190613817565b610100810151909150604e1c600190811614610d76576040516346ace3f960e01b815260040160405180910390fd5b60008781526002602052604090205415610da557610da38760405180602001604052806000815250611faf565b505b604051633e8c615b60e01b8152600481018890523060248201526001600160a01b03871690633e8c615b90604401600060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b50506040516338a73f9960e11b8152600481018a90526001600160a01b0389811660248301528516925063714e7f329150604401600060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b5050604080516001600160a01b038a1681523360208201528a93507f01f954abace731a88ab86e71186040cc2be49fe517ea06bc0d24f25b82b8345692500160405180910390a250505050505050565b610ebb6128e0565b610ec3612935565b6040516321d1336160e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c290602401610776565b600086600003610f33576040516327f44f9560e21b815260040160405180910390fd5b6040516321d1336160e11b81526004810189905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190613817565b6040516331a9108f60e11b8152600481018c905290915061110f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061350c565b604051636e49181f60e01b8152600481018d90523360248201528c906009906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190613834565b8061110a575061010085015160541c6001600160a01b0316336001600160a01b0316145b611e3b565b610100810151604c1c6001908116141580156111b75750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613834565b155b80156111dd575061010081015160541c6001600160a01b0316336001600160a01b031614155b156111fb57604051639d0ca8fd60e01b815260040160405180910390fd5b83611207576000611215565b61010081015160181c61ffff165b91506001851515146112355761010081015160501c600190811614611237565b845b94505061271081146112e35761125b886112538361271061391e565b6127106121e9565b6040516333b774f960e21b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ceddd3e4906112b0908a908d9087908a90600401613851565b600060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050505b8015611317576112f3828961391e565b60008a81526002602052604081208054909190611311908490613931565b90915550505b88876001600160a01b03167fe6fee9c572244c0c2238c3112ac12d411750a7ee00eeebd32521c3e5a666c14b8a858a8a873360405161135b96959493929190613944565b60405180910390a350979650505050505050565b6113776128e0565b61137f612935565b60405163334f245560e11b815260048101859052602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063669e48aa9060440161012060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613817565b915061141b82611c4c565b90509250929050565b6000807f000000000000000000000000000000000000000000000000000000000000000090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663666d87a08e8e6040518363ffffffff1660e01b8152600401611498929190613987565b6020604051808303816000875af11580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db9190613529565b6040516338a73f9960e11b8152600481018290523060248201529092506001600160a01b0382169063714e7f3290604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b5050505060006115ac838d8d8d8d8d906115549190613542565b8c8c808060200260200160405190810160405280939291908181526020016000905b828210156115a25761159360c08302860136819003810190613a08565b81526020019060010190611576565b5050505050611a0a565b8551909150156116175760405163104373fb60e31b81526001600160a01b0383169063821b9fd8906115e490869089906004016136c2565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b7ff3e6948ba8b32d557363ea08470121c47c0127659aed09320812174d373afef28184863360405161164c9493929190613754565b60405180910390a150509b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018b90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f1919061350c565b8b60016116ff8383836118a1565b6117618e8e8e8e8e8e906117139190613542565b8d8d808060200260200160405190810160405280939291908181526020016000905b828210156115a25761175260c08302860136819003810190613a08565b81526020019060010190611735565b93507f1a08ad37c93969a586fd0605d240c17113b20a9c9ac3847595d0ab425225f6af848f88883360405161179a959493929190613a24565b60405180910390a15050509a9950505050505050505050565b6000818152600260205260408082205490516375b0d9cd60e01b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906375b0d9cd90602401602060405180830381865afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613529565b61045d9190613931565b60006118978484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611faf92505050565b90505b9392505050565b336001600160a01b0384161480159061194a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611907903390879087908790600401613a5e565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119489190613834565b155b80156119e7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906119a490339087906000908790600401613a5e565b602060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190613834565b155b15611a055760405163075fd2b160e01b815260040160405180910390fd5b505050565b600061271085606001351115611a3357604051635623289560e01b815260040160405180910390fd5b61271085608001351115611a5a57604051639db9ee9360e01b815260040160405180910390fd5b6127108560a001351115611a8157604051636edf8de360e11b815260040160405180910390fd5b60006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a249d4258989611acb611ac6368c90038c018c613afc565b6122ba565b896040518563ffffffff1660e01b8152600401611aeb9493929190613c4a565b610120604051808303816000875af1158015611b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2f9190613817565b602081015160405163796d225b60e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f2da44b691611b86918c91908990600401613cf2565b600060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b5050505060208101516040516334002f3160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916334002f3191611c0b918c918890600401613dad565b600060405180830381600087803b158015611c2557600080fd5b505af1158015611c39573d6000803e3d6000fd5b5050505060200151979650505050505050565b611c54612935565b604051806102400160405280611c6984612440565b815261010084015160209091019060181c61ffff168152602001611c8c846124b4565b8152602001611c9a846124d1565b8152602001611cb6846101000151600160489190911c81161490565b15158152602001611cd4846101000151600160499190911c81161490565b15158152602001611cf28461010001516001604a9190911c81161490565b15158152602001611d108461010001516001604b9190911c81161490565b15158152602001611d2e8461010001516001604c9190911c81161490565b15158152602001611d4c8461010001516001604d9190911c81161490565b15158152602001611d6a8461010001516001604e9190911c81161490565b15158152602001611d888461010001516001604f9190911c81161490565b15158152602001611da6846101000151600160509190911c81161490565b15158152602001611dc4846101000151600160519190911c81161490565b15158152602001611de2846101000151600160529190911c81161490565b15158152602001611e00846101000151600160539190911c81161490565b15158152602001611e1684610100015160541c90565b6001600160a01b0316815261010084015160209091019060f41c60ff16905292915050565b80158015611e525750336001600160a01b03851614155b8015611eee575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611eab903390889088908890600401613a5e565b602060405180830381865afa158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190613834565b155b8015611f8b575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611f4890339088906000908890600401613a5e565b602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190613834565b155b15611fa95760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561203c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120609190613817565b60008681526002602052604080822080549083905590516331a9108f60e11b815260048101899052909550919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156120e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612104919061350c565b9050600084156121245761211f8784602001516002886124ee565b612127565b60005b90508015612195576040516333b774f960e21b81526001600160a01b0385169063ceddd3e4906121629085908b908690600090600401613851565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b505050505b86836000015184602001517fb12d7a78048433f69fe6d30145bf08aad8e82985b96e4db6d5c6a7e94d57086e8589868c336040516121d7959493929190613e46565b60405180910390a45050505092915050565b60008080600019858709858702925082811083820303915050806000036122235783828161221957612219613e89565b049250505061189a565b83811061225157604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b80516001906008906122cb906128b1565b901b8117905060188260200151901b81179050602882604001516127106122f2919061391e565b901b811790506038826060015161271061230c919061391e565b901b81179050816080015115612329576901000000000000000000175b8160a0015115612340576902000000000000000000175b8160c0015115612357576904000000000000000000175b8160e001511561236e576908000000000000000000175b81610100015115612386576910000000000000000000175b8161012001511561239e576920000000000000000000175b816101400151156123b6576940000000000000000000175b816101600151156123ce576980000000000000000000175b816101800151156123e057600160501b175b816101a00151156123f257600160511b175b816101c001511561240457600160521b175b816101e001511561241657600160531b175b6102008201516102209092015160f41b600160541b600160f41b0360549390931b92909216171790565b604080516060810182526000808252602082018190529181019190915261045d6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b60006028826101000151901c61ffff1661271061045d919061391e565b60006038826101000151901c61ffff1661271061045d919061391e565b6040516369e11cc560e01b815260048101859052602481018490526044810183905281907f0000000000000000000000000000000000000000000000000000000000000000906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b09190810190613e9f565b905060005b81518110156128a65760008282815181106125d2576125d2613fa8565b6020026020010151905060006125f1878360400151633b9aca006121e9565b9050801561285e5760c08201516001600160a01b038087169163ceddd3e491166126d75783606001516000036126435760808401516001600160a01b031661263957336126dd565b83608001516126dd565b60608401516040516331a9108f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d2919061350c565b6126dd565b8360c001515b84516040516001600160e01b031960e085901b16815261270592918f91879190600401613851565b600060405180830381600087803b15801561271f57600080fd5b505af1158015612733573d6000803e3d6000fd5b5050505060c08201516001600160a01b031615612851578160c001516001600160a01b0316639d740bfa6040518060c00160405280886001600160a01b031663ea78803f8f6040518263ffffffff1660e01b815260040161279691815260200190565b602060405180830381865afa1580156127b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d7919061350c565b6001600160a01b03168152602001848152602001601281526020018d81526020018b8152602001858152506040518263ffffffff1660e01b815260040161281e9190613fbe565b600060405180830381600087803b15801561283857600080fd5b505af115801561284c573d6000803e3d6000fd5b505050505b61285b818761391e565b95505b87898b7f990c1da5d280602f972ae3c429b6dc66a66569875205cc6e67f14e0b3fc4d2ac85853360405161289493929190614012565b60405180910390a450506001016125b5565b505050949350505050565b8051600090156128bf576001175b8160200151156128cd576002175b8160400151156128db576004175b919050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b604080516102a0810182526000610240820181815261026083018290526102808301829052825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081019190915290565b6000602082840312156129f257600080fd5b81356001600160e01b03198116811461189a57600080fd5b600060808284031215612a1c57600080fd5b50919050565b60006102808284031215612a1c57600080fd5b60008083601f840112612a4757600080fd5b5081356001600160401b03811115612a5e57600080fd5b6020830191508360208260051b8501011115612a7957600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612ab857612ab8612a80565b60405290565b60405160e081016001600160401b0381118282101715612ab857612ab8612a80565b60405161012081016001600160401b0381118282101715612ab857612ab8612a80565b60405161024081016001600160401b0381118282101715612ab857612ab8612a80565b604051601f8201601f191681016001600160401b0381118282101715612b4e57612b4e612a80565b604052919050565b60006001600160401b03821115612b6f57612b6f612a80565b5060051b60200190565b6001600160a01b0381168114612b8e57600080fd5b50565b80356128db81612b79565b600060c08284031215612bae57600080fd5b60405160c081018181106001600160401b0382111715612bd057612bd0612a80565b6040529050808235612be181612b79565b81526020830135612bf181612b79565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b600082601f830112612c3857600080fd5b81356020612c4d612c4883612b56565b612b26565b8083825260208201915060c0602060c08602880101945087851115612c7157600080fd5b602087015b85811015612c9557612c888982612b9c565b8452928401928101612c76565b5090979650505050505050565b600082601f830112612cb357600080fd5b81356020612cc3612c4883612b56565b8083825260208201915060208460051b870101935086841115612ce557600080fd5b602086015b84811015612d0a578035612cfd81612b79565b8352918301918301612cea565b509695505050505050565b600082601f830112612d2657600080fd5b81356001600160401b03811115612d3f57612d3f612a80565b612d52601f8201601f1916602001612b26565b818152846020838601011115612d6757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006103c08a8c031215612da357600080fd5b89359850612db48b60208c01612a0a565b9750612dc38b60a08c01612a22565b96506103208a013595506103408a01356001600160401b0380821115612de857600080fd5b612df48d838e01612a35565b90975095506103608c0135915080821115612e0e57600080fd5b612e1a8d838e01612c27565b94506103808c0135915080821115612e3157600080fd5b612e3d8d838e01612ca2565b93506103a08c0135915080821115612e5457600080fd5b50612e618c828d01612d15565b9150509295985092959850929598565b600060208284031215612e8357600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b612f0e8282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151612f3f60c084018215159052565b5060a081015180151560e08401525060c0810151610100612f638185018315159052565b60e08301519150610120612f7a8186018415159052565b90830151915061014090612f918583018415159052565b8301519150610160612fa68582018415159052565b90830151915061018090612fbd8583018415159052565b83015191506101a0612fd28582018415159052565b9083015191506101c090612fe98583018415159052565b83015191506101e0612ffe8582018415159052565b908301519150610200906130158583018415159052565b830151915061022061302a8582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b6103a0810161305d8285612e8a565b61189a610120830184612ee9565b60008083601f84011261307d57600080fd5b5081356001600160401b0381111561309457600080fd5b602083019150836020828501011115612a7957600080fd5b8015158114612b8e57600080fd5b80356128db816130ac565b60008060008060008060a087890312156130de57600080fd5b86356130e981612b79565b9550602087013594506040870135935060608701356001600160401b0381111561311257600080fd5b61311e89828a0161306b565b9094509250506080870135613132816130ac565b809150509295509295509295565b6103c0810161314f8286612e8a565b61315d610120830185612ee9565b6003831061317b57634e487b7160e01b600052602160045260246000fd5b826103a0830152949350505050565b6000806040838503121561319d57600080fd5b8235915060208301356131af81612b79565b809150509250929050565b600080600080600080600060c0888a0312156131d557600080fd5b873596506020880135955060408801356131ee81612b79565b945060608801356001600160401b0381111561320957600080fd5b6132158a828b0161306b565b9095509350506080880135613229816130ac565b915060a0880135613239816130ac565b8091505092959891949750929550565b6000806040838503121561325c57600080fd5b50508035926020909101359150565b600060408284031215612a1c57600080fd5b60008083601f84011261328f57600080fd5b5081356001600160401b038111156132a657600080fd5b60208301915083602060c083028501011115612a7957600080fd5b60008060008060008060008060008060006103e08c8e0312156132e357600080fd5b6132ec8c612b91565b9a506001600160401b038060208e0135111561330757600080fd5b6133178e60208f01358f0161326b565b9a506133268e60408f01612a0a565b99506133358e60c08f01612a22565b98506103408d01359750806103608e0135111561335157600080fd5b6133628e6103608f01358f01612a35565b90975095506103808d013581101561337957600080fd5b61338a8e6103808f01358f0161327d565b90955093506103a08d01358110156133a157600080fd5b6133b28e6103a08f01358f01612ca2565b9250806103c08e013511156133c657600080fd5b506133d88d6103c08e01358e01612d15565b90509295989b509295989b9093969950565b6000806000806000806000806000806103a08b8d03121561340a57600080fd5b8a35995061341b8c60208d01612a0a565b985061342a8c60a08d01612a22565b97506103208b013596506103408b01356001600160401b038082111561344f57600080fd5b61345b8e838f01612a35565b90985096506103608d013591508082111561347557600080fd5b6134818e838f0161327d565b90965094506103808d013591508082111561349b57600080fd5b506134a88d828e0161306b565b915080935050809150509295989b9194979a5092959850565b6000806000604084860312156134d657600080fd5b8335925060208401356001600160401b038111156134f357600080fd5b6134ff8682870161306b565b9497909650939450505050565b60006020828403121561351e57600080fd5b815161189a81612b79565b60006020828403121561353b57600080fd5b5051919050565b6000613550612c4884612b56565b80848252602080830192508560051b85013681111561356e57600080fd5b855b818110156136b65780356001600160401b03808211156135905760008081fd5b818901915060408083360312156135a75760008081fd5b6135af612a96565b8335815286840135838111156135c55760008081fd5b939093019236601f8501126135dc57600092508283fd5b833592506135ec612c4884612b56565b83815260e0938402850188019388820191903686111561360c5760008081fd5b958901955b858710156136a0578087360312156136295760008081fd5b613631612abe565b873561363c816130ac565b8152878b013561364b816130ac565b818c015287860135868201526060808901359082015260808089013561367081612b79565b9082015260a0888101359082015260c08089013561368d81612b79565b9082015283529586019591890191613611565b5082890152508852505050938201938201613570565b50919695505050505050565b60006040820184835260206040602085015281855180845260608601915060208701935060005b81811015612c955784516001600160a01b0316835293830193918301916001016136e9565b6000815180845260005b8181101561373457602081850181015186830182015201613718565b506000602082860101526020601f19601f83011685010191505092915050565b848152836020820152608060408201526000613773608083018561370e565b905060018060a01b038316606083015295945050505050565b80516128db81612b79565b600061012082840312156137aa57600080fd5b6137b2612ae0565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015261380060e0830161378c565b60e082015261010080830151818301525092915050565b6000610120828403121561382a57600080fd5b61189a8383613797565b60006020828403121561384657600080fd5b815161189a816130ac565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481526060602082015260006138bc606083018587613879565b905060018060a01b038316604083015295945050505050565b60008061014083850312156138e957600080fd5b6138f38484613797565b9150610120830151600381106131af57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561045d5761045d613908565b8082018082111561045d5761045d613908565b86815285602082015260a06040820152600061396460a083018688613879565b6060830194909452506001600160a01b0391909116608090910152949350505050565b6001600160a01b0383168152604060208201526000823536849003601e190181126139b157600080fd5b83016020810190356001600160401b038111156139cd57600080fd5b8036038213156139dc57600080fd5b6040808501526139f0608085018284613879565b91505060208401356060840152809150509392505050565b600060c08284031215613a1a57600080fd5b61189a8383612b9c565b858152846020820152608060408201526000613a44608083018587613879565b905060018060a01b03831660608301529695505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b600060608284031215613a9957600080fd5b604051606081018181106001600160401b0382111715613abb57613abb612a80565b6040529050808235613acc816130ac565b81526020830135613adc816130ac565b60208201526040830135613aef816130ac565b6040919091015292915050565b60006102808284031215613b0f57600080fd5b613b17612b03565b613b218484613a87565b8152606083013560208201526080830135604082015260a08301356060820152613b4d60c084016130ba565b6080820152613b5e60e084016130ba565b60a0820152610100613b718185016130ba565b60c0830152610120613b848186016130ba565b60e0840152610140613b978187016130ba565b838501526101609250613bab8387016130ba565b828501526101809150613bbf8287016130ba565b908401526101a0613bd18682016130ba565b838501526101c09250613be58387016130ba565b828501526101e09150613bf98287016130ba565b90840152610200613c0b8682016130ba565b838501526102209250613c1f8387016130ba565b82850152613c306102408701612b91565b908401525061026093909301359281019290925250919050565b600060e0820190508582528435602083015260208501356040830152604085013560608301526060850135613c7e81612b79565b6001600160a01b0316608083015260a082019390935260c0015292915050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b600060608083018684526020868186015260406060604087015282875180855260808801915060808160051b89010194508389016000805b83811015613d9b578a8803607f190185528251805189528701518789018790528051878a018190529088019083908b8b01905b80831015613d8657613d70828551613c9e565b60e0820191508a84019350600183019250613d5d565b50995050509386019391860191600101613d2a565b50959c9b505050505050505050505050565b600060608083018684526020866020860152604060606040870152828751808552608094506080880191506020890160005b82811015613e3557815180516001600160a01b03908116865287820151168786015285810151868601528881015189860152878101518886015260a0908101519085015260c09093019290850190600101613ddf565b50919b9a5050505050505050505050565b600060018060a01b03808816835286602084015285604084015260a06060840152613e7460a084018661370e565b91508084166080840152509695505050505050565b634e487b7160e01b600052601260045260246000fd5b60006020808385031215613eb257600080fd5b82516001600160401b03811115613ec857600080fd5b8301601f81018513613ed957600080fd5b8051613ee7612c4882612b56565b81815260e09182028301840191848201919088841115613f0657600080fd5b938501935b83851015613f9c5780858a031215613f235760008081fd5b613f2b612abe565b8551613f36816130ac565b815285870151613f45816130ac565b818801526040868101519082015260608087015190820152608080870151613f6c81612b79565b9082015260a0868101519082015260c080870151613f8981612b79565b9082015283529384019391850191613f0b565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161400b90840182613c9e565b5092915050565b61012081016140218286613c9e565b60e08201939093526001600160a01b03919091166101009091015291905056fea26469706673582212200a03d540ff743445d26c82dc02ccc0e31ac8ed1146059be844ad38ab3d06e52e64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620035ea380380620035ea833981016040819052620000349162000070565b60016000556001600160a01b0392831660805290821660a0521660c052620000c4565b6001600160a01b03811681146200006d57600080fd5b50565b6000806000606084860312156200008657600080fd5b8351620000938162000057565b6020850151909350620000a68162000057565b6040850151909250620000b98162000057565b809150509250925092565b60805160a05160c05161346a6200018060003960008181610273015281816106aa01528181610bd30152818161210901526122ed01526000818161018b01528181610347015281816107f801528181610ca101528181610d9d0152818161118e01528181611458015281816115210152818161183b01528181611c3e0152612374015260008181610239015281816103f701528181610fdd015281816117030152818161191401528181611edf015261218c015261346a6000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063c294b2f411610097578063d49031c011610066578063d49031c014610295578063d4c3a8d2146102a8578063e7c8e3e3146102d9578063e8ba563a146102ee57600080fd5b8063c294b2f414610221578063c41c2f2414610234578063c66445971461025b578063d3419bf31461026e57600080fd5b80636bb6a5ad116100d35780636bb6a5ad146101c5578063a2df1f95146101d8578063a57c7f59146101fb578063b753d7e91461020e57600080fd5b8062fdd58e1461010457806325386715146101425780632fa1b39114610163578063557e715514610186575b600080fd5b61012f610112366004612587565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101556101503660046125b3565b61031f565b60405161013992919061263e565b6101766101713660046127be565b6107cd565b60405161013994939291906128cf565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610139565b61012f6101d3366004612981565b610c7e565b6101eb6101e636600461299a565b610d72565b6040516101399493929190612a3b565b61012f610209366004612ad6565b61141d565b61012f61021c3660046125b3565b6114e7565b61012f61022f366004612b08565b6114fe565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101556102693660046125b3565b611813565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b61012f6102a3366004612587565b611c35565b61012f6102b6366004612b57565b600360209081526000938452604080852082529284528284209052825290205481565b6102ec6102e7366004612b8c565b611d13565b005b61012f6102fc366004612b57565b600260209081526000938452604080852082529284528284209052825290205481565b61032761251a565b6000610331611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb9190612bb9565b3360009081526003602090815260408083208984528252808320828501518452909152812054919350906103f0908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161044391815260200190565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612c62565b6001600160a01b0316637a81b56289876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190612c62565b6040518563ffffffff1660e01b815260040161057b9493929190612c7f565b6040805180830381865afa158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190612ca6565b91509150818311806105cb575081155b156105e957604051635b76558960e11b815260040160405180910390fd5b8086146106095760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d9190612cca565b905080871461072857610723886106866012600a612dc7565b604051635268657960e11b8152600481018b905260248101859052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064015b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190612cca565b611dba565b61072a565b875b9450610738338a8884611e87565b851115610758576040516317e53f6760e11b815260040160405180910390fd5b3360008181526003602090815260408083208d845282528083208a83015184528252808320889055928252600181528282208c83529052205461079c908690612dd3565b3360009081526001602090815260408083208d8452909152902055506107c59250612162915050565b935093915050565b6107d561251a565b60006060806107e2611d5c565b6040516321d1336160e11b8152600481018b90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c9190612bb9565b80519094506000036108915760405163174b338d60e11b815260040160405180910390fd5b61010084015160481c6001908116036108bd5760405163a3bb913360e01b815260040160405180910390fd5b61010084015160009060521c60019081161480156108f3575060006108e786610100015160541c90565b6001600160a01b031614155b15610a43576000604051806101400160405280336001600160a01b031681526020018f6001600160a01b031681526020018e8036038101906109359190612de6565b815260208082018f905288015160408201526001600160a01b038c16606082015260a080890151608083015261010089015191019060181c61ffff1681526020018a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200188905290506109c686610100015160541c90565b6001600160a01b031663d46cf171826040518263ffffffff1660e01b81526004016109f19190612e55565b600060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a369190810190612fc0565b955093509150610a849050565b8460a00151905087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b825160208d01359015610b005760005b8451811015610afe576000858281518110610ab157610ab16130f1565b602002602001015160200151905080600014610af55782811115610ae8576040516336a8da9360e11b815260040160405180910390fd5b610af28184612dd3565b92505b50600101610a94565b505b8c60200135600003610b18575060009350610c659050565b8015610b7f573360009081526001602090815260408083208f8452909152902054610b44908290612c4f565b60016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055505b5080600003610b92575060009250610c65565b60408c0135600060608e01358c14610c4357604051635268657960e11b815260608f01356004820152602481018d9052604481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf290606401602060405180830381865afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612cca565b610c4e565b610c4e82600a612dc7565b9050610c5f8e602001358483611dba565b95505050505b610c6f6001600055565b98509850985098945050505050565b6000610c88611d5c565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612bb9565b610100810151909150604d1c600190811614610d44576040516373e4f05f60e11b815260040160405180910390fd5b505033600090815260016020818152604080842085855290915282208054908390559155919050565b919050565b610d7a61251a565b6000606080610d87611d5c565b6040516321d1336160e11b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190612bb9565b610100810151909450604a1c600190811603610e405760405163a97cf58f60e01b815260040160405180910390fd5b610e74604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b6000806000336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190612c62565b90506000336001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612cca565b90506000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190612cca565b6101008b015190915060511c600190811614610fce57610fc9338f8c84611e87565b610fd9565b610fd98e8383612169565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa8f6040518263ffffffff1660e01b815260040161102991815260200190565b602060405180830381865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612c62565b6001600160a01b031663c18f2d318f6040518263ffffffff1660e01b815260040161109791815260200190565b602060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d89190612cca565b9350838d11156110fa57604051625c579160e91b815260040160405180910390fd5b84156111105761110d8e8b8f878961234b565b98505b604080516080810182526001600160a01b03949094168452602084018a9052830191909152606082015261010088015190935060531c60019081161480156111705750600061116488610100015160541c90565b6001600160a01b031614155b1561134557604051633157d5c760e21b8152600481018c90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190613107565b90506000604051806101800160405280336001600160a01b031681526020018f6001600160a01b031681526020018e81526020018a6020015181526020018d815260200184815260200185815260200186815260200161126e8b6101000151600160519190911c81161490565b15158152602001600084600281111561128957611289613128565b1461129c576112978b612483565b6112a5565b6112a58b6124a0565b81526020018c81526020018b81525090506112c589610100015160541c90565b6001600160a01b031663a51cfd18826040518263ffffffff1660e01b81526004016112f0919061313e565b600060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113359190810190613236565b9199509097509550611349915050565b8893505b50508251849150156113a35760005b83518110156113a1576000848281518110611375576113756130f1565b602002602001015160200151905080600014611398576113958184612c4f565b92505b50600101611358565b505b3360009081526001602090815260408083208c84529091529020548111156113de576040516317e53f6760e11b815260040160405180910390fd5b8015611406573360009081526001602090815260408083208c84529091529020805482900390555b506114116001600055565b95509550955095915050565b60008160000361142f575060006114df565b8284111561143f575060006114df565b6040516321d1336160e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612bb9565b90506114db868287878761234b565b9150505b949350505050565b60006114f4848484612169565b90505b9392505050565b6040516321d1336160e11b81526004810184905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d9190612bb9565b9050600083611608576116038787848a6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190612cca565b611e87565b6116d5565b6116d586886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561164a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166e9190612cca565b896001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d09190612cca565b612169565b9050806000036116ea576000925050506114df565b604051632eec7b5560e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190612c62565b6001600160a01b031663c18f2d31886040518263ffffffff1660e01b81526004016117a391815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190612cca565b9050808611156117fa57600093505050506114df565b611807878488848661234b565b98975050505050505050565b61181b61251a565b6000611825611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612bb9565b61010081015190925060491c6001908116036118de5760405163861e9dcd60e01b815260040160405180910390fd5b33600090815260026020908152604080832088845282528083208551845290915281205461190d908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161196091815260200190565b602060405180830381865afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a029190612c62565b6001600160a01b031663e8db213089876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a799190612c62565b6040518563ffffffff1660e01b8152600401611a989493929190612c7f565b6040805180830381865afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612ca6565b9150915081831180611ae8575081155b15611b0657604051630236b92b60e21b815260040160405180910390fd5b808614611b265760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8a9190612cca565b9050808714611ba857611ba3886106866012600a612dc7565b611baa565b875b3360009081526001602090815260408083208d8452909152902054909550851115611be8576040516317e53f6760e11b815260040160405180910390fd5b50503360008181526002602090815260408083208b845282528083208851845282528083209590955591815260018083528482208a835290925292832080548590039055909155506107c5565b6000611d0a83837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166343a266c2866040518263ffffffff1660e01b8152600401611c8a91815260200190565b61012060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612bb9565b866001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b90505b92915050565b336000908152600160209081526040808320858452909152902054611d39908290612c4f565b336000908152600160209081526040808320958352949052929092209190915550565b600260005403611db35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b6000808060001985870985870292508281108382030391505080600003611df457838281611dea57611dea613356565b04925050506114f7565b838110611e1e57604051631dcf306360e21b81526004810182905260248101859052604401611daa565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0384166000908152600160209081526040808320868452909152812054808203611ebc5760009150506114df565b604051632eec7b5560e11b81526004810186905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015611f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4a9190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab9190612c62565b6001600160a01b031663e8db21308888602001518b8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190612c62565b6040518563ffffffff1660e01b81526004016120419493929190612c7f565b6040805180830381865afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190612ca6565b6001600160a01b038a1660009081526002602090815260408083208c845282528083208b518452909152812054929450909250906120bf9084612dd3565b905080158015906120d05750858214155b1561214357612140816120e56012600a612dc7565b604051635268657960e11b815260048101869052602481018a9052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064016106dd565b90505b808411612151576000612155565b8084035b9998505050505050505050565b6001600055565b60405163d175415360e01b81526004810184905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d175415390602401600060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb919081019061336c565b90506000805b82518110156122a65782818151811061221c5761221c6130f1565b60200260200101516001600160a01b031663a32e1e96886040518263ffffffff1660e01b815260040161225191815260200190565b602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190612cca565b61229c9083612c4f565b9150600101612201565b5060006001851461232157604051635268657960e11b815260016004820152602481018690526012604482015261231c908390670de0b6b3a7640000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf2906064016106dd565b612323565b815b90508560121461233e57612339816012886124bd565b612340565b805b979650505050505050565b600082840361235b57508061247a565b600080604051633157d5c760e21b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190613107565b60028111156123f8576123f8613128565b1461240b5761240686612483565b612414565b612414866124a0565b90508060000361242857600091505061247a565b6000612435848787611dba565b9050612710820361244957915061247a9050565b612475816124638861245d86612710612dd3565b89611dba565b61246d9085612c4f565b612710611dba565b925050505b95945050505050565b60006028826101000151901c61ffff16612710611d0d9190612dd3565b60006038826101000151901c61ffff16612710611d0d9190612dd3565b60008282036124cd5750826114f7565b828211156124fb576124df8383612dd3565b6124ea90600a612dc7565b6124f490856133fb565b90506114f7565b6125058284612dd3565b61251090600a612dc7565b6124f49085613412565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6001600160a01b038116811461258457600080fd5b50565b6000806040838503121561259a57600080fd5b82356125a58161256f565b946020939093013593505050565b6000806000606084860312156125c857600080fd5b505081359360208301359350604090920135919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b610140810161264d82856125df565b826101208301529392505050565b60008083601f84011261266d57600080fd5b50813567ffffffffffffffff81111561268557600080fd5b60208301915083602082850101111561269d57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156126de576126de6126a4565b60405290565b6040516060810167ffffffffffffffff811182821017156126de576126de6126a4565b604051601f8201601f1916810167ffffffffffffffff81118282101715612730576127306126a4565b604052919050565b600067ffffffffffffffff821115612752576127526126a4565b50601f01601f191660200190565b600061277361276e84612738565b612707565b905082815283838301111561278757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127af57600080fd5b611d0a83833560208501612760565b600080600080600080600080888a036101408112156127dc57600080fd5b89356127e78161256f565b98506080601f19820112156127fb57600080fd5b5060208901965060a0890135955060c0890135945060e089013561281e8161256f565b935061010089013567ffffffffffffffff8082111561283c57600080fd5b6128488c838d0161265b565b90955093506101208b013591508082111561286257600080fd5b5061286f8b828c0161279e565b9150509295985092959890939650565b60005b8381101561289a578181015183820152602001612882565b50506000910152565b600081518084526128bb81602086016020860161287f565b601f01601f19169290920160200192915050565b60006101808083016128e184896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612956818801836128a3565b978501979650505090820190600101612912565b5050505083810361016085015261247581866128a3565b60006020828403121561299357600080fd5b5035919050565b600080600080600060a086880312156129b257600080fd5b85356129bd8161256f565b94506020860135935060408601359250606086013567ffffffffffffffff808211156129e857600080fd5b818801915088601f8301126129fc57600080fd5b612a0b89833560208501612760565b93506080880135915080821115612a2157600080fd5b50612a2e8882890161279e565b9150509295509295909350565b6000610180808301612a4d84896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612ac2818801836128a3565b978501979650505090820190600101612a7e565b60008060008060808587031215612aec57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612b1e57600080fd5b8435612b298161256f565b9350602085013592506040850135915060608501358015158114612b4c57600080fd5b939692955090935050565b600080600060608486031215612b6c57600080fd5b8335612b778161256f565b95602085013595506040909401359392505050565b60008060408385031215612b9f57600080fd5b50508035926020909101359150565b8051610d6d8161256f565b60006101208284031215612bcc57600080fd5b612bd46126ba565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612c2060e08401612bae565b60e0820152610100928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611d0d57611d0d612c39565b600060208284031215612c7457600080fd5b81516114f78161256f565b93845260208401929092526001600160a01b03908116604084015216606082015260800190565b60008060408385031215612cb957600080fd5b505080516020909101519092909150565b600060208284031215612cdc57600080fd5b5051919050565b600181815b80851115612d1e578160001904821115612d0457612d04612c39565b80851615612d1157918102915b93841c9390800290612ce8565b509250929050565b600082612d3557506001611d0d565b81612d4257506000611d0d565b8160018114612d585760028114612d6257612d7e565b6001915050611d0d565b60ff841115612d7357612d73612c39565b50506001821b611d0d565b5060208310610133831016604e8410600b8410161715612da1575081810a611d0d565b612dab8383612ce3565b8060001904821115612dbf57612dbf612c39565b029392505050565b6000611d0a8383612d26565b81810381811115611d0d57611d0d612c39565b600060808284031215612df857600080fd5b6040516080810181811067ffffffffffffffff82111715612e1b57612e1b6126a4565b6040528235612e298161256f565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60208152612e6f6020820183516001600160a01b03169052565b60006020830151612e8b60408401826001600160a01b03169052565b506040830151612ec5606084018280516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b50606083015160e08301526080830151610100818185015260a08501519150610120612efb818601846001600160a01b03169052565b60c086015161014086015260e08601516101608601528186015192506101a0915081610180860152612f316101c08601846128a3565b90860151858203601f190183870152909250612f4d83826128a3565b9695505050505050565b600082601f830112612f6857600080fd5b8151612f7661276e82612738565b818152846020838601011115612f8b57600080fd5b6114df82602083016020870161287f565b600067ffffffffffffffff821115612fb657612fb66126a4565b5060051b60200190565b600080600060608486031215612fd557600080fd5b8351925060208085015167ffffffffffffffff80821115612ff557600080fd5b61300188838901612f57565b9450604087015191508082111561301757600080fd5b818701915087601f83011261302b57600080fd5b815161303961276e82612f9c565b81815260059190911b8301840190848101908a83111561305857600080fd5b8585015b838110156130e0578051858111156130745760008081fd5b86016060818e03601f1901121561308b5760008081fd5b6130936126e4565b888201516130a08161256f565b81526040820151898201526060820151878111156130be5760008081fd5b6130cc8f8b83860101612f57565b60408301525084525091860191860161305c565b508096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561311957600080fd5b8151600381106114f757600080fd5b634e487b7160e01b600052602160045260246000fd5b602081526131586020820183516001600160a01b03169052565b6000602083015161317460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101006131e28185018380516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b8401511515610180840152506101208301516101a08301526101408301516101e06101c084018190526132196102008501836128a3565b9150610160850151601f198584030182860152612f4d83826128a3565b60008060006060848603121561324b57600080fd5b8351925060208085015167ffffffffffffffff8082111561326b57600080fd5b61327788838901612f57565b9450604087015191508082111561328d57600080fd5b818701915087601f8301126132a157600080fd5b81516132af61276e82612f9c565b81815260059190911b8301840190848101908a8311156132ce57600080fd5b8585015b838110156130e0578051858111156132ea5760008081fd5b86016060818e03601f190112156133015760008081fd5b6133096126e4565b888201516133168161256f565b81526040820151898201526060820151878111156133345760008081fd5b6133428f8b83860101612f57565b6040830152508452509186019186016132d2565b634e487b7160e01b600052601260045260246000fd5b6000602080838503121561337f57600080fd5b825167ffffffffffffffff81111561339657600080fd5b8301601f810185136133a757600080fd5b80516133b561276e82612f9c565b81815260059190911b820183019083810190878311156133d457600080fd5b928401925b828410156123405783516133ec8161256f565b825292840192908401906133d9565b8082028115828204841417611d0d57611d0d612c39565b60008261342f57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209bee0e6664b5a77635e6a54428e35084a2d4c2101b4004d1696e07575b4dc3ba64736f6c63430008170033608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c634300081700336101e060405263017d78406002553480156200001a57600080fd5b5060405162005e5338038062005e538339810160408190526200003d9162000216565b61eeee6080819052601260a0819052600160c08190526001600160a01b038a1660e0528a818b8b8b8b8b8b8b6200007433620000cf565b6101a08990526101c08890526001600160a01b0380871661010052858116610120528481166101405283811661016052821661018052620000b5816200011f565b5050505050505050505050505050505050505050620002cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b62000129620001a2565b6001600160a01b038116620001945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019f81620000cf565b50565b6000546001600160a01b03163314620001fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200018b565b565b6001600160a01b03811681146200019f57600080fd5b600080600080600080600080610100898b0312156200023457600080fd5b885197506020890151620002488162000200565b60408a01519097506200025b8162000200565b60608a01519096506200026e8162000200565b60808a0151909550620002818162000200565b60a08a0151909450620002948162000200565b60c08a0151909350620002a78162000200565b60e08a0151909250620002ba8162000200565b809150509295985092959890939650565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c05161592c62000527600039600081816103cf0152611fc001526000818161030701526118220152600081816104f701528181610ad50152818161126b015281816117f001528181611e6b015281816125d10152818161293301528181612a40015261367d01526000818161065601526113f00152600081816102bb015261335401526000818161060f0152818161168d015281816118d30152818161237a01528181612b8b015281816131fa0152613e540152600081816104a50152818161099001528181610dec015281816111a001528181611f17015261268b01526000818161056b01528181611cff01528181611d9b015281816121ac01526122480152600081816102660152818161070e0152818161133b0152818161139d015281816117ca01528181611aa601528181612d210152612db101526000818161033b015281816105db015281816112dc0152818161130801528181611368015281816113ca015281816117a401528181611a8001528181612cfb01528181612d8b0152613c080152600081816106cc015281816107620152818161087e01528181610a2801528181610b5601528181610bc9015281816114820152818161176f01528181611a4a01528181611b980152818161234f015281816124060152818161244101528181612cc601528181612d5501528181612ede015281816131cd01528181613bd301528181613c7b01528181613e8101528181613fdc0152818161401a0152818161414f0152614193015261592c6000f3fe6080604052600436106101f95760003560e01c80638da5cb5b1161010d578063c715967a116100a0578063df21a7dd1161006f578063df21a7dd146106ae578063e5a6b10f146106fc578063f2fde38b14610730578063fc0c546a14610750578063fe663f0f1461078457600080fd5b8063c715967a14610631578063d3419bf314610644578063d6dacc5314610678578063ddca3f431461069857600080fd5b8063ad007d63116100dc578063ad007d6314610559578063b631b5001461058d578063b7bad1b1146105bd578063c41c2f24146105fd57600080fd5b80638da5cb5b146104c7578063975057e7146104e5578063a02f801c14610519578063a32e1e961461053957600080fd5b80634a4305c011610190578063715018a61161015f578063715018a6146104115780637258002c1461042657806389701db5146104465780638af56094146104665780638b79543c1461049357600080fd5b80634a4305c01461037d578063637913ac1461039d57806366248b86146103bd57806369fe0e2d146103f157600080fd5b80632bdfe004116101cc5780632bdfe004146102a95780632d1a5903146102f5578063313ce56714610329578063405b84fa1461035d57600080fd5b806301ffc9a7146101fe5780630cf8e858146102335780631982d679146102485780631ebc263f14610296575b600080fd5b34801561020a57600080fd5b5061021e610219366004614442565b6107a4565b60405190151581526020015b60405180910390f35b6102466102413660046144c9565b61084e565b005b34801561025457600080fd5b5061028861026336600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b60405190815260200161022a565b6102886102a4366004614589565b610871565b3480156102b557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022a565b34801561030157600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033557600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561036957600080fd5b50610288610378366004614650565b610977565b34801561038957600080fd5b50610288610398366004614680565b610c73565b3480156103a957600080fd5b506102466103b836600461455e565b610c8f565b3480156103c957600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fd57600080fd5b5061024661040c3660046146e9565b610ceb565b34801561041d57600080fd5b50610246610d58565b34801561043257600080fd5b50610246610441366004614702565b610d6c565b34801561045257600080fd5b506102466104613660046146e9565b610dd6565b34801561047257600080fd5b506104866104813660046146e9565b6110da565b60405161022a9190614730565b34801561049f57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506000546001600160a01b03166102dd565b3480156104f157600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052557600080fd5b506102886105343660046148d6565b611187565b34801561054557600080fd5b506102886105543660046146e9565b611242565b34801561056557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059957600080fd5b5061021e6105a836600461455e565b60046020526000908152604090205460ff1681565b3480156105c957600080fd5b506102886105d836600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b34801561060957600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b61024661063f36600461498e565b611477565b34801561065057600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068457600080fd5b506003546102dd906001600160a01b031681565b3480156106a457600080fd5b5061028860025481565b3480156106ba57600080fd5b5061021e6106c9366004614a35565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b34801561070857600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561073c57600080fd5b5061024661074b36600461455e565b611573565b34801561075c57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561079057600080fd5b5061028861079f366004614a61565b6115f1565b60006001600160e01b0319821615806107cd57506001600160e01b0319821663edb527eb60e01b145b806107e857506001600160e01b031982166301290c1760e61b145b8061080357506001600160e01b0319821663280be00760e21b145b8061081e57506001600160e01b0319821663fe663f0f60e01b145b8061083957506001600160e01b0319821663ad007d6360e01b145b80610848575061084882611621565b92915050565b61085787611671565b610868878787600088888888611477565b50505050505050565b600061087c8b611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146108eb5734156108cd57604051635e7e9adf60e11b815260040160405180910390fd5b476108d933308d61171d565b6108e38147614b2f565b9a50506108ef565b3499505b6109688a338d8b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061172c92505050565b9b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614b42565b836004610a11838383611cd4565b60405163df21a7dd60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905286169063df21a7dd90604401602060405180830381865afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190614b5f565b610abf5760405163581010ed60e01b815260040160405180910390fd5b604051636bb6a5ad60e01b8152600481018790527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636bb6a5ad906024016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190614b7c565b93508315610c255760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee14610b8d576000610b8f565b845b6040805160208101825260008152905163019f1d0b60e31b81529192506001600160a01b03881691630cf8e858918491610bf1918c918b917f000000000000000000000000000000000000000000000000000000000000000091600401614be5565b6000604051808303818588803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b5050505050505b604080518581523360208201526001600160a01b0387169188917fa7519e5f94697b7f53e97c5eb46a0c730a296ab686ab8fd333835c5f735784eb910160405180910390a350505092915050565b6000610c83888888878787611e38565b98975050505050505050565b610c976120cd565b600380546001600160a01b0319166001600160a01b0383169081179091556040513381527f0a9a80fe9716605b3e52abb3d792d6a4e7816d6afc02a5a4ef023081feaf9f609060200160405180910390a250565b610cf36120cd565b6302faf080811115610d18576040516345fbd9c160e01b815260040160405180910390fd5b6002819055604080518281523360208201527fd7414e590e1cb532989ab2a34c8f4c2c17f7ab6f006efeeaef2e87cd5008c202910160405180910390a150565b610d606120cd565b610d6a6000612127565b565b610d746120cd565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917fa2653e25a502c023a5830d0de847ef6f458387865b1f4f575d7594f9f2c0d71e910160405180910390a35050565b6040516331a9108f60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f9190614b42565b816005610e746000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614610e9484848484612177565b600085815260016020908152604080832080548251818502810185019093528083529192909190849084015b82821015610f2d57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101610ec0565b5050506000888152600160205260408120929350610f4c9291506143a1565b80516000805b828110156110cf57838181518110610f6c57610f6c614c20565b60200260200101516020015163ffffffff1660001480610fb25750633b9aca00848281518110610f9e57610f9e614c20565b60200260200101516040015163ffffffff16145b61102957611024848281518110610fcb57610fcb614c20565b602002602001015160000151858381518110610fe957610fe9614c20565b60200260200101516020015163ffffffff1686848151811061100d5761100d614c20565b60200260200101516040015163ffffffff166122eb565b61102c565b60005b91506110568285838151811061104457611044614c20565b6020026020010151606001518b612331565b60011515828a7fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a3525187858151811061108f5761108f614c20565b602002602001015160600151336040516110bf9291906001600160a01b0392831681529116602082015260400190565b60405180910390a4600101610f52565b505050505050505050565b606060016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561117c57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b03166060830152908352909201910161110f565b505050509050919050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156111ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112139190614b42565b8a6011611221838383611cd4565b6112318d8d8d8c8c8c8c8c61259e565b9d9c50505050505050505050505050565b60405163035240c760e61b81523060048201526024810182905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d49031c090604401602060405180830381865afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190614b7c565b905060007f00000000000000000000000000000000000000000000000000000000000000006012146113335761132e827f000000000000000000000000000000000000000000000000000000000000000060126127e5565b611335565b815b905060017f00000000000000000000000000000000000000000000000000000000000000001461146d576114688161138e7f0000000000000000000000000000000000000000000000000000000000000000600a614d1a565b604051635268657960e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152600160248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf290606401602060405180830381865afa15801561143f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114639190614b7c565b612842565b61146f565b805b949350505050565b61148088611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146114ef5734156114d157604051635e7e9adf60e11b815260040160405180910390fd5b476114dd33308a61171d565b6114e78147614b2f565b9750506114f3565b3496505b61156988888787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061290f92505050565b5050505050505050565b61157b6120cd565b6001600160a01b0381166115e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6115ee81612127565b50565b600088886002611602838383611cd4565b6116118c8c8c8b8b8b8b612a01565b9c9b505050505050505050505050565b60006001600160e01b0319821663301cdc3960e21b148061165257506001600160e01b0319821663144b000160e11b145b8061084857506301ffc9a760e01b6001600160e01b0319831614610848565b604051636e49181f60e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117009190614b5f565b6115ee57604051631b1d5a5960e31b815260040160405180910390fd5b6117278282613096565b505050565b60006001600160a01b0386166117555760405163a762251360e01b815260040160405180910390fd5b61175d6143c2565b606060008060405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018e81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632fa1b3918d838e7f00000000000000000000000000000000000000000000000000000000000000008f8d8d6040518863ffffffff1660e01b81526004016118669796959493929190614d52565b6000604051808303816000875af1158015611885573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ad9190810190614eb6565b9950919550909350915081156119e257604051632eec7b5560e11b8152600481018c90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119469190614b42565b604051638ae9c07b60e01b8152600481018d9052602481018490526001600160a01b038c8116604483015260c06064830152600060c48301528a15156084830152600160a48301529190911690638ae9c07b9060e4016020604051808303816000875af11580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df9190614b7c565b94505b88851015611a0357604051633dca309360e11b815260040160405180910390fd5b825115611c765760006040518061016001604052808e6001600160a01b031681526020018d81526020018660200151815260200183815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018781526020018c6001600160a01b031681526020018a15158152602001898152602001604051806020016040528060008152508152602001888152509050600084519050611b3e604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b60005b82811015611c7157868181518110611b5b57611b5b614c20565b60209081029190910101519150602080830151608086015190910152604082015161012085015281516001600160a01b0390811690636b204943907f00000000000000000000000000000000000000000000000000000000000000001661eeee14611bc7576000611bcd565b83602001515b866040518363ffffffff1660e01b8152600401611bea91906150d1565b6000604051808303818588803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050505081600001516001600160a01b03167f232bbbe420e7bac6f941dc82678daec2b4c712378d91e864b69aab6e26cdd42485846020015133604051611c61939291906150e4565b60405180910390a2600101611b41565b505050505b50505087816000015182602001517f133161f1c9161488f777ab9a26aae91d47c0d9a3fafb398960f138db02c737978c8b8f888b8b33604051611cbf9796959493929190615117565b60405180910390a45098975050505050505050565b336001600160a01b03841614801590611d7d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611d3a903390879087908790600401615177565b602060405180830381865afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7b9190614b5f565b155b8015611e1a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611dd790339087906000908790600401615177565b602060405180830381865afa158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e189190614b5f565b155b156117275760405163075fd2b160e01b815260040160405180910390fd5b60405163c664459760e01b8152600481018790526024810186905260448101859052600090819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c664459790606401610140604051808303816000875af1158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed991906151a0565b9150915085811015611efe5760405163b01493c160e01b815260040160405180910390fd5b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8a9190614b42565b600254909150600090818115611faa57611fa58d60006131af565b611fb0565b633b9aca005b9050600080611fe78f89602001517f00000000000000000000000000000000000000000000000000000000000000008a8888613323565b92509050633b9aca008314611ffb57908101905b8160000361200a57600061202e565b61202e8f6120258a61010001516001604f9190911c81161490565b84878a886134e3565b9450801561206b57633b9aca0083146120515761204c8185856122eb565b612054565b60005b61205e9082614b2f565b985061206b30878b61171d565b505050508a846000015185602001517fc41a8d26c70cfcf1b9ea10f82482ac947b8be5bea2750bc729af844bbfde1e28858e88878c8f8f336040516120b79897969594939291906151f8565b60405180910390a4505050509695505050505050565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016115dc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015801561218e5750336001600160a01b03851614155b801561222a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906121e7903390889088908890600401615177565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190614b5f565b155b80156122c7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061228490339088906000908890600401615177565b602060405180830381865afa1580156122a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c59190614b5f565b155b156122e55760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6000806122fd8484633b9aca00612842565b6123079085614b2f565b905061231c85633b9aca00611463818561524b565b6123269086614b2f565b9150505b9392505050565b604051630862026560e41b8152600160048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638620265090604401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190614b42565b9050806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461243a57600061243c565b855b6001877f0000000000000000000000000000000000000000000000000000000000000000886000808a60405160200161247791815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b81526004016124a8979695949392919061525e565b60206040518083038185885af1935050505080156124e3575060408051601f3d908101601f191682019092526124e091810190614b7c565b60015b612597573d808015612511576040519150601f19603f3d011682016040523d82523d6000602084013e612516565b606091505b5061255383306001600160a01b03851603612532576000612534565b835b306001600160a01b0386160361254b57600061254d565b875b88613660565b6001837f80a889d08f0d59eb962335b57fb1d5b29e86e3d23f15087b5541fddf15422bbe878433604051612589939291906152b6565b60405180910390a3506122e5565b5050505050565b604051632538671560e01b8152600481018990526024810188905260448101879052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632538671590606401610140604051808303816000875af115801561261b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263f91906151a0565b91509150878110156126645760405163b01493c160e01b815260040160405180910390fd5b6002546040516331a9108f60e11b8152600481018d90526000919082906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156126d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f69190614b42565b9050600082158061271657503360009081526004602052604090205460ff165b61272a576127258f60016131af565b612730565b633b9aca005b9050633b9aca008114612766576127618f6127588861010001516001604f9190911c81161490565b878686866134e3565b612769565b60005b935083850396508660001461278357612783308c8961171d565b505050508a826000015183602001517f2eeee47c6d8d31c3523c3aa07b4c3e3795db36be4c04546ef3e30a5102f568e18a8e86898d8d8d336040516127cf9897969594939291906152e7565b60405180910390a4505098975050505050505050565b60008282036127f557508261232a565b82821115612823576128078383614b2f565b61281290600a614d1a565b61281c9085615347565b905061232a565b61282d8284614b2f565b61283890600a614d1a565b61281c9085615374565b600080806000198587098587029250828110838203039150508060000361287c578382816128725761287261535e565b049250505061232a565b8381106128a657604051631dcf306360e21b815260048101829052602481018590526044016115dc565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008361291d576000612927565b61292786866136dd565b90506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e7c8e3e387612963848961524b565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156129a157600080fd5b505af11580156129b5573d6000803e3d6000fd5b50505050857f9ecaf7fc3dfffd6867c175d6e684b1f1e3aef019398ba8db2c1ffab4a09db25386838686336040516129f1959493929190615396565b60405180910390a2505050505050565b60006001600160a01b038416612a2a57604051637ba50db360e11b815260040160405180910390fd5b612a326143c2565b6000806000600254905060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2df1f958e8e8e8c8c6040518663ffffffff1660e01b8152600401612a929594939291906153e2565b6000604051808303816000875af1158015612ab1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ad99190810190615421565b6001600160a01b038d16600090815260046020526040902054909b5091985091965090915060ff1680612b295750612710612b1386613b31565b148015612b295750612710612b2786613b4e565b145b80612b32575081155b612b4657612b418c60026131af565b612b4c565b633b9aca005b925089861015612b6f5760405163f896960b60e01b815260040160405180910390fd5b8a15612c7f57604051632eec7b5560e11b8152600481018d90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190614b42565b604051631665bc0f60e01b81526001600160a01b038f81166004830152602482018f9052604482018e905260a06064830152600060a4830181905260848301529190911690631665bc0f9060c401600060405180830381600087803b158015612c6657600080fd5b505af1158015612c7a573d6000803e3d6000fd5b505050505b805115612fbf5760006040518061014001604052808f6001600160a01b031681526020018e8152602001876020015181526020018d815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018a81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018b6001600160a01b031681526020018a8152602001604051806020016040528060008152508152602001898152509050612e35604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b8251600090815b81811015612fb957858181518110612e5657612e56614c20565b6020026020010151935086600014612e7c57612e778460200151888a6122eb565b612e7f565b60005b92508215612eae576020840151612e96908a61524b565b98508284602001818151612eaa9190614b2f565b9052505b60208085015160a087015190910152604084015161010086015283516001600160a01b0390811690630bf46e59907f00000000000000000000000000000000000000000000000000000000000000001661eeee14612f0d576000612f13565b85602001515b876040518363ffffffff1660e01b8152600401612f3091906155f3565b6000604051808303818588803b158015612f4957600080fd5b505af1158015612f5d573d6000803e3d6000fd5b505050505083600001516001600160a01b03167f6596068545b2541b0aff5579d91f991d0fe5957df8e2082483ef361953e1f9978686602001518633604051612fa99493929190615606565b60405180910390a2600101612e3c565b50505050505b50841561301a576000633b9aca008314612fe357612fde8683856122eb565b612fe6565b60005b9050801561300757612ff8868561524b565b93506130048187614b2f565b95505b851561301857613018308a8861171d565b505b82600003613029576000613038565b6130388b600085848c876134e3565b5050505087816000015182602001517f2be10f2a0203c77d0fcaa9fd6484a8a1d6904de31cd820587f60c1c8c338c8148c898c888b8b336040516130829796959493929190615117565b60405180910390a450979650505050505050565b804710156130e65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016115dc565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613133576040519150601f19603f3d011682016040523d82523d6000602084013e613138565b606091505b50509050806117275760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016115dc565b604051630862026560e41b8152600160048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690638620265090604401602060405180830381865afa158015613241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132659190614b42565b6001600160a01b03160361327e5750633b9aca00610848565b6003546001600160a01b03161561331a5760035460405163192dd60960e01b81526001600160a01b039091169063192dd609906132c1908690869060040161563e565b602060405180830381865afa9250505080156132fa575060408051601f3d908101601f191682019092526132f791810190614b7c565b60015b61330657506000610848565b633b9aca008111613318579050610848565b505b50600092915050565b6040516369e11cc560e01b81526004810187905260248101869052604481018590526000908190633b9aca009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa1580156133a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133cb9190810190615670565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529192505b82518110156134d15782818151811061342257613422614c20565b60200260200101519150600061343d8a846040015187612842565b9050600061344f848f8e858e8e613b6b565b905080158015906134605750818114155b156134725761346f828861524b565b96505b811561347e57818b039a505b8360400151860395508b8d8f7f0d31ab573f6daa4b1edba8d31973b4ba9f98fbfecc47010c1533eeefd2a1225a878686336040516134bf94939291906157cd565b60405180910390a45050600101613407565b50879450505050965096945050505050565b60006134f08585846122eb565b9050851561360257600087815260016020818152604080842081516080810183528a815263ffffffff808b168286019081528982168386019081526001600160a01b03808d16606086019081528654808b018855968b5297909920935160029095029093019384555192909501805491519451909616600160401b02600160401b600160e01b03199486166401000000000267ffffffffffffffff199092169290951691909117179190911691909117909155518490869089907f77813be0661650ddc1a5193ff2837df4162b251cb432651e2c060c3fc39756be906135f5908790899033909283526001600160a01b03918216602084015216604082015260600190565b60405180910390a4613656565b61360d818489612331565b604080516001600160a01b038516815233602082015260009183918a917fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a35251910160405180910390a45b9695505050505050565b60405163e7c8e3e360e01b815260048101859052602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e7c8e3e390604401600060405180830381600087803b1580156136c957600080fd5b505af1158015611569573d6000803e3d6000fd5b600082815260016020908152604080832080548251818502810185019093528083528493849084015b8282101561377357600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101613706565b50505060008681526001602052604081209293506137929291506143a1565b8051839060005b81811015613ae9578260000361385857600087815260016020526040902084518590839081106137cb576137cb614c20565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015191909201805460408401516060909401516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff9586166401000000000267ffffffffffffffff1990931695909416949094171791909116919091179055613ae1565b83818151811061386a5761386a614c20565b60200260200101516000015183106139205783818151811061388e5761388e614c20565b602002602001015160000151830392508381815181106138b0576138b0614c20565b60200260200101516020015163ffffffff16600014806138f65750633b9aca008482815181106138e2576138e2614c20565b60200260200101516040015163ffffffff16145b6139145761390f848281518110610fcb57610fcb614c20565b613917565b60005b85019450613ae1565b6001600088815260200190815260200160002060405180608001604052808587858151811061395157613951614c20565b60200260200101516000015103815260200186848151811061397557613975614c20565b60200260200101516020015163ffffffff16815260200186848151811061399e5761399e614c20565b60200260200101516040015163ffffffff1681526020018684815181106139c7576139c7614c20565b6020908102919091018101516060908101516001600160a01b0390811690935284546001818101875560009687529583902085516002909202019081559184015191909401805460408501519490950151909216600160401b02600160401b600160e01b031963ffffffff9485166401000000000267ffffffffffffffff19909616949092169390931793909317929092161790558351849082908110613a7057613a70614c20565b60200260200101516020015163ffffffff1660001480613ab65750633b9aca00848281518110613aa257613aa2614c20565b60200260200101516040015163ffffffff16145b613ad557613ad083858381518110610fe957610fe9614c20565b613ad8565b60005b85019450600092505b600101613799565b50604080518381523360208201528591879189917f59860d79d97c1fce2be7f987915c631471f4b08f671200463cc40a3380194ffb910160405180910390a450505092915050565b60006028826101000151901c61ffff166127106108489190614b2f565b60006038826101000151901c61ffff166127106108489190614b2f565b60c086015183906001600160a01b031615613e2b57633b9aca008214158015613bb1575060c08701516001600160a01b031660009081526004602052604090205460ff16155b15613bc457613bc18484846122eb565b90035b60006040518060c001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018381526020017f000000000000000000000000000000000000000000000000000000000000000081526020018881526020018781526020018981525090506060613c558960c00151634eba05fd60e11b6142c9565b15613d88578860c001516001600160a01b0316639d740bfa61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614613caf576000613cb1565b845b846040518363ffffffff1660e01b8152600401613cce9190615802565b6000604051808303818588803b158015613ce757600080fd5b505af193505050508015613cf9575060015b613d83573d808015613d27576040519150601f19603f3d011682016040523d82523d6000602084013e613d2c565b606091505b50805115613d3a5780613d7b565b604051602001613d6b906020808252600d908201526c105b1b1bd8d85d194819985a5b609a1b604082015260600190565b6040516020818303038152906040525b915050613dca565b613dca565b604051602001613db8906020808252600c908201526b12515490cc4d8d4819985a5b60a21b604082015260600190565b60405160208183030381529060405290505b805115613e2457613de1888a60c001518589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a888433604051613e1b9493929190615856565b60405180910390a25b5050613656565b606087015115614286576060870151604051630862026560e41b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638620265091613ebb917f0000000000000000000000000000000000000000000000000000000000000000906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa158015613ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efc9190614b42565b90506001600160a01b038116613f5e5760009150613f1d8760008088613660565b867f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f800796898733604051613f5193929190615899565b60405180910390a2614280565b6001600160a01b0381163014801590613f7b5750633b9aca008314155b8015613fa057506001600160a01b03811660009081526004602052604090205460ff16155b15613fb557613fb08585856122eb565b820391505b87602001511561413257806001600160a01b0316630cf8e85861eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614010576000614012565b835b8a60600151857f00000000000000000000000000000000000000000000000000000000000000008c60405160200161404c91815260200190565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161407a9493929190614be5565b6000604051808303818588803b15801561409357600080fd5b505af1935050505080156140a5575060015b61412d573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b606091505b506140e588838589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a88843360405161411f9493929190615856565b60405180910390a250614280565b614280565b806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614183576000614185565b835b60608b015160808c015186907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b03166141c657336141cc565b8d608001515b60008f600001518f6040516020016141e691815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b8152600401614217979695949392919061525e565b60206040518083038185885af193505050508015614252575060408051601f3d908101601f1916820190925261424f91810190614b7c565b60015b613e24573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b50613656565b633b9aca00821461429f5761429c8484846122eb565b90035b60808701516136569030906001600160a01b03166142bd57336142c3565b88608001515b8361171d565b60006142d4836142e5565b801561232a575061232a8383614318565b60006142f8826301ffc9a760e01b614318565b80156108485750614311826001600160e01b0319614318565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561438a575060208210155b80156143965750600081115b979650505050505050565b50805460008255600202906000526020600020908101906115ee9190614417565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b5b8082111561443e57600081556001810180546001600160e01b0319169055600201614418565b5090565b60006020828403121561445457600080fd5b81356001600160e01b03198116811461232a57600080fd5b6001600160a01b03811681146115ee57600080fd5b60008083601f84011261449357600080fd5b5081356001600160401b038111156144aa57600080fd5b6020830191508360208285010111156144c257600080fd5b9250929050565b600080600080600080600060a0888a0312156144e457600080fd5b873596506020880135955060408801356144fd8161446c565b945060608801356001600160401b038082111561451957600080fd5b6145258b838c01614481565b909650945060808a013591508082111561453e57600080fd5b5061454b8a828b01614481565b989b979a50959850939692959293505050565b60006020828403121561457057600080fd5b813561232a8161446c565b80151581146115ee57600080fd5b6000806000806000806000806000806101008b8d0312156145a957600080fd5b8a35995060208b0135985060408b01356145c28161446c565b975060608b01356145d28161446c565b965060808b0135955060a08b01356145e98161457b565b945060c08b01356001600160401b038082111561460557600080fd5b6146118e838f01614481565b909650945060e08d013591508082111561462a57600080fd5b506146378d828e01614481565b915080935050809150509295989b9194979a5092959850565b6000806040838503121561466357600080fd5b8235915060208301356146758161446c565b809150509250929050565b600080600080600080600060c0888a03121561469b57600080fd5b87359650602088013595506040880135945060608801356146bb8161446c565b93506080880135925060a08801356001600160401b038111156146dd57600080fd5b61454b8a828b01614481565b6000602082840312156146fb57600080fd5b5035919050565b6000806040838503121561471557600080fd5b82356147208161446c565b915060208301356146758161457b565b602080825282518282018190526000919060409081850190868401855b82811015614799578151805185528681015163ffffffff908116888701528682015116868601526060908101516001600160a01b0316908501526080909301929085019060010161474d565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156147df576147df6147a6565b60405290565b604051606081016001600160401b03811182821017156147df576147df6147a6565b60405160e081016001600160401b03811182821017156147df576147df6147a6565b604051601f8201601f191681016001600160401b0381118282101715614851576148516147a6565b604052919050565b60006001600160401b03821115614872576148726147a6565b50601f01601f191660200190565b600082601f83011261489157600080fd5b81356148a461489f82614859565b614829565b8181528460208386010111156148b957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006101008a8c0312156148f557600080fd5b8935985060208a0135975060408a0135965060608a01356149158161446c565b955060808a0135945060a08a013561492c8161446c565b935060c08a01356001600160401b038082111561494857600080fd5b6149548d838e01614880565b945060e08c013591508082111561496a57600080fd5b506149778c828d01614481565b915080935050809150509295985092959850929598565b60008060008060008060008060c0898b0312156149aa57600080fd5b883597506020890135965060408901356149c38161446c565b955060608901356149d38161457b565b945060808901356001600160401b03808211156149ef57600080fd5b6149fb8c838d01614481565b909650945060a08b0135915080821115614a1457600080fd5b50614a218b828c01614481565b999c989b5096995094979396929594505050565b60008060408385031215614a4857600080fd5b8235614a538161446c565b946020939093013593505050565b600080600080600080600080610100898b031215614a7e57600080fd5b8835614a898161446c565b975060208901359650604089013595506060890135614aa78161446c565b94506080890135935060a0890135614abe8161446c565b925060c08901356001600160401b0380821115614ada57600080fd5b614ae68c838d01614880565b935060e08b0135915080821115614afc57600080fd5b50614b098b828c01614880565b9150509295985092959890939650565b634e487b7160e01b600052601160045260246000fd5b8181038181111561084857610848614b19565b600060208284031215614b5457600080fd5b815161232a8161446c565b600060208284031215614b7157600080fd5b815161232a8161457b565b600060208284031215614b8e57600080fd5b5051919050565b60005b83811015614bb0578181015183820152602001614b98565b50506000910152565b60008151808452614bd1816020860160208601614b95565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b038316604082015260a06060820152600060a082015260c06080820152600061365660c0830184614bb9565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115614c71578160001904821115614c5757614c57614b19565b80851615614c6457918102915b93841c9390800290614c3b565b509250929050565b600082614c8857506001610848565b81614c9557506000610848565b8160018114614cab5760028114614cb557614cd1565b6001915050610848565b60ff841115614cc657614cc6614b19565b50506001821b610848565b5060208310610133831016604e8410600b8410161715614cf4575081810a610848565b614cfe8383614c36565b8060001904821115614d1257614d12614b19565b029392505050565b600061232a8383614c79565b80516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b6001600160a01b03888116825260009061014090614d73602085018b614d26565b8860a08501528760c085015280871660e08501525080610100840152614d9b81840186614bb9565b9050828103610120840152614db08185614bb9565b9a9950505050505050505050565b8051614dc98161446c565b919050565b60006101208284031215614de157600080fd5b614de96147bc565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c0820152614e3760e08301614dbe565b60e082015261010080830151818301525092915050565b60006001600160401b03821115614e6757614e676147a6565b5060051b60200190565b600082601f830112614e8257600080fd5b8151614e9061489f82614859565b818152846020838601011115614ea557600080fd5b61146f826020830160208701614b95565b6000806000806101808587031215614ecd57600080fd5b614ed78686614dce565b935061012085015192506101408501516001600160401b0380821115614efc57600080fd5b818701915087601f830112614f1057600080fd5b8151614f1e61489f82614e4e565b8082825260208201915060208360051b86010192508a831115614f4057600080fd5b602085015b83811015614fca57805185811115614f5c57600080fd5b86016060818e03601f19011215614f7257600080fd5b614f7a6147e5565b6020820151614f888161446c565b815260408201516020820152606082015187811115614fa657600080fd5b614fb58f602083860101614e71565b60408301525084525060209283019201614f45565b506101608a01519096509350505080821115614fe557600080fd5b50614ff287828801614e71565b91505092959194509250565b80516001600160a01b031682526000610220602083015160208501526040830151604085015260608301516150366060860182614d26565b50608083015161504960e0860182614d26565b5060a083015161016085015260c08301516001600160a01b031661018085015260e083015115156101a08501526101008301516101c0850182905261509082860182614bb9565b9150506101208301518482036101e08601526150ac8282614bb9565b9150506101408301518482036102008601526150c88282614bb9565b95945050505050565b60208152600061232a6020830184614ffe565b6060815260006150f76060830186614ffe565b6020830194909452506001600160a01b0391909116604090910152919050565b600060018060a01b03808a168352808916602084015287604084015286606084015260e0608084015261514d60e0840187614bb9565b83810360a085015261515f8187614bb9565b92505080841660c08401525098975050505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60008061014083850312156151b457600080fd5b6151be8484614dce565b915061012083015190509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808b16835289602084015288604084015287606084015286608084015260e060a084015261523360e0840186886151cf565b915080841660c0840152509998505050505050505050565b8082018082111561084857610848614b19565b878152602081018790526001600160a01b038681166040830152851660608201526080810184905282151560a082015261010060c08201819052600090820181905261012060e08301819052614db081840185614bb9565b8381526060602082015260006152cf6060830185614bb9565b905060018060a01b0383166040830152949350505050565b600060018060a01b03808b16835289602084015288604084015287606084015260e0608084015261531b60e0840188614bb9565b83810360a085015261532e8187896151cf565b92505080841660c0840152509998505050505050505050565b808202811582820484141761084857610848614b19565b634e487b7160e01b600052601260045260246000fd5b60008261539157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a0604082015260006153b560a0830186614bb9565b82810360608401526153c78186614bb9565b91505060018060a01b03831660808301529695505050505050565b60018060a01b038616815284602082015283604082015260a06060820152600061540f60a0830185614bb9565b8281036080840152610c838185614bb9565b600080600080610180858703121561543857600080fd5b6154428686614dce565b935061012085015192506101408501516001600160401b038082111561546757600080fd5b818701915087601f83011261547b57600080fd5b815161548961489f82614e4e565b8082825260208201915060208360051b86010192508a8311156154ab57600080fd5b602085015b83811015614fca578051858111156154c757600080fd5b86016060818e03601f190112156154dd57600080fd5b6154e56147e5565b60208201516154f38161446c565b81526040820151602082015260608201518781111561551157600080fd5b6155208f602083860101614e71565b604083015250845250602092830192016154b0565b80516001600160a01b03168252600061020060208301516020850152604083015160408501526060830151606085015260808301516155776080860182614d26565b5060a083015161010061558c81870183614d26565b60c08501516001600160a01b031661018087015260e08501516101a0870184905291506155bb83870183614bb9565b9250808501519150508482036101c08601526155d78282614bb9565b9150506101208301518482036101e08601526150c88282614bb9565b60208152600061232a6020830184615535565b6080815260006156196080830187615535565b60208301959095525060408101929092526001600160a01b0316606090910152919050565b828152604081016003831061566357634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b6000602080838503121561568357600080fd5b82516001600160401b0381111561569957600080fd5b8301601f810185136156aa57600080fd5b80516156b861489f82614e4e565b81815260e091820283018401918482019190888411156156d757600080fd5b938501935b8385101561576d5780858a0312156156f45760008081fd5b6156fc614807565b85516157078161457b565b8152858701516157168161457b565b81880152604086810151908201526060808701519082015260808087015161573d8161446c565b9082015260a0868101519082015260c08087015161575a8161446c565b90820152835293840193918501916156dc565b50979650505050505050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b61014081016157dc8287615779565b60e08201949094526101008101929092526001600160a01b031661012090910152919050565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161584f90840182615779565b5092915050565b60006101406158658388615779565b8560e08401528061010084015261587e81840186614bb9565b91505060018060a01b03831661012083015295945050505050565b60006101406158a88387615779565b60e08301949094525061010081018390526012928101929092527115195c9b5a5b985b081b9bdd08199bdd5b9960721b6101608301526001600160a01b03166101208201526101800191905056fea26469706673582212206d4c53773d9fed6493e50bd15d6276b96362c21ab57997281c5ef532f52db6e864736f6c634300081700330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220563e9f78e57403c3ce73193090b9305ada4014692e5d6a50a0978303e51f2b1e64736f6c63430008170033","sourceMap":"2767:6615:19:-:0;;;1572:26:48;;;-1:-1:-1;;1572:26:48;;;1594:4;1572:26;;;;;;3126:44:52;;;;;;;;;;;3043:45:19;;;-1:-1:-1;;;;;;3043:45:19;;;3084:3;3043:45;;;;3094:46;;;;;3134:5;3094:46;;;3146:42;;;;;;3181:6;3146:42;;;2767:6615;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620000b75760003560e01c806385226c81116200007a57806385226c811462000117578063916a17c61462000130578063b5508aa9146200013a578063ba414fa61462000144578063e20c9f71146200015f578063fa7626d4146200016957600080fd5b80630a9254e414620000bc5780631ed7831c14620000c85780633e5e3c2314620000ea5780633f7286f414620000f457806366d9a9a014620000fe575b600080fd5b620000c662000177565b005b620000d2620012fc565b604051620000e1919062001c20565b60405180910390f35b620000d262001360565b620000d2620013c2565b6200010862001424565b604051620000e1919062001c6f565b6200012162001517565b604051620000e1919062001d4e565b62000108620015f1565b62000121620016db565b6200014e620017b5565b6040519015158152602001620000e1565b620000d2620018e2565b6007546200014e9060ff1681565b604051620001859062001b78565b604051809103906000f080158015620001a2573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600f60448201526e4a424f70657261746f7253746f726560881b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200023157600080fd5b505af115801562000246573d6000803e3d6000fd5b5050601e546040516001600160a01b03909116925062000267915062001b86565b6001600160a01b039091168152602001604051809103906000f08015801562000294573d6000803e3d6000fd5b50601f80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600a6044820152694a4250726f6a6563747360b01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200031e57600080fd5b505af115801562000333573d6000803e3d6000fd5b5050601b546040516001600160a01b03909116925062000354915062001b94565b6001600160a01b039091168152602001604051809103906000f08015801562000381573d6000803e3d6000fd5b50602080546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260086044820152674a4250726963657360c01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200040957600080fd5b505af11580156200041e573d6000803e3d6000fd5b5050505060006200043130600562001944565b905080604051620004429062001ba2565b6001600160a01b039091168152602001604051809103906000f0801580156200046f573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260136044820152724a4246756e64696e674379636c6553746f726560681b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200050257600080fd5b505af115801562000517573d6000803e3d6000fd5b5050601e54601f54602254601b546040516001600160a01b03948516965092841694509083169216906200054b9062001bb0565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000590573d6000803e3d6000fd5b50602180546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600b60448201526a4a424469726563746f727960a81b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200061b57600080fd5b505af115801562000630573d6000803e3d6000fd5b50506021546040516001600160a01b03909116925062000651915062001bbe565b6001600160a01b039091168152602001604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602480546001600160a01b0319166001600160a01b03928316179055601e54601f546021546022546040519385169492831693918316921690620006c39062001bcc565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000708573d6000803e3d6000fd5b50602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b4a42546f6b656e53746f726560a01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b5050601e54601f546021546040516001600160a01b039384169550918316935090911690620007d89062001bda565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000815573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600d60448201526c4a4253706c69747353746f726560981b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620008a257600080fd5b505af1158015620008b7573d6000803e3d6000fd5b5050601e54601f546021546022546023546025546024546040516001600160a01b0397881699509587169750938616959283169491831693908316921690620009009062001be8565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e001604051809103906000f0801580156200095b573d6000803e3d6000fd5b50602680546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b252121b7b73a3937b63632b960a11b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620009e757600080fd5b505af1158015620009fc573d6000803e3d6000fd5b5050601b5460405163ca669fa760e01b81526001600160a01b0390911660048201526000805160206201cbd2833981519152925063ca669fa79150602401600060405180830381600087803b15801562000a5557600080fd5b505af115801562000a6a573d6000803e3d6000fd5b505060215460265460405163a1ed317560e01b81526001600160a01b039182166004820152600160248201529116925063a1ed31759150604401600060405180830381600087803b15801562000abf57600080fd5b505af115801562000ad4573d6000803e3d6000fd5b50506021546022546020546040516001600160a01b03938416955091831693509091169062000b039062001bf6565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000b40573d6000803e3d6000fd5b50602780546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152602660448201527f4a4253696e676c65546f6b656e5061796d656e745465726d696e616c53746f7260648201526565335f315f3160d01b60848201526000805160206201cbd28339815191529063c657c7189060a401600060405180830381600087803b15801562000bec57600080fd5b505af115801562000c01573d6000803e3d6000fd5b5050505060405162000c139062001c04565b604051809103906000f08015801562000c30573d6000803e3d6000fd5b50603980546001600160a01b0319166001600160a01b03929092169182179055604080516341917ff960e11b81529051638322fff2916004808201926020929091908290030181865afa15801562000c8c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cb2919062001dcc565b601e54601f54602154602554602054602754601b546040516001600160a01b039788169796871696958616959485169493841693928316929091169062000cf99062001c12565b9788526001600160a01b039687166020890152948616604088015292851660608701529084166080860152831660a0850152821660c08401521660e082015261010001604051809103906000f08015801562000d59573d6000803e3d6000fd5b50602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152601960448201527f4a424554485061796d656e745465726d696e616c335f315f310000000000000060648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b15801562000df657600080fd5b505af115801562000e0b573d6000803e3d6000fd5b505060285460378054600181810183556000929092527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b039093169290921790915560408051608081018252600a918101918252690daf292a08ca690c2e6d60b31b6060820152818152602081019290925290925060299150819062000ea6908262001e8d565b506020918201516001918201556040805160808082018352600e808352683635c9adc5dea00000838701819052631ad2748084860181905260006060958601819052602b93909355602c91909155602d55602e80546001600160a01b0319169055835161026081018552610200810182815261022082018390526102408201839052815261138896810187905280850187905292830186905290820181905260a0820181905260c0820181905260e08201819052610100820184905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c08201939093526101e001829052602f805462ffffff1916905560308390556031839055603292909255603380546affffffffffffffffffffff19166a0100000000000100000000179055603455601c54905163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd28339815191529063c88a5e6d90604401600060405180830381600087803b1580156200103d57600080fd5b505af115801562001052573d6000803e3d6000fd5b5050601b5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b158015620010ba57600080fd5b505af1158015620010cf573d6000803e3d6000fd5b5050601d5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b1580156200113757600080fd5b505af11580156200114c573d6000803e3d6000fd5b5050601b54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b383937b532b1ba27bbb732b960a11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620011c757600080fd5b505af1158015620011dc573d6000803e3d6000fd5b5050601c54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600b60448201526a62656e656669636961727960a81b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b1580156200125657600080fd5b505af11580156200126b573d6000803e3d6000fd5b5050601d54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526531b0b63632b960d11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620012e057600080fd5b505af1158015620012f5573d6000803e3d6000fd5b5050505050565b606060148054806020026020016040519081016040528092919081815260200182805480156200135657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001337575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620014f557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620014b65790505b5050505050815250508152602001906001019062001448565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200150e5783829060005260206000200180546200155d9062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200158b9062001dfc565b8015620015dc5780601f10620015b057610100808354040283529160200191620015dc565b820191906000526020600020905b815481529060010190602001808311620015be57829003601f168201915b5050505050815260200190600101906200153b565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620016c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620016835790505b5050505050815250508152602001906001019062001615565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200150e578382906000526020600020018054620017219062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200174f9062001dfc565b8015620017a05780601f106200177457610100808354040283529160200191620017a0565b820191906000526020600020905b8154815290600101906020018083116200178257829003601f168201915b505050505081526020019060010190620016ff565b600754600090610100900460ff1615620017d85750600754610100900460ff1690565b60006000805160206201cbd28339815191523b15620018dd57604080516000805160206201cbd2833981519152602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200185f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162001f5a565b60408051601f19818403018152908290526200187b9162001f8d565b6000604051808303816000865af19150503d8060008114620018ba576040519150601f19603f3d011682016040523d82523d6000602084013e620018bf565b606091505b5091505080806020019051810190620018d9919062001fab565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6000606082600003620019a157604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152600160ff1b60368201526037015b604051602081830303815290604052905062001b64565b607f8311620019f257604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b16602282015260f884901b6001600160f81b03191660368201526037016200198a565b60ff831162001a4d5760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608160f81b603682015260f884901b6001600160f81b03191660378201526038016200198a565b61ffff831162001aa957604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152604160f91b60368201526001600160f01b031960f085901b1660378201526039016200198a565b62ffffff831162001b065760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608360f81b60368201526001600160e81b031960e885901b166037820152603a016200198a565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152602160fa1b60368201526001600160e01b031960e085901b166037820152603b0160405160208183030381529060405290505b805160209091012060008190529392505050565b6107ed8062001fd783390190565b6134ef80620027c483390190565b6109658062005cb383390190565b611465806200661883390190565b6118758062007a7d83390190565b61089a80620092f283390190565b61468c8062009b8c83390190565b61115c806200e21883390190565b614305806200f37483390190565b6135ea806201367983390190565b61011c8062016c6383390190565b615e538062016d7f83390190565b6020808252825182820181905260009190848201906040850190845b8181101562001c635783516001600160a01b03168352928401929184019160010162001c3c565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101562001d1957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562001d035783516001600160e01b0319168252928b019260019290920191908b019062001cd7565b50978a0197955050509187019160010162001c99565b50919998505050505050505050565b60005b8381101562001d4557818101518382015260200162001d2b565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562001dbf57878503603f190184528151805180875262001d9f818989018a850162001d28565b601f01601f19169590950186019450928501929085019060010162001d75565b5092979650505050505050565b60006020828403121562001ddf57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062001e1157607f821691505b60208210810362001e3257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562001e88576000816000526020600020601f850160051c8101602086101562001e635750805b601f850160051c820191505b8181101562001e845782815560010162001e6f565b5050505b505050565b815167ffffffffffffffff81111562001eaa5762001eaa62001de6565b62001ec28162001ebb845462001dfc565b8462001e38565b602080601f83116001811462001efa576000841562001ee15750858301515b600019600386901b1c1916600185901b17855562001e84565b600085815260208120601f198616915b8281101562001f2b5788860151825594840194600190910190840162001f0a565b508582101562001f4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160e01b031983168152815160009062001f7f81600485016020870162001d28565b919091016004019392505050565b6000825162001fa181846020870162001d28565b9190910192915050565b60006020828403121562001fbe57600080fd5b8151801515811462001fcf57600080fd5b939250505056fe608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c634300081700336101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c6343000817003360a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c6343000817003360e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c6343000817003360a060405234801561001057600080fd5b5060405161089a38038061089a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108086100926000396000818161011d01526101d001526108086000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806334002f31146100955780637a81b562146100aa578063c41c2f2414610118578063e8db213014610157575b600080fd5b61008061006a366004610600565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100a86100a3366004610631565b6101ae565b005b6101036100b83660046106cc565b60009384526001602090815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b6040805192835260208301919091520161008c565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008c565b6101036101653660046106cc565b6000938452602084815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b604051632eec7b5560e11b815260048101859052849033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610716565b6001600160a01b03161461026257604051632adfdd0560e21b815260040160405180910390fd5b8160005b818110156105f7576001600160e81b0385858381811061028857610288610733565b905060c002016040013511156102b15760405163a9b8fbcf60e01b815260040160405180910390fd5b62ffffff8585838181106102c7576102c7610733565b905060c002016060013511156102f057604051639583faed60e01b815260040160405180910390fd5b6001600160e81b0385858381811061030a5761030a610733565b905060c0020160800135111561033357604051635730278360e01b815260040160405180910390fd5b62ffffff85858381811061034957610349610733565b905060c0020160a0013511156103725760405163d9b93c2560e01b815260040160405180910390fd5b600085858381811061038657610386610733565b905060c002016040013511156104875760e88585838181106103aa576103aa610733565b905060c0020160600135901b8585838181106103c8576103c8610733565b905060c0020160400135176000808981526020019081526020016000206000888152602001908152602001600020600087878581811061040a5761040a610733565b61042092602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061045457610454610733565b905060c00201602001602081019061046c9190610749565b6001600160a01b031681526020810191909152604001600020555b600085858381811061049b5761049b610733565b905060c0020160800135111561059d5760e88585838181106104bf576104bf610733565b905060c0020160a00135901b8585838181106104dd576104dd610733565b905060c002016080013517600160008981526020019081526020016000206000888152602001908152602001600020600087878581811061052057610520610733565b61053692602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061056a5761056a610733565b905060c0020160200160208101906105829190610749565b6001600160a01b031681526020810191909152604001600020555b86867f26f78d7903ac64ef9b38a2bf94b365f364f28efa245a6b67bcc27350f141c5f78787858181106105d2576105d2610733565b905060c00201336040516105e7929190610766565b60405180910390a3600101610266565b50505050505050565b60006020828403121561061257600080fd5b81356001600160e01b03198116811461062a57600080fd5b9392505050565b6000806000806060858703121561064757600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561066d57600080fd5b818701915087601f83011261068157600080fd5b81358181111561069057600080fd5b88602060c0830285010111156106a557600080fd5b95989497505060200194505050565b6001600160a01b03811681146106c957600080fd5b50565b600080600080608085870312156106e257600080fd5b843593506020850135925060408501356106fb816106b4565b9150606085013561070b816106b4565b939692955090935050565b60006020828403121561072857600080fd5b815161062a816106b4565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561075b57600080fd5b813561062a816106b4565b60e081018335610775816106b4565b6001600160a01b039081168352602085013590610791826106b4565b808216602085015260408601356040850152606086013560608501526080860135608085015260a086013560a085015280851660c08501525050939250505056fea264697066735822122011f5dcceff3169faa67c51cab10310062e5f0eccc7841108493ed7d95c5c94b164736f6c634300081700336101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c6343000817003360e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c634300081700336101606040523480156200001257600080fd5b506040516200430538038062004305833981016040819052620000359162000085565b6001600160a01b0396871660805294861660a0529285166101405290841660c052831660e052821661010052166101205262000130565b6001600160a01b03811681146200008257600080fd5b50565b600080600080600080600060e0888a031215620000a157600080fd5b8751620000ae816200006c565b6020890151909750620000c1816200006c565b6040890151909650620000d4816200006c565b6060890151909550620000e7816200006c565b6080890151909450620000fa816200006c565b60a08901519093506200010d816200006c565b60c089015190925062000120816200006c565b8091505092959891949750929550565b60805160a05160c05160e0516101005161012051610140516140776200028e600039600081816103a6015281816105cf01528181610651015281816107f50152818161094f01528181610c1c0152818161107b0152818161114201526114290152600081816102ec0152611bcc0152600081816101ed01528181611b4e0152612539015260008181610278015281816109f901528181611275015281816117d801528181611fc801526125140152600081816102510152818161051e01528181610743015281816108a601528181610ae401528181610cd301528181610ed901528181610f560152818161139c01528181611a8d0152611fec0152600081816102c50152818161047c01528181610b8501528181610fe70152818161144c0152818161167e01528181612091015261265f015260008181610326015281816118cc0152818161196801528181611e700152611f0c01526140776000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638ae9c07b116100b8578063b3c526731161007c578063b3c5267314610348578063badbdf281461035b578063bdd504d71461036e578063c18f2d311461038e578063c41c2f24146103a1578063e867c59c146103c857600080fd5b80638ae9c07b146102ad5780638b79543c146102c0578063a29a6814146102e7578063a40bb9c71461030e578063ad007d631461032157600080fd5b80632bdfe0041161010a5780632bdfe004146101e85780633e8c615b14610227578063405b84fa14610239578063557e71551461024c57806361930630146102735780638776c4991461029a57600080fd5b806301ffc9a714610147578063111d861b1461016f57806312b37b14146101905780631665bc0f146101b15780631f510453146101c6575b600080fd5b61015a6101553660046129e0565b6103db565b60405190151581526020015b60405180910390f35b61018261017d366004612d84565b610463565b604051908152602001610166565b6101a361019e366004612e71565b61071d565b60405161016692919061304e565b6101c46101bf3660046130c5565b6107ca565b005b6101d96101d4366004612e71565b610abb565b60405161016693929190613140565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610166565b6101c461023536600461318a565b5050565b6101c461024736600461318a565b610b6f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a36102a8366004612e71565b610eb3565b6101826102bb3660046131ba565b610f10565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a361031c366004613249565b61136f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103563660046132c1565b611424565b6101826103693660046133ea565b611665565b61018261037c366004612e71565b60026020526000908152604090205481565b61018261039c366004612e71565b6117b3565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103d63660046134c1565b611855565b60006001600160e01b03198216630232efb760e61b148061040c57506001600160e01b03198216633e2d14f360e11b145b8061042757506001600160e01b03198216633e8c615b60e01b145b8061044257506001600160e01b0319821663ad007d6360e01b145b8061045d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef919061350c565b8a60016104fd8383836118a1565b604051632cee6deb60e01b8152600481018e90526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632cee6deb90602401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190613529565b11156105ab5760405160016217a1f760e11b0319815260040160405180910390fd5b6040516338a73f9960e11b8152600481018e90523060248201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063714e7f3290604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506106458d8d8d8d8d8d9061063f9190613542565b8c611a0a565b8651909450156106d0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663821b9fd88e886040518363ffffffff1660e01b815260040161069d9291906136c2565b600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505b7f8621c3692c18d8ddd4cd26457d6a3e1d916e7001c4243a6c8dfa862a7e10a823848e87336040516107059493929190613754565b60405180910390a15050509998505050505050505050565b6107256128e0565b61072d612935565b604051630b8aa00f60e31b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635c550078906024015b61012060405180830381865afa158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190613817565b91506107c382611c4c565b9050915091565b604051636e49181f60e01b81526004810186905233602482015286908690600a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108609190613834565b61086c84848484611e3b565b8760000361088d57604051637b38547b60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091a9190613817565b610100810151909150604b1c60019081161480156109c45750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190613834565b155b156109e257604051630f1490e360e31b815260040160405180910390fd5b60405163906ebd0f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063906ebd0f90610a34908e908e908e908c90600401613851565b600060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b50505050898b6001600160a01b03167fdf04e13ee4fcd48a81ab2fd114757093740a3efa9b6475d86e05878b4c59d0798b8b8b33604051610aa694939291906138a2565b60405180910390a35050505050505050505050565b610ac36128e0565b610acb612935565b60405163ebc8ca1f60e01b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ebc8ca1f9060240161014060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5891906138d5565b9093509050610b6683611c4c565b91509193909250565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf8919061350c565b826003610c068383836118a1565b604051632eec7b5560e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000009030906001600160a01b03831690635dd8f6aa90602401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061350c565b6001600160a01b031614610cba5760405163e0a0a87d60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d479190613817565b610100810151909150604e1c600190811614610d76576040516346ace3f960e01b815260040160405180910390fd5b60008781526002602052604090205415610da557610da38760405180602001604052806000815250611faf565b505b604051633e8c615b60e01b8152600481018890523060248201526001600160a01b03871690633e8c615b90604401600060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b50506040516338a73f9960e11b8152600481018a90526001600160a01b0389811660248301528516925063714e7f329150604401600060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b5050604080516001600160a01b038a1681523360208201528a93507f01f954abace731a88ab86e71186040cc2be49fe517ea06bc0d24f25b82b8345692500160405180910390a250505050505050565b610ebb6128e0565b610ec3612935565b6040516321d1336160e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c290602401610776565b600086600003610f33576040516327f44f9560e21b815260040160405180910390fd5b6040516321d1336160e11b81526004810189905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190613817565b6040516331a9108f60e11b8152600481018c905290915061110f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061350c565b604051636e49181f60e01b8152600481018d90523360248201528c906009906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190613834565b8061110a575061010085015160541c6001600160a01b0316336001600160a01b0316145b611e3b565b610100810151604c1c6001908116141580156111b75750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613834565b155b80156111dd575061010081015160541c6001600160a01b0316336001600160a01b031614155b156111fb57604051639d0ca8fd60e01b815260040160405180910390fd5b83611207576000611215565b61010081015160181c61ffff165b91506001851515146112355761010081015160501c600190811614611237565b845b94505061271081146112e35761125b886112538361271061391e565b6127106121e9565b6040516333b774f960e21b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ceddd3e4906112b0908a908d9087908a90600401613851565b600060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050505b8015611317576112f3828961391e565b60008a81526002602052604081208054909190611311908490613931565b90915550505b88876001600160a01b03167fe6fee9c572244c0c2238c3112ac12d411750a7ee00eeebd32521c3e5a666c14b8a858a8a873360405161135b96959493929190613944565b60405180910390a350979650505050505050565b6113776128e0565b61137f612935565b60405163334f245560e11b815260048101859052602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063669e48aa9060440161012060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613817565b915061141b82611c4c565b90509250929050565b6000807f000000000000000000000000000000000000000000000000000000000000000090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663666d87a08e8e6040518363ffffffff1660e01b8152600401611498929190613987565b6020604051808303816000875af11580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db9190613529565b6040516338a73f9960e11b8152600481018290523060248201529092506001600160a01b0382169063714e7f3290604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b5050505060006115ac838d8d8d8d8d906115549190613542565b8c8c808060200260200160405190810160405280939291908181526020016000905b828210156115a25761159360c08302860136819003810190613a08565b81526020019060010190611576565b5050505050611a0a565b8551909150156116175760405163104373fb60e31b81526001600160a01b0383169063821b9fd8906115e490869089906004016136c2565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b7ff3e6948ba8b32d557363ea08470121c47c0127659aed09320812174d373afef28184863360405161164c9493929190613754565b60405180910390a150509b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018b90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f1919061350c565b8b60016116ff8383836118a1565b6117618e8e8e8e8e8e906117139190613542565b8d8d808060200260200160405190810160405280939291908181526020016000905b828210156115a25761175260c08302860136819003810190613a08565b81526020019060010190611735565b93507f1a08ad37c93969a586fd0605d240c17113b20a9c9ac3847595d0ab425225f6af848f88883360405161179a959493929190613a24565b60405180910390a15050509a9950505050505050505050565b6000818152600260205260408082205490516375b0d9cd60e01b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906375b0d9cd90602401602060405180830381865afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613529565b61045d9190613931565b60006118978484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611faf92505050565b90505b9392505050565b336001600160a01b0384161480159061194a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611907903390879087908790600401613a5e565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119489190613834565b155b80156119e7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906119a490339087906000908790600401613a5e565b602060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190613834565b155b15611a055760405163075fd2b160e01b815260040160405180910390fd5b505050565b600061271085606001351115611a3357604051635623289560e01b815260040160405180910390fd5b61271085608001351115611a5a57604051639db9ee9360e01b815260040160405180910390fd5b6127108560a001351115611a8157604051636edf8de360e11b815260040160405180910390fd5b60006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a249d4258989611acb611ac6368c90038c018c613afc565b6122ba565b896040518563ffffffff1660e01b8152600401611aeb9493929190613c4a565b610120604051808303816000875af1158015611b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2f9190613817565b602081015160405163796d225b60e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f2da44b691611b86918c91908990600401613cf2565b600060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b5050505060208101516040516334002f3160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916334002f3191611c0b918c918890600401613dad565b600060405180830381600087803b158015611c2557600080fd5b505af1158015611c39573d6000803e3d6000fd5b5050505060200151979650505050505050565b611c54612935565b604051806102400160405280611c6984612440565b815261010084015160209091019060181c61ffff168152602001611c8c846124b4565b8152602001611c9a846124d1565b8152602001611cb6846101000151600160489190911c81161490565b15158152602001611cd4846101000151600160499190911c81161490565b15158152602001611cf28461010001516001604a9190911c81161490565b15158152602001611d108461010001516001604b9190911c81161490565b15158152602001611d2e8461010001516001604c9190911c81161490565b15158152602001611d4c8461010001516001604d9190911c81161490565b15158152602001611d6a8461010001516001604e9190911c81161490565b15158152602001611d888461010001516001604f9190911c81161490565b15158152602001611da6846101000151600160509190911c81161490565b15158152602001611dc4846101000151600160519190911c81161490565b15158152602001611de2846101000151600160529190911c81161490565b15158152602001611e00846101000151600160539190911c81161490565b15158152602001611e1684610100015160541c90565b6001600160a01b0316815261010084015160209091019060f41c60ff16905292915050565b80158015611e525750336001600160a01b03851614155b8015611eee575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611eab903390889088908890600401613a5e565b602060405180830381865afa158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190613834565b155b8015611f8b575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611f4890339088906000908890600401613a5e565b602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190613834565b155b15611fa95760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561203c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120609190613817565b60008681526002602052604080822080549083905590516331a9108f60e11b815260048101899052909550919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156120e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612104919061350c565b9050600084156121245761211f8784602001516002886124ee565b612127565b60005b90508015612195576040516333b774f960e21b81526001600160a01b0385169063ceddd3e4906121629085908b908690600090600401613851565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b505050505b86836000015184602001517fb12d7a78048433f69fe6d30145bf08aad8e82985b96e4db6d5c6a7e94d57086e8589868c336040516121d7959493929190613e46565b60405180910390a45050505092915050565b60008080600019858709858702925082811083820303915050806000036122235783828161221957612219613e89565b049250505061189a565b83811061225157604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b80516001906008906122cb906128b1565b901b8117905060188260200151901b81179050602882604001516127106122f2919061391e565b901b811790506038826060015161271061230c919061391e565b901b81179050816080015115612329576901000000000000000000175b8160a0015115612340576902000000000000000000175b8160c0015115612357576904000000000000000000175b8160e001511561236e576908000000000000000000175b81610100015115612386576910000000000000000000175b8161012001511561239e576920000000000000000000175b816101400151156123b6576940000000000000000000175b816101600151156123ce576980000000000000000000175b816101800151156123e057600160501b175b816101a00151156123f257600160511b175b816101c001511561240457600160521b175b816101e001511561241657600160531b175b6102008201516102209092015160f41b600160541b600160f41b0360549390931b92909216171790565b604080516060810182526000808252602082018190529181019190915261045d6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b60006028826101000151901c61ffff1661271061045d919061391e565b60006038826101000151901c61ffff1661271061045d919061391e565b6040516369e11cc560e01b815260048101859052602481018490526044810183905281907f0000000000000000000000000000000000000000000000000000000000000000906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b09190810190613e9f565b905060005b81518110156128a65760008282815181106125d2576125d2613fa8565b6020026020010151905060006125f1878360400151633b9aca006121e9565b9050801561285e5760c08201516001600160a01b038087169163ceddd3e491166126d75783606001516000036126435760808401516001600160a01b031661263957336126dd565b83608001516126dd565b60608401516040516331a9108f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d2919061350c565b6126dd565b8360c001515b84516040516001600160e01b031960e085901b16815261270592918f91879190600401613851565b600060405180830381600087803b15801561271f57600080fd5b505af1158015612733573d6000803e3d6000fd5b5050505060c08201516001600160a01b031615612851578160c001516001600160a01b0316639d740bfa6040518060c00160405280886001600160a01b031663ea78803f8f6040518263ffffffff1660e01b815260040161279691815260200190565b602060405180830381865afa1580156127b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d7919061350c565b6001600160a01b03168152602001848152602001601281526020018d81526020018b8152602001858152506040518263ffffffff1660e01b815260040161281e9190613fbe565b600060405180830381600087803b15801561283857600080fd5b505af115801561284c573d6000803e3d6000fd5b505050505b61285b818761391e565b95505b87898b7f990c1da5d280602f972ae3c429b6dc66a66569875205cc6e67f14e0b3fc4d2ac85853360405161289493929190614012565b60405180910390a450506001016125b5565b505050949350505050565b8051600090156128bf576001175b8160200151156128cd576002175b8160400151156128db576004175b919050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b604080516102a0810182526000610240820181815261026083018290526102808301829052825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081019190915290565b6000602082840312156129f257600080fd5b81356001600160e01b03198116811461189a57600080fd5b600060808284031215612a1c57600080fd5b50919050565b60006102808284031215612a1c57600080fd5b60008083601f840112612a4757600080fd5b5081356001600160401b03811115612a5e57600080fd5b6020830191508360208260051b8501011115612a7957600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612ab857612ab8612a80565b60405290565b60405160e081016001600160401b0381118282101715612ab857612ab8612a80565b60405161012081016001600160401b0381118282101715612ab857612ab8612a80565b60405161024081016001600160401b0381118282101715612ab857612ab8612a80565b604051601f8201601f191681016001600160401b0381118282101715612b4e57612b4e612a80565b604052919050565b60006001600160401b03821115612b6f57612b6f612a80565b5060051b60200190565b6001600160a01b0381168114612b8e57600080fd5b50565b80356128db81612b79565b600060c08284031215612bae57600080fd5b60405160c081018181106001600160401b0382111715612bd057612bd0612a80565b6040529050808235612be181612b79565b81526020830135612bf181612b79565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b600082601f830112612c3857600080fd5b81356020612c4d612c4883612b56565b612b26565b8083825260208201915060c0602060c08602880101945087851115612c7157600080fd5b602087015b85811015612c9557612c888982612b9c565b8452928401928101612c76565b5090979650505050505050565b600082601f830112612cb357600080fd5b81356020612cc3612c4883612b56565b8083825260208201915060208460051b870101935086841115612ce557600080fd5b602086015b84811015612d0a578035612cfd81612b79565b8352918301918301612cea565b509695505050505050565b600082601f830112612d2657600080fd5b81356001600160401b03811115612d3f57612d3f612a80565b612d52601f8201601f1916602001612b26565b818152846020838601011115612d6757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006103c08a8c031215612da357600080fd5b89359850612db48b60208c01612a0a565b9750612dc38b60a08c01612a22565b96506103208a013595506103408a01356001600160401b0380821115612de857600080fd5b612df48d838e01612a35565b90975095506103608c0135915080821115612e0e57600080fd5b612e1a8d838e01612c27565b94506103808c0135915080821115612e3157600080fd5b612e3d8d838e01612ca2565b93506103a08c0135915080821115612e5457600080fd5b50612e618c828d01612d15565b9150509295985092959850929598565b600060208284031215612e8357600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b612f0e8282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151612f3f60c084018215159052565b5060a081015180151560e08401525060c0810151610100612f638185018315159052565b60e08301519150610120612f7a8186018415159052565b90830151915061014090612f918583018415159052565b8301519150610160612fa68582018415159052565b90830151915061018090612fbd8583018415159052565b83015191506101a0612fd28582018415159052565b9083015191506101c090612fe98583018415159052565b83015191506101e0612ffe8582018415159052565b908301519150610200906130158583018415159052565b830151915061022061302a8582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b6103a0810161305d8285612e8a565b61189a610120830184612ee9565b60008083601f84011261307d57600080fd5b5081356001600160401b0381111561309457600080fd5b602083019150836020828501011115612a7957600080fd5b8015158114612b8e57600080fd5b80356128db816130ac565b60008060008060008060a087890312156130de57600080fd5b86356130e981612b79565b9550602087013594506040870135935060608701356001600160401b0381111561311257600080fd5b61311e89828a0161306b565b9094509250506080870135613132816130ac565b809150509295509295509295565b6103c0810161314f8286612e8a565b61315d610120830185612ee9565b6003831061317b57634e487b7160e01b600052602160045260246000fd5b826103a0830152949350505050565b6000806040838503121561319d57600080fd5b8235915060208301356131af81612b79565b809150509250929050565b600080600080600080600060c0888a0312156131d557600080fd5b873596506020880135955060408801356131ee81612b79565b945060608801356001600160401b0381111561320957600080fd5b6132158a828b0161306b565b9095509350506080880135613229816130ac565b915060a0880135613239816130ac565b8091505092959891949750929550565b6000806040838503121561325c57600080fd5b50508035926020909101359150565b600060408284031215612a1c57600080fd5b60008083601f84011261328f57600080fd5b5081356001600160401b038111156132a657600080fd5b60208301915083602060c083028501011115612a7957600080fd5b60008060008060008060008060008060006103e08c8e0312156132e357600080fd5b6132ec8c612b91565b9a506001600160401b038060208e0135111561330757600080fd5b6133178e60208f01358f0161326b565b9a506133268e60408f01612a0a565b99506133358e60c08f01612a22565b98506103408d01359750806103608e0135111561335157600080fd5b6133628e6103608f01358f01612a35565b90975095506103808d013581101561337957600080fd5b61338a8e6103808f01358f0161327d565b90955093506103a08d01358110156133a157600080fd5b6133b28e6103a08f01358f01612ca2565b9250806103c08e013511156133c657600080fd5b506133d88d6103c08e01358e01612d15565b90509295989b509295989b9093969950565b6000806000806000806000806000806103a08b8d03121561340a57600080fd5b8a35995061341b8c60208d01612a0a565b985061342a8c60a08d01612a22565b97506103208b013596506103408b01356001600160401b038082111561344f57600080fd5b61345b8e838f01612a35565b90985096506103608d013591508082111561347557600080fd5b6134818e838f0161327d565b90965094506103808d013591508082111561349b57600080fd5b506134a88d828e0161306b565b915080935050809150509295989b9194979a5092959850565b6000806000604084860312156134d657600080fd5b8335925060208401356001600160401b038111156134f357600080fd5b6134ff8682870161306b565b9497909650939450505050565b60006020828403121561351e57600080fd5b815161189a81612b79565b60006020828403121561353b57600080fd5b5051919050565b6000613550612c4884612b56565b80848252602080830192508560051b85013681111561356e57600080fd5b855b818110156136b65780356001600160401b03808211156135905760008081fd5b818901915060408083360312156135a75760008081fd5b6135af612a96565b8335815286840135838111156135c55760008081fd5b939093019236601f8501126135dc57600092508283fd5b833592506135ec612c4884612b56565b83815260e0938402850188019388820191903686111561360c5760008081fd5b958901955b858710156136a0578087360312156136295760008081fd5b613631612abe565b873561363c816130ac565b8152878b013561364b816130ac565b818c015287860135868201526060808901359082015260808089013561367081612b79565b9082015260a0888101359082015260c08089013561368d81612b79565b9082015283529586019591890191613611565b5082890152508852505050938201938201613570565b50919695505050505050565b60006040820184835260206040602085015281855180845260608601915060208701935060005b81811015612c955784516001600160a01b0316835293830193918301916001016136e9565b6000815180845260005b8181101561373457602081850181015186830182015201613718565b506000602082860101526020601f19601f83011685010191505092915050565b848152836020820152608060408201526000613773608083018561370e565b905060018060a01b038316606083015295945050505050565b80516128db81612b79565b600061012082840312156137aa57600080fd5b6137b2612ae0565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015261380060e0830161378c565b60e082015261010080830151818301525092915050565b6000610120828403121561382a57600080fd5b61189a8383613797565b60006020828403121561384657600080fd5b815161189a816130ac565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481526060602082015260006138bc606083018587613879565b905060018060a01b038316604083015295945050505050565b60008061014083850312156138e957600080fd5b6138f38484613797565b9150610120830151600381106131af57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561045d5761045d613908565b8082018082111561045d5761045d613908565b86815285602082015260a06040820152600061396460a083018688613879565b6060830194909452506001600160a01b0391909116608090910152949350505050565b6001600160a01b0383168152604060208201526000823536849003601e190181126139b157600080fd5b83016020810190356001600160401b038111156139cd57600080fd5b8036038213156139dc57600080fd5b6040808501526139f0608085018284613879565b91505060208401356060840152809150509392505050565b600060c08284031215613a1a57600080fd5b61189a8383612b9c565b858152846020820152608060408201526000613a44608083018587613879565b905060018060a01b03831660608301529695505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b600060608284031215613a9957600080fd5b604051606081018181106001600160401b0382111715613abb57613abb612a80565b6040529050808235613acc816130ac565b81526020830135613adc816130ac565b60208201526040830135613aef816130ac565b6040919091015292915050565b60006102808284031215613b0f57600080fd5b613b17612b03565b613b218484613a87565b8152606083013560208201526080830135604082015260a08301356060820152613b4d60c084016130ba565b6080820152613b5e60e084016130ba565b60a0820152610100613b718185016130ba565b60c0830152610120613b848186016130ba565b60e0840152610140613b978187016130ba565b838501526101609250613bab8387016130ba565b828501526101809150613bbf8287016130ba565b908401526101a0613bd18682016130ba565b838501526101c09250613be58387016130ba565b828501526101e09150613bf98287016130ba565b90840152610200613c0b8682016130ba565b838501526102209250613c1f8387016130ba565b82850152613c306102408701612b91565b908401525061026093909301359281019290925250919050565b600060e0820190508582528435602083015260208501356040830152604085013560608301526060850135613c7e81612b79565b6001600160a01b0316608083015260a082019390935260c0015292915050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b600060608083018684526020868186015260406060604087015282875180855260808801915060808160051b89010194508389016000805b83811015613d9b578a8803607f190185528251805189528701518789018790528051878a018190529088019083908b8b01905b80831015613d8657613d70828551613c9e565b60e0820191508a84019350600183019250613d5d565b50995050509386019391860191600101613d2a565b50959c9b505050505050505050505050565b600060608083018684526020866020860152604060606040870152828751808552608094506080880191506020890160005b82811015613e3557815180516001600160a01b03908116865287820151168786015285810151868601528881015189860152878101518886015260a0908101519085015260c09093019290850190600101613ddf565b50919b9a5050505050505050505050565b600060018060a01b03808816835286602084015285604084015260a06060840152613e7460a084018661370e565b91508084166080840152509695505050505050565b634e487b7160e01b600052601260045260246000fd5b60006020808385031215613eb257600080fd5b82516001600160401b03811115613ec857600080fd5b8301601f81018513613ed957600080fd5b8051613ee7612c4882612b56565b81815260e09182028301840191848201919088841115613f0657600080fd5b938501935b83851015613f9c5780858a031215613f235760008081fd5b613f2b612abe565b8551613f36816130ac565b815285870151613f45816130ac565b818801526040868101519082015260608087015190820152608080870151613f6c81612b79565b9082015260a0868101519082015260c080870151613f8981612b79565b9082015283529384019391850191613f0b565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161400b90840182613c9e565b5092915050565b61012081016140218286613c9e565b60e08201939093526001600160a01b03919091166101009091015291905056fea26469706673582212200a03d540ff743445d26c82dc02ccc0e31ac8ed1146059be844ad38ab3d06e52e64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620035ea380380620035ea833981016040819052620000349162000070565b60016000556001600160a01b0392831660805290821660a0521660c052620000c4565b6001600160a01b03811681146200006d57600080fd5b50565b6000806000606084860312156200008657600080fd5b8351620000938162000057565b6020850151909350620000a68162000057565b6040850151909250620000b98162000057565b809150509250925092565b60805160a05160c05161346a6200018060003960008181610273015281816106aa01528181610bd30152818161210901526122ed01526000818161018b01528181610347015281816107f801528181610ca101528181610d9d0152818161118e01528181611458015281816115210152818161183b01528181611c3e0152612374015260008181610239015281816103f701528181610fdd015281816117030152818161191401528181611edf015261218c015261346a6000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063c294b2f411610097578063d49031c011610066578063d49031c014610295578063d4c3a8d2146102a8578063e7c8e3e3146102d9578063e8ba563a146102ee57600080fd5b8063c294b2f414610221578063c41c2f2414610234578063c66445971461025b578063d3419bf31461026e57600080fd5b80636bb6a5ad116100d35780636bb6a5ad146101c5578063a2df1f95146101d8578063a57c7f59146101fb578063b753d7e91461020e57600080fd5b8062fdd58e1461010457806325386715146101425780632fa1b39114610163578063557e715514610186575b600080fd5b61012f610112366004612587565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101556101503660046125b3565b61031f565b60405161013992919061263e565b6101766101713660046127be565b6107cd565b60405161013994939291906128cf565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610139565b61012f6101d3366004612981565b610c7e565b6101eb6101e636600461299a565b610d72565b6040516101399493929190612a3b565b61012f610209366004612ad6565b61141d565b61012f61021c3660046125b3565b6114e7565b61012f61022f366004612b08565b6114fe565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101556102693660046125b3565b611813565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b61012f6102a3366004612587565b611c35565b61012f6102b6366004612b57565b600360209081526000938452604080852082529284528284209052825290205481565b6102ec6102e7366004612b8c565b611d13565b005b61012f6102fc366004612b57565b600260209081526000938452604080852082529284528284209052825290205481565b61032761251a565b6000610331611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb9190612bb9565b3360009081526003602090815260408083208984528252808320828501518452909152812054919350906103f0908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161044391815260200190565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612c62565b6001600160a01b0316637a81b56289876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190612c62565b6040518563ffffffff1660e01b815260040161057b9493929190612c7f565b6040805180830381865afa158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190612ca6565b91509150818311806105cb575081155b156105e957604051635b76558960e11b815260040160405180910390fd5b8086146106095760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d9190612cca565b905080871461072857610723886106866012600a612dc7565b604051635268657960e11b8152600481018b905260248101859052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064015b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190612cca565b611dba565b61072a565b875b9450610738338a8884611e87565b851115610758576040516317e53f6760e11b815260040160405180910390fd5b3360008181526003602090815260408083208d845282528083208a83015184528252808320889055928252600181528282208c83529052205461079c908690612dd3565b3360009081526001602090815260408083208d8452909152902055506107c59250612162915050565b935093915050565b6107d561251a565b60006060806107e2611d5c565b6040516321d1336160e11b8152600481018b90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c9190612bb9565b80519094506000036108915760405163174b338d60e11b815260040160405180910390fd5b61010084015160481c6001908116036108bd5760405163a3bb913360e01b815260040160405180910390fd5b61010084015160009060521c60019081161480156108f3575060006108e786610100015160541c90565b6001600160a01b031614155b15610a43576000604051806101400160405280336001600160a01b031681526020018f6001600160a01b031681526020018e8036038101906109359190612de6565b815260208082018f905288015160408201526001600160a01b038c16606082015260a080890151608083015261010089015191019060181c61ffff1681526020018a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200188905290506109c686610100015160541c90565b6001600160a01b031663d46cf171826040518263ffffffff1660e01b81526004016109f19190612e55565b600060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a369190810190612fc0565b955093509150610a849050565b8460a00151905087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b825160208d01359015610b005760005b8451811015610afe576000858281518110610ab157610ab16130f1565b602002602001015160200151905080600014610af55782811115610ae8576040516336a8da9360e11b815260040160405180910390fd5b610af28184612dd3565b92505b50600101610a94565b505b8c60200135600003610b18575060009350610c659050565b8015610b7f573360009081526001602090815260408083208f8452909152902054610b44908290612c4f565b60016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055505b5080600003610b92575060009250610c65565b60408c0135600060608e01358c14610c4357604051635268657960e11b815260608f01356004820152602481018d9052604481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf290606401602060405180830381865afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612cca565b610c4e565b610c4e82600a612dc7565b9050610c5f8e602001358483611dba565b95505050505b610c6f6001600055565b98509850985098945050505050565b6000610c88611d5c565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612bb9565b610100810151909150604d1c600190811614610d44576040516373e4f05f60e11b815260040160405180910390fd5b505033600090815260016020818152604080842085855290915282208054908390559155919050565b919050565b610d7a61251a565b6000606080610d87611d5c565b6040516321d1336160e11b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190612bb9565b610100810151909450604a1c600190811603610e405760405163a97cf58f60e01b815260040160405180910390fd5b610e74604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b6000806000336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190612c62565b90506000336001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612cca565b90506000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190612cca565b6101008b015190915060511c600190811614610fce57610fc9338f8c84611e87565b610fd9565b610fd98e8383612169565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa8f6040518263ffffffff1660e01b815260040161102991815260200190565b602060405180830381865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612c62565b6001600160a01b031663c18f2d318f6040518263ffffffff1660e01b815260040161109791815260200190565b602060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d89190612cca565b9350838d11156110fa57604051625c579160e91b815260040160405180910390fd5b84156111105761110d8e8b8f878961234b565b98505b604080516080810182526001600160a01b03949094168452602084018a9052830191909152606082015261010088015190935060531c60019081161480156111705750600061116488610100015160541c90565b6001600160a01b031614155b1561134557604051633157d5c760e21b8152600481018c90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190613107565b90506000604051806101800160405280336001600160a01b031681526020018f6001600160a01b031681526020018e81526020018a6020015181526020018d815260200184815260200185815260200186815260200161126e8b6101000151600160519190911c81161490565b15158152602001600084600281111561128957611289613128565b1461129c576112978b612483565b6112a5565b6112a58b6124a0565b81526020018c81526020018b81525090506112c589610100015160541c90565b6001600160a01b031663a51cfd18826040518263ffffffff1660e01b81526004016112f0919061313e565b600060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113359190810190613236565b9199509097509550611349915050565b8893505b50508251849150156113a35760005b83518110156113a1576000848281518110611375576113756130f1565b602002602001015160200151905080600014611398576113958184612c4f565b92505b50600101611358565b505b3360009081526001602090815260408083208c84529091529020548111156113de576040516317e53f6760e11b815260040160405180910390fd5b8015611406573360009081526001602090815260408083208c84529091529020805482900390555b506114116001600055565b95509550955095915050565b60008160000361142f575060006114df565b8284111561143f575060006114df565b6040516321d1336160e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612bb9565b90506114db868287878761234b565b9150505b949350505050565b60006114f4848484612169565b90505b9392505050565b6040516321d1336160e11b81526004810184905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d9190612bb9565b9050600083611608576116038787848a6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190612cca565b611e87565b6116d5565b6116d586886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561164a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166e9190612cca565b896001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d09190612cca565b612169565b9050806000036116ea576000925050506114df565b604051632eec7b5560e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190612c62565b6001600160a01b031663c18f2d31886040518263ffffffff1660e01b81526004016117a391815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190612cca565b9050808611156117fa57600093505050506114df565b611807878488848661234b565b98975050505050505050565b61181b61251a565b6000611825611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612bb9565b61010081015190925060491c6001908116036118de5760405163861e9dcd60e01b815260040160405180910390fd5b33600090815260026020908152604080832088845282528083208551845290915281205461190d908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161196091815260200190565b602060405180830381865afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a029190612c62565b6001600160a01b031663e8db213089876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a799190612c62565b6040518563ffffffff1660e01b8152600401611a989493929190612c7f565b6040805180830381865afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612ca6565b9150915081831180611ae8575081155b15611b0657604051630236b92b60e21b815260040160405180910390fd5b808614611b265760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8a9190612cca565b9050808714611ba857611ba3886106866012600a612dc7565b611baa565b875b3360009081526001602090815260408083208d8452909152902054909550851115611be8576040516317e53f6760e11b815260040160405180910390fd5b50503360008181526002602090815260408083208b845282528083208851845282528083209590955591815260018083528482208a835290925292832080548590039055909155506107c5565b6000611d0a83837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166343a266c2866040518263ffffffff1660e01b8152600401611c8a91815260200190565b61012060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612bb9565b866001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b90505b92915050565b336000908152600160209081526040808320858452909152902054611d39908290612c4f565b336000908152600160209081526040808320958352949052929092209190915550565b600260005403611db35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b6000808060001985870985870292508281108382030391505080600003611df457838281611dea57611dea613356565b04925050506114f7565b838110611e1e57604051631dcf306360e21b81526004810182905260248101859052604401611daa565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0384166000908152600160209081526040808320868452909152812054808203611ebc5760009150506114df565b604051632eec7b5560e11b81526004810186905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015611f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4a9190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab9190612c62565b6001600160a01b031663e8db21308888602001518b8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190612c62565b6040518563ffffffff1660e01b81526004016120419493929190612c7f565b6040805180830381865afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190612ca6565b6001600160a01b038a1660009081526002602090815260408083208c845282528083208b518452909152812054929450909250906120bf9084612dd3565b905080158015906120d05750858214155b1561214357612140816120e56012600a612dc7565b604051635268657960e11b815260048101869052602481018a9052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064016106dd565b90505b808411612151576000612155565b8084035b9998505050505050505050565b6001600055565b60405163d175415360e01b81526004810184905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d175415390602401600060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb919081019061336c565b90506000805b82518110156122a65782818151811061221c5761221c6130f1565b60200260200101516001600160a01b031663a32e1e96886040518263ffffffff1660e01b815260040161225191815260200190565b602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190612cca565b61229c9083612c4f565b9150600101612201565b5060006001851461232157604051635268657960e11b815260016004820152602481018690526012604482015261231c908390670de0b6b3a7640000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf2906064016106dd565b612323565b815b90508560121461233e57612339816012886124bd565b612340565b805b979650505050505050565b600082840361235b57508061247a565b600080604051633157d5c760e21b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190613107565b60028111156123f8576123f8613128565b1461240b5761240686612483565b612414565b612414866124a0565b90508060000361242857600091505061247a565b6000612435848787611dba565b9050612710820361244957915061247a9050565b612475816124638861245d86612710612dd3565b89611dba565b61246d9085612c4f565b612710611dba565b925050505b95945050505050565b60006028826101000151901c61ffff16612710611d0d9190612dd3565b60006038826101000151901c61ffff16612710611d0d9190612dd3565b60008282036124cd5750826114f7565b828211156124fb576124df8383612dd3565b6124ea90600a612dc7565b6124f490856133fb565b90506114f7565b6125058284612dd3565b61251090600a612dc7565b6124f49085613412565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6001600160a01b038116811461258457600080fd5b50565b6000806040838503121561259a57600080fd5b82356125a58161256f565b946020939093013593505050565b6000806000606084860312156125c857600080fd5b505081359360208301359350604090920135919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b610140810161264d82856125df565b826101208301529392505050565b60008083601f84011261266d57600080fd5b50813567ffffffffffffffff81111561268557600080fd5b60208301915083602082850101111561269d57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156126de576126de6126a4565b60405290565b6040516060810167ffffffffffffffff811182821017156126de576126de6126a4565b604051601f8201601f1916810167ffffffffffffffff81118282101715612730576127306126a4565b604052919050565b600067ffffffffffffffff821115612752576127526126a4565b50601f01601f191660200190565b600061277361276e84612738565b612707565b905082815283838301111561278757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127af57600080fd5b611d0a83833560208501612760565b600080600080600080600080888a036101408112156127dc57600080fd5b89356127e78161256f565b98506080601f19820112156127fb57600080fd5b5060208901965060a0890135955060c0890135945060e089013561281e8161256f565b935061010089013567ffffffffffffffff8082111561283c57600080fd5b6128488c838d0161265b565b90955093506101208b013591508082111561286257600080fd5b5061286f8b828c0161279e565b9150509295985092959890939650565b60005b8381101561289a578181015183820152602001612882565b50506000910152565b600081518084526128bb81602086016020860161287f565b601f01601f19169290920160200192915050565b60006101808083016128e184896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612956818801836128a3565b978501979650505090820190600101612912565b5050505083810361016085015261247581866128a3565b60006020828403121561299357600080fd5b5035919050565b600080600080600060a086880312156129b257600080fd5b85356129bd8161256f565b94506020860135935060408601359250606086013567ffffffffffffffff808211156129e857600080fd5b818801915088601f8301126129fc57600080fd5b612a0b89833560208501612760565b93506080880135915080821115612a2157600080fd5b50612a2e8882890161279e565b9150509295509295909350565b6000610180808301612a4d84896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612ac2818801836128a3565b978501979650505090820190600101612a7e565b60008060008060808587031215612aec57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612b1e57600080fd5b8435612b298161256f565b9350602085013592506040850135915060608501358015158114612b4c57600080fd5b939692955090935050565b600080600060608486031215612b6c57600080fd5b8335612b778161256f565b95602085013595506040909401359392505050565b60008060408385031215612b9f57600080fd5b50508035926020909101359150565b8051610d6d8161256f565b60006101208284031215612bcc57600080fd5b612bd46126ba565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612c2060e08401612bae565b60e0820152610100928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611d0d57611d0d612c39565b600060208284031215612c7457600080fd5b81516114f78161256f565b93845260208401929092526001600160a01b03908116604084015216606082015260800190565b60008060408385031215612cb957600080fd5b505080516020909101519092909150565b600060208284031215612cdc57600080fd5b5051919050565b600181815b80851115612d1e578160001904821115612d0457612d04612c39565b80851615612d1157918102915b93841c9390800290612ce8565b509250929050565b600082612d3557506001611d0d565b81612d4257506000611d0d565b8160018114612d585760028114612d6257612d7e565b6001915050611d0d565b60ff841115612d7357612d73612c39565b50506001821b611d0d565b5060208310610133831016604e8410600b8410161715612da1575081810a611d0d565b612dab8383612ce3565b8060001904821115612dbf57612dbf612c39565b029392505050565b6000611d0a8383612d26565b81810381811115611d0d57611d0d612c39565b600060808284031215612df857600080fd5b6040516080810181811067ffffffffffffffff82111715612e1b57612e1b6126a4565b6040528235612e298161256f565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60208152612e6f6020820183516001600160a01b03169052565b60006020830151612e8b60408401826001600160a01b03169052565b506040830151612ec5606084018280516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b50606083015160e08301526080830151610100818185015260a08501519150610120612efb818601846001600160a01b03169052565b60c086015161014086015260e08601516101608601528186015192506101a0915081610180860152612f316101c08601846128a3565b90860151858203601f190183870152909250612f4d83826128a3565b9695505050505050565b600082601f830112612f6857600080fd5b8151612f7661276e82612738565b818152846020838601011115612f8b57600080fd5b6114df82602083016020870161287f565b600067ffffffffffffffff821115612fb657612fb66126a4565b5060051b60200190565b600080600060608486031215612fd557600080fd5b8351925060208085015167ffffffffffffffff80821115612ff557600080fd5b61300188838901612f57565b9450604087015191508082111561301757600080fd5b818701915087601f83011261302b57600080fd5b815161303961276e82612f9c565b81815260059190911b8301840190848101908a83111561305857600080fd5b8585015b838110156130e0578051858111156130745760008081fd5b86016060818e03601f1901121561308b5760008081fd5b6130936126e4565b888201516130a08161256f565b81526040820151898201526060820151878111156130be5760008081fd5b6130cc8f8b83860101612f57565b60408301525084525091860191860161305c565b508096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561311957600080fd5b8151600381106114f757600080fd5b634e487b7160e01b600052602160045260246000fd5b602081526131586020820183516001600160a01b03169052565b6000602083015161317460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101006131e28185018380516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b8401511515610180840152506101208301516101a08301526101408301516101e06101c084018190526132196102008501836128a3565b9150610160850151601f198584030182860152612f4d83826128a3565b60008060006060848603121561324b57600080fd5b8351925060208085015167ffffffffffffffff8082111561326b57600080fd5b61327788838901612f57565b9450604087015191508082111561328d57600080fd5b818701915087601f8301126132a157600080fd5b81516132af61276e82612f9c565b81815260059190911b8301840190848101908a8311156132ce57600080fd5b8585015b838110156130e0578051858111156132ea5760008081fd5b86016060818e03601f190112156133015760008081fd5b6133096126e4565b888201516133168161256f565b81526040820151898201526060820151878111156133345760008081fd5b6133428f8b83860101612f57565b6040830152508452509186019186016132d2565b634e487b7160e01b600052601260045260246000fd5b6000602080838503121561337f57600080fd5b825167ffffffffffffffff81111561339657600080fd5b8301601f810185136133a757600080fd5b80516133b561276e82612f9c565b81815260059190911b820183019083810190878311156133d457600080fd5b928401925b828410156123405783516133ec8161256f565b825292840192908401906133d9565b8082028115828204841417611d0d57611d0d612c39565b60008261342f57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209bee0e6664b5a77635e6a54428e35084a2d4c2101b4004d1696e07575b4dc3ba64736f6c63430008170033608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c634300081700336101e060405263017d78406002553480156200001a57600080fd5b5060405162005e5338038062005e538339810160408190526200003d9162000216565b61eeee6080819052601260a0819052600160c08190526001600160a01b038a1660e0528a818b8b8b8b8b8b8b6200007433620000cf565b6101a08990526101c08890526001600160a01b0380871661010052858116610120528481166101405283811661016052821661018052620000b5816200011f565b5050505050505050505050505050505050505050620002cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b62000129620001a2565b6001600160a01b038116620001945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019f81620000cf565b50565b6000546001600160a01b03163314620001fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200018b565b565b6001600160a01b03811681146200019f57600080fd5b600080600080600080600080610100898b0312156200023457600080fd5b885197506020890151620002488162000200565b60408a01519097506200025b8162000200565b60608a01519096506200026e8162000200565b60808a0151909550620002818162000200565b60a08a0151909450620002948162000200565b60c08a0151909350620002a78162000200565b60e08a0151909250620002ba8162000200565b809150509295985092959890939650565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c05161592c62000527600039600081816103cf0152611fc001526000818161030701526118220152600081816104f701528181610ad50152818161126b015281816117f001528181611e6b015281816125d10152818161293301528181612a40015261367d01526000818161065601526113f00152600081816102bb015261335401526000818161060f0152818161168d015281816118d30152818161237a01528181612b8b015281816131fa0152613e540152600081816104a50152818161099001528181610dec015281816111a001528181611f17015261268b01526000818161056b01528181611cff01528181611d9b015281816121ac01526122480152600081816102660152818161070e0152818161133b0152818161139d015281816117ca01528181611aa601528181612d210152612db101526000818161033b015281816105db015281816112dc0152818161130801528181611368015281816113ca015281816117a401528181611a8001528181612cfb01528181612d8b0152613c080152600081816106cc015281816107620152818161087e01528181610a2801528181610b5601528181610bc9015281816114820152818161176f01528181611a4a01528181611b980152818161234f015281816124060152818161244101528181612cc601528181612d5501528181612ede015281816131cd01528181613bd301528181613c7b01528181613e8101528181613fdc0152818161401a0152818161414f0152614193015261592c6000f3fe6080604052600436106101f95760003560e01c80638da5cb5b1161010d578063c715967a116100a0578063df21a7dd1161006f578063df21a7dd146106ae578063e5a6b10f146106fc578063f2fde38b14610730578063fc0c546a14610750578063fe663f0f1461078457600080fd5b8063c715967a14610631578063d3419bf314610644578063d6dacc5314610678578063ddca3f431461069857600080fd5b8063ad007d63116100dc578063ad007d6314610559578063b631b5001461058d578063b7bad1b1146105bd578063c41c2f24146105fd57600080fd5b80638da5cb5b146104c7578063975057e7146104e5578063a02f801c14610519578063a32e1e961461053957600080fd5b80634a4305c011610190578063715018a61161015f578063715018a6146104115780637258002c1461042657806389701db5146104465780638af56094146104665780638b79543c1461049357600080fd5b80634a4305c01461037d578063637913ac1461039d57806366248b86146103bd57806369fe0e2d146103f157600080fd5b80632bdfe004116101cc5780632bdfe004146102a95780632d1a5903146102f5578063313ce56714610329578063405b84fa1461035d57600080fd5b806301ffc9a7146101fe5780630cf8e858146102335780631982d679146102485780631ebc263f14610296575b600080fd5b34801561020a57600080fd5b5061021e610219366004614442565b6107a4565b60405190151581526020015b60405180910390f35b6102466102413660046144c9565b61084e565b005b34801561025457600080fd5b5061028861026336600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b60405190815260200161022a565b6102886102a4366004614589565b610871565b3480156102b557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022a565b34801561030157600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033557600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561036957600080fd5b50610288610378366004614650565b610977565b34801561038957600080fd5b50610288610398366004614680565b610c73565b3480156103a957600080fd5b506102466103b836600461455e565b610c8f565b3480156103c957600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fd57600080fd5b5061024661040c3660046146e9565b610ceb565b34801561041d57600080fd5b50610246610d58565b34801561043257600080fd5b50610246610441366004614702565b610d6c565b34801561045257600080fd5b506102466104613660046146e9565b610dd6565b34801561047257600080fd5b506104866104813660046146e9565b6110da565b60405161022a9190614730565b34801561049f57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506000546001600160a01b03166102dd565b3480156104f157600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052557600080fd5b506102886105343660046148d6565b611187565b34801561054557600080fd5b506102886105543660046146e9565b611242565b34801561056557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059957600080fd5b5061021e6105a836600461455e565b60046020526000908152604090205460ff1681565b3480156105c957600080fd5b506102886105d836600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b34801561060957600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b61024661063f36600461498e565b611477565b34801561065057600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068457600080fd5b506003546102dd906001600160a01b031681565b3480156106a457600080fd5b5061028860025481565b3480156106ba57600080fd5b5061021e6106c9366004614a35565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b34801561070857600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561073c57600080fd5b5061024661074b36600461455e565b611573565b34801561075c57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561079057600080fd5b5061028861079f366004614a61565b6115f1565b60006001600160e01b0319821615806107cd57506001600160e01b0319821663edb527eb60e01b145b806107e857506001600160e01b031982166301290c1760e61b145b8061080357506001600160e01b0319821663280be00760e21b145b8061081e57506001600160e01b0319821663fe663f0f60e01b145b8061083957506001600160e01b0319821663ad007d6360e01b145b80610848575061084882611621565b92915050565b61085787611671565b610868878787600088888888611477565b50505050505050565b600061087c8b611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146108eb5734156108cd57604051635e7e9adf60e11b815260040160405180910390fd5b476108d933308d61171d565b6108e38147614b2f565b9a50506108ef565b3499505b6109688a338d8b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061172c92505050565b9b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614b42565b836004610a11838383611cd4565b60405163df21a7dd60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905286169063df21a7dd90604401602060405180830381865afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190614b5f565b610abf5760405163581010ed60e01b815260040160405180910390fd5b604051636bb6a5ad60e01b8152600481018790527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636bb6a5ad906024016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190614b7c565b93508315610c255760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee14610b8d576000610b8f565b845b6040805160208101825260008152905163019f1d0b60e31b81529192506001600160a01b03881691630cf8e858918491610bf1918c918b917f000000000000000000000000000000000000000000000000000000000000000091600401614be5565b6000604051808303818588803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b5050505050505b604080518581523360208201526001600160a01b0387169188917fa7519e5f94697b7f53e97c5eb46a0c730a296ab686ab8fd333835c5f735784eb910160405180910390a350505092915050565b6000610c83888888878787611e38565b98975050505050505050565b610c976120cd565b600380546001600160a01b0319166001600160a01b0383169081179091556040513381527f0a9a80fe9716605b3e52abb3d792d6a4e7816d6afc02a5a4ef023081feaf9f609060200160405180910390a250565b610cf36120cd565b6302faf080811115610d18576040516345fbd9c160e01b815260040160405180910390fd5b6002819055604080518281523360208201527fd7414e590e1cb532989ab2a34c8f4c2c17f7ab6f006efeeaef2e87cd5008c202910160405180910390a150565b610d606120cd565b610d6a6000612127565b565b610d746120cd565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917fa2653e25a502c023a5830d0de847ef6f458387865b1f4f575d7594f9f2c0d71e910160405180910390a35050565b6040516331a9108f60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f9190614b42565b816005610e746000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614610e9484848484612177565b600085815260016020908152604080832080548251818502810185019093528083529192909190849084015b82821015610f2d57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101610ec0565b5050506000888152600160205260408120929350610f4c9291506143a1565b80516000805b828110156110cf57838181518110610f6c57610f6c614c20565b60200260200101516020015163ffffffff1660001480610fb25750633b9aca00848281518110610f9e57610f9e614c20565b60200260200101516040015163ffffffff16145b61102957611024848281518110610fcb57610fcb614c20565b602002602001015160000151858381518110610fe957610fe9614c20565b60200260200101516020015163ffffffff1686848151811061100d5761100d614c20565b60200260200101516040015163ffffffff166122eb565b61102c565b60005b91506110568285838151811061104457611044614c20565b6020026020010151606001518b612331565b60011515828a7fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a3525187858151811061108f5761108f614c20565b602002602001015160600151336040516110bf9291906001600160a01b0392831681529116602082015260400190565b60405180910390a4600101610f52565b505050505050505050565b606060016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561117c57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b03166060830152908352909201910161110f565b505050509050919050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156111ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112139190614b42565b8a6011611221838383611cd4565b6112318d8d8d8c8c8c8c8c61259e565b9d9c50505050505050505050505050565b60405163035240c760e61b81523060048201526024810182905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d49031c090604401602060405180830381865afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190614b7c565b905060007f00000000000000000000000000000000000000000000000000000000000000006012146113335761132e827f000000000000000000000000000000000000000000000000000000000000000060126127e5565b611335565b815b905060017f00000000000000000000000000000000000000000000000000000000000000001461146d576114688161138e7f0000000000000000000000000000000000000000000000000000000000000000600a614d1a565b604051635268657960e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152600160248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf290606401602060405180830381865afa15801561143f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114639190614b7c565b612842565b61146f565b805b949350505050565b61148088611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146114ef5734156114d157604051635e7e9adf60e11b815260040160405180910390fd5b476114dd33308a61171d565b6114e78147614b2f565b9750506114f3565b3496505b61156988888787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061290f92505050565b5050505050505050565b61157b6120cd565b6001600160a01b0381166115e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6115ee81612127565b50565b600088886002611602838383611cd4565b6116118c8c8c8b8b8b8b612a01565b9c9b505050505050505050505050565b60006001600160e01b0319821663301cdc3960e21b148061165257506001600160e01b0319821663144b000160e11b145b8061084857506301ffc9a760e01b6001600160e01b0319831614610848565b604051636e49181f60e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117009190614b5f565b6115ee57604051631b1d5a5960e31b815260040160405180910390fd5b6117278282613096565b505050565b60006001600160a01b0386166117555760405163a762251360e01b815260040160405180910390fd5b61175d6143c2565b606060008060405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018e81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632fa1b3918d838e7f00000000000000000000000000000000000000000000000000000000000000008f8d8d6040518863ffffffff1660e01b81526004016118669796959493929190614d52565b6000604051808303816000875af1158015611885573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ad9190810190614eb6565b9950919550909350915081156119e257604051632eec7b5560e11b8152600481018c90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119469190614b42565b604051638ae9c07b60e01b8152600481018d9052602481018490526001600160a01b038c8116604483015260c06064830152600060c48301528a15156084830152600160a48301529190911690638ae9c07b9060e4016020604051808303816000875af11580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df9190614b7c565b94505b88851015611a0357604051633dca309360e11b815260040160405180910390fd5b825115611c765760006040518061016001604052808e6001600160a01b031681526020018d81526020018660200151815260200183815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018781526020018c6001600160a01b031681526020018a15158152602001898152602001604051806020016040528060008152508152602001888152509050600084519050611b3e604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b60005b82811015611c7157868181518110611b5b57611b5b614c20565b60209081029190910101519150602080830151608086015190910152604082015161012085015281516001600160a01b0390811690636b204943907f00000000000000000000000000000000000000000000000000000000000000001661eeee14611bc7576000611bcd565b83602001515b866040518363ffffffff1660e01b8152600401611bea91906150d1565b6000604051808303818588803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050505081600001516001600160a01b03167f232bbbe420e7bac6f941dc82678daec2b4c712378d91e864b69aab6e26cdd42485846020015133604051611c61939291906150e4565b60405180910390a2600101611b41565b505050505b50505087816000015182602001517f133161f1c9161488f777ab9a26aae91d47c0d9a3fafb398960f138db02c737978c8b8f888b8b33604051611cbf9796959493929190615117565b60405180910390a45098975050505050505050565b336001600160a01b03841614801590611d7d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611d3a903390879087908790600401615177565b602060405180830381865afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7b9190614b5f565b155b8015611e1a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611dd790339087906000908790600401615177565b602060405180830381865afa158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e189190614b5f565b155b156117275760405163075fd2b160e01b815260040160405180910390fd5b60405163c664459760e01b8152600481018790526024810186905260448101859052600090819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c664459790606401610140604051808303816000875af1158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed991906151a0565b9150915085811015611efe5760405163b01493c160e01b815260040160405180910390fd5b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8a9190614b42565b600254909150600090818115611faa57611fa58d60006131af565b611fb0565b633b9aca005b9050600080611fe78f89602001517f00000000000000000000000000000000000000000000000000000000000000008a8888613323565b92509050633b9aca008314611ffb57908101905b8160000361200a57600061202e565b61202e8f6120258a61010001516001604f9190911c81161490565b84878a886134e3565b9450801561206b57633b9aca0083146120515761204c8185856122eb565b612054565b60005b61205e9082614b2f565b985061206b30878b61171d565b505050508a846000015185602001517fc41a8d26c70cfcf1b9ea10f82482ac947b8be5bea2750bc729af844bbfde1e28858e88878c8f8f336040516120b79897969594939291906151f8565b60405180910390a4505050509695505050505050565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016115dc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015801561218e5750336001600160a01b03851614155b801561222a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906121e7903390889088908890600401615177565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190614b5f565b155b80156122c7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061228490339088906000908890600401615177565b602060405180830381865afa1580156122a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c59190614b5f565b155b156122e55760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6000806122fd8484633b9aca00612842565b6123079085614b2f565b905061231c85633b9aca00611463818561524b565b6123269086614b2f565b9150505b9392505050565b604051630862026560e41b8152600160048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638620265090604401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190614b42565b9050806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461243a57600061243c565b855b6001877f0000000000000000000000000000000000000000000000000000000000000000886000808a60405160200161247791815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b81526004016124a8979695949392919061525e565b60206040518083038185885af1935050505080156124e3575060408051601f3d908101601f191682019092526124e091810190614b7c565b60015b612597573d808015612511576040519150601f19603f3d011682016040523d82523d6000602084013e612516565b606091505b5061255383306001600160a01b03851603612532576000612534565b835b306001600160a01b0386160361254b57600061254d565b875b88613660565b6001837f80a889d08f0d59eb962335b57fb1d5b29e86e3d23f15087b5541fddf15422bbe878433604051612589939291906152b6565b60405180910390a3506122e5565b5050505050565b604051632538671560e01b8152600481018990526024810188905260448101879052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632538671590606401610140604051808303816000875af115801561261b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263f91906151a0565b91509150878110156126645760405163b01493c160e01b815260040160405180910390fd5b6002546040516331a9108f60e11b8152600481018d90526000919082906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156126d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f69190614b42565b9050600082158061271657503360009081526004602052604090205460ff165b61272a576127258f60016131af565b612730565b633b9aca005b9050633b9aca008114612766576127618f6127588861010001516001604f9190911c81161490565b878686866134e3565b612769565b60005b935083850396508660001461278357612783308c8961171d565b505050508a826000015183602001517f2eeee47c6d8d31c3523c3aa07b4c3e3795db36be4c04546ef3e30a5102f568e18a8e86898d8d8d336040516127cf9897969594939291906152e7565b60405180910390a4505098975050505050505050565b60008282036127f557508261232a565b82821115612823576128078383614b2f565b61281290600a614d1a565b61281c9085615347565b905061232a565b61282d8284614b2f565b61283890600a614d1a565b61281c9085615374565b600080806000198587098587029250828110838203039150508060000361287c578382816128725761287261535e565b049250505061232a565b8381106128a657604051631dcf306360e21b815260048101829052602481018590526044016115dc565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008361291d576000612927565b61292786866136dd565b90506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e7c8e3e387612963848961524b565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156129a157600080fd5b505af11580156129b5573d6000803e3d6000fd5b50505050857f9ecaf7fc3dfffd6867c175d6e684b1f1e3aef019398ba8db2c1ffab4a09db25386838686336040516129f1959493929190615396565b60405180910390a2505050505050565b60006001600160a01b038416612a2a57604051637ba50db360e11b815260040160405180910390fd5b612a326143c2565b6000806000600254905060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2df1f958e8e8e8c8c6040518663ffffffff1660e01b8152600401612a929594939291906153e2565b6000604051808303816000875af1158015612ab1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ad99190810190615421565b6001600160a01b038d16600090815260046020526040902054909b5091985091965090915060ff1680612b295750612710612b1386613b31565b148015612b295750612710612b2786613b4e565b145b80612b32575081155b612b4657612b418c60026131af565b612b4c565b633b9aca005b925089861015612b6f5760405163f896960b60e01b815260040160405180910390fd5b8a15612c7f57604051632eec7b5560e11b8152600481018d90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190614b42565b604051631665bc0f60e01b81526001600160a01b038f81166004830152602482018f9052604482018e905260a06064830152600060a4830181905260848301529190911690631665bc0f9060c401600060405180830381600087803b158015612c6657600080fd5b505af1158015612c7a573d6000803e3d6000fd5b505050505b805115612fbf5760006040518061014001604052808f6001600160a01b031681526020018e8152602001876020015181526020018d815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018a81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018b6001600160a01b031681526020018a8152602001604051806020016040528060008152508152602001898152509050612e35604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b8251600090815b81811015612fb957858181518110612e5657612e56614c20565b6020026020010151935086600014612e7c57612e778460200151888a6122eb565b612e7f565b60005b92508215612eae576020840151612e96908a61524b565b98508284602001818151612eaa9190614b2f565b9052505b60208085015160a087015190910152604084015161010086015283516001600160a01b0390811690630bf46e59907f00000000000000000000000000000000000000000000000000000000000000001661eeee14612f0d576000612f13565b85602001515b876040518363ffffffff1660e01b8152600401612f3091906155f3565b6000604051808303818588803b158015612f4957600080fd5b505af1158015612f5d573d6000803e3d6000fd5b505050505083600001516001600160a01b03167f6596068545b2541b0aff5579d91f991d0fe5957df8e2082483ef361953e1f9978686602001518633604051612fa99493929190615606565b60405180910390a2600101612e3c565b50505050505b50841561301a576000633b9aca008314612fe357612fde8683856122eb565b612fe6565b60005b9050801561300757612ff8868561524b565b93506130048187614b2f565b95505b851561301857613018308a8861171d565b505b82600003613029576000613038565b6130388b600085848c876134e3565b5050505087816000015182602001517f2be10f2a0203c77d0fcaa9fd6484a8a1d6904de31cd820587f60c1c8c338c8148c898c888b8b336040516130829796959493929190615117565b60405180910390a450979650505050505050565b804710156130e65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016115dc565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613133576040519150601f19603f3d011682016040523d82523d6000602084013e613138565b606091505b50509050806117275760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016115dc565b604051630862026560e41b8152600160048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690638620265090604401602060405180830381865afa158015613241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132659190614b42565b6001600160a01b03160361327e5750633b9aca00610848565b6003546001600160a01b03161561331a5760035460405163192dd60960e01b81526001600160a01b039091169063192dd609906132c1908690869060040161563e565b602060405180830381865afa9250505080156132fa575060408051601f3d908101601f191682019092526132f791810190614b7c565b60015b61330657506000610848565b633b9aca008111613318579050610848565b505b50600092915050565b6040516369e11cc560e01b81526004810187905260248101869052604481018590526000908190633b9aca009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa1580156133a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133cb9190810190615670565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529192505b82518110156134d15782818151811061342257613422614c20565b60200260200101519150600061343d8a846040015187612842565b9050600061344f848f8e858e8e613b6b565b905080158015906134605750818114155b156134725761346f828861524b565b96505b811561347e57818b039a505b8360400151860395508b8d8f7f0d31ab573f6daa4b1edba8d31973b4ba9f98fbfecc47010c1533eeefd2a1225a878686336040516134bf94939291906157cd565b60405180910390a45050600101613407565b50879450505050965096945050505050565b60006134f08585846122eb565b9050851561360257600087815260016020818152604080842081516080810183528a815263ffffffff808b168286019081528982168386019081526001600160a01b03808d16606086019081528654808b018855968b5297909920935160029095029093019384555192909501805491519451909616600160401b02600160401b600160e01b03199486166401000000000267ffffffffffffffff199092169290951691909117179190911691909117909155518490869089907f77813be0661650ddc1a5193ff2837df4162b251cb432651e2c060c3fc39756be906135f5908790899033909283526001600160a01b03918216602084015216604082015260600190565b60405180910390a4613656565b61360d818489612331565b604080516001600160a01b038516815233602082015260009183918a917fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a35251910160405180910390a45b9695505050505050565b60405163e7c8e3e360e01b815260048101859052602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e7c8e3e390604401600060405180830381600087803b1580156136c957600080fd5b505af1158015611569573d6000803e3d6000fd5b600082815260016020908152604080832080548251818502810185019093528083528493849084015b8282101561377357600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101613706565b50505060008681526001602052604081209293506137929291506143a1565b8051839060005b81811015613ae9578260000361385857600087815260016020526040902084518590839081106137cb576137cb614c20565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015191909201805460408401516060909401516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff9586166401000000000267ffffffffffffffff1990931695909416949094171791909116919091179055613ae1565b83818151811061386a5761386a614c20565b60200260200101516000015183106139205783818151811061388e5761388e614c20565b602002602001015160000151830392508381815181106138b0576138b0614c20565b60200260200101516020015163ffffffff16600014806138f65750633b9aca008482815181106138e2576138e2614c20565b60200260200101516040015163ffffffff16145b6139145761390f848281518110610fcb57610fcb614c20565b613917565b60005b85019450613ae1565b6001600088815260200190815260200160002060405180608001604052808587858151811061395157613951614c20565b60200260200101516000015103815260200186848151811061397557613975614c20565b60200260200101516020015163ffffffff16815260200186848151811061399e5761399e614c20565b60200260200101516040015163ffffffff1681526020018684815181106139c7576139c7614c20565b6020908102919091018101516060908101516001600160a01b0390811690935284546001818101875560009687529583902085516002909202019081559184015191909401805460408501519490950151909216600160401b02600160401b600160e01b031963ffffffff9485166401000000000267ffffffffffffffff19909616949092169390931793909317929092161790558351849082908110613a7057613a70614c20565b60200260200101516020015163ffffffff1660001480613ab65750633b9aca00848281518110613aa257613aa2614c20565b60200260200101516040015163ffffffff16145b613ad557613ad083858381518110610fe957610fe9614c20565b613ad8565b60005b85019450600092505b600101613799565b50604080518381523360208201528591879189917f59860d79d97c1fce2be7f987915c631471f4b08f671200463cc40a3380194ffb910160405180910390a450505092915050565b60006028826101000151901c61ffff166127106108489190614b2f565b60006038826101000151901c61ffff166127106108489190614b2f565b60c086015183906001600160a01b031615613e2b57633b9aca008214158015613bb1575060c08701516001600160a01b031660009081526004602052604090205460ff16155b15613bc457613bc18484846122eb565b90035b60006040518060c001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018381526020017f000000000000000000000000000000000000000000000000000000000000000081526020018881526020018781526020018981525090506060613c558960c00151634eba05fd60e11b6142c9565b15613d88578860c001516001600160a01b0316639d740bfa61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614613caf576000613cb1565b845b846040518363ffffffff1660e01b8152600401613cce9190615802565b6000604051808303818588803b158015613ce757600080fd5b505af193505050508015613cf9575060015b613d83573d808015613d27576040519150601f19603f3d011682016040523d82523d6000602084013e613d2c565b606091505b50805115613d3a5780613d7b565b604051602001613d6b906020808252600d908201526c105b1b1bd8d85d194819985a5b609a1b604082015260600190565b6040516020818303038152906040525b915050613dca565b613dca565b604051602001613db8906020808252600c908201526b12515490cc4d8d4819985a5b60a21b604082015260600190565b60405160208183030381529060405290505b805115613e2457613de1888a60c001518589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a888433604051613e1b9493929190615856565b60405180910390a25b5050613656565b606087015115614286576060870151604051630862026560e41b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638620265091613ebb917f0000000000000000000000000000000000000000000000000000000000000000906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa158015613ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efc9190614b42565b90506001600160a01b038116613f5e5760009150613f1d8760008088613660565b867f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f800796898733604051613f5193929190615899565b60405180910390a2614280565b6001600160a01b0381163014801590613f7b5750633b9aca008314155b8015613fa057506001600160a01b03811660009081526004602052604090205460ff16155b15613fb557613fb08585856122eb565b820391505b87602001511561413257806001600160a01b0316630cf8e85861eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614010576000614012565b835b8a60600151857f00000000000000000000000000000000000000000000000000000000000000008c60405160200161404c91815260200190565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161407a9493929190614be5565b6000604051808303818588803b15801561409357600080fd5b505af1935050505080156140a5575060015b61412d573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b606091505b506140e588838589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a88843360405161411f9493929190615856565b60405180910390a250614280565b614280565b806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614183576000614185565b835b60608b015160808c015186907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b03166141c657336141cc565b8d608001515b60008f600001518f6040516020016141e691815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b8152600401614217979695949392919061525e565b60206040518083038185885af193505050508015614252575060408051601f3d908101601f1916820190925261424f91810190614b7c565b60015b613e24573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b50613656565b633b9aca00821461429f5761429c8484846122eb565b90035b60808701516136569030906001600160a01b03166142bd57336142c3565b88608001515b8361171d565b60006142d4836142e5565b801561232a575061232a8383614318565b60006142f8826301ffc9a760e01b614318565b80156108485750614311826001600160e01b0319614318565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561438a575060208210155b80156143965750600081115b979650505050505050565b50805460008255600202906000526020600020908101906115ee9190614417565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b5b8082111561443e57600081556001810180546001600160e01b0319169055600201614418565b5090565b60006020828403121561445457600080fd5b81356001600160e01b03198116811461232a57600080fd5b6001600160a01b03811681146115ee57600080fd5b60008083601f84011261449357600080fd5b5081356001600160401b038111156144aa57600080fd5b6020830191508360208285010111156144c257600080fd5b9250929050565b600080600080600080600060a0888a0312156144e457600080fd5b873596506020880135955060408801356144fd8161446c565b945060608801356001600160401b038082111561451957600080fd5b6145258b838c01614481565b909650945060808a013591508082111561453e57600080fd5b5061454b8a828b01614481565b989b979a50959850939692959293505050565b60006020828403121561457057600080fd5b813561232a8161446c565b80151581146115ee57600080fd5b6000806000806000806000806000806101008b8d0312156145a957600080fd5b8a35995060208b0135985060408b01356145c28161446c565b975060608b01356145d28161446c565b965060808b0135955060a08b01356145e98161457b565b945060c08b01356001600160401b038082111561460557600080fd5b6146118e838f01614481565b909650945060e08d013591508082111561462a57600080fd5b506146378d828e01614481565b915080935050809150509295989b9194979a5092959850565b6000806040838503121561466357600080fd5b8235915060208301356146758161446c565b809150509250929050565b600080600080600080600060c0888a03121561469b57600080fd5b87359650602088013595506040880135945060608801356146bb8161446c565b93506080880135925060a08801356001600160401b038111156146dd57600080fd5b61454b8a828b01614481565b6000602082840312156146fb57600080fd5b5035919050565b6000806040838503121561471557600080fd5b82356147208161446c565b915060208301356146758161457b565b602080825282518282018190526000919060409081850190868401855b82811015614799578151805185528681015163ffffffff908116888701528682015116868601526060908101516001600160a01b0316908501526080909301929085019060010161474d565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156147df576147df6147a6565b60405290565b604051606081016001600160401b03811182821017156147df576147df6147a6565b60405160e081016001600160401b03811182821017156147df576147df6147a6565b604051601f8201601f191681016001600160401b0381118282101715614851576148516147a6565b604052919050565b60006001600160401b03821115614872576148726147a6565b50601f01601f191660200190565b600082601f83011261489157600080fd5b81356148a461489f82614859565b614829565b8181528460208386010111156148b957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006101008a8c0312156148f557600080fd5b8935985060208a0135975060408a0135965060608a01356149158161446c565b955060808a0135945060a08a013561492c8161446c565b935060c08a01356001600160401b038082111561494857600080fd5b6149548d838e01614880565b945060e08c013591508082111561496a57600080fd5b506149778c828d01614481565b915080935050809150509295985092959850929598565b60008060008060008060008060c0898b0312156149aa57600080fd5b883597506020890135965060408901356149c38161446c565b955060608901356149d38161457b565b945060808901356001600160401b03808211156149ef57600080fd5b6149fb8c838d01614481565b909650945060a08b0135915080821115614a1457600080fd5b50614a218b828c01614481565b999c989b5096995094979396929594505050565b60008060408385031215614a4857600080fd5b8235614a538161446c565b946020939093013593505050565b600080600080600080600080610100898b031215614a7e57600080fd5b8835614a898161446c565b975060208901359650604089013595506060890135614aa78161446c565b94506080890135935060a0890135614abe8161446c565b925060c08901356001600160401b0380821115614ada57600080fd5b614ae68c838d01614880565b935060e08b0135915080821115614afc57600080fd5b50614b098b828c01614880565b9150509295985092959890939650565b634e487b7160e01b600052601160045260246000fd5b8181038181111561084857610848614b19565b600060208284031215614b5457600080fd5b815161232a8161446c565b600060208284031215614b7157600080fd5b815161232a8161457b565b600060208284031215614b8e57600080fd5b5051919050565b60005b83811015614bb0578181015183820152602001614b98565b50506000910152565b60008151808452614bd1816020860160208601614b95565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b038316604082015260a06060820152600060a082015260c06080820152600061365660c0830184614bb9565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115614c71578160001904821115614c5757614c57614b19565b80851615614c6457918102915b93841c9390800290614c3b565b509250929050565b600082614c8857506001610848565b81614c9557506000610848565b8160018114614cab5760028114614cb557614cd1565b6001915050610848565b60ff841115614cc657614cc6614b19565b50506001821b610848565b5060208310610133831016604e8410600b8410161715614cf4575081810a610848565b614cfe8383614c36565b8060001904821115614d1257614d12614b19565b029392505050565b600061232a8383614c79565b80516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b6001600160a01b03888116825260009061014090614d73602085018b614d26565b8860a08501528760c085015280871660e08501525080610100840152614d9b81840186614bb9565b9050828103610120840152614db08185614bb9565b9a9950505050505050505050565b8051614dc98161446c565b919050565b60006101208284031215614de157600080fd5b614de96147bc565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c0820152614e3760e08301614dbe565b60e082015261010080830151818301525092915050565b60006001600160401b03821115614e6757614e676147a6565b5060051b60200190565b600082601f830112614e8257600080fd5b8151614e9061489f82614859565b818152846020838601011115614ea557600080fd5b61146f826020830160208701614b95565b6000806000806101808587031215614ecd57600080fd5b614ed78686614dce565b935061012085015192506101408501516001600160401b0380821115614efc57600080fd5b818701915087601f830112614f1057600080fd5b8151614f1e61489f82614e4e565b8082825260208201915060208360051b86010192508a831115614f4057600080fd5b602085015b83811015614fca57805185811115614f5c57600080fd5b86016060818e03601f19011215614f7257600080fd5b614f7a6147e5565b6020820151614f888161446c565b815260408201516020820152606082015187811115614fa657600080fd5b614fb58f602083860101614e71565b60408301525084525060209283019201614f45565b506101608a01519096509350505080821115614fe557600080fd5b50614ff287828801614e71565b91505092959194509250565b80516001600160a01b031682526000610220602083015160208501526040830151604085015260608301516150366060860182614d26565b50608083015161504960e0860182614d26565b5060a083015161016085015260c08301516001600160a01b031661018085015260e083015115156101a08501526101008301516101c0850182905261509082860182614bb9565b9150506101208301518482036101e08601526150ac8282614bb9565b9150506101408301518482036102008601526150c88282614bb9565b95945050505050565b60208152600061232a6020830184614ffe565b6060815260006150f76060830186614ffe565b6020830194909452506001600160a01b0391909116604090910152919050565b600060018060a01b03808a168352808916602084015287604084015286606084015260e0608084015261514d60e0840187614bb9565b83810360a085015261515f8187614bb9565b92505080841660c08401525098975050505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60008061014083850312156151b457600080fd5b6151be8484614dce565b915061012083015190509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808b16835289602084015288604084015287606084015286608084015260e060a084015261523360e0840186886151cf565b915080841660c0840152509998505050505050505050565b8082018082111561084857610848614b19565b878152602081018790526001600160a01b038681166040830152851660608201526080810184905282151560a082015261010060c08201819052600090820181905261012060e08301819052614db081840185614bb9565b8381526060602082015260006152cf6060830185614bb9565b905060018060a01b0383166040830152949350505050565b600060018060a01b03808b16835289602084015288604084015287606084015260e0608084015261531b60e0840188614bb9565b83810360a085015261532e8187896151cf565b92505080841660c0840152509998505050505050505050565b808202811582820484141761084857610848614b19565b634e487b7160e01b600052601260045260246000fd5b60008261539157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a0604082015260006153b560a0830186614bb9565b82810360608401526153c78186614bb9565b91505060018060a01b03831660808301529695505050505050565b60018060a01b038616815284602082015283604082015260a06060820152600061540f60a0830185614bb9565b8281036080840152610c838185614bb9565b600080600080610180858703121561543857600080fd5b6154428686614dce565b935061012085015192506101408501516001600160401b038082111561546757600080fd5b818701915087601f83011261547b57600080fd5b815161548961489f82614e4e565b8082825260208201915060208360051b86010192508a8311156154ab57600080fd5b602085015b83811015614fca578051858111156154c757600080fd5b86016060818e03601f190112156154dd57600080fd5b6154e56147e5565b60208201516154f38161446c565b81526040820151602082015260608201518781111561551157600080fd5b6155208f602083860101614e71565b604083015250845250602092830192016154b0565b80516001600160a01b03168252600061020060208301516020850152604083015160408501526060830151606085015260808301516155776080860182614d26565b5060a083015161010061558c81870183614d26565b60c08501516001600160a01b031661018087015260e08501516101a0870184905291506155bb83870183614bb9565b9250808501519150508482036101c08601526155d78282614bb9565b9150506101208301518482036101e08601526150c88282614bb9565b60208152600061232a6020830184615535565b6080815260006156196080830187615535565b60208301959095525060408101929092526001600160a01b0316606090910152919050565b828152604081016003831061566357634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b6000602080838503121561568357600080fd5b82516001600160401b0381111561569957600080fd5b8301601f810185136156aa57600080fd5b80516156b861489f82614e4e565b81815260e091820283018401918482019190888411156156d757600080fd5b938501935b8385101561576d5780858a0312156156f45760008081fd5b6156fc614807565b85516157078161457b565b8152858701516157168161457b565b81880152604086810151908201526060808701519082015260808087015161573d8161446c565b9082015260a0868101519082015260c08087015161575a8161446c565b90820152835293840193918501916156dc565b50979650505050505050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b61014081016157dc8287615779565b60e08201949094526101008101929092526001600160a01b031661012090910152919050565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161584f90840182615779565b5092915050565b60006101406158658388615779565b8560e08401528061010084015261587e81840186614bb9565b91505060018060a01b03831661012083015295945050505050565b60006101406158a88387615779565b60e08301949094525061010081018390526012928101929092527115195c9b5a5b985b081b9bdd08199bdd5b9960721b6101608301526001600160a01b03166101208201526101800191905056fea26469706673582212206d4c53773d9fed6493e50bd15d6276b96362c21ab57997281c5ef532f52db6e864736f6c634300081700330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220563e9f78e57403c3ce73193090b9305ada4014692e5d6a50a0978303e51f2b1e64736f6c63430008170033","sourceMap":"2767:6615:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4413:3746;;;:::i;:::-;;2170:134:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2939:133;;;:::i;2640:141::-;;;:::i;2456:178::-;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;2787:146::-;;;:::i;1875:141::-;;;:::i;1819:584:48:-;;;:::i;:::-;;;3690:14:197;;3683:22;3665:41;;3653:2;3638:18;1819:584:48;3525:187:197;2022:142:55;;;:::i;1572:26:48:-;;;;;;;;;4413:3746:19;4510:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4491:16:19;:40;;-1:-1:-1;;;;;;4491:40:19;-1:-1:-1;;;;;4491:40:19;;;;;;;;;4541:54;;;-1:-1:-1;;;4541:54:19;;;;;3929:51:197;;;;3996:18;;;3989:30;4055:2;4035:18;;;4028:30;-1:-1:-1;;;4074:18:197;;;4067:45;-1:-1:-1;;;;;;;;;;;4541:8:19;;;4129:19:197;;4541:54:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4635:16:19;;4620:32;;-1:-1:-1;;;;;4635:16:19;;;;-1:-1:-1;4620:32:19;;-1:-1:-1;4620:32:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4620:32:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4606:11:19;:46;;-1:-1:-1;;;;;;4606:46:19;-1:-1:-1;;;;;4606:46:19;;;;;;;;;4662:44;;;-1:-1:-1;;;4662:44:19;;;;;4604:51:197;;;;4671:18;;;4664:30;4730:2;4710:18;;;4703:30;-1:-1:-1;;;4749:18:197;;;4742:40;-1:-1:-1;;;;;;;;;;;4662:8:19;;;4799:19:197;;4662:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4742:13:19;;4729:27;;-1:-1:-1;;;;;4742:13:19;;;;-1:-1:-1;4729:27:19;;-1:-1:-1;4729:27:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4729:27:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4717:9:19;:39;;-1:-1:-1;;;;;;4717:39:19;-1:-1:-1;;;;;4717:39:19;;;;;;;;;4766:40;;;-1:-1:-1;;;4766:40:19;;;;;5249:51:197;;;;5316:18;;;5309:30;5375:1;5355:18;;;5348:29;-1:-1:-1;;;5393:18:197;;;5386:38;-1:-1:-1;;;;;;;;;;;4766:8:19;;;5441:19:197;;4766:40:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4817:30;4850:29;4870:4;4877:1;4850:11;:29::i;:::-;4817:62;;4950:22;4913:61;;;;;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4913:61:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4890:20:19;:84;;-1:-1:-1;;;;;;4890:84:19;-1:-1:-1;;;;;4890:84:19;;;;;;;;;4984:62;;;-1:-1:-1;;;4984:62:19;;;;;5913:51:197;;;;5980:18;;;5973:30;6039:2;6019:18;;;6012:30;-1:-1:-1;;;6058:18:197;;;6051:49;-1:-1:-1;;;;;;;;;;;4984:8:19;;;6117:19:197;;4984:62:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5095:16:19;;5119:11;;5138:20;;5166:13;;5072:113;;-1:-1:-1;;;;;5095:16:19;;;;-1:-1:-1;5119:11:19;;;;-1:-1:-1;5138:20:19;;;;5166:13;;5072:113;;;:::i;:::-;-1:-1:-1;;;;;6508:15:197;;;6490:34;;6560:15;;;6555:2;6540:18;;6533:43;6612:15;;;6607:2;6592:18;;6585:43;6664:15;;;6659:2;6644:18;;6637:43;6439:3;6424:19;5072:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5057:12:19;:128;;-1:-1:-1;;;;;;5057:128:19;-1:-1:-1;;;;;5057:128:19;;;;;;;;;5195:46;;;-1:-1:-1;;;5195:46:19;;;;;6903:51:197;;;;6970:18;;;6963:30;7029:2;7009:18;;;7002:30;-1:-1:-1;;;7048:18:197;;;7041:41;-1:-1:-1;;;;;;;;;;;5195:8:19;;;7099:19:197;;5195:46:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5315:12:19;;5282:46;;-1:-1:-1;;;;;5315:12:19;;;;-1:-1:-1;5282:46:19;;-1:-1:-1;5282:46:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;5282:46:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5249:30:19;:79;;-1:-1:-1;;;;;;5249:79:19;-1:-1:-1;;;;;5249:79:19;;;;;;5376:16;;5400:11;;5419:12;;5439:20;;5352:113;;5376:16;;;;5400:11;;;;5419:12;;;;5439:20;;5352:113;;;:::i;:::-;-1:-1:-1;;;;;6508:15:197;;;6490:34;;6560:15;;;6555:2;6540:18;;6533:43;6612:15;;;6607:2;6592:18;;6585:43;6664:15;;;6659:2;6644:18;;6637:43;6439:3;6424:19;5352:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5336:13:19;:129;;-1:-1:-1;;;;;;5336:129:19;-1:-1:-1;;;;;5336:129:19;;;;;;;;;5475:48;;;-1:-1:-1;;;5475:48:19;;;;;8135:51:197;;;;8202:18;;;8195:30;8261:2;8241:18;;;8234:30;-1:-1:-1;;;8280:18:197;;;8273:42;-1:-1:-1;;;;;;;;;;;5475:8:19;;;8332:19:197;;5475:48:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5569:16:19;;5587:11;;5600:12;;5551:62;;-1:-1:-1;;;;;5569:16:19;;;;-1:-1:-1;5587:11:19;;;;-1:-1:-1;5600:12:19;;;;5551:62;;;:::i;:::-;-1:-1:-1;;;;;8686:15:197;;;8668:34;;8738:15;;;8733:2;8718:18;;8711:43;8790:15;;;8785:2;8770:18;;8763:43;8618:2;8603:18;5551:62:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5534:14:19;:79;;-1:-1:-1;;;;;;5534:79:19;-1:-1:-1;;;;;5534:79:19;;;;;;;;;5623:50;;;-1:-1:-1;;;5623:50:19;;;;;9029:51:197;;;;9096:18;;;9089:30;9155:2;9135:18;;;9128:30;-1:-1:-1;;;9174:18:197;;;9167:43;-1:-1:-1;;;;;;;;;;;5623:8:19;;;9227:19:197;;5623:50:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5727:16:19;;5751:11;;5770:12;;5790:20;;5818:13;;5839:14;;5861:30;;5700:197;;-1:-1:-1;;;;;5727:16:19;;;;-1:-1:-1;5751:11:19;;;;-1:-1:-1;5770:12:19;;;;5790:20;;;;5818:13;;;;5839:14;;;;5861:30;;5700:197;;;:::i;:::-;-1:-1:-1;;;;;9806:15:197;;;9788:34;;9858:15;;;9853:2;9838:18;;9831:43;9910:15;;;9905:2;9890:18;;9883:43;9962:15;;;9957:2;9942:18;;9935:43;10015:15;;10009:3;9994:19;;9987:44;10068:15;;9768:3;10047:19;;10040:44;10121:15;;;10115:3;10100:19;;10093:44;9737:3;9722:19;5700:197:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5684:13:19;:213;;-1:-1:-1;;;;;;5684:213:19;-1:-1:-1;;;;;5684:213:19;;;;;;;;;5907:48;;;-1:-1:-1;;;5907:48:19;;;;;10360:51:197;;;;10427:18;;;10420:30;10486:2;10466:18;;;10459:30;-1:-1:-1;;;10505:18:197;;;10498:42;-1:-1:-1;;;;;;;;;;;5907:8:19;;;10557:19:197;;5907:48:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5975:13:19;;5966:23;;-1:-1:-1;;;5966:23:19;;-1:-1:-1;;;;;5975:13:19;;;5966:23;;;4330:51:197;-1:-1:-1;;;;;;;;;;;5966:8:19;-1:-1:-1;5966:8:19;;-1:-1:-1;4303:18:197;;5966:23:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5999:12:19;;6053:13;;5999:75;;-1:-1:-1;;;5999:75:19;;-1:-1:-1;;;;;6053:13:19;;;5999:75;;;10755:51:197;5999:12:19;10822:18:197;;;10815:50;5999:12:19;;;-1:-1:-1;5999:45:19;;-1:-1:-1;10728:18:197;;5999:75:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6161:12:19;;6181:20;;6209:9;;6111:113;;-1:-1:-1;;;;;6161:12:19;;;;-1:-1:-1;6181:20:19;;;;-1:-1:-1;6209:9:19;;;;6111:113;;;:::i;:::-;-1:-1:-1;;;;;8686:15:197;;;8668:34;;8738:15;;;8733:2;8718:18;;8711:43;8790:15;;;8785:2;8770:18;;8763:43;8618:2;8603:18;6111:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6085:23:19;:139;;-1:-1:-1;;;;;;6085:139:19;-1:-1:-1;;;;;6085:139:19;;;;;;;;;6234:84;;;-1:-1:-1;;;6234:84:19;;;;;11545:51:197;;;;11612:18;;;11605:30;11671:2;11651:18;;;11644:30;11710:34;11690:18;;;11683:62;-1:-1:-1;;;11761:19:197;;;11754:37;-1:-1:-1;;;;;;;;;;;6234:8:19;;;11808:19:197;;6234:84:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6344:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6329:12:19;:32;;-1:-1:-1;;;;;;6329:32:19;-1:-1:-1;;;;;6329:32:19;;;;;;;;;6433:18;;;-1:-1:-1;;;6433:18:19;;;;:16;;:18;;;;;;;;;;;;;;;6329:32;6433:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6459:16;;6483:11;;6502:12;;6522:14;;6544:9;;6569:23;;6601:13;;6396:224;;-1:-1:-1;;;;;6459:16:19;;;;6483:11;;;;6502:12;;;;6522:14;;;;6544:9;;;;6569:23;;;;6601:13;;;;6396:224;;;:::i;:::-;12477:25:197;;;-1:-1:-1;;;;;12576:15:197;;;12571:2;12556:18;;12549:43;12628:15;;;12623:2;12608:18;;12601:43;12680:15;;;12675:2;12660:18;;12653:43;12733:15;;;12727:3;12712:19;;12705:44;12786:15;;12529:3;12765:19;;12758:44;12839:15;;12833:3;12818:19;;12811:44;12892:15;12886:3;12871:19;;12864:44;12464:3;12449:19;6396:224:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6372:21:19;:248;;-1:-1:-1;;;;;;6372:248:19;-1:-1:-1;;;;;6372:248:19;;;;;;;;;6630:69;;;-1:-1:-1;;;6630:69:19;;;;;13131:51:197;;;;13198:18;;;13191:30;13257:2;13237:18;;;13230:30;13296:27;13276:18;;;13269:55;-1:-1:-1;;;;;;;;;;;6630:8:19;;;13341:19:197;;6630:69:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6726:21:19;;6710:10;:38;;6726:21;6710:38;;;;;6726:21;6710:38;;;;;;;;-1:-1:-1;;;;;;6710:38:19;-1:-1:-1;;;;;6726:21:19;;;6710:38;;;;;;;6778:53;;;;;;;;;;;;;;;-1:-1:-1;;;6778:53:19;;;;;;;6710:38;6778:53;;;;;;;;-1:-1:-1;6759:16:19;;-1:-1:-1;6759:16:19;;:72;;:16;:72;:::i;:::-;-1:-1:-1;6759:72:19;;;;;;;;;;6850:185;;;;;;;;;6893:2;6850:185;;;6917:15;6850:185;;;;;;6960:9;6850:185;;;;;;-1:-1:-1;6850:185:19;;;;;;;6842:5;:193;;;;;;;;;;;;;;-1:-1:-1;;;;;;6842:193:19;;;7058:802;;7116:168;;;;;7058:802;;;7116:168;;;;;;;;;;;;;;;7058:802;;7312:4;7058:802;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6842:193;7058:802;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;;-1:-1:-1;7058:802:19;;;;7046:9;:814;;-1:-1:-1;;7046:814:19;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7046:814:19;;;;;;;7914:12;;7906:32;;-1:-1:-1;;;7906:32:19;;-1:-1:-1;;;;;7914:12:19;;;7046:814;7906:32;;16285:51:197;7928:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7906:7:19;;;16258:18:197;;7906:32:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7956:13:19;;7948:33;;-1:-1:-1;;;7948:33:19;;-1:-1:-1;;;;;7956:13:19;;;7948:33;;;16285:51:197;7971:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7948:7:19;-1:-1:-1;7948:7:19;;-1:-1:-1;16258:18:197;;7948:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7999:7:19;;7991:27;;-1:-1:-1;;;7991:27:19;;-1:-1:-1;;;;;7999:7:19;;;7991:27;;;16285:51:197;8008:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7991:7:19;-1:-1:-1;7991:7:19;;-1:-1:-1;16258:18:197;;7991:27:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8038:13:19;;8029:39;;;-1:-1:-1;;;8029:39:19;;-1:-1:-1;;;;;8038:13:19;;;8029:39;;;16602:51:197;16669:18;;;16662:30;16728:2;16708:18;;;16701:30;-1:-1:-1;;;16747:18:197;;;16740:42;-1:-1:-1;;;;;;;;;;;8029:8:19;-1:-1:-1;8029:8:19;;-1:-1:-1;16799:19:197;;8029:39:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8087:12:19;;8078:37;;;-1:-1:-1;;;8078:37:19;;-1:-1:-1;;;;;8087:12:19;;;8078:37;;;17041:51:197;17108:18;;;17101:30;17167:2;17147:18;;;17140:30;-1:-1:-1;;;17186:18:197;;;17179:41;-1:-1:-1;;;;;;;;;;;8078:8:19;-1:-1:-1;8078:8:19;;-1:-1:-1;17237:19:197;;8078:37:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8134:7:19;;8125:27;;;-1:-1:-1;;;8125:27:19;;-1:-1:-1;;;;;8134:7:19;;;8125:27;;;17479:51:197;17546:18;;;17539:30;17605:1;17585:18;;;17578:29;-1:-1:-1;;;17623:18:197;;;17616:36;-1:-1:-1;;;;;;;;;;;8125:8:19;-1:-1:-1;8125:8:19;;-1:-1:-1;17669:19:197;;8125:27:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:3714;4413:3746::o;2170:134:55:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:55;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;2939:133::-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:55;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:55;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;2456:178::-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2787:146;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:141;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:48;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;-1:-1:-1;;;;;;;;;;;2985:55:48;3066:16;1980:374;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:48;;;16285:51:197;;;-1:-1:-1;;;16352:18:197;;;16345:34;2196:43:48;;;;;;;;;16258:18:197;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;2022:142:55:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:55;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;8302:1078:19:-;8379:16;8407:17;8438:6;8448:4;8438:14;8434:794;;8475:67;;-1:-1:-1;;;8475:67:19;;;19180:28:197;-1:-1:-1;;;19224:11:197;;;19217:36;-1:-1:-1;;;;;;19290:2:197;19286:15;;;19282:53;19269:11;;;19262:74;-1:-1:-1;;;19352:12:197;;;19345:37;19398:12;;8475:67:19;;;;;;;;;;;;;8468:74;;8434:794;;;8573:4;8563:6;:14;8559:669;;8600:68;;-1:-1:-1;;;8600:68:19;;;19658:28:197;-1:-1:-1;;;19702:11:197;;;19695:36;-1:-1:-1;;;;;;19768:2:197;19764:15;;;19760:53;19747:11;;;19740:74;19640:3;19848:16;;;-1:-1:-1;;;;;;19844:25:197;19830:12;;;19823:47;19886:12;;8600:68:19;19421:483:197;8559:669:19;8699:4;8689:6;:14;8685:543;;8726:82;;-1:-1:-1;;;8726:82:19;;;20172:28:197;-1:-1:-1;;;20216:11:197;;;20209:36;-1:-1:-1;;;;;;20282:2:197;20278:15;;;20274:53;20261:11;;;20254:74;-1:-1:-1;;;20344:12:197;;;20337:37;20154:3;20408:16;;;-1:-1:-1;;;;;;20404:25:197;20390:12;;;20383:47;20446:12;;8726:82:19;19909:555:197;8685:543:19;8839:6;8829;:16;8825:403;;8868:83;;-1:-1:-1;;;8868:83:19;;;20734:28:197;-1:-1:-1;;;20778:11:197;;;20771:36;-1:-1:-1;;;;;;20844:2:197;20840:15;;;20836:53;20823:11;;;20816:74;-1:-1:-1;;;20906:12:197;;;20899:37;-1:-1:-1;;;;;;20992:3:197;20970:16;;;20966:38;20952:12;;;20945:60;21021:12;;8868:83:19;20469:570:197;8825:403:19;8982:8;8972:6;:18;8968:260;;9013:83;;-1:-1:-1;;;9013:83:19;;;21309:28:197;-1:-1:-1;;;21353:11:197;;;21346:36;-1:-1:-1;;;;;;21419:2:197;21415:15;;;21411:53;21398:11;;;21391:74;-1:-1:-1;;;21481:12:197;;;21474:37;-1:-1:-1;;;;;;21567:3:197;21545:16;;;21541:41;21527:12;;;21520:63;21599:12;;9013:83:19;21044:573:197;8968:260:19;9134:83;;-1:-1:-1;;;9134:83:19;;;21887:28:197;-1:-1:-1;;;21931:11:197;;;21924:36;-1:-1:-1;;;;;;21997:2:197;21993:15;;;21989:53;21976:11;;;21969:74;-1:-1:-1;;;22059:12:197;;;22052:37;-1:-1:-1;;;;;;22145:3:197;22123:16;;;22119:43;22105:12;;;22098:65;22179:12;;9134:83:19;;;;;;;;;;;;9127:90;;8968:260;9252:15;;;;;;;9237:12;9316:15;;;9252;8302:1078;-1:-1:-1;;;8302:1078:19:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:658:197:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:197;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:197;;14:658;-1:-1:-1;;;;;;14:658:197:o;677:1569::-;881:4;910:2;950;939:9;935:18;980:2;969:9;962:21;1003:6;1038;1032:13;1069:6;1061;1054:22;1095:2;1085:12;;1128:2;1117:9;1113:18;1106:25;;1190:2;1180:6;1177:1;1173:14;1162:9;1158:30;1154:39;1228:2;1220:6;1216:15;1249:1;1270;1280:937;1296:6;1291:3;1288:15;1280:937;;;1365:22;;;-1:-1:-1;;1361:36:197;1349:49;;1421:13;;1508:9;;-1:-1:-1;;;;;1504:35:197;1489:51;;1579:11;;1573:18;1611:15;;;1604:27;;;1692:19;;1461:15;;;1724:24;;;1814:21;;;;1859:1;;1782:2;1770:15;;;1873:236;1889:8;1884:3;1881:17;1873:236;;;1970:15;;-1:-1:-1;;;;;;1966:42:197;1952:57;;2078:17;;;;1917:1;1908:11;;;;;2035:14;;;;1873:236;;;-1:-1:-1;2195:12:197;;;;2132:5;-1:-1:-1;;;2160:15:197;;;;1322:1;1313:11;1280:937;;;-1:-1:-1;2234:6:197;;677:1569;-1:-1:-1;;;;;;;;;677:1569:197:o;2251:250::-;2336:1;2346:113;2360:6;2357:1;2354:13;2346:113;;;2436:11;;;2430:18;2417:11;;;2410:39;2382:2;2375:10;2346:113;;;-1:-1:-1;;2493:1:197;2475:16;;2468:27;2251:250::o;2506:1014::-;2668:4;2697:2;2737;2726:9;2722:18;2767:2;2756:9;2749:21;2790:6;2825;2819:13;2856:6;2848;2841:22;2894:2;2883:9;2879:18;2872:25;;2956:2;2946:6;2943:1;2939:14;2928:9;2924:30;2920:39;2906:53;;2994:2;2986:6;2982:15;3015:1;3025:466;3039:6;3036:1;3033:13;3025:466;;;3104:22;;;-1:-1:-1;;3100:36:197;3088:49;;3160:13;;3202:9;;3224:24;;;3261:74;3202:9;3309:15;;;3296:11;;;3261:74;:::i;:::-;3401:2;3378:17;-1:-1:-1;;3374:31:197;3362:44;;;;3358:53;;;-1:-1:-1;3469:12:197;;;;3434:15;;;;3061:1;3054:9;3025:466;;;-1:-1:-1;3508:6:197;;2506:1014;-1:-1:-1;;;;;;;2506:1014:197:o;11838:184::-;11908:6;11961:2;11949:9;11940:7;11936:23;11932:32;11929:52;;;11977:1;11974;11967:12;11929:52;-1:-1:-1;12000:16:197;;11838:184;-1:-1:-1;11838:184:197:o;13371:127::-;13432:10;13427:3;13423:20;13420:1;13413:31;13463:4;13460:1;13453:15;13487:4;13484:1;13477:15;13503:380;13582:1;13578:12;;;;13625;;;13646:61;;13700:4;13692:6;13688:17;13678:27;;13646:61;13753:2;13745:6;13742:14;13722:18;13719:38;13716:161;;13799:10;13794:3;13790:20;13787:1;13780:31;13834:4;13831:1;13824:15;13862:4;13859:1;13852:15;13716:161;;13503:380;;;:::o;14014:543::-;14116:2;14111:3;14108:11;14105:446;;;14152:1;14176:5;14173:1;14166:16;14220:4;14217:1;14207:18;14290:2;14278:10;14274:19;14271:1;14267:27;14261:4;14257:38;14326:4;14314:10;14311:20;14308:47;;;-1:-1:-1;14349:4:197;14308:47;14404:2;14399:3;14395:12;14392:1;14388:20;14382:4;14378:31;14368:41;;14459:82;14477:2;14470:5;14467:13;14459:82;;;14522:17;;;14503:1;14492:13;14459:82;;;14463:3;;;14105:446;14014:543;;;:::o;14733:1345::-;14859:3;14853:10;14886:18;14878:6;14875:30;14872:56;;;14908:18;;:::i;:::-;14937:97;15027:6;14987:38;15019:4;15013:11;14987:38;:::i;:::-;14981:4;14937:97;:::i;:::-;15089:4;;15146:2;15135:14;;15163:1;15158:663;;;;15865:1;15882:6;15879:89;;;-1:-1:-1;15934:19:197;;;15928:26;15879:89;-1:-1:-1;;14690:1:197;14686:11;;;14682:24;14678:29;14668:40;14714:1;14710:11;;;14665:57;15981:81;;15128:944;;15158:663;13961:1;13954:14;;;13998:4;13985:18;;-1:-1:-1;;15194:20:197;;;15312:236;15326:7;15323:1;15320:14;15312:236;;;15415:19;;;15409:26;15394:42;;15507:27;;;;15475:1;15463:14;;;;15342:19;;15312:236;;;15316:3;15576:6;15567:7;15564:19;15561:201;;;15637:19;;;15631:26;-1:-1:-1;;15720:1:197;15716:14;;;15732:3;15712:24;15708:37;15704:42;15689:58;15674:74;;15561:201;-1:-1:-1;;;;;15808:1:197;15792:14;;;15788:22;15775:36;;-1:-1:-1;14733:1345:197:o;17978:384::-;-1:-1:-1;;;;;;18163:33:197;;18151:46;;18220:13;;18133:3;;18242:74;18220:13;18305:1;18296:11;;18289:4;18277:17;;18242:74;:::i;:::-;18336:16;;;;18354:1;18332:24;;17978:384;-1:-1:-1;;;17978:384:197:o;18367:287::-;18496:3;18534:6;18528:13;18550:66;18609:6;18604:3;18597:4;18589:6;18585:17;18550:66;:::i;:::-;18632:16;;;;;18367:287;-1:-1:-1;;18367:287:197:o;18659:277::-;18726:6;18779:2;18767:9;18758:7;18754:23;18750:32;18747:52;;;18795:1;18792;18785:12;18747:52;18827:9;18821:16;18880:5;18873:13;18866:21;18859:5;18856:32;18846:60;;18902:1;18899;18892:12;18846:60;18925:5;18659:277;-1:-1:-1;;;18659:277:197:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/forge-test/utils/TestBaseWorkflow.sol\":\"TestBaseWorkflow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/forge-test/utils/AccessJBLib.sol\":{\"keccak256\":\"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20\",\"dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A\"]},\"contracts/forge-test/utils/TestBaseWorkflow.sol\":{\"keccak256\":\"0x8114830cd0ca4f36113eb68034e21835c59830eab46b637c82c154b942ada2af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b61cb8a481cfa67ddd906bc1129a0d5b1e982b85d2328af93994cd3fd1611de4\",\"dweb:/ipfs/QmTAoWyZCqZbhYGhLjKfw6T3boYUQ27NVbb7ifPPPgqUQS\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol\":{\"keccak256\":\"0x29a372a3721c8481dfb01b0506c9a27cc59fd7eb297cf06b6d21be710d7f44ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c8243c937a9a6b2e0f1606e459a98a72e6f297a378f7850d907e2d60b4c023\",\"dweb:/ipfs/QmUPJC5rfEbtvB7LLpFcdub6jCkTqybwcVuCmH5pAudwMT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":{\"keccak256\":\"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25\",\"dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x6f00b764c34a602b541917d75ec8b319bf7acf50664f39a9560a6fb7bdb8025f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b56414ae9707c7387f2bc6d2542ab5fb8b65ccdba84dd9556316137a7bec88a9\",\"dweb:/ipfs/Qmej4cvfidRM2WNTte7YD5ZBFXZxT1Hik22r9QqCKQEypE\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x2df0a5c2a17371ce249dae553a919521d9f3037ae397efb68aac726702097060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3e0ffb10aad361a333f317677d14e066f0687c04e74571688f970fe181c866f\",\"dweb:/ipfs/QmcpXVD6eh1qtk8gD5etkA4LUydoDPzrXKyLTbwE92ZJBt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x3802f996edd2dee23ae544c84e1302f74fc16f5b2489946a4fdf3997776cf43e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4827ce92908419f0aa58b3c3675a3dd4036239891c29ca89471506cd8106f8\",\"dweb:/ipfs/Qmb2LzEGFE4qB5HyHcoV7LBfvQYTu7snWsu4CTKxjfdWaQ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":{\"keccak256\":\"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff\",\"dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":{\"keccak256\":\"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a\",\"dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":{\"keccak256\":\"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204\",\"dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":{\"keccak256\":\"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84\",\"dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol\":{\"keccak256\":\"0xb0cde3ddcf06733537717094bb426d8817812ade5f5f594da1b3cc54cbfe9263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://690c34e2d30d49b421c8f3d796024cf23c62472c562205ede043fd8cbd6bb908\",\"dweb:/ipfs/QmQLiR7ZmpiXKCy8R6B7iL5iMqmxLWa13Q8E8urvMqX5oa\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":{\"keccak256\":\"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9\",\"dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":{\"keccak256\":\"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49\",\"dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBPayoutRedemptionPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x31444dbdd4d29dda4d422027fd78a0421b08c0e12aff8dea715bdf0809bc43db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba29a0a78115ba455278d90a5e76cb7393cea3f9f79a7d5d86347e18ae81ac98\",\"dweb:/ipfs/QmPwsRKdvSaLiEWbBUQ27TvrgAegDvkrinFREtYYGvDPsc\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037\",\"dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBFeeType.sol\":{\"keccak256\":\"0x02418e9bd3cce5ccf5a76822909558c61672719767bffe16490256268b05cb22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d241d25943a10291accfce0fa9d8a4ad1176237bef8e328a1e3b865ebfd89c\",\"dweb:/ipfs/QmcefASvSBZ9LWQwfZBxb2H2f4cK6PvMjkxKLtbZEkSAUK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBAllowanceTerminal3_1.sol\":{\"keccak256\":\"0x3d9f7edf01473dd1bf444c2c9c2cae93e5980e17134e77efd50ad1723fa66559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3d22ea05d6c3b03b1ae23e3884345011a99c9ce4da042ed78284bbeb84361c7\",\"dweb:/ipfs/QmdGV3EMJaS9ZKQZZZkx9zWpV6FXohgXL3rKiMBjJ6ttdj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":{\"keccak256\":\"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275\",\"dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeGauge3_1.sol\":{\"keccak256\":\"0xcf64e4b203422b50c968e890e3cf8621b63014e59dc8be25f13884c316f95266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://923921c604ecb57d8b13cf7e9949aacbdd2d2c08850b69cb4ead73ab325f807b\",\"dweb:/ipfs/QmYTb18tsG5ZdLxBaGas8hnzUVE5AAcqaWDPwfTRFQJaPB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeHoldingTerminal.sol\":{\"keccak256\":\"0xdda2332beec8a4f7f5ecd45a660b11796516933998b397c5d05ae639b5755454\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://856288123761e160d6ee659585155b7a136a4581b69eadcb12541b20ff2bdf84\",\"dweb:/ipfs/QmQSAHYQD6Q9UJwkBa638rEv8vj1CBZHQqYr1CGeCdfvQj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":{\"keccak256\":\"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a\",\"dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1.sol\":{\"keccak256\":\"0xa96558c3623b7a9e71df7a6034af14b9e3bbd34cdc02c9b36136eb1b4b88da00\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41472fcad5acdf751d386a7e85a0279cea3ab43c7eb1d9ba5352a671a9df502b\",\"dweb:/ipfs/QmUiRt1vxG9riG1yYs7Sdo1tK5W8TFUjkgWh95gJNvemEa\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0xea9dc15d55a24e2b3cc2d3588eebbffc7f17d65ccc330bb0c83fddee600226b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2af25810bd12e836b7700fc3e205fc19b52cee33fb42b33b41b80af3fafbed6d\",\"dweb:/ipfs/QmQ2Rv291PvPqtUE3XVSEbF944j1957gxwfQPNEiwdJyJ9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutTerminal3_1.sol\":{\"keccak256\":\"0x2e0b8c37a451f1723296af656bd4982d4e5339ce76061eb63bb5f57b235bdc44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ed3a9a030a9233bfc68e526b1cd2be7f3a9c2f5952b731205326c859418608d\",\"dweb:/ipfs/QmWV59zh9uWCR7SeMLYT5xR87PhDCXYBY4PBrax9GCPj4o\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":{\"keccak256\":\"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e\",\"dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":{\"keccak256\":\"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c\",\"dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminalStore3_1_1.sol\":{\"keccak256\":\"0xf009c9fb787cda2a18805b9a9e2105c7f1309ade1eac3af229816cfd27ba1d64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2544779507da07b3d9a82a69621e3a21fb3709163524fec6f00c9da7304a258\",\"dweb:/ipfs/QmPuhceYQk5bTecSE1Ew9fdkeV7mSGo3RPA2d2iagCq6JU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":{\"keccak256\":\"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b\",\"dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":{\"keccak256\":\"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124\",\"dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol\":{\"keccak256\":\"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5\",\"dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol\":{\"keccak256\":\"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef\",\"dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol\":{\"keccak256\":\"0xd105627d21718704db798df0b958e6223fb2d79854e72cda2bfa9eca0630c1f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eab0d78ba15569a7c9b4e41b1d498553e293ad2992fde8eb035d8765517ef9\",\"dweb:/ipfs/QmSNnwf675qSSBKuctkiWEEPxi7DivECb36Pw5HwBB5nwo\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4\",\"dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1\",\"dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol\":{\"keccak256\":\"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81\",\"dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/forge-test/utils/TestBaseWorkflow.sol":"TestBaseWorkflow"},"libraries":{}},"sources":{"contracts/forge-test/utils/AccessJBLib.sol":{"keccak256":"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7","urls":["bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20","dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A"],"license":"MIT"},"contracts/forge-test/utils/TestBaseWorkflow.sol":{"keccak256":"0x8114830cd0ca4f36113eb68034e21835c59830eab46b637c82c154b942ada2af","urls":["bzz-raw://b61cb8a481cfa67ddd906bc1129a0d5b1e982b85d2328af93994cd3fd1611de4","dweb:/ipfs/QmTAoWyZCqZbhYGhLjKfw6T3boYUQ27NVbb7ifPPPgqUQS"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol":{"keccak256":"0x29a372a3721c8481dfb01b0506c9a27cc59fd7eb297cf06b6d21be710d7f44ad","urls":["bzz-raw://d1c8243c937a9a6b2e0f1606e459a98a72e6f297a378f7850d907e2d60b4c023","dweb:/ipfs/QmUPJC5rfEbtvB7LLpFcdub6jCkTqybwcVuCmH5pAudwMT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":{"keccak256":"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa","urls":["bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25","dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol":{"keccak256":"0x6f00b764c34a602b541917d75ec8b319bf7acf50664f39a9560a6fb7bdb8025f","urls":["bzz-raw://b56414ae9707c7387f2bc6d2542ab5fb8b65ccdba84dd9556316137a7bec88a9","dweb:/ipfs/Qmej4cvfidRM2WNTte7YD5ZBFXZxT1Hik22r9QqCKQEypE"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol":{"keccak256":"0x2df0a5c2a17371ce249dae553a919521d9f3037ae397efb68aac726702097060","urls":["bzz-raw://c3e0ffb10aad361a333f317677d14e066f0687c04e74571688f970fe181c866f","dweb:/ipfs/QmcpXVD6eh1qtk8gD5etkA4LUydoDPzrXKyLTbwE92ZJBt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol":{"keccak256":"0x3802f996edd2dee23ae544c84e1302f74fc16f5b2489946a4fdf3997776cf43e","urls":["bzz-raw://ab4827ce92908419f0aa58b3c3675a3dd4036239891c29ca89471506cd8106f8","dweb:/ipfs/Qmb2LzEGFE4qB5HyHcoV7LBfvQYTu7snWsu4CTKxjfdWaQ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":{"keccak256":"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566","urls":["bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff","dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":{"keccak256":"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476","urls":["bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a","dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":{"keccak256":"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57","urls":["bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204","dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":{"keccak256":"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db","urls":["bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84","dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol":{"keccak256":"0xb0cde3ddcf06733537717094bb426d8817812ade5f5f594da1b3cc54cbfe9263","urls":["bzz-raw://690c34e2d30d49b421c8f3d796024cf23c62472c562205ede043fd8cbd6bb908","dweb:/ipfs/QmQLiR7ZmpiXKCy8R6B7iL5iMqmxLWa13Q8E8urvMqX5oa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":{"keccak256":"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f","urls":["bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9","dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":{"keccak256":"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0","urls":["bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49","dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBPayoutRedemptionPaymentTerminal3_1_1.sol":{"keccak256":"0x31444dbdd4d29dda4d422027fd78a0421b08c0e12aff8dea715bdf0809bc43db","urls":["bzz-raw://ba29a0a78115ba455278d90a5e76cb7393cea3f9f79a7d5d86347e18ae81ac98","dweb:/ipfs/QmPwsRKdvSaLiEWbBUQ27TvrgAegDvkrinFREtYYGvDPsc"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":{"keccak256":"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c","urls":["bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037","dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBFeeType.sol":{"keccak256":"0x02418e9bd3cce5ccf5a76822909558c61672719767bffe16490256268b05cb22","urls":["bzz-raw://24d241d25943a10291accfce0fa9d8a4ad1176237bef8e328a1e3b865ebfd89c","dweb:/ipfs/QmcefASvSBZ9LWQwfZBxb2H2f4cK6PvMjkxKLtbZEkSAUK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBAllowanceTerminal3_1.sol":{"keccak256":"0x3d9f7edf01473dd1bf444c2c9c2cae93e5980e17134e77efd50ad1723fa66559","urls":["bzz-raw://c3d22ea05d6c3b03b1ae23e3884345011a99c9ce4da042ed78284bbeb84361c7","dweb:/ipfs/QmdGV3EMJaS9ZKQZZZkx9zWpV6FXohgXL3rKiMBjJ6ttdj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":{"keccak256":"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f","urls":["bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275","dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeGauge3_1.sol":{"keccak256":"0xcf64e4b203422b50c968e890e3cf8621b63014e59dc8be25f13884c316f95266","urls":["bzz-raw://923921c604ecb57d8b13cf7e9949aacbdd2d2c08850b69cb4ead73ab325f807b","dweb:/ipfs/QmYTb18tsG5ZdLxBaGas8hnzUVE5AAcqaWDPwfTRFQJaPB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeHoldingTerminal.sol":{"keccak256":"0xdda2332beec8a4f7f5ecd45a660b11796516933998b397c5d05ae639b5755454","urls":["bzz-raw://856288123761e160d6ee659585155b7a136a4581b69eadcb12541b20ff2bdf84","dweb:/ipfs/QmQSAHYQD6Q9UJwkBa638rEv8vj1CBZHQqYr1CGeCdfvQj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":{"keccak256":"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02","urls":["bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a","dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1.sol":{"keccak256":"0xa96558c3623b7a9e71df7a6034af14b9e3bbd34cdc02c9b36136eb1b4b88da00","urls":["bzz-raw://41472fcad5acdf751d386a7e85a0279cea3ab43c7eb1d9ba5352a671a9df502b","dweb:/ipfs/QmUiRt1vxG9riG1yYs7Sdo1tK5W8TFUjkgWh95gJNvemEa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1_1.sol":{"keccak256":"0xea9dc15d55a24e2b3cc2d3588eebbffc7f17d65ccc330bb0c83fddee600226b5","urls":["bzz-raw://2af25810bd12e836b7700fc3e205fc19b52cee33fb42b33b41b80af3fafbed6d","dweb:/ipfs/QmQ2Rv291PvPqtUE3XVSEbF944j1957gxwfQPNEiwdJyJ9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutTerminal3_1.sol":{"keccak256":"0x2e0b8c37a451f1723296af656bd4982d4e5339ce76061eb63bb5f57b235bdc44","urls":["bzz-raw://9ed3a9a030a9233bfc68e526b1cd2be7f3a9c2f5952b731205326c859418608d","dweb:/ipfs/QmWV59zh9uWCR7SeMLYT5xR87PhDCXYBY4PBrax9GCPj4o"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":{"keccak256":"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387","urls":["bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e","dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":{"keccak256":"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5","urls":["bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c","dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminalStore3_1_1.sol":{"keccak256":"0xf009c9fb787cda2a18805b9a9e2105c7f1309ade1eac3af229816cfd27ba1d64","urls":["bzz-raw://c2544779507da07b3d9a82a69621e3a21fb3709163524fec6f00c9da7304a258","dweb:/ipfs/QmPuhceYQk5bTecSE1Ew9fdkeV7mSGo3RPA2d2iagCq6JU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":{"keccak256":"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c","urls":["bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b","dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":{"keccak256":"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269","urls":["bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124","dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol":{"keccak256":"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e","urls":["bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5","dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol":{"keccak256":"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549","urls":["bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef","dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol":{"keccak256":"0xd105627d21718704db798df0b958e6223fb2d79854e72cda2bfa9eca0630c1f6","urls":["bzz-raw://75eab0d78ba15569a7c9b4e41b1d498553e293ad2992fde8eb035d8765517ef9","dweb:/ipfs/QmSNnwf675qSSBKuctkiWEEPxi7DivECb36Pw5HwBB5nwo"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x909d608c2db6eb165ca178c81289a07ed2e118e444d0025b2a85c97d0b44a4fa","urls":["bzz-raw://656cda26512ddd7373c2d5551c8fae759fc30f05b10f0fc2e738e9274199dbd4","dweb:/ipfs/QmTSArSzQRFbQmHgq7U1PZXnsDFhvDZhKVu9CzMG4yo6Lx"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"keccak256":"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2","urls":["bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1","dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"keccak256":"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29","urls":["bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81","dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"ast":{"absolutePath":"contracts/forge-test/utils/TestBaseWorkflow.sol","id":25459,"exportedSymbols":{"AccessJBLib":[24347],"Address":[94013],"DSTest":[31971],"ERC165":[96799],"ERC20":[91118],"ERC20Permit":[91368],"ERC20Votes":[92102],"IERC165":[97005],"IERC20":[91196],"IERC20Metadata":[92127],"IJBController":[84487],"IJBController3_0_1":[84504],"IJBController3_1":[84887],"IJBDirectory":[85041],"IJBFundAccessConstraintsStore":[85139],"IJBFundingCycleBallot":[85165],"IJBFundingCycleDataSource3_1_1":[85211],"IJBFundingCycleStore":[85310],"IJBMigratable":[85320],"IJBOperatable":[85331],"IJBOperatorStore":[85400],"IJBPaymentTerminal":[85505],"IJBPriceFeed":[85955],"IJBPrices":[86000],"IJBProjects":[86082],"IJBSingleTokenPaymentTerminal":[86162],"IJBSingleTokenPaymentTerminalStore3_1_1":[86376],"IJBSplitAllocator":[86393],"IJBSplitsStore":[86453],"IJBToken":[86529],"IJBTokenStore":[86728],"JBBallotState":[84037],"JBConstants":[86760],"JBController3_1":[73935],"JBControllerUtility":[80761],"JBCurrencies":[86769],"JBDidPayData3_1_1":[87691],"JBDidRedeemData3_1_1":[87745],"JBDirectory":[74541],"JBERC20PaymentTerminal3_1_1":[74710],"JBETHPaymentTerminal3_1_1":[74814],"JBFee":[87757],"JBFixedPointNumber":[86812],"JBFundAccessConstraints":[87776],"JBFundAccessConstraintsStore":[75137],"JBFundingCycle":[87801],"JBFundingCycleData":[87816],"JBFundingCycleMetadata":[87859],"JBFundingCycleMetadataResolver":[87442],"JBFundingCycleStore":[76639],"JBGlobalFundingCycleMetadata":[87869],"JBGlobalFundingCycleMetadataResolver":[87557],"JBGroupedSplits":[87881],"JBOperatable":[80910],"JBOperations":[87614],"JBOperatorData":[87892],"JBOperatorStore":[76914],"JBPayDataSourceFundingCycleMetadata":[29590],"JBPayDelegateAllocation3_1_1":[87905],"JBPayParamsData":[87935],"JBPayoutRedemptionPaymentTerminal3_1_1":[83903],"JBPrices":[77091],"JBProjectMetadata":[87943],"JBProjects":[77331],"JBRedeemParamsData":[87977],"JBRedemptionDelegateAllocation3_1_1":[87990],"JBSingleTokenPaymentTerminalStore3_1_1":[78890],"JBSplit":[88011],"JBSplitAllocationData":[88030],"JBSplitsGroups":[87623],"JBSplitsStore":[79671],"JBToken":[79915],"JBTokenAmount":[88042],"JBTokenStore":[80711],"JBTokens":[87633],"Ownable":[89689],"PRBMath":[103143],"ReentrancyGuard":[90531],"SafeERC20":[92539],"StdAssertions":[33503],"StdChains":[34223],"StdCheats":[37041],"StdInvariant":[37331],"StdStorage":[38081],"StdStyle":[40745],"StdUtils":[41593],"Test":[41644],"TestBase":[32037],"TestBaseWorkflow":[25458],"Vm":[43171],"console":[51235],"console2":[59360],"mulDiv":[100830],"safeconsole":[72598],"stdError":[37107],"stdJson":[37907],"stdMath":[38049],"stdStorage":[39534]},"nodeType":"SourceUnit","src":"32:9351:19","nodes":[{"id":24813,"nodeType":"PragmaDirective","src":"32:24:19","nodes":[],"literals":["solidity","^","0.8",".16"]},{"id":24814,"nodeType":"ImportDirective","src":"58:72:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":73936,"symbolAliases":[],"unitAlias":""},{"id":24815,"nodeType":"ImportDirective","src":"131:68:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":74542,"symbolAliases":[],"unitAlias":""},{"id":24816,"nodeType":"ImportDirective","src":"200:82:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":74815,"symbolAliases":[],"unitAlias":""},{"id":24817,"nodeType":"ImportDirective","src":"283:84:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":74711,"symbolAliases":[],"unitAlias":""},{"id":24818,"nodeType":"ImportDirective","src":"368:85:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":75138,"symbolAliases":[],"unitAlias":""},{"id":24819,"nodeType":"ImportDirective","src":"454:95:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":78891,"symbolAliases":[],"unitAlias":""},{"id":24820,"nodeType":"ImportDirective","src":"550:76:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":76640,"symbolAliases":[],"unitAlias":""},{"id":24821,"nodeType":"ImportDirective","src":"627:72:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":76915,"symbolAliases":[],"unitAlias":""},{"id":24822,"nodeType":"ImportDirective","src":"700:65:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":77092,"symbolAliases":[],"unitAlias":""},{"id":24824,"nodeType":"ImportDirective","src":"766:85:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":77332,"symbolAliases":[{"foreign":{"id":24823,"name":"JBProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77331,"src":"774:10:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":24825,"nodeType":"ImportDirective","src":"852:70:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":79672,"symbolAliases":[],"unitAlias":""},{"id":24826,"nodeType":"ImportDirective","src":"923:64:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":79916,"symbolAliases":[],"unitAlias":""},{"id":24827,"nodeType":"ImportDirective","src":"988:69:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":80712,"symbolAliases":[],"unitAlias":""},{"id":24828,"nodeType":"ImportDirective","src":"1059:82:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87692,"symbolAliases":[],"unitAlias":""},{"id":24829,"nodeType":"ImportDirective","src":"1142:85:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87746,"symbolAliases":[],"unitAlias":""},{"id":24830,"nodeType":"ImportDirective","src":"1228:70:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87758,"symbolAliases":[],"unitAlias":""},{"id":24831,"nodeType":"ImportDirective","src":"1299:88:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87777,"symbolAliases":[],"unitAlias":""},{"id":24832,"nodeType":"ImportDirective","src":"1388:79:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87802,"symbolAliases":[],"unitAlias":""},{"id":24833,"nodeType":"ImportDirective","src":"1468:83:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87817,"symbolAliases":[],"unitAlias":""},{"id":24834,"nodeType":"ImportDirective","src":"1552:87:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87860,"symbolAliases":[],"unitAlias":""},{"id":24835,"nodeType":"ImportDirective","src":"1640:80:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87882,"symbolAliases":[],"unitAlias":""},{"id":24836,"nodeType":"ImportDirective","src":"1721:79:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87893,"symbolAliases":[],"unitAlias":""},{"id":24837,"nodeType":"ImportDirective","src":"1801:80:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87936,"symbolAliases":[],"unitAlias":""},{"id":24838,"nodeType":"ImportDirective","src":"1882:82:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87944,"symbolAliases":[],"unitAlias":""},{"id":24839,"nodeType":"ImportDirective","src":"1965:83:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87978,"symbolAliases":[],"unitAlias":""},{"id":24840,"nodeType":"ImportDirective","src":"2049:72:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":88012,"symbolAliases":[],"unitAlias":""},{"id":24841,"nodeType":"ImportDirective","src":"2123:86:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":85506,"symbolAliases":[],"unitAlias":""},{"id":24842,"nodeType":"ImportDirective","src":"2210:76:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":86530,"symbolAliases":[],"unitAlias":""},{"id":24843,"nodeType":"ImportDirective","src":"2288:79:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87615,"symbolAliases":[],"unitAlias":""},{"id":24844,"nodeType":"ImportDirective","src":"2368:97:19","nodes":[],"absolutePath":"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","file":"@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":87443,"symbolAliases":[],"unitAlias":""},{"id":24846,"nodeType":"ImportDirective","src":"2467:48:19","nodes":[],"absolutePath":"node_modules/@prb/math/src/Common.sol","file":"@prb/math/src/Common.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":101249,"symbolAliases":[{"foreign":{"id":24845,"name":"mulDiv","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100830,"src":"2475:6:19","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":24847,"nodeType":"ImportDirective","src":"2517:28:19","nodes":[],"absolutePath":"lib/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":41645,"symbolAliases":[],"unitAlias":""},{"id":24848,"nodeType":"ImportDirective","src":"2547:27:19","nodes":[],"absolutePath":"contracts/forge-test/utils/AccessJBLib.sol","file":"./AccessJBLib.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":24348,"symbolAliases":[],"unitAlias":""},{"id":24849,"nodeType":"ImportDirective","src":"2576:65:19","nodes":[],"absolutePath":"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol","file":"./../../structs/JBPayDataSourceFundingCycleMetadata.sol","nameLocation":"-1:-1:-1","scope":25459,"sourceUnit":29591,"symbolAliases":[],"unitAlias":""},{"id":25458,"nodeType":"ContractDefinition","src":"2767:6615:19","nodes":[{"id":24857,"nodeType":"VariableDeclaration","src":"3043:45:19","nodes":[],"constant":false,"mutability":"mutable","name":"_projectOwner","nameLocation":"3060:13:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24852,"name":"address","nodeType":"ElementaryTypeName","src":"3043:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"313233","id":24855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3084:3:19","typeDescriptions":{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"},"value":"123"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_123_by_1","typeString":"int_const 123"}],"id":24854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3076:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24853,"name":"address","nodeType":"ElementaryTypeName","src":"3076:7:19","typeDescriptions":{}}},"id":24856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3076:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":24863,"nodeType":"VariableDeclaration","src":"3094:46:19","nodes":[],"constant":false,"mutability":"mutable","name":"_beneficiary","nameLocation":"3111:12:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24858,"name":"address","nodeType":"ElementaryTypeName","src":"3094:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"3639343230","id":24861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3134:5:19","typeDescriptions":{"typeIdentifier":"t_rational_69420_by_1","typeString":"int_const 69420"},"value":"69420"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_69420_by_1","typeString":"int_const 69420"}],"id":24860,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3126:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24859,"name":"address","nodeType":"ElementaryTypeName","src":"3126:7:19","typeDescriptions":{}}},"id":24862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3126:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":24869,"nodeType":"VariableDeclaration","src":"3146:42:19","nodes":[],"constant":false,"mutability":"mutable","name":"_caller","nameLocation":"3163:7:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24864,"name":"address","nodeType":"ElementaryTypeName","src":"3146:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"363936393639","id":24867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3181:6:19","typeDescriptions":{"typeIdentifier":"t_rational_696969_by_1","typeString":"int_const 696969"},"value":"696969"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_696969_by_1","typeString":"int_const 696969"}],"id":24866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3173:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24865,"name":"address","nodeType":"ElementaryTypeName","src":"3173:7:19","typeDescriptions":{}}},"id":24868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3173:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":24872,"nodeType":"VariableDeclaration","src":"3195:41:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbOperatorStore","nameLocation":"3220:16:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},"typeName":{"id":24871,"nodeType":"UserDefinedTypeName","pathNode":{"id":24870,"name":"JBOperatorStore","nameLocations":["3195:15:19"],"nodeType":"IdentifierPath","referencedDeclaration":76914,"src":"3195:15:19"},"referencedDeclaration":76914,"src":"3195:15:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},"visibility":"internal"},{"id":24875,"nodeType":"VariableDeclaration","src":"3242:31:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbProjects","nameLocation":"3262:11:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},"typeName":{"id":24874,"nodeType":"UserDefinedTypeName","pathNode":{"id":24873,"name":"JBProjects","nameLocations":["3242:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":77331,"src":"3242:10:19"},"referencedDeclaration":77331,"src":"3242:10:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},"visibility":"internal"},{"id":24878,"nodeType":"VariableDeclaration","src":"3279:27:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbPrices","nameLocation":"3297:9:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"},"typeName":{"id":24877,"nodeType":"UserDefinedTypeName","pathNode":{"id":24876,"name":"JBPrices","nameLocations":["3279:8:19"],"nodeType":"IdentifierPath","referencedDeclaration":77091,"src":"3279:8:19"},"referencedDeclaration":77091,"src":"3279:8:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}},"visibility":"internal"},{"id":24881,"nodeType":"VariableDeclaration","src":"3312:33:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbDirectory","nameLocation":"3333:12:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"},"typeName":{"id":24880,"nodeType":"UserDefinedTypeName","pathNode":{"id":24879,"name":"JBDirectory","nameLocations":["3312:11:19"],"nodeType":"IdentifierPath","referencedDeclaration":74541,"src":"3312:11:19"},"referencedDeclaration":74541,"src":"3312:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},"visibility":"internal"},{"id":24884,"nodeType":"VariableDeclaration","src":"3351:49:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbFundingCycleStore","nameLocation":"3380:20:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"},"typeName":{"id":24883,"nodeType":"UserDefinedTypeName","pathNode":{"id":24882,"name":"JBFundingCycleStore","nameLocations":["3351:19:19"],"nodeType":"IdentifierPath","referencedDeclaration":76639,"src":"3351:19:19"},"referencedDeclaration":76639,"src":"3351:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},"visibility":"internal"},{"id":24887,"nodeType":"VariableDeclaration","src":"3406:35:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbTokenStore","nameLocation":"3428:13:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"},"typeName":{"id":24886,"nodeType":"UserDefinedTypeName","pathNode":{"id":24885,"name":"JBTokenStore","nameLocations":["3406:12:19"],"nodeType":"IdentifierPath","referencedDeclaration":80711,"src":"3406:12:19"},"referencedDeclaration":80711,"src":"3406:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}},"visibility":"internal"},{"id":24890,"nodeType":"VariableDeclaration","src":"3447:68:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbFundsAccessConstraintsStore","nameLocation":"3485:30:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"},"typeName":{"id":24889,"nodeType":"UserDefinedTypeName","pathNode":{"id":24888,"name":"JBFundAccessConstraintsStore","nameLocations":["3447:28:19"],"nodeType":"IdentifierPath","referencedDeclaration":75137,"src":"3447:28:19"},"referencedDeclaration":75137,"src":"3447:28:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}},"visibility":"internal"},{"id":24893,"nodeType":"VariableDeclaration","src":"3521:37:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbSplitsStore","nameLocation":"3544:14:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"},"typeName":{"id":24892,"nodeType":"UserDefinedTypeName","pathNode":{"id":24891,"name":"JBSplitsStore","nameLocations":["3521:13:19"],"nodeType":"IdentifierPath","referencedDeclaration":79671,"src":"3521:13:19"},"referencedDeclaration":79671,"src":"3521:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},"visibility":"internal"},{"id":24896,"nodeType":"VariableDeclaration","src":"3564:38:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbController","nameLocation":"3589:13:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"},"typeName":{"id":24895,"nodeType":"UserDefinedTypeName","pathNode":{"id":24894,"name":"JBController3_1","nameLocations":["3564:15:19"],"nodeType":"IdentifierPath","referencedDeclaration":73935,"src":"3564:15:19"},"referencedDeclaration":73935,"src":"3564:15:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}},"visibility":"internal"},{"id":24899,"nodeType":"VariableDeclaration","src":"3608:71:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbPaymentTerminalStore","nameLocation":"3656:23:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"},"typeName":{"id":24898,"nodeType":"UserDefinedTypeName","pathNode":{"id":24897,"name":"JBSingleTokenPaymentTerminalStore3_1_1","nameLocations":["3608:38:19"],"nodeType":"IdentifierPath","referencedDeclaration":78890,"src":"3608:38:19"},"referencedDeclaration":78890,"src":"3608:38:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}},"visibility":"internal"},{"id":24902,"nodeType":"VariableDeclaration","src":"3685:56:19","nodes":[],"constant":false,"mutability":"mutable","name":"_jbETHPaymentTerminal","nameLocation":"3720:21:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"},"typeName":{"id":24901,"nodeType":"UserDefinedTypeName","pathNode":{"id":24900,"name":"JBETHPaymentTerminal3_1_1","nameLocations":["3685:25:19"],"nodeType":"IdentifierPath","referencedDeclaration":74814,"src":"3685:25:19"},"referencedDeclaration":74814,"src":"3685:25:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}},"visibility":"internal"},{"id":24905,"nodeType":"VariableDeclaration","src":"3747:43:19","nodes":[],"constant":false,"mutability":"mutable","name":"_projectMetadata","nameLocation":"3774:16:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage","typeString":"struct JBProjectMetadata"},"typeName":{"id":24904,"nodeType":"UserDefinedTypeName","pathNode":{"id":24903,"name":"JBProjectMetadata","nameLocations":["3747:17:19"],"nodeType":"IdentifierPath","referencedDeclaration":87943,"src":"3747:17:19"},"referencedDeclaration":87943,"src":"3747:17:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage_ptr","typeString":"struct JBProjectMetadata"}},"visibility":"internal"},{"id":24908,"nodeType":"VariableDeclaration","src":"3796:33:19","nodes":[],"constant":false,"mutability":"mutable","name":"_data","nameLocation":"3824:5:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage","typeString":"struct JBFundingCycleData"},"typeName":{"id":24907,"nodeType":"UserDefinedTypeName","pathNode":{"id":24906,"name":"JBFundingCycleData","nameLocations":["3796:18:19"],"nodeType":"IdentifierPath","referencedDeclaration":87816,"src":"3796:18:19"},"referencedDeclaration":87816,"src":"3796:18:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage_ptr","typeString":"struct JBFundingCycleData"}},"visibility":"internal"},{"id":24911,"nodeType":"VariableDeclaration","src":"3835:54:19","nodes":[],"constant":false,"mutability":"mutable","name":"_metadata","nameLocation":"3880:9:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_storage","typeString":"struct JBPayDataSourceFundingCycleMetadata"},"typeName":{"id":24910,"nodeType":"UserDefinedTypeName","pathNode":{"id":24909,"name":"JBPayDataSourceFundingCycleMetadata","nameLocations":["3835:35:19"],"nodeType":"IdentifierPath","referencedDeclaration":29590,"src":"3835:35:19"},"referencedDeclaration":29590,"src":"3835:35:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_storage_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata"}},"visibility":"internal"},{"id":24915,"nodeType":"VariableDeclaration","src":"3895:41:19","nodes":[],"constant":false,"mutability":"mutable","name":"_groupedSplits","nameLocation":"3922:14:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage","typeString":"struct JBGroupedSplits[]"},"typeName":{"baseType":{"id":24913,"nodeType":"UserDefinedTypeName","pathNode":{"id":24912,"name":"JBGroupedSplits","nameLocations":["3895:15:19"],"nodeType":"IdentifierPath","referencedDeclaration":87881,"src":"3895:15:19"},"referencedDeclaration":87881,"src":"3895:15:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBGroupedSplits_$87881_storage_ptr","typeString":"struct JBGroupedSplits"}},"id":24914,"nodeType":"ArrayTypeName","src":"3895:17:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBGroupedSplits_$87881_storage_$dyn_storage_ptr","typeString":"struct JBGroupedSplits[]"}},"visibility":"internal"},{"id":24919,"nodeType":"VariableDeclaration","src":"3942:57:19","nodes":[],"constant":false,"mutability":"mutable","name":"_fundAccessConstraints","nameLocation":"3977:22:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_storage_$dyn_storage","typeString":"struct JBFundAccessConstraints[]"},"typeName":{"baseType":{"id":24917,"nodeType":"UserDefinedTypeName","pathNode":{"id":24916,"name":"JBFundAccessConstraints","nameLocations":["3942:23:19"],"nodeType":"IdentifierPath","referencedDeclaration":87776,"src":"3942:23:19"},"referencedDeclaration":87776,"src":"3942:23:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundAccessConstraints_$87776_storage_ptr","typeString":"struct JBFundAccessConstraints"}},"id":24918,"nodeType":"ArrayTypeName","src":"3942:25:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_JBFundAccessConstraints_$87776_storage_$dyn_storage_ptr","typeString":"struct JBFundAccessConstraints[]"}},"visibility":"internal"},{"id":24923,"nodeType":"VariableDeclaration","src":"4005:40:19","nodes":[],"constant":false,"mutability":"mutable","name":"_terminals","nameLocation":"4035:10:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[]"},"typeName":{"baseType":{"id":24921,"nodeType":"UserDefinedTypeName","pathNode":{"id":24920,"name":"IJBPaymentTerminal","nameLocations":["4005:18:19"],"nodeType":"IdentifierPath","referencedDeclaration":85505,"src":"4005:18:19"},"referencedDeclaration":85505,"src":"4005:18:19","typeDescriptions":{"typeIdentifier":"t_contract$_IJBPaymentTerminal_$85505","typeString":"contract IJBPaymentTerminal"}},"id":24922,"nodeType":"ArrayTypeName","src":"4005:20:19","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr","typeString":"contract IJBPaymentTerminal[]"}},"visibility":"internal"},{"id":24926,"nodeType":"VariableDeclaration","src":"4051:26:19","nodes":[],"constant":false,"mutability":"mutable","name":"_tokenV2","nameLocation":"4069:8:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"},"typeName":{"id":24925,"nodeType":"UserDefinedTypeName","pathNode":{"id":24924,"name":"IJBToken","nameLocations":["4051:8:19"],"nodeType":"IdentifierPath","referencedDeclaration":86529,"src":"4051:8:19"},"referencedDeclaration":86529,"src":"4051:8:19","typeDescriptions":{"typeIdentifier":"t_contract$_IJBToken_$86529","typeString":"contract IJBToken"}},"visibility":"internal"},{"id":24929,"nodeType":"VariableDeclaration","src":"4084:33:19","nodes":[],"constant":false,"mutability":"mutable","name":"_accessJBLib","nameLocation":"4105:12:19","scope":25458,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"},"typeName":{"id":24928,"nodeType":"UserDefinedTypeName","pathNode":{"id":24927,"name":"AccessJBLib","nameLocations":["4084:11:19"],"nodeType":"IdentifierPath","referencedDeclaration":24347,"src":"4084:11:19"},"referencedDeclaration":24347,"src":"4084:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}},"visibility":"internal"},{"id":25281,"nodeType":"FunctionDefinition","src":"4413:3746:19","nodes":[],"body":{"id":25280,"nodeType":"Block","src":"4445:3714:19","nodes":[],"statements":[{"expression":{"id":24937,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24932,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"4491:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":24935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4510:19:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_JBOperatorStore_$76914_$","typeString":"function () returns (contract JBOperatorStore)"},"typeName":{"id":24934,"nodeType":"UserDefinedTypeName","pathNode":{"id":24933,"name":"JBOperatorStore","nameLocations":["4514:15:19"],"nodeType":"IdentifierPath","referencedDeclaration":76914,"src":"4514:15:19"},"referencedDeclaration":76914,"src":"4514:15:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}}},"id":24936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4510:21:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},"src":"4491:40:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},"id":24938,"nodeType":"ExpressionStatement","src":"4491:40:19"},{"expression":{"arguments":[{"arguments":[{"id":24944,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"4558:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}],"id":24943,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4550:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24942,"name":"address","nodeType":"ElementaryTypeName","src":"4550:7:19","typeDescriptions":{}}},"id":24945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4550:25:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a424f70657261746f7253746f7265","id":24946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4577:17:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8f80c050d3c33b2e2de17685ff7bcfce036ddb36b1619282cf3d4976dc49775","typeString":"literal_string \"JBOperatorStore\""},"value":"JBOperatorStore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_e8f80c050d3c33b2e2de17685ff7bcfce036ddb36b1619282cf3d4976dc49775","typeString":"literal_string \"JBOperatorStore\""}],"expression":{"id":24939,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"4541:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":24941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4544:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"4541:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":24947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4541:54:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24948,"nodeType":"ExpressionStatement","src":"4541:54:19"},{"expression":{"id":24955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24949,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"4606:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":24953,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"4635:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}],"id":24952,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4620:14:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBOperatorStore_$85400_$returns$_t_contract$_JBProjects_$77331_$","typeString":"function (contract IJBOperatorStore) returns (contract JBProjects)"},"typeName":{"id":24951,"nodeType":"UserDefinedTypeName","pathNode":{"id":24950,"name":"JBProjects","nameLocations":["4624:10:19"],"nodeType":"IdentifierPath","referencedDeclaration":77331,"src":"4624:10:19"},"referencedDeclaration":77331,"src":"4624:10:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}}},"id":24954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4620:32:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},"src":"4606:46:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},"id":24956,"nodeType":"ExpressionStatement","src":"4606:46:19"},{"expression":{"arguments":[{"arguments":[{"id":24962,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"4679:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}],"id":24961,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4671:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24960,"name":"address","nodeType":"ElementaryTypeName","src":"4671:7:19","typeDescriptions":{}}},"id":24963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4671:20:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a4250726f6a65637473","id":24964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4693:12:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_655d3ebc386c15e6633b19541716e561a8370125d75a9b0be19b301c520ffd42","typeString":"literal_string \"JBProjects\""},"value":"JBProjects"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_655d3ebc386c15e6633b19541716e561a8370125d75a9b0be19b301c520ffd42","typeString":"literal_string \"JBProjects\""}],"expression":{"id":24957,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"4662:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":24959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4665:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"4662:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":24965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4662:44:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24966,"nodeType":"ExpressionStatement","src":"4662:44:19"},{"expression":{"id":24973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24967,"name":"_jbPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24878,"src":"4717:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":24971,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"4742:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":24970,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4729:12:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_address_$returns$_t_contract$_JBPrices_$77091_$","typeString":"function (address) returns (contract JBPrices)"},"typeName":{"id":24969,"nodeType":"UserDefinedTypeName","pathNode":{"id":24968,"name":"JBPrices","nameLocations":["4733:8:19"],"nodeType":"IdentifierPath","referencedDeclaration":77091,"src":"4733:8:19"},"referencedDeclaration":77091,"src":"4733:8:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}}},"id":24972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4729:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}},"src":"4717:39:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}},"id":24974,"nodeType":"ExpressionStatement","src":"4717:39:19"},{"expression":{"arguments":[{"arguments":[{"id":24980,"name":"_jbPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24878,"src":"4783:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}],"id":24979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4775:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24978,"name":"address","nodeType":"ElementaryTypeName","src":"4775:7:19","typeDescriptions":{}}},"id":24981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4775:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a42507269636573","id":24982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4795:10:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_42ac314d7315b801d1d86178a0d48fb8f0c0c6e33d4942a5525ce53faae23efd","typeString":"literal_string \"JBPrices\""},"value":"JBPrices"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_42ac314d7315b801d1d86178a0d48fb8f0c0c6e33d4942a5525ce53faae23efd","typeString":"literal_string \"JBPrices\""}],"expression":{"id":24975,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"4766:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":24977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4769:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"4766:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":24983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4766:40:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":24984,"nodeType":"ExpressionStatement","src":"4766:40:19"},{"assignments":[24986],"declarations":[{"constant":false,"id":24986,"mutability":"mutable","name":"contractAtNoncePlusOne","nameLocation":"4825:22:19","nodeType":"VariableDeclaration","scope":25280,"src":"4817:30:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":24985,"name":"address","nodeType":"ElementaryTypeName","src":"4817:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":24994,"initialValue":{"arguments":[{"arguments":[{"id":24990,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"4870:4:19","typeDescriptions":{"typeIdentifier":"t_contract$_TestBaseWorkflow_$25458","typeString":"contract TestBaseWorkflow"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_TestBaseWorkflow_$25458","typeString":"contract TestBaseWorkflow"}],"id":24989,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4862:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":24988,"name":"address","nodeType":"ElementaryTypeName","src":"4862:7:19","typeDescriptions":{}}},"id":24991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4862:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"35","id":24992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4877:1:19","typeDescriptions":{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"},"value":"5"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_5_by_1","typeString":"int_const 5"}],"id":24987,"name":"addressFrom","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25457,"src":"4850:11:19","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_address_$","typeString":"function (address,uint256) pure returns (address)"}},"id":24993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4850:29:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4817:62:19"},{"expression":{"id":25003,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":24995,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"4890:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":25000,"name":"contractAtNoncePlusOne","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24986,"src":"4950:22:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":24999,"name":"IJBDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85041,"src":"4937:12:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBDirectory_$85041_$","typeString":"type(contract IJBDirectory)"}},"id":25001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4937:36:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IJBDirectory_$85041","typeString":"contract IJBDirectory"}],"id":24998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4913:23:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85041_$returns$_t_contract$_JBFundingCycleStore_$76639_$","typeString":"function (contract IJBDirectory) returns (contract JBFundingCycleStore)"},"typeName":{"id":24997,"nodeType":"UserDefinedTypeName","pathNode":{"id":24996,"name":"JBFundingCycleStore","nameLocations":["4917:19:19"],"nodeType":"IdentifierPath","referencedDeclaration":76639,"src":"4917:19:19"},"referencedDeclaration":76639,"src":"4917:19:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}}},"id":25002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4913:61:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},"src":"4890:84:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},"id":25004,"nodeType":"ExpressionStatement","src":"4890:84:19"},{"expression":{"arguments":[{"arguments":[{"id":25010,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"5001:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}],"id":25009,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4993:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25008,"name":"address","nodeType":"ElementaryTypeName","src":"4993:7:19","typeDescriptions":{}}},"id":25011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4993:29:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a4246756e64696e674379636c6553746f7265","id":25012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5024:21:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_12feadd548ea3cd1a812b1d439ece66de34cf60d53248e64e951950188ebedb2","typeString":"literal_string \"JBFundingCycleStore\""},"value":"JBFundingCycleStore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_12feadd548ea3cd1a812b1d439ece66de34cf60d53248e64e951950188ebedb2","typeString":"literal_string \"JBFundingCycleStore\""}],"expression":{"id":25005,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"4984:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4987:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"4984:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4984:62:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25014,"nodeType":"ExpressionStatement","src":"4984:62:19"},{"expression":{"id":25024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25015,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5057:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25019,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"5095:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},{"id":25020,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"5119:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},{"id":25021,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"5138:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},{"id":25022,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"5166:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"},{"typeIdentifier":"t_address","typeString":"address"}],"id":25018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5072:15:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBOperatorStore_$85400_$_t_contract$_IJBProjects_$86082_$_t_contract$_IJBFundingCycleStore_$85310_$_t_address_$returns$_t_contract$_JBDirectory_$74541_$","typeString":"function (contract IJBOperatorStore,contract IJBProjects,contract IJBFundingCycleStore,address) returns (contract JBDirectory)"},"typeName":{"id":25017,"nodeType":"UserDefinedTypeName","pathNode":{"id":25016,"name":"JBDirectory","nameLocations":["5076:11:19"],"nodeType":"IdentifierPath","referencedDeclaration":74541,"src":"5076:11:19"},"referencedDeclaration":74541,"src":"5076:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}}},"id":25023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5072:113:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},"src":"5057:128:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},"id":25025,"nodeType":"ExpressionStatement","src":"5057:128:19"},{"expression":{"arguments":[{"arguments":[{"id":25031,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5212:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}],"id":25030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5204:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25029,"name":"address","nodeType":"ElementaryTypeName","src":"5204:7:19","typeDescriptions":{}}},"id":25032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5204:21:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a424469726563746f7279","id":25033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5227:13:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e2f946e0a06089e01f4f33c4b1f8d5b21044786fa418ff058f81f75e625896b","typeString":"literal_string \"JBDirectory\""},"value":"JBDirectory"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_3e2f946e0a06089e01f4f33c4b1f8d5b21044786fa418ff058f81f75e625896b","typeString":"literal_string \"JBDirectory\""}],"expression":{"id":25026,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"5195:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25028,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5198:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"5195:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5195:46:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25035,"nodeType":"ExpressionStatement","src":"5195:46:19"},{"expression":{"id":25042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25036,"name":"_jbFundsAccessConstraintsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24890,"src":"5249:30:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25040,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5315:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}],"id":25039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5282:32:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85041_$returns$_t_contract$_JBFundAccessConstraintsStore_$75137_$","typeString":"function (contract IJBDirectory) returns (contract JBFundAccessConstraintsStore)"},"typeName":{"id":25038,"nodeType":"UserDefinedTypeName","pathNode":{"id":25037,"name":"JBFundAccessConstraintsStore","nameLocations":["5286:28:19"],"nodeType":"IdentifierPath","referencedDeclaration":75137,"src":"5286:28:19"},"referencedDeclaration":75137,"src":"5286:28:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}}},"id":25041,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5282:46:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}},"src":"5249:79:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}},"id":25043,"nodeType":"ExpressionStatement","src":"5249:79:19"},{"expression":{"id":25053,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25044,"name":"_jbTokenStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24887,"src":"5336:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25048,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"5376:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},{"id":25049,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"5400:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},{"id":25050,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5419:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},{"id":25051,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"5439:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"},{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}],"id":25047,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5352:16:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBOperatorStore_$85400_$_t_contract$_IJBProjects_$86082_$_t_contract$_IJBDirectory_$85041_$_t_contract$_IJBFundingCycleStore_$85310_$returns$_t_contract$_JBTokenStore_$80711_$","typeString":"function (contract IJBOperatorStore,contract IJBProjects,contract IJBDirectory,contract IJBFundingCycleStore) returns (contract JBTokenStore)"},"typeName":{"id":25046,"nodeType":"UserDefinedTypeName","pathNode":{"id":25045,"name":"JBTokenStore","nameLocations":["5356:12:19"],"nodeType":"IdentifierPath","referencedDeclaration":80711,"src":"5356:12:19"},"referencedDeclaration":80711,"src":"5356:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}}},"id":25052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5352:113:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}},"src":"5336:129:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}},"id":25054,"nodeType":"ExpressionStatement","src":"5336:129:19"},{"expression":{"arguments":[{"arguments":[{"id":25060,"name":"_jbTokenStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24887,"src":"5492:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}],"id":25059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5484:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25058,"name":"address","nodeType":"ElementaryTypeName","src":"5484:7:19","typeDescriptions":{}}},"id":25061,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5484:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a42546f6b656e53746f7265","id":25062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5508:14:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_170c12c7033310a7a71dd4d77e6f9a4cb05fad1b206b9663791db408fcbccd55","typeString":"literal_string \"JBTokenStore\""},"value":"JBTokenStore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_170c12c7033310a7a71dd4d77e6f9a4cb05fad1b206b9663791db408fcbccd55","typeString":"literal_string \"JBTokenStore\""}],"expression":{"id":25055,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"5475:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25057,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5478:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"5475:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5475:48:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25064,"nodeType":"ExpressionStatement","src":"5475:48:19"},{"expression":{"id":25073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25065,"name":"_jbSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24893,"src":"5534:14:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25069,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"5569:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},{"id":25070,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"5587:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},{"id":25071,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5600:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}],"id":25068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5551:17:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBOperatorStore_$85400_$_t_contract$_IJBProjects_$86082_$_t_contract$_IJBDirectory_$85041_$returns$_t_contract$_JBSplitsStore_$79671_$","typeString":"function (contract IJBOperatorStore,contract IJBProjects,contract IJBDirectory) returns (contract JBSplitsStore)"},"typeName":{"id":25067,"nodeType":"UserDefinedTypeName","pathNode":{"id":25066,"name":"JBSplitsStore","nameLocations":["5555:13:19"],"nodeType":"IdentifierPath","referencedDeclaration":79671,"src":"5555:13:19"},"referencedDeclaration":79671,"src":"5555:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}}},"id":25072,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5551:62:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},"src":"5534:79:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},"id":25074,"nodeType":"ExpressionStatement","src":"5534:79:19"},{"expression":{"arguments":[{"arguments":[{"id":25080,"name":"_jbSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24893,"src":"5640:14:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}],"id":25079,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5632:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25078,"name":"address","nodeType":"ElementaryTypeName","src":"5632:7:19","typeDescriptions":{}}},"id":25081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5632:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a4253706c69747353746f7265","id":25082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5657:15:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_f025d6ea5d04979e4c7b672f53b7bdc599f841e806819da2ae8e43ac848b3cd3","typeString":"literal_string \"JBSplitsStore\""},"value":"JBSplitsStore"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_f025d6ea5d04979e4c7b672f53b7bdc599f841e806819da2ae8e43ac848b3cd3","typeString":"literal_string \"JBSplitsStore\""}],"expression":{"id":25075,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"5623:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5626:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"5623:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5623:50:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25084,"nodeType":"ExpressionStatement","src":"5623:50:19"},{"expression":{"id":25097,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25085,"name":"_jbController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24896,"src":"5684:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25089,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"5727:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},{"id":25090,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"5751:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},{"id":25091,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5770:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},{"id":25092,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"5790:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},{"id":25093,"name":"_jbTokenStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24887,"src":"5818:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"}},{"id":25094,"name":"_jbSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24893,"src":"5839:14:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},{"id":25095,"name":"_jbFundsAccessConstraintsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24890,"src":"5861:30:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"},{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"},{"typeIdentifier":"t_contract$_JBTokenStore_$80711","typeString":"contract JBTokenStore"},{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"},{"typeIdentifier":"t_contract$_JBFundAccessConstraintsStore_$75137","typeString":"contract JBFundAccessConstraintsStore"}],"id":25088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"5700:19:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBOperatorStore_$85400_$_t_contract$_IJBProjects_$86082_$_t_contract$_IJBDirectory_$85041_$_t_contract$_IJBFundingCycleStore_$85310_$_t_contract$_IJBTokenStore_$86728_$_t_contract$_IJBSplitsStore_$86453_$_t_contract$_IJBFundAccessConstraintsStore_$85139_$returns$_t_contract$_JBController3_1_$73935_$","typeString":"function (contract IJBOperatorStore,contract IJBProjects,contract IJBDirectory,contract IJBFundingCycleStore,contract IJBTokenStore,contract IJBSplitsStore,contract IJBFundAccessConstraintsStore) returns (contract JBController3_1)"},"typeName":{"id":25087,"nodeType":"UserDefinedTypeName","pathNode":{"id":25086,"name":"JBController3_1","nameLocations":["5704:15:19"],"nodeType":"IdentifierPath","referencedDeclaration":73935,"src":"5704:15:19"},"referencedDeclaration":73935,"src":"5704:15:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}}},"id":25096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5700:197:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}},"src":"5684:213:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}},"id":25098,"nodeType":"ExpressionStatement","src":"5684:213:19"},{"expression":{"arguments":[{"arguments":[{"id":25104,"name":"_jbController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24896,"src":"5924:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}],"id":25103,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5916:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25102,"name":"address","nodeType":"ElementaryTypeName","src":"5916:7:19","typeDescriptions":{}}},"id":25105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5916:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a42436f6e74726f6c6c6572","id":25106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5940:14:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_11fd22750a9d4db7886f7f72a2172123f227bbf5a73efe300c3320cf0cf61b45","typeString":"literal_string \"JBController\""},"value":"JBController"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_11fd22750a9d4db7886f7f72a2172123f227bbf5a73efe300c3320cf0cf61b45","typeString":"literal_string \"JBController\""}],"expression":{"id":25099,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"5907:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25101,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5910:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"5907:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5907:48:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25108,"nodeType":"ExpressionStatement","src":"5907:48:19"},{"expression":{"arguments":[{"id":25112,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"5975:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":25109,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"5966:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25111,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5969:5:19","memberName":"prank","nodeType":"MemberAccess","referencedDeclaration":42769,"src":"5966:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":25113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5966:23:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25114,"nodeType":"ExpressionStatement","src":"5966:23:19"},{"expression":{"arguments":[{"arguments":[{"id":25120,"name":"_jbController","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24896,"src":"6053:13:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBController3_1_$73935","typeString":"contract JBController3_1"}],"id":25119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6045:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25118,"name":"address","nodeType":"ElementaryTypeName","src":"6045:7:19","typeDescriptions":{}}},"id":25121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6045:22:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":25122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6069:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":25115,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"5999:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},"id":25117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6012:32:19","memberName":"setIsAllowedToSetFirstController","nodeType":"MemberAccess","referencedDeclaration":74483,"src":"5999:45:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool) external"}},"id":25123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5999:75:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25124,"nodeType":"ExpressionStatement","src":"5999:75:19"},{"expression":{"id":25133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25125,"name":"_jbPaymentTerminalStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24899,"src":"6085:23:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":25129,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"6161:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},{"id":25130,"name":"_jbFundingCycleStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24884,"src":"6181:20:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"}},{"id":25131,"name":"_jbPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24878,"src":"6209:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"},{"typeIdentifier":"t_contract$_JBFundingCycleStore_$76639","typeString":"contract JBFundingCycleStore"},{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}],"id":25128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6111:42:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_contract$_IJBDirectory_$85041_$_t_contract$_IJBFundingCycleStore_$85310_$_t_contract$_IJBPrices_$86000_$returns$_t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890_$","typeString":"function (contract IJBDirectory,contract IJBFundingCycleStore,contract IJBPrices) returns (contract JBSingleTokenPaymentTerminalStore3_1_1)"},"typeName":{"id":25127,"nodeType":"UserDefinedTypeName","pathNode":{"id":25126,"name":"JBSingleTokenPaymentTerminalStore3_1_1","nameLocations":["6115:38:19"],"nodeType":"IdentifierPath","referencedDeclaration":78890,"src":"6115:38:19"},"referencedDeclaration":78890,"src":"6115:38:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}}},"id":25132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6111:113:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}},"src":"6085:139:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}},"id":25134,"nodeType":"ExpressionStatement","src":"6085:139:19"},{"expression":{"arguments":[{"arguments":[{"id":25140,"name":"_jbPaymentTerminalStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24899,"src":"6251:23:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}],"id":25139,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6243:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25138,"name":"address","nodeType":"ElementaryTypeName","src":"6243:7:19","typeDescriptions":{}}},"id":25141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6243:32:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a4253696e676c65546f6b656e5061796d656e745465726d696e616c53746f7265335f315f31","id":25142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6277:40:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_95af5302cd788757e59143edf3b03ae4bc2fd956a83d91b8bae594037f9e6c9b","typeString":"literal_string \"JBSingleTokenPaymentTerminalStore3_1_1\""},"value":"JBSingleTokenPaymentTerminalStore3_1_1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_95af5302cd788757e59143edf3b03ae4bc2fd956a83d91b8bae594037f9e6c9b","typeString":"literal_string \"JBSingleTokenPaymentTerminalStore3_1_1\""}],"expression":{"id":25135,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"6234:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6237:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"6234:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6234:84:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25144,"nodeType":"ExpressionStatement","src":"6234:84:19"},{"expression":{"id":25150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25145,"name":"_accessJBLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24929,"src":"6329:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":25148,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6344:15:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AccessJBLib_$24347_$","typeString":"function () returns (contract AccessJBLib)"},"typeName":{"id":25147,"nodeType":"UserDefinedTypeName","pathNode":{"id":25146,"name":"AccessJBLib","nameLocations":["6348:11:19"],"nodeType":"IdentifierPath","referencedDeclaration":24347,"src":"6348:11:19"},"referencedDeclaration":24347,"src":"6348:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}}},"id":25149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6344:17:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}},"src":"6329:32:19","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}},"id":25151,"nodeType":"ExpressionStatement","src":"6329:32:19"},{"expression":{"id":25170,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25152,"name":"_jbETHPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24902,"src":"6372:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":25156,"name":"_accessJBLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24929,"src":"6433:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_AccessJBLib_$24347","typeString":"contract AccessJBLib"}},"id":25157,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6446:3:19","memberName":"ETH","nodeType":"MemberAccess","referencedDeclaration":24274,"src":"6433:16:19","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_uint256_$","typeString":"function () pure external returns (uint256)"}},"id":25158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6433:18:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":25159,"name":"_jbOperatorStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24872,"src":"6459:16:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"}},{"id":25160,"name":"_jbProjects","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24875,"src":"6483:11:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"}},{"id":25161,"name":"_jbDirectory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24881,"src":"6502:12:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"}},{"id":25162,"name":"_jbSplitsStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24893,"src":"6522:14:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"}},{"id":25163,"name":"_jbPrices","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24878,"src":"6544:9:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"}},{"arguments":[{"id":25166,"name":"_jbPaymentTerminalStore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24899,"src":"6569:23:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBSingleTokenPaymentTerminalStore3_1_1_$78890","typeString":"contract JBSingleTokenPaymentTerminalStore3_1_1"}],"id":25165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6561:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25164,"name":"address","nodeType":"ElementaryTypeName","src":"6561:7:19","typeDescriptions":{}}},"id":25167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6561:32:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":25168,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"6601:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_contract$_JBOperatorStore_$76914","typeString":"contract JBOperatorStore"},{"typeIdentifier":"t_contract$_JBProjects_$77331","typeString":"contract JBProjects"},{"typeIdentifier":"t_contract$_JBDirectory_$74541","typeString":"contract JBDirectory"},{"typeIdentifier":"t_contract$_JBSplitsStore_$79671","typeString":"contract JBSplitsStore"},{"typeIdentifier":"t_contract$_JBPrices_$77091","typeString":"contract JBPrices"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":25155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"6396:29:19","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$_t_uint256_$_t_contract$_IJBOperatorStore_$85400_$_t_contract$_IJBProjects_$86082_$_t_contract$_IJBDirectory_$85041_$_t_contract$_IJBSplitsStore_$86453_$_t_contract$_IJBPrices_$86000_$_t_address_$_t_address_$returns$_t_contract$_JBETHPaymentTerminal3_1_1_$74814_$","typeString":"function (uint256,contract IJBOperatorStore,contract IJBProjects,contract IJBDirectory,contract IJBSplitsStore,contract IJBPrices,address,address) returns (contract JBETHPaymentTerminal3_1_1)"},"typeName":{"id":25154,"nodeType":"UserDefinedTypeName","pathNode":{"id":25153,"name":"JBETHPaymentTerminal3_1_1","nameLocations":["6400:25:19"],"nodeType":"IdentifierPath","referencedDeclaration":74814,"src":"6400:25:19"},"referencedDeclaration":74814,"src":"6400:25:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}}},"id":25169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6396:224:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}},"src":"6372:248:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}},"id":25171,"nodeType":"ExpressionStatement","src":"6372:248:19"},{"expression":{"arguments":[{"arguments":[{"id":25177,"name":"_jbETHPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24902,"src":"6647:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}],"id":25176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6639:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25175,"name":"address","nodeType":"ElementaryTypeName","src":"6639:7:19","typeDescriptions":{}}},"id":25178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6639:30:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"4a424554485061796d656e745465726d696e616c335f315f31","id":25179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6671:27:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_523113c0c954afed7a5d4a9a88ec5526798ebf8c4fb21d6c8bdc69833f2365c6","typeString":"literal_string \"JBETHPaymentTerminal3_1_1\""},"value":"JBETHPaymentTerminal3_1_1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_523113c0c954afed7a5d4a9a88ec5526798ebf8c4fb21d6c8bdc69833f2365c6","typeString":"literal_string \"JBETHPaymentTerminal3_1_1\""}],"expression":{"id":25172,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"6630:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6633:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"6630:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6630:69:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25181,"nodeType":"ExpressionStatement","src":"6630:69:19"},{"expression":{"arguments":[{"id":25185,"name":"_jbETHPaymentTerminal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24902,"src":"6726:21:19","typeDescriptions":{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_JBETHPaymentTerminal3_1_1_$74814","typeString":"contract JBETHPaymentTerminal3_1_1"}],"expression":{"id":25182,"name":"_terminals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24923,"src":"6710:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage","typeString":"contract IJBPaymentTerminal[] storage ref"}},"id":25184,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6721:4:19","memberName":"push","nodeType":"MemberAccess","src":"6710:15:19","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr_$_t_contract$_IJBPaymentTerminal_$85505_$returns$__$attached_to$_t_array$_t_contract$_IJBPaymentTerminal_$85505_$dyn_storage_ptr_$","typeString":"function (contract IJBPaymentTerminal[] storage pointer,contract IJBPaymentTerminal)"}},"id":25186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6710:38:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25187,"nodeType":"ExpressionStatement","src":"6710:38:19"},{"expression":{"id":25193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25188,"name":"_projectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24905,"src":"6759:16:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage","typeString":"struct JBProjectMetadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"6d794950465348617368","id":25190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6806:12:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_a640a1000b681594c24dcbdbb774d6a2b3651f9f536753e2364e466120e0f0a7","typeString":"literal_string \"myIPFSHash\""},"value":"myIPFSHash"},{"hexValue":"31","id":25191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6828:1:19","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a640a1000b681594c24dcbdbb774d6a2b3651f9f536753e2364e466120e0f0a7","typeString":"literal_string \"myIPFSHash\""},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":25189,"name":"JBProjectMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87943,"src":"6778:17:19","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBProjectMetadata_$87943_storage_ptr_$","typeString":"type(struct JBProjectMetadata storage pointer)"}},"id":25192,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6797:7:19","6820:6:19"],"names":["content","domain"],"nodeType":"FunctionCall","src":"6778:53:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_memory_ptr","typeString":"struct JBProjectMetadata memory"}},"src":"6759:72:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBProjectMetadata_$87943_storage","typeString":"struct JBProjectMetadata storage ref"}},"id":25194,"nodeType":"ExpressionStatement","src":"6759:72:19"},{"expression":{"id":25211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25195,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24908,"src":"6842:5:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage","typeString":"struct JBFundingCycleData storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"3134","id":25197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6893:2:19","typeDescriptions":{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},"value":"14"},{"commonType":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},"id":25202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"31303030","id":25198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6917:4:19","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1000"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":25201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":25199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6924:2:19","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":25200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6930:2:19","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"6924:8:19","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"src":"6917:15:19","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"}},{"hexValue":"343530303030303030","id":25203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6960:9:19","typeDescriptions":{"typeIdentifier":"t_rational_450000000_by_1","typeString":"int_const 450000000"},"value":"450000000"},{"arguments":[{"arguments":[{"hexValue":"30","id":25207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7021:1:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":25206,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7013:7:19","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":25205,"name":"address","nodeType":"ElementaryTypeName","src":"7013:7:19","typeDescriptions":{}}},"id":25208,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7013:10:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":25204,"name":"IJBFundingCycleBallot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85165,"src":"6991:21:19","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IJBFundingCycleBallot_$85165_$","typeString":"type(contract IJBFundingCycleBallot)"}},"id":25209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6991:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_14_by_1","typeString":"int_const 14"},{"typeIdentifier":"t_rational_1000000000000000000000_by_1","typeString":"int_const 1000000000000000000000"},{"typeIdentifier":"t_rational_450000000_by_1","typeString":"int_const 450000000"},{"typeIdentifier":"t_contract$_IJBFundingCycleBallot_$85165","typeString":"contract IJBFundingCycleBallot"}],"id":25196,"name":"JBFundingCycleData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87816,"src":"6850:18:19","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBFundingCycleData_$87816_storage_ptr_$","typeString":"type(struct JBFundingCycleData storage pointer)"}},"id":25210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6883:8:19","6909:6:19","6946:12:19","6983:6:19"],"names":["duration","weight","discountRate","ballot"],"nodeType":"FunctionCall","src":"6850:185:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_memory_ptr","typeString":"struct JBFundingCycleData memory"}},"src":"6842:193:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBFundingCycleData_$87816_storage","typeString":"struct JBFundingCycleData storage ref"}},"id":25212,"nodeType":"ExpressionStatement","src":"6842:193:19"},{"expression":{"id":25236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25213,"name":"_metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24911,"src":"7046:9:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_storage","typeString":"struct JBPayDataSourceFundingCycleMetadata storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"66616c7365","id":25216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7182:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7225:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7264:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":25215,"name":"JBGlobalFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87869,"src":"7116:28:19","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBGlobalFundingCycleMetadata_$87869_storage_ptr_$","typeString":"type(struct JBGlobalFundingCycleMetadata storage pointer)"}},"id":25219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7163:17:19","7205:18:19","7248:14:19"],"names":["allowSetTerminals","allowSetController","pauseTransfers"],"nodeType":"FunctionCall","src":"7116:168:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"}},{"hexValue":"35303030","id":25220,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7312:4:19","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},{"hexValue":"35303030","id":25221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7352:4:19","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},{"hexValue":"35303030","id":25222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7398:4:19","typeDescriptions":{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},"value":"5000"},{"hexValue":"66616c7365","id":25223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7426:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7465:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7497:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7527:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":25227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7560:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":25228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7602:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7647:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7676:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25231,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7723:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":25232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7774:5:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"74727565","id":25233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7817:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"30783030","id":25234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7845:4:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_JBGlobalFundingCycleMetadata_$87869_memory_ptr","typeString":"struct JBGlobalFundingCycleMetadata memory"},{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},{"typeIdentifier":"t_rational_5000_by_1","typeString":"int_const 5000"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":25214,"name":"JBPayDataSourceFundingCycleMetadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29590,"src":"7058:35:19","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_storage_ptr_$","typeString":"type(struct JBPayDataSourceFundingCycleMetadata storage pointer)"}},"id":25235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7108:6:19","7298:12:19","7336:14:19","7376:20:19","7416:8:19","7445:18:19","7484:11:19","7516:9:19","7546:12:19","7578:22:19","7621:24:19","7666:8:19","7695:26:19","7742:30:19","7793:22:19","7835:8:19"],"names":["global","reservedRate","redemptionRate","ballotRedemptionRate","pausePay","pauseDistributions","pauseRedeem","pauseBurn","allowMinting","allowTerminalMigration","allowControllerMigration","holdFees","preferClaimedTokenOverride","useTotalOverflowForRedemptions","useDataSourceForRedeem","metadata"],"nodeType":"FunctionCall","src":"7058:802:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_memory_ptr","typeString":"struct JBPayDataSourceFundingCycleMetadata memory"}},"src":"7046:814:19","typeDescriptions":{"typeIdentifier":"t_struct$_JBPayDataSourceFundingCycleMetadata_$29590_storage","typeString":"struct JBPayDataSourceFundingCycleMetadata storage ref"}},"id":25237,"nodeType":"ExpressionStatement","src":"7046:814:19"},{"expression":{"arguments":[{"id":25241,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24863,"src":"7914:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":25242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7928:9:19","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":25238,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"7906:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25240,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7909:4:19","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":42808,"src":"7906:7:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":25243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7906:32:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25244,"nodeType":"ExpressionStatement","src":"7906:32:19"},{"expression":{"arguments":[{"id":25248,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"7956:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":25249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7971:9:19","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":25245,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"7948:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7951:4:19","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":42808,"src":"7948:7:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":25250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7948:33:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25251,"nodeType":"ExpressionStatement","src":"7948:33:19"},{"expression":{"arguments":[{"id":25255,"name":"_caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24869,"src":"7999:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"313030","id":25256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8008:9:19","subdenomination":"ether","typeDescriptions":{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_rational_100000000000000000000_by_1","typeString":"int_const 100000000000000000000"}],"expression":{"id":25252,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"7991:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25254,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7994:4:19","memberName":"deal","nodeType":"MemberAccess","referencedDeclaration":42808,"src":"7991:7:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256) external"}},"id":25257,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7991:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25258,"nodeType":"ExpressionStatement","src":"7991:27:19"},{"expression":{"arguments":[{"id":25262,"name":"_projectOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24857,"src":"8038:13:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"70726f6a6563744f776e6572","id":25263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8053:14:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_52f78315077fa68c8bf6f6b933c3999ae3429caba4fc766b6e2800653173be17","typeString":"literal_string \"projectOwner\""},"value":"projectOwner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_52f78315077fa68c8bf6f6b933c3999ae3429caba4fc766b6e2800653173be17","typeString":"literal_string \"projectOwner\""}],"expression":{"id":25259,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"8029:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8032:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"8029:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8029:39:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25265,"nodeType":"ExpressionStatement","src":"8029:39:19"},{"expression":{"arguments":[{"id":25269,"name":"_beneficiary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24863,"src":"8087:12:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"62656e6566696369617279","id":25270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8101:13:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_d49a1fdc7abf32173a5edf07d59d27b9172ad056cb5c008dc2bbefe702123a55","typeString":"literal_string \"beneficiary\""},"value":"beneficiary"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_d49a1fdc7abf32173a5edf07d59d27b9172ad056cb5c008dc2bbefe702123a55","typeString":"literal_string \"beneficiary\""}],"expression":{"id":25266,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"8078:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8081:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"8078:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8078:37:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25272,"nodeType":"ExpressionStatement","src":"8078:37:19"},{"expression":{"arguments":[{"id":25276,"name":"_caller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":24869,"src":"8134:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"63616c6c6572","id":25277,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8143:8:19","typeDescriptions":{"typeIdentifier":"t_stringliteral_d71f1cf4f9d9f82ef0f0a7247563f6632677ada0e0f8f0d8734b4d2327da39ea","typeString":"literal_string \"caller\""},"value":"caller"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_d71f1cf4f9d9f82ef0f0a7247563f6632677ada0e0f8f0d8734b4d2327da39ea","typeString":"literal_string \"caller\""}],"expression":{"id":25273,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":32030,"src":"8125:2:19","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$43171","typeString":"contract Vm"}},"id":25275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8128:5:19","memberName":"label","nodeType":"MemberAccess","referencedDeclaration":42051,"src":"8125:8:19","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":25278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8125:27:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":25279,"nodeType":"ExpressionStatement","src":"8125:27:19"}]},"functionSelector":"0a9254e4","implemented":true,"kind":"function","modifiers":[],"name":"setUp","nameLocation":"4422:5:19","parameters":{"id":24930,"nodeType":"ParameterList","parameters":[],"src":"4427:2:19"},"returnParameters":{"id":24931,"nodeType":"ParameterList","parameters":[],"src":"4445:0:19"},"scope":25458,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":25457,"nodeType":"FunctionDefinition","src":"8302:1078:19","nodes":[],"body":{"id":25456,"nodeType":"Block","src":"8397:983:19","nodes":[],"statements":[{"assignments":[25291],"declarations":[{"constant":false,"id":25291,"mutability":"mutable","name":"data","nameLocation":"8420:4:19","nodeType":"VariableDeclaration","scope":25456,"src":"8407:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":25290,"name":"bytes","nodeType":"ElementaryTypeName","src":"8407:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":25292,"nodeType":"VariableDeclarationStatement","src":"8407:17:19"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25293,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8438:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30783030","id":25294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8448:4:19","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0x00"},"src":"8438:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25318,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25316,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8563:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30783766","id":25317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8573:4:19","typeDescriptions":{"typeIdentifier":"t_rational_127_by_1","typeString":"int_const 127"},"value":"0x7f"},"src":"8563:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25339,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8689:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"30786666","id":25340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8699:4:19","typeDescriptions":{"typeIdentifier":"t_rational_255_by_1","typeString":"int_const 255"},"value":"0xff"},"src":"8689:14:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25366,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8829:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"307866666666","id":25367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8839:6:19","typeDescriptions":{"typeIdentifier":"t_rational_65535_by_1","typeString":"int_const 65535"},"value":"0xffff"},"src":"8829:16:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":25395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":25393,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8972:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"hexValue":"3078666666666666","id":25394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8982:8:19","typeDescriptions":{"typeIdentifier":"t_rational_16777215_by_1","typeString":"int_const 16777215"},"value":"0xffffff"},"src":"8972:18:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":25443,"nodeType":"Block","src":"9113:115:19","statements":[{"expression":{"id":25441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25420,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"9127:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786461","id":25425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9158:4:19","typeDescriptions":{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"},"value":"0xda"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_218_by_1","typeString":"int_const 218"}],"id":25424,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9151:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25423,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9151:6:19","typeDescriptions":{}}},"id":25426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9151:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9172:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9165:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25427,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9165:6:19","typeDescriptions":{}}},"id":25430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9165:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25431,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"9179:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783834","id":25434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9195:4:19","typeDescriptions":{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"},"value":"0x84"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_132_by_1","typeString":"int_const 132"}],"id":25433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9188:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25432,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9188:6:19","typeDescriptions":{}}},"id":25435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9188:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":25438,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"9209:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9202:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint32_$","typeString":"type(uint32)"},"typeName":{"id":25436,"name":"uint32","nodeType":"ElementaryTypeName","src":"9202:6:19","typeDescriptions":{}}},"id":25439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9202:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":25421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9134:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9138:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"9134:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9134:83:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"9127:90:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25442,"nodeType":"ExpressionStatement","src":"9127:90:19"}]},"id":25444,"nodeType":"IfStatement","src":"8968:260:19","trueBody":{"id":25419,"nodeType":"Block","src":"8992:115:19","statements":[{"expression":{"id":25417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25396,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"9006:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786439","id":25401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9037:4:19","typeDescriptions":{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"},"value":"0xd9"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_217_by_1","typeString":"int_const 217"}],"id":25400,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9030:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25399,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9030:6:19","typeDescriptions":{}}},"id":25402,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9030:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9051:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9044:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25403,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9044:6:19","typeDescriptions":{}}},"id":25406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9044:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25407,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"9058:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783833","id":25410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9074:4:19","typeDescriptions":{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"},"value":"0x83"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_131_by_1","typeString":"int_const 131"}],"id":25409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9067:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25408,"name":"bytes1","nodeType":"ElementaryTypeName","src":"9067:6:19","typeDescriptions":{}}},"id":25411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9067:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":25414,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"9088:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9081:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint24_$","typeString":"type(uint24)"},"typeName":{"id":25412,"name":"uint24","nodeType":"ElementaryTypeName","src":"9081:6:19","typeDescriptions":{}}},"id":25415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9081:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint24","typeString":"uint24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint24","typeString":"uint24"}],"expression":{"id":25397,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9013:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25398,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9017:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"9013:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25416,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9013:83:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"9006:90:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25418,"nodeType":"ExpressionStatement","src":"9006:90:19"}]}},"id":25445,"nodeType":"IfStatement","src":"8825:403:19","trueBody":{"id":25392,"nodeType":"Block","src":"8847:115:19","statements":[{"expression":{"id":25390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25369,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"8861:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786438","id":25374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8892:4:19","typeDescriptions":{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"},"value":"0xd8"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_216_by_1","typeString":"int_const 216"}],"id":25373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8885:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25372,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8885:6:19","typeDescriptions":{}}},"id":25375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8885:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8906:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8899:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25376,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8899:6:19","typeDescriptions":{}}},"id":25379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8899:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25380,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"8913:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783832","id":25383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8929:4:19","typeDescriptions":{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"},"value":"0x82"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_130_by_1","typeString":"int_const 130"}],"id":25382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8922:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25381,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8922:6:19","typeDescriptions":{}}},"id":25384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8922:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":25387,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8943:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25386,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8936:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint16_$","typeString":"type(uint16)"},"typeName":{"id":25385,"name":"uint16","nodeType":"ElementaryTypeName","src":"8936:6:19","typeDescriptions":{}}},"id":25388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8936:14:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint16","typeString":"uint16"}],"expression":{"id":25370,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8868:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8872:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"8868:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8868:83:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8861:90:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25391,"nodeType":"ExpressionStatement","src":"8861:90:19"}]}},"id":25446,"nodeType":"IfStatement","src":"8685:543:19","trueBody":{"id":25365,"nodeType":"Block","src":"8705:114:19","statements":[{"expression":{"id":25363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25342,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"8719:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786437","id":25347,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8750:4:19","typeDescriptions":{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"},"value":"0xd7"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_215_by_1","typeString":"int_const 215"}],"id":25346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8743:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25345,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8743:6:19","typeDescriptions":{}}},"id":25348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8743:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8764:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8757:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25349,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8757:6:19","typeDescriptions":{}}},"id":25352,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8757:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25353,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"8771:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783831","id":25356,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8787:4:19","typeDescriptions":{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"},"value":"0x81"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_129_by_1","typeString":"int_const 129"}],"id":25355,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8780:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25354,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8780:6:19","typeDescriptions":{}}},"id":25357,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8780:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"id":25360,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8800:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8794:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":25358,"name":"uint8","nodeType":"ElementaryTypeName","src":"8794:5:19","typeDescriptions":{}}},"id":25361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8794:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":25343,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8726:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25344,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8730:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"8726:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8726:82:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8719:89:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25364,"nodeType":"ExpressionStatement","src":"8719:89:19"}]}},"id":25447,"nodeType":"IfStatement","src":"8559:669:19","trueBody":{"id":25338,"nodeType":"Block","src":"8579:100:19","statements":[{"expression":{"id":25336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25319,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"8593:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786436","id":25324,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8624:4:19","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":25323,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8617:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25322,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8617:6:19","typeDescriptions":{}}},"id":25325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8617:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8638:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8631:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25326,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8631:6:19","typeDescriptions":{}}},"id":25329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8631:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25330,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"8645:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":25333,"name":"_nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25285,"src":"8660:6:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":25332,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8654:5:19","typeDescriptions":{"typeIdentifier":"t_type$_t_uint8_$","typeString":"type(uint8)"},"typeName":{"id":25331,"name":"uint8","nodeType":"ElementaryTypeName","src":"8654:5:19","typeDescriptions":{}}},"id":25334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:13:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint8","typeString":"uint8"}],"expression":{"id":25320,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8600:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8604:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"8600:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25335,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8600:68:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8593:75:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25337,"nodeType":"ExpressionStatement","src":"8593:75:19"}]}},"id":25448,"nodeType":"IfStatement","src":"8434:794:19","trueBody":{"id":25315,"nodeType":"Block","src":"8454:99:19","statements":[{"expression":{"id":25313,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":25296,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"8468:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"hexValue":"30786436","id":25301,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8499:4:19","typeDescriptions":{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"},"value":"0xd6"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_214_by_1","typeString":"int_const 214"}],"id":25300,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8492:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25299,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8492:6:19","typeDescriptions":{}}},"id":25302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8492:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"arguments":[{"hexValue":"30783934","id":25305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8513:4:19","typeDescriptions":{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"},"value":"0x94"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_148_by_1","typeString":"int_const 148"}],"id":25304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8506:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25303,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8506:6:19","typeDescriptions":{}}},"id":25306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8506:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},{"id":25307,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25283,"src":"8520:7:19","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"30783830","id":25310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8536:4:19","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"0x80"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"}],"id":25309,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"8529:6:19","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes1_$","typeString":"type(bytes1)"},"typeName":{"id":25308,"name":"bytes1","nodeType":"ElementaryTypeName","src":"8529:6:19","typeDescriptions":{}}},"id":25311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8529:12:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":25297,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8475:3:19","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":25298,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8479:12:19","memberName":"encodePacked","nodeType":"MemberAccess","src":"8475:16:19","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":25312,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8475:67:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"src":"8468:74:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":25314,"nodeType":"ExpressionStatement","src":"8468:74:19"}]}},{"assignments":[25450],"declarations":[{"constant":false,"id":25450,"mutability":"mutable","name":"hash","nameLocation":"9245:4:19","nodeType":"VariableDeclaration","scope":25456,"src":"9237:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":25449,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9237:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":25454,"initialValue":{"arguments":[{"id":25452,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":25291,"src":"9262:4:19","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":25451,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9252:9:19","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":25453,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9252:15:19","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9237:30:19"},{"AST":{"nativeSrc":"9302:72:19","nodeType":"YulBlock","src":"9302:72:19","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"9323:1:19","nodeType":"YulLiteral","src":"9323:1:19","type":"","value":"0"},{"name":"hash","nativeSrc":"9326:4:19","nodeType":"YulIdentifier","src":"9326:4:19"}],"functionName":{"name":"mstore","nativeSrc":"9316:6:19","nodeType":"YulIdentifier","src":"9316:6:19"},"nativeSrc":"9316:15:19","nodeType":"YulFunctionCall","src":"9316:15:19"},"nativeSrc":"9316:15:19","nodeType":"YulExpressionStatement","src":"9316:15:19"},{"nativeSrc":"9344:20:19","nodeType":"YulAssignment","src":"9344:20:19","value":{"arguments":[{"kind":"number","nativeSrc":"9362:1:19","nodeType":"YulLiteral","src":"9362:1:19","type":"","value":"0"}],"functionName":{"name":"mload","nativeSrc":"9356:5:19","nodeType":"YulIdentifier","src":"9356:5:19"},"nativeSrc":"9356:8:19","nodeType":"YulFunctionCall","src":"9356:8:19"},"variableNames":[{"name":"_address","nativeSrc":"9344:8:19","nodeType":"YulIdentifier","src":"9344:8:19"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":25288,"isOffset":false,"isSlot":false,"src":"9344:8:19","valueSize":1},{"declaration":25450,"isOffset":false,"isSlot":false,"src":"9326:4:19","valueSize":1}],"flags":["memory-safe"],"id":25455,"nodeType":"InlineAssembly","src":"9277:97:19"}]},"implemented":true,"kind":"function","modifiers":[],"name":"addressFrom","nameLocation":"8311:11:19","parameters":{"id":25286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25283,"mutability":"mutable","name":"_origin","nameLocation":"8331:7:19","nodeType":"VariableDeclaration","scope":25457,"src":"8323:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25282,"name":"address","nodeType":"ElementaryTypeName","src":"8323:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":25285,"mutability":"mutable","name":"_nonce","nameLocation":"8348:6:19","nodeType":"VariableDeclaration","scope":25457,"src":"8340:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25284,"name":"uint256","nodeType":"ElementaryTypeName","src":"8340:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8322:33:19"},"returnParameters":{"id":25289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":25288,"mutability":"mutable","name":"_address","nameLocation":"8387:8:19","nodeType":"VariableDeclaration","scope":25457,"src":"8379:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":25287,"name":"address","nodeType":"ElementaryTypeName","src":"8379:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8378:18:19"},"scope":25458,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":24850,"name":"Test","nameLocations":["2796:4:19"],"nodeType":"IdentifierPath","referencedDeclaration":41644,"src":"2796:4:19"},"id":24851,"nodeType":"InheritanceSpecifier","src":"2796:4:19"}],"canonicalName":"TestBaseWorkflow","contractDependencies":[24347,73935,74541,74814,75137,76639,76914,77091,77331,78890,79671,80711],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[25458,41644,41593,37331,37041,36277,34223,33503,31971,32037,32034],"name":"TestBaseWorkflow","nameLocation":"2776:16:19","scope":25459,"usedErrors":[],"usedEvents":[29685,29689,29693,29697,29701,29705,29709,29713,29719,29725,29733,29741,29747,29753,29759,29765,32098,32103,32108,32115,32122,32129]}],"license":"MIT"},"id":19} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526007805460ff199081166001908117909255600b80549091169091179055601b80546001600160a01b0319908116607b17909155601c8054821662010f2c179055601d8054909116620aa28917905534801561005f57600080fd5b506201cc2780620000716000396000f3fe60806040523480156200001157600080fd5b5060043610620000b75760003560e01c806385226c81116200007a57806385226c811462000117578063916a17c61462000130578063b5508aa9146200013a578063ba414fa61462000144578063e20c9f71146200015f578063fa7626d4146200016957600080fd5b80630a9254e414620000bc5780631ed7831c14620000c85780633e5e3c2314620000ea5780633f7286f414620000f457806366d9a9a014620000fe575b600080fd5b620000c662000177565b005b620000d2620012fc565b604051620000e1919062001c20565b60405180910390f35b620000d262001360565b620000d2620013c2565b6200010862001424565b604051620000e1919062001c6f565b6200012162001517565b604051620000e1919062001d4e565b62000108620015f1565b62000121620016db565b6200014e620017b5565b6040519015158152602001620000e1565b620000d2620018e2565b6007546200014e9060ff1681565b604051620001859062001b78565b604051809103906000f080158015620001a2573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600f60448201526e4a424f70657261746f7253746f726560881b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200023157600080fd5b505af115801562000246573d6000803e3d6000fd5b5050601e546040516001600160a01b03909116925062000267915062001b86565b6001600160a01b039091168152602001604051809103906000f08015801562000294573d6000803e3d6000fd5b50601f80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600a6044820152694a4250726f6a6563747360b01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200031e57600080fd5b505af115801562000333573d6000803e3d6000fd5b5050601b546040516001600160a01b03909116925062000354915062001b94565b6001600160a01b039091168152602001604051809103906000f08015801562000381573d6000803e3d6000fd5b50602080546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260086044820152674a4250726963657360c01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200040957600080fd5b505af11580156200041e573d6000803e3d6000fd5b5050505060006200043130600562001944565b905080604051620004429062001ba2565b6001600160a01b039091168152602001604051809103906000f0801580156200046f573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260136044820152724a4246756e64696e674379636c6553746f726560681b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200050257600080fd5b505af115801562000517573d6000803e3d6000fd5b5050601e54601f54602254601b546040516001600160a01b03948516965092841694509083169216906200054b9062001bb0565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000590573d6000803e3d6000fd5b50602180546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600b60448201526a4a424469726563746f727960a81b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200061b57600080fd5b505af115801562000630573d6000803e3d6000fd5b50506021546040516001600160a01b03909116925062000651915062001bbe565b6001600160a01b039091168152602001604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602480546001600160a01b0319166001600160a01b03928316179055601e54601f546021546022546040519385169492831693918316921690620006c39062001bcc565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000708573d6000803e3d6000fd5b50602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b4a42546f6b656e53746f726560a01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b5050601e54601f546021546040516001600160a01b039384169550918316935090911690620007d89062001bda565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000815573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600d60448201526c4a4253706c69747353746f726560981b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620008a257600080fd5b505af1158015620008b7573d6000803e3d6000fd5b5050601e54601f546021546022546023546025546024546040516001600160a01b0397881699509587169750938616959283169491831693908316921690620009009062001be8565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e001604051809103906000f0801580156200095b573d6000803e3d6000fd5b50602680546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b252121b7b73a3937b63632b960a11b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620009e757600080fd5b505af1158015620009fc573d6000803e3d6000fd5b5050601b5460405163ca669fa760e01b81526001600160a01b0390911660048201526000805160206201cbd2833981519152925063ca669fa79150602401600060405180830381600087803b15801562000a5557600080fd5b505af115801562000a6a573d6000803e3d6000fd5b505060215460265460405163a1ed317560e01b81526001600160a01b039182166004820152600160248201529116925063a1ed31759150604401600060405180830381600087803b15801562000abf57600080fd5b505af115801562000ad4573d6000803e3d6000fd5b50506021546022546020546040516001600160a01b03938416955091831693509091169062000b039062001bf6565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000b40573d6000803e3d6000fd5b50602780546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152602660448201527f4a4253696e676c65546f6b656e5061796d656e745465726d696e616c53746f7260648201526565335f315f3160d01b60848201526000805160206201cbd28339815191529063c657c7189060a401600060405180830381600087803b15801562000bec57600080fd5b505af115801562000c01573d6000803e3d6000fd5b5050505060405162000c139062001c04565b604051809103906000f08015801562000c30573d6000803e3d6000fd5b50603980546001600160a01b0319166001600160a01b03929092169182179055604080516341917ff960e11b81529051638322fff2916004808201926020929091908290030181865afa15801562000c8c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cb2919062001dcc565b601e54601f54602154602554602054602754601b546040516001600160a01b039788169796871696958616959485169493841693928316929091169062000cf99062001c12565b9788526001600160a01b039687166020890152948616604088015292851660608701529084166080860152831660a0850152821660c08401521660e082015261010001604051809103906000f08015801562000d59573d6000803e3d6000fd5b50602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152601960448201527f4a424554485061796d656e745465726d696e616c335f315f310000000000000060648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b15801562000df657600080fd5b505af115801562000e0b573d6000803e3d6000fd5b505060285460378054600181810183556000929092527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b039093169290921790915560408051608081018252600a918101918252690daf292a08ca690c2e6d60b31b6060820152818152602081019290925290925060299150819062000ea6908262001e8d565b506020918201516001918201556040805160808082018352600e808352683635c9adc5dea00000838701819052631ad2748084860181905260006060958601819052602b93909355602c91909155602d55602e80546001600160a01b0319169055835161026081018552610200810182815261022082018390526102408201839052815261138896810187905280850187905292830186905290820181905260a0820181905260c0820181905260e08201819052610100820184905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c08201939093526101e001829052602f805462ffffff1916905560308390556031839055603292909255603380546affffffffffffffffffffff19166a0100000000000100000000179055603455601c54905163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd28339815191529063c88a5e6d90604401600060405180830381600087803b1580156200103d57600080fd5b505af115801562001052573d6000803e3d6000fd5b5050601b5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b158015620010ba57600080fd5b505af1158015620010cf573d6000803e3d6000fd5b5050601d5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b1580156200113757600080fd5b505af11580156200114c573d6000803e3d6000fd5b5050601b54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b383937b532b1ba27bbb732b960a11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620011c757600080fd5b505af1158015620011dc573d6000803e3d6000fd5b5050601c54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600b60448201526a62656e656669636961727960a81b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b1580156200125657600080fd5b505af11580156200126b573d6000803e3d6000fd5b5050601d54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526531b0b63632b960d11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620012e057600080fd5b505af1158015620012f5573d6000803e3d6000fd5b5050505050565b606060148054806020026020016040519081016040528092919081815260200182805480156200135657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001337575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620014f557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620014b65790505b5050505050815250508152602001906001019062001448565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200150e5783829060005260206000200180546200155d9062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200158b9062001dfc565b8015620015dc5780601f10620015b057610100808354040283529160200191620015dc565b820191906000526020600020905b815481529060010190602001808311620015be57829003601f168201915b5050505050815260200190600101906200153b565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620016c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620016835790505b5050505050815250508152602001906001019062001615565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200150e578382906000526020600020018054620017219062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200174f9062001dfc565b8015620017a05780601f106200177457610100808354040283529160200191620017a0565b820191906000526020600020905b8154815290600101906020018083116200178257829003601f168201915b505050505081526020019060010190620016ff565b600754600090610100900460ff1615620017d85750600754610100900460ff1690565b60006000805160206201cbd28339815191523b15620018dd57604080516000805160206201cbd2833981519152602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200185f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162001f5a565b60408051601f19818403018152908290526200187b9162001f8d565b6000604051808303816000865af19150503d8060008114620018ba576040519150601f19603f3d011682016040523d82523d6000602084013e620018bf565b606091505b5091505080806020019051810190620018d9919062001fab565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6000606082600003620019a157604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152600160ff1b60368201526037015b604051602081830303815290604052905062001b64565b607f8311620019f257604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b16602282015260f884901b6001600160f81b03191660368201526037016200198a565b60ff831162001a4d5760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608160f81b603682015260f884901b6001600160f81b03191660378201526038016200198a565b61ffff831162001aa957604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152604160f91b60368201526001600160f01b031960f085901b1660378201526039016200198a565b62ffffff831162001b065760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608360f81b60368201526001600160e81b031960e885901b166037820152603a016200198a565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152602160fa1b60368201526001600160e01b031960e085901b166037820152603b0160405160208183030381529060405290505b805160209091012060008190529392505050565b6107ed8062001fd783390190565b6134ef80620027c483390190565b6109658062005cb383390190565b611465806200661883390190565b6118758062007a7d83390190565b61089a80620092f283390190565b61468c8062009b8c83390190565b61115c806200e21883390190565b614305806200f37483390190565b6135ea806201367983390190565b61011c8062016c6383390190565b615e538062016d7f83390190565b6020808252825182820181905260009190848201906040850190845b8181101562001c635783516001600160a01b03168352928401929184019160010162001c3c565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101562001d1957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562001d035783516001600160e01b0319168252928b019260019290920191908b019062001cd7565b50978a0197955050509187019160010162001c99565b50919998505050505050505050565b60005b8381101562001d4557818101518382015260200162001d2b565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562001dbf57878503603f190184528151805180875262001d9f818989018a850162001d28565b601f01601f19169590950186019450928501929085019060010162001d75565b5092979650505050505050565b60006020828403121562001ddf57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062001e1157607f821691505b60208210810362001e3257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562001e88576000816000526020600020601f850160051c8101602086101562001e635750805b601f850160051c820191505b8181101562001e845782815560010162001e6f565b5050505b505050565b815167ffffffffffffffff81111562001eaa5762001eaa62001de6565b62001ec28162001ebb845462001dfc565b8462001e38565b602080601f83116001811462001efa576000841562001ee15750858301515b600019600386901b1c1916600185901b17855562001e84565b600085815260208120601f198616915b8281101562001f2b5788860151825594840194600190910190840162001f0a565b508582101562001f4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160e01b031983168152815160009062001f7f81600485016020870162001d28565b919091016004019392505050565b6000825162001fa181846020870162001d28565b9190910192915050565b60006020828403121562001fbe57600080fd5b8151801515811462001fcf57600080fd5b939250505056fe608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c634300081700336101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c6343000817003360a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c6343000817003360e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c6343000817003360a060405234801561001057600080fd5b5060405161089a38038061089a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108086100926000396000818161011d01526101d001526108086000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806334002f31146100955780637a81b562146100aa578063c41c2f2414610118578063e8db213014610157575b600080fd5b61008061006a366004610600565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100a86100a3366004610631565b6101ae565b005b6101036100b83660046106cc565b60009384526001602090815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b6040805192835260208301919091520161008c565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008c565b6101036101653660046106cc565b6000938452602084815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b604051632eec7b5560e11b815260048101859052849033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610716565b6001600160a01b03161461026257604051632adfdd0560e21b815260040160405180910390fd5b8160005b818110156105f7576001600160e81b0385858381811061028857610288610733565b905060c002016040013511156102b15760405163a9b8fbcf60e01b815260040160405180910390fd5b62ffffff8585838181106102c7576102c7610733565b905060c002016060013511156102f057604051639583faed60e01b815260040160405180910390fd5b6001600160e81b0385858381811061030a5761030a610733565b905060c0020160800135111561033357604051635730278360e01b815260040160405180910390fd5b62ffffff85858381811061034957610349610733565b905060c0020160a0013511156103725760405163d9b93c2560e01b815260040160405180910390fd5b600085858381811061038657610386610733565b905060c002016040013511156104875760e88585838181106103aa576103aa610733565b905060c0020160600135901b8585838181106103c8576103c8610733565b905060c0020160400135176000808981526020019081526020016000206000888152602001908152602001600020600087878581811061040a5761040a610733565b61042092602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061045457610454610733565b905060c00201602001602081019061046c9190610749565b6001600160a01b031681526020810191909152604001600020555b600085858381811061049b5761049b610733565b905060c0020160800135111561059d5760e88585838181106104bf576104bf610733565b905060c0020160a00135901b8585838181106104dd576104dd610733565b905060c002016080013517600160008981526020019081526020016000206000888152602001908152602001600020600087878581811061052057610520610733565b61053692602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061056a5761056a610733565b905060c0020160200160208101906105829190610749565b6001600160a01b031681526020810191909152604001600020555b86867f26f78d7903ac64ef9b38a2bf94b365f364f28efa245a6b67bcc27350f141c5f78787858181106105d2576105d2610733565b905060c00201336040516105e7929190610766565b60405180910390a3600101610266565b50505050505050565b60006020828403121561061257600080fd5b81356001600160e01b03198116811461062a57600080fd5b9392505050565b6000806000806060858703121561064757600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561066d57600080fd5b818701915087601f83011261068157600080fd5b81358181111561069057600080fd5b88602060c0830285010111156106a557600080fd5b95989497505060200194505050565b6001600160a01b03811681146106c957600080fd5b50565b600080600080608085870312156106e257600080fd5b843593506020850135925060408501356106fb816106b4565b9150606085013561070b816106b4565b939692955090935050565b60006020828403121561072857600080fd5b815161062a816106b4565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561075b57600080fd5b813561062a816106b4565b60e081018335610775816106b4565b6001600160a01b039081168352602085013590610791826106b4565b808216602085015260408601356040850152606086013560608501526080860135608085015260a086013560a085015280851660c08501525050939250505056fea264697066735822122011f5dcceff3169faa67c51cab10310062e5f0eccc7841108493ed7d95c5c94b164736f6c634300081700336101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c6343000817003360e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c634300081700336101606040523480156200001257600080fd5b506040516200430538038062004305833981016040819052620000359162000085565b6001600160a01b0396871660805294861660a0529285166101405290841660c052831660e052821661010052166101205262000130565b6001600160a01b03811681146200008257600080fd5b50565b600080600080600080600060e0888a031215620000a157600080fd5b8751620000ae816200006c565b6020890151909750620000c1816200006c565b6040890151909650620000d4816200006c565b6060890151909550620000e7816200006c565b6080890151909450620000fa816200006c565b60a08901519093506200010d816200006c565b60c089015190925062000120816200006c565b8091505092959891949750929550565b60805160a05160c05160e0516101005161012051610140516140776200028e600039600081816103a6015281816105cf01528181610651015281816107f50152818161094f01528181610c1c0152818161107b0152818161114201526114290152600081816102ec0152611bcc0152600081816101ed01528181611b4e0152612539015260008181610278015281816109f901528181611275015281816117d801528181611fc801526125140152600081816102510152818161051e01528181610743015281816108a601528181610ae401528181610cd301528181610ed901528181610f560152818161139c01528181611a8d0152611fec0152600081816102c50152818161047c01528181610b8501528181610fe70152818161144c0152818161167e01528181612091015261265f015260008181610326015281816118cc0152818161196801528181611e700152611f0c01526140776000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638ae9c07b116100b8578063b3c526731161007c578063b3c5267314610348578063badbdf281461035b578063bdd504d71461036e578063c18f2d311461038e578063c41c2f24146103a1578063e867c59c146103c857600080fd5b80638ae9c07b146102ad5780638b79543c146102c0578063a29a6814146102e7578063a40bb9c71461030e578063ad007d631461032157600080fd5b80632bdfe0041161010a5780632bdfe004146101e85780633e8c615b14610227578063405b84fa14610239578063557e71551461024c57806361930630146102735780638776c4991461029a57600080fd5b806301ffc9a714610147578063111d861b1461016f57806312b37b14146101905780631665bc0f146101b15780631f510453146101c6575b600080fd5b61015a6101553660046129e0565b6103db565b60405190151581526020015b60405180910390f35b61018261017d366004612d84565b610463565b604051908152602001610166565b6101a361019e366004612e71565b61071d565b60405161016692919061304e565b6101c46101bf3660046130c5565b6107ca565b005b6101d96101d4366004612e71565b610abb565b60405161016693929190613140565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610166565b6101c461023536600461318a565b5050565b6101c461024736600461318a565b610b6f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a36102a8366004612e71565b610eb3565b6101826102bb3660046131ba565b610f10565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a361031c366004613249565b61136f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103563660046132c1565b611424565b6101826103693660046133ea565b611665565b61018261037c366004612e71565b60026020526000908152604090205481565b61018261039c366004612e71565b6117b3565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103d63660046134c1565b611855565b60006001600160e01b03198216630232efb760e61b148061040c57506001600160e01b03198216633e2d14f360e11b145b8061042757506001600160e01b03198216633e8c615b60e01b145b8061044257506001600160e01b0319821663ad007d6360e01b145b8061045d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef919061350c565b8a60016104fd8383836118a1565b604051632cee6deb60e01b8152600481018e90526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632cee6deb90602401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190613529565b11156105ab5760405160016217a1f760e11b0319815260040160405180910390fd5b6040516338a73f9960e11b8152600481018e90523060248201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063714e7f3290604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506106458d8d8d8d8d8d9061063f9190613542565b8c611a0a565b8651909450156106d0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663821b9fd88e886040518363ffffffff1660e01b815260040161069d9291906136c2565b600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505b7f8621c3692c18d8ddd4cd26457d6a3e1d916e7001c4243a6c8dfa862a7e10a823848e87336040516107059493929190613754565b60405180910390a15050509998505050505050505050565b6107256128e0565b61072d612935565b604051630b8aa00f60e31b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635c550078906024015b61012060405180830381865afa158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190613817565b91506107c382611c4c565b9050915091565b604051636e49181f60e01b81526004810186905233602482015286908690600a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108609190613834565b61086c84848484611e3b565b8760000361088d57604051637b38547b60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091a9190613817565b610100810151909150604b1c60019081161480156109c45750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190613834565b155b156109e257604051630f1490e360e31b815260040160405180910390fd5b60405163906ebd0f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063906ebd0f90610a34908e908e908e908c90600401613851565b600060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b50505050898b6001600160a01b03167fdf04e13ee4fcd48a81ab2fd114757093740a3efa9b6475d86e05878b4c59d0798b8b8b33604051610aa694939291906138a2565b60405180910390a35050505050505050505050565b610ac36128e0565b610acb612935565b60405163ebc8ca1f60e01b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ebc8ca1f9060240161014060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5891906138d5565b9093509050610b6683611c4c565b91509193909250565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf8919061350c565b826003610c068383836118a1565b604051632eec7b5560e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000009030906001600160a01b03831690635dd8f6aa90602401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061350c565b6001600160a01b031614610cba5760405163e0a0a87d60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d479190613817565b610100810151909150604e1c600190811614610d76576040516346ace3f960e01b815260040160405180910390fd5b60008781526002602052604090205415610da557610da38760405180602001604052806000815250611faf565b505b604051633e8c615b60e01b8152600481018890523060248201526001600160a01b03871690633e8c615b90604401600060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b50506040516338a73f9960e11b8152600481018a90526001600160a01b0389811660248301528516925063714e7f329150604401600060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b5050604080516001600160a01b038a1681523360208201528a93507f01f954abace731a88ab86e71186040cc2be49fe517ea06bc0d24f25b82b8345692500160405180910390a250505050505050565b610ebb6128e0565b610ec3612935565b6040516321d1336160e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c290602401610776565b600086600003610f33576040516327f44f9560e21b815260040160405180910390fd5b6040516321d1336160e11b81526004810189905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190613817565b6040516331a9108f60e11b8152600481018c905290915061110f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061350c565b604051636e49181f60e01b8152600481018d90523360248201528c906009906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190613834565b8061110a575061010085015160541c6001600160a01b0316336001600160a01b0316145b611e3b565b610100810151604c1c6001908116141580156111b75750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613834565b155b80156111dd575061010081015160541c6001600160a01b0316336001600160a01b031614155b156111fb57604051639d0ca8fd60e01b815260040160405180910390fd5b83611207576000611215565b61010081015160181c61ffff165b91506001851515146112355761010081015160501c600190811614611237565b845b94505061271081146112e35761125b886112538361271061391e565b6127106121e9565b6040516333b774f960e21b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ceddd3e4906112b0908a908d9087908a90600401613851565b600060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050505b8015611317576112f3828961391e565b60008a81526002602052604081208054909190611311908490613931565b90915550505b88876001600160a01b03167fe6fee9c572244c0c2238c3112ac12d411750a7ee00eeebd32521c3e5a666c14b8a858a8a873360405161135b96959493929190613944565b60405180910390a350979650505050505050565b6113776128e0565b61137f612935565b60405163334f245560e11b815260048101859052602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063669e48aa9060440161012060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613817565b915061141b82611c4c565b90509250929050565b6000807f000000000000000000000000000000000000000000000000000000000000000090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663666d87a08e8e6040518363ffffffff1660e01b8152600401611498929190613987565b6020604051808303816000875af11580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db9190613529565b6040516338a73f9960e11b8152600481018290523060248201529092506001600160a01b0382169063714e7f3290604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b5050505060006115ac838d8d8d8d8d906115549190613542565b8c8c808060200260200160405190810160405280939291908181526020016000905b828210156115a25761159360c08302860136819003810190613a08565b81526020019060010190611576565b5050505050611a0a565b8551909150156116175760405163104373fb60e31b81526001600160a01b0383169063821b9fd8906115e490869089906004016136c2565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b7ff3e6948ba8b32d557363ea08470121c47c0127659aed09320812174d373afef28184863360405161164c9493929190613754565b60405180910390a150509b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018b90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f1919061350c565b8b60016116ff8383836118a1565b6117618e8e8e8e8e8e906117139190613542565b8d8d808060200260200160405190810160405280939291908181526020016000905b828210156115a25761175260c08302860136819003810190613a08565b81526020019060010190611735565b93507f1a08ad37c93969a586fd0605d240c17113b20a9c9ac3847595d0ab425225f6af848f88883360405161179a959493929190613a24565b60405180910390a15050509a9950505050505050505050565b6000818152600260205260408082205490516375b0d9cd60e01b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906375b0d9cd90602401602060405180830381865afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613529565b61045d9190613931565b60006118978484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611faf92505050565b90505b9392505050565b336001600160a01b0384161480159061194a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611907903390879087908790600401613a5e565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119489190613834565b155b80156119e7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906119a490339087906000908790600401613a5e565b602060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190613834565b155b15611a055760405163075fd2b160e01b815260040160405180910390fd5b505050565b600061271085606001351115611a3357604051635623289560e01b815260040160405180910390fd5b61271085608001351115611a5a57604051639db9ee9360e01b815260040160405180910390fd5b6127108560a001351115611a8157604051636edf8de360e11b815260040160405180910390fd5b60006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a249d4258989611acb611ac6368c90038c018c613afc565b6122ba565b896040518563ffffffff1660e01b8152600401611aeb9493929190613c4a565b610120604051808303816000875af1158015611b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2f9190613817565b602081015160405163796d225b60e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f2da44b691611b86918c91908990600401613cf2565b600060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b5050505060208101516040516334002f3160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916334002f3191611c0b918c918890600401613dad565b600060405180830381600087803b158015611c2557600080fd5b505af1158015611c39573d6000803e3d6000fd5b5050505060200151979650505050505050565b611c54612935565b604051806102400160405280611c6984612440565b815261010084015160209091019060181c61ffff168152602001611c8c846124b4565b8152602001611c9a846124d1565b8152602001611cb6846101000151600160489190911c81161490565b15158152602001611cd4846101000151600160499190911c81161490565b15158152602001611cf28461010001516001604a9190911c81161490565b15158152602001611d108461010001516001604b9190911c81161490565b15158152602001611d2e8461010001516001604c9190911c81161490565b15158152602001611d4c8461010001516001604d9190911c81161490565b15158152602001611d6a8461010001516001604e9190911c81161490565b15158152602001611d888461010001516001604f9190911c81161490565b15158152602001611da6846101000151600160509190911c81161490565b15158152602001611dc4846101000151600160519190911c81161490565b15158152602001611de2846101000151600160529190911c81161490565b15158152602001611e00846101000151600160539190911c81161490565b15158152602001611e1684610100015160541c90565b6001600160a01b0316815261010084015160209091019060f41c60ff16905292915050565b80158015611e525750336001600160a01b03851614155b8015611eee575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611eab903390889088908890600401613a5e565b602060405180830381865afa158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190613834565b155b8015611f8b575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611f4890339088906000908890600401613a5e565b602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190613834565b155b15611fa95760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561203c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120609190613817565b60008681526002602052604080822080549083905590516331a9108f60e11b815260048101899052909550919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156120e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612104919061350c565b9050600084156121245761211f8784602001516002886124ee565b612127565b60005b90508015612195576040516333b774f960e21b81526001600160a01b0385169063ceddd3e4906121629085908b908690600090600401613851565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b505050505b86836000015184602001517fb12d7a78048433f69fe6d30145bf08aad8e82985b96e4db6d5c6a7e94d57086e8589868c336040516121d7959493929190613e46565b60405180910390a45050505092915050565b60008080600019858709858702925082811083820303915050806000036122235783828161221957612219613e89565b049250505061189a565b83811061225157604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b80516001906008906122cb906128b1565b901b8117905060188260200151901b81179050602882604001516127106122f2919061391e565b901b811790506038826060015161271061230c919061391e565b901b81179050816080015115612329576901000000000000000000175b8160a0015115612340576902000000000000000000175b8160c0015115612357576904000000000000000000175b8160e001511561236e576908000000000000000000175b81610100015115612386576910000000000000000000175b8161012001511561239e576920000000000000000000175b816101400151156123b6576940000000000000000000175b816101600151156123ce576980000000000000000000175b816101800151156123e057600160501b175b816101a00151156123f257600160511b175b816101c001511561240457600160521b175b816101e001511561241657600160531b175b6102008201516102209092015160f41b600160541b600160f41b0360549390931b92909216171790565b604080516060810182526000808252602082018190529181019190915261045d6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b60006028826101000151901c61ffff1661271061045d919061391e565b60006038826101000151901c61ffff1661271061045d919061391e565b6040516369e11cc560e01b815260048101859052602481018490526044810183905281907f0000000000000000000000000000000000000000000000000000000000000000906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b09190810190613e9f565b905060005b81518110156128a65760008282815181106125d2576125d2613fa8565b6020026020010151905060006125f1878360400151633b9aca006121e9565b9050801561285e5760c08201516001600160a01b038087169163ceddd3e491166126d75783606001516000036126435760808401516001600160a01b031661263957336126dd565b83608001516126dd565b60608401516040516331a9108f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d2919061350c565b6126dd565b8360c001515b84516040516001600160e01b031960e085901b16815261270592918f91879190600401613851565b600060405180830381600087803b15801561271f57600080fd5b505af1158015612733573d6000803e3d6000fd5b5050505060c08201516001600160a01b031615612851578160c001516001600160a01b0316639d740bfa6040518060c00160405280886001600160a01b031663ea78803f8f6040518263ffffffff1660e01b815260040161279691815260200190565b602060405180830381865afa1580156127b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d7919061350c565b6001600160a01b03168152602001848152602001601281526020018d81526020018b8152602001858152506040518263ffffffff1660e01b815260040161281e9190613fbe565b600060405180830381600087803b15801561283857600080fd5b505af115801561284c573d6000803e3d6000fd5b505050505b61285b818761391e565b95505b87898b7f990c1da5d280602f972ae3c429b6dc66a66569875205cc6e67f14e0b3fc4d2ac85853360405161289493929190614012565b60405180910390a450506001016125b5565b505050949350505050565b8051600090156128bf576001175b8160200151156128cd576002175b8160400151156128db576004175b919050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b604080516102a0810182526000610240820181815261026083018290526102808301829052825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081019190915290565b6000602082840312156129f257600080fd5b81356001600160e01b03198116811461189a57600080fd5b600060808284031215612a1c57600080fd5b50919050565b60006102808284031215612a1c57600080fd5b60008083601f840112612a4757600080fd5b5081356001600160401b03811115612a5e57600080fd5b6020830191508360208260051b8501011115612a7957600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612ab857612ab8612a80565b60405290565b60405160e081016001600160401b0381118282101715612ab857612ab8612a80565b60405161012081016001600160401b0381118282101715612ab857612ab8612a80565b60405161024081016001600160401b0381118282101715612ab857612ab8612a80565b604051601f8201601f191681016001600160401b0381118282101715612b4e57612b4e612a80565b604052919050565b60006001600160401b03821115612b6f57612b6f612a80565b5060051b60200190565b6001600160a01b0381168114612b8e57600080fd5b50565b80356128db81612b79565b600060c08284031215612bae57600080fd5b60405160c081018181106001600160401b0382111715612bd057612bd0612a80565b6040529050808235612be181612b79565b81526020830135612bf181612b79565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b600082601f830112612c3857600080fd5b81356020612c4d612c4883612b56565b612b26565b8083825260208201915060c0602060c08602880101945087851115612c7157600080fd5b602087015b85811015612c9557612c888982612b9c565b8452928401928101612c76565b5090979650505050505050565b600082601f830112612cb357600080fd5b81356020612cc3612c4883612b56565b8083825260208201915060208460051b870101935086841115612ce557600080fd5b602086015b84811015612d0a578035612cfd81612b79565b8352918301918301612cea565b509695505050505050565b600082601f830112612d2657600080fd5b81356001600160401b03811115612d3f57612d3f612a80565b612d52601f8201601f1916602001612b26565b818152846020838601011115612d6757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006103c08a8c031215612da357600080fd5b89359850612db48b60208c01612a0a565b9750612dc38b60a08c01612a22565b96506103208a013595506103408a01356001600160401b0380821115612de857600080fd5b612df48d838e01612a35565b90975095506103608c0135915080821115612e0e57600080fd5b612e1a8d838e01612c27565b94506103808c0135915080821115612e3157600080fd5b612e3d8d838e01612ca2565b93506103a08c0135915080821115612e5457600080fd5b50612e618c828d01612d15565b9150509295985092959850929598565b600060208284031215612e8357600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b612f0e8282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151612f3f60c084018215159052565b5060a081015180151560e08401525060c0810151610100612f638185018315159052565b60e08301519150610120612f7a8186018415159052565b90830151915061014090612f918583018415159052565b8301519150610160612fa68582018415159052565b90830151915061018090612fbd8583018415159052565b83015191506101a0612fd28582018415159052565b9083015191506101c090612fe98583018415159052565b83015191506101e0612ffe8582018415159052565b908301519150610200906130158583018415159052565b830151915061022061302a8582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b6103a0810161305d8285612e8a565b61189a610120830184612ee9565b60008083601f84011261307d57600080fd5b5081356001600160401b0381111561309457600080fd5b602083019150836020828501011115612a7957600080fd5b8015158114612b8e57600080fd5b80356128db816130ac565b60008060008060008060a087890312156130de57600080fd5b86356130e981612b79565b9550602087013594506040870135935060608701356001600160401b0381111561311257600080fd5b61311e89828a0161306b565b9094509250506080870135613132816130ac565b809150509295509295509295565b6103c0810161314f8286612e8a565b61315d610120830185612ee9565b6003831061317b57634e487b7160e01b600052602160045260246000fd5b826103a0830152949350505050565b6000806040838503121561319d57600080fd5b8235915060208301356131af81612b79565b809150509250929050565b600080600080600080600060c0888a0312156131d557600080fd5b873596506020880135955060408801356131ee81612b79565b945060608801356001600160401b0381111561320957600080fd5b6132158a828b0161306b565b9095509350506080880135613229816130ac565b915060a0880135613239816130ac565b8091505092959891949750929550565b6000806040838503121561325c57600080fd5b50508035926020909101359150565b600060408284031215612a1c57600080fd5b60008083601f84011261328f57600080fd5b5081356001600160401b038111156132a657600080fd5b60208301915083602060c083028501011115612a7957600080fd5b60008060008060008060008060008060006103e08c8e0312156132e357600080fd5b6132ec8c612b91565b9a506001600160401b038060208e0135111561330757600080fd5b6133178e60208f01358f0161326b565b9a506133268e60408f01612a0a565b99506133358e60c08f01612a22565b98506103408d01359750806103608e0135111561335157600080fd5b6133628e6103608f01358f01612a35565b90975095506103808d013581101561337957600080fd5b61338a8e6103808f01358f0161327d565b90955093506103a08d01358110156133a157600080fd5b6133b28e6103a08f01358f01612ca2565b9250806103c08e013511156133c657600080fd5b506133d88d6103c08e01358e01612d15565b90509295989b509295989b9093969950565b6000806000806000806000806000806103a08b8d03121561340a57600080fd5b8a35995061341b8c60208d01612a0a565b985061342a8c60a08d01612a22565b97506103208b013596506103408b01356001600160401b038082111561344f57600080fd5b61345b8e838f01612a35565b90985096506103608d013591508082111561347557600080fd5b6134818e838f0161327d565b90965094506103808d013591508082111561349b57600080fd5b506134a88d828e0161306b565b915080935050809150509295989b9194979a5092959850565b6000806000604084860312156134d657600080fd5b8335925060208401356001600160401b038111156134f357600080fd5b6134ff8682870161306b565b9497909650939450505050565b60006020828403121561351e57600080fd5b815161189a81612b79565b60006020828403121561353b57600080fd5b5051919050565b6000613550612c4884612b56565b80848252602080830192508560051b85013681111561356e57600080fd5b855b818110156136b65780356001600160401b03808211156135905760008081fd5b818901915060408083360312156135a75760008081fd5b6135af612a96565b8335815286840135838111156135c55760008081fd5b939093019236601f8501126135dc57600092508283fd5b833592506135ec612c4884612b56565b83815260e0938402850188019388820191903686111561360c5760008081fd5b958901955b858710156136a0578087360312156136295760008081fd5b613631612abe565b873561363c816130ac565b8152878b013561364b816130ac565b818c015287860135868201526060808901359082015260808089013561367081612b79565b9082015260a0888101359082015260c08089013561368d81612b79565b9082015283529586019591890191613611565b5082890152508852505050938201938201613570565b50919695505050505050565b60006040820184835260206040602085015281855180845260608601915060208701935060005b81811015612c955784516001600160a01b0316835293830193918301916001016136e9565b6000815180845260005b8181101561373457602081850181015186830182015201613718565b506000602082860101526020601f19601f83011685010191505092915050565b848152836020820152608060408201526000613773608083018561370e565b905060018060a01b038316606083015295945050505050565b80516128db81612b79565b600061012082840312156137aa57600080fd5b6137b2612ae0565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015261380060e0830161378c565b60e082015261010080830151818301525092915050565b6000610120828403121561382a57600080fd5b61189a8383613797565b60006020828403121561384657600080fd5b815161189a816130ac565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481526060602082015260006138bc606083018587613879565b905060018060a01b038316604083015295945050505050565b60008061014083850312156138e957600080fd5b6138f38484613797565b9150610120830151600381106131af57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561045d5761045d613908565b8082018082111561045d5761045d613908565b86815285602082015260a06040820152600061396460a083018688613879565b6060830194909452506001600160a01b0391909116608090910152949350505050565b6001600160a01b0383168152604060208201526000823536849003601e190181126139b157600080fd5b83016020810190356001600160401b038111156139cd57600080fd5b8036038213156139dc57600080fd5b6040808501526139f0608085018284613879565b91505060208401356060840152809150509392505050565b600060c08284031215613a1a57600080fd5b61189a8383612b9c565b858152846020820152608060408201526000613a44608083018587613879565b905060018060a01b03831660608301529695505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b600060608284031215613a9957600080fd5b604051606081018181106001600160401b0382111715613abb57613abb612a80565b6040529050808235613acc816130ac565b81526020830135613adc816130ac565b60208201526040830135613aef816130ac565b6040919091015292915050565b60006102808284031215613b0f57600080fd5b613b17612b03565b613b218484613a87565b8152606083013560208201526080830135604082015260a08301356060820152613b4d60c084016130ba565b6080820152613b5e60e084016130ba565b60a0820152610100613b718185016130ba565b60c0830152610120613b848186016130ba565b60e0840152610140613b978187016130ba565b838501526101609250613bab8387016130ba565b828501526101809150613bbf8287016130ba565b908401526101a0613bd18682016130ba565b838501526101c09250613be58387016130ba565b828501526101e09150613bf98287016130ba565b90840152610200613c0b8682016130ba565b838501526102209250613c1f8387016130ba565b82850152613c306102408701612b91565b908401525061026093909301359281019290925250919050565b600060e0820190508582528435602083015260208501356040830152604085013560608301526060850135613c7e81612b79565b6001600160a01b0316608083015260a082019390935260c0015292915050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b600060608083018684526020868186015260406060604087015282875180855260808801915060808160051b89010194508389016000805b83811015613d9b578a8803607f190185528251805189528701518789018790528051878a018190529088019083908b8b01905b80831015613d8657613d70828551613c9e565b60e0820191508a84019350600183019250613d5d565b50995050509386019391860191600101613d2a565b50959c9b505050505050505050505050565b600060608083018684526020866020860152604060606040870152828751808552608094506080880191506020890160005b82811015613e3557815180516001600160a01b03908116865287820151168786015285810151868601528881015189860152878101518886015260a0908101519085015260c09093019290850190600101613ddf565b50919b9a5050505050505050505050565b600060018060a01b03808816835286602084015285604084015260a06060840152613e7460a084018661370e565b91508084166080840152509695505050505050565b634e487b7160e01b600052601260045260246000fd5b60006020808385031215613eb257600080fd5b82516001600160401b03811115613ec857600080fd5b8301601f81018513613ed957600080fd5b8051613ee7612c4882612b56565b81815260e09182028301840191848201919088841115613f0657600080fd5b938501935b83851015613f9c5780858a031215613f235760008081fd5b613f2b612abe565b8551613f36816130ac565b815285870151613f45816130ac565b818801526040868101519082015260608087015190820152608080870151613f6c81612b79565b9082015260a0868101519082015260c080870151613f8981612b79565b9082015283529384019391850191613f0b565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161400b90840182613c9e565b5092915050565b61012081016140218286613c9e565b60e08201939093526001600160a01b03919091166101009091015291905056fea26469706673582212200a03d540ff743445d26c82dc02ccc0e31ac8ed1146059be844ad38ab3d06e52e64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620035ea380380620035ea833981016040819052620000349162000070565b60016000556001600160a01b0392831660805290821660a0521660c052620000c4565b6001600160a01b03811681146200006d57600080fd5b50565b6000806000606084860312156200008657600080fd5b8351620000938162000057565b6020850151909350620000a68162000057565b6040850151909250620000b98162000057565b809150509250925092565b60805160a05160c05161346a6200018060003960008181610273015281816106aa01528181610bd30152818161210901526122ed01526000818161018b01528181610347015281816107f801528181610ca101528181610d9d0152818161118e01528181611458015281816115210152818161183b01528181611c3e0152612374015260008181610239015281816103f701528181610fdd015281816117030152818161191401528181611edf015261218c015261346a6000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063c294b2f411610097578063d49031c011610066578063d49031c014610295578063d4c3a8d2146102a8578063e7c8e3e3146102d9578063e8ba563a146102ee57600080fd5b8063c294b2f414610221578063c41c2f2414610234578063c66445971461025b578063d3419bf31461026e57600080fd5b80636bb6a5ad116100d35780636bb6a5ad146101c5578063a2df1f95146101d8578063a57c7f59146101fb578063b753d7e91461020e57600080fd5b8062fdd58e1461010457806325386715146101425780632fa1b39114610163578063557e715514610186575b600080fd5b61012f610112366004612587565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101556101503660046125b3565b61031f565b60405161013992919061263e565b6101766101713660046127be565b6107cd565b60405161013994939291906128cf565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610139565b61012f6101d3366004612981565b610c7e565b6101eb6101e636600461299a565b610d72565b6040516101399493929190612a3b565b61012f610209366004612ad6565b61141d565b61012f61021c3660046125b3565b6114e7565b61012f61022f366004612b08565b6114fe565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101556102693660046125b3565b611813565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b61012f6102a3366004612587565b611c35565b61012f6102b6366004612b57565b600360209081526000938452604080852082529284528284209052825290205481565b6102ec6102e7366004612b8c565b611d13565b005b61012f6102fc366004612b57565b600260209081526000938452604080852082529284528284209052825290205481565b61032761251a565b6000610331611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb9190612bb9565b3360009081526003602090815260408083208984528252808320828501518452909152812054919350906103f0908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161044391815260200190565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612c62565b6001600160a01b0316637a81b56289876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190612c62565b6040518563ffffffff1660e01b815260040161057b9493929190612c7f565b6040805180830381865afa158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190612ca6565b91509150818311806105cb575081155b156105e957604051635b76558960e11b815260040160405180910390fd5b8086146106095760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d9190612cca565b905080871461072857610723886106866012600a612dc7565b604051635268657960e11b8152600481018b905260248101859052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064015b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190612cca565b611dba565b61072a565b875b9450610738338a8884611e87565b851115610758576040516317e53f6760e11b815260040160405180910390fd5b3360008181526003602090815260408083208d845282528083208a83015184528252808320889055928252600181528282208c83529052205461079c908690612dd3565b3360009081526001602090815260408083208d8452909152902055506107c59250612162915050565b935093915050565b6107d561251a565b60006060806107e2611d5c565b6040516321d1336160e11b8152600481018b90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c9190612bb9565b80519094506000036108915760405163174b338d60e11b815260040160405180910390fd5b61010084015160481c6001908116036108bd5760405163a3bb913360e01b815260040160405180910390fd5b61010084015160009060521c60019081161480156108f3575060006108e786610100015160541c90565b6001600160a01b031614155b15610a43576000604051806101400160405280336001600160a01b031681526020018f6001600160a01b031681526020018e8036038101906109359190612de6565b815260208082018f905288015160408201526001600160a01b038c16606082015260a080890151608083015261010089015191019060181c61ffff1681526020018a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200188905290506109c686610100015160541c90565b6001600160a01b031663d46cf171826040518263ffffffff1660e01b81526004016109f19190612e55565b600060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a369190810190612fc0565b955093509150610a849050565b8460a00151905087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b825160208d01359015610b005760005b8451811015610afe576000858281518110610ab157610ab16130f1565b602002602001015160200151905080600014610af55782811115610ae8576040516336a8da9360e11b815260040160405180910390fd5b610af28184612dd3565b92505b50600101610a94565b505b8c60200135600003610b18575060009350610c659050565b8015610b7f573360009081526001602090815260408083208f8452909152902054610b44908290612c4f565b60016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055505b5080600003610b92575060009250610c65565b60408c0135600060608e01358c14610c4357604051635268657960e11b815260608f01356004820152602481018d9052604481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf290606401602060405180830381865afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612cca565b610c4e565b610c4e82600a612dc7565b9050610c5f8e602001358483611dba565b95505050505b610c6f6001600055565b98509850985098945050505050565b6000610c88611d5c565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612bb9565b610100810151909150604d1c600190811614610d44576040516373e4f05f60e11b815260040160405180910390fd5b505033600090815260016020818152604080842085855290915282208054908390559155919050565b919050565b610d7a61251a565b6000606080610d87611d5c565b6040516321d1336160e11b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190612bb9565b610100810151909450604a1c600190811603610e405760405163a97cf58f60e01b815260040160405180910390fd5b610e74604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b6000806000336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190612c62565b90506000336001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612cca565b90506000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190612cca565b6101008b015190915060511c600190811614610fce57610fc9338f8c84611e87565b610fd9565b610fd98e8383612169565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa8f6040518263ffffffff1660e01b815260040161102991815260200190565b602060405180830381865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612c62565b6001600160a01b031663c18f2d318f6040518263ffffffff1660e01b815260040161109791815260200190565b602060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d89190612cca565b9350838d11156110fa57604051625c579160e91b815260040160405180910390fd5b84156111105761110d8e8b8f878961234b565b98505b604080516080810182526001600160a01b03949094168452602084018a9052830191909152606082015261010088015190935060531c60019081161480156111705750600061116488610100015160541c90565b6001600160a01b031614155b1561134557604051633157d5c760e21b8152600481018c90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190613107565b90506000604051806101800160405280336001600160a01b031681526020018f6001600160a01b031681526020018e81526020018a6020015181526020018d815260200184815260200185815260200186815260200161126e8b6101000151600160519190911c81161490565b15158152602001600084600281111561128957611289613128565b1461129c576112978b612483565b6112a5565b6112a58b6124a0565b81526020018c81526020018b81525090506112c589610100015160541c90565b6001600160a01b031663a51cfd18826040518263ffffffff1660e01b81526004016112f0919061313e565b600060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113359190810190613236565b9199509097509550611349915050565b8893505b50508251849150156113a35760005b83518110156113a1576000848281518110611375576113756130f1565b602002602001015160200151905080600014611398576113958184612c4f565b92505b50600101611358565b505b3360009081526001602090815260408083208c84529091529020548111156113de576040516317e53f6760e11b815260040160405180910390fd5b8015611406573360009081526001602090815260408083208c84529091529020805482900390555b506114116001600055565b95509550955095915050565b60008160000361142f575060006114df565b8284111561143f575060006114df565b6040516321d1336160e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612bb9565b90506114db868287878761234b565b9150505b949350505050565b60006114f4848484612169565b90505b9392505050565b6040516321d1336160e11b81526004810184905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d9190612bb9565b9050600083611608576116038787848a6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190612cca565b611e87565b6116d5565b6116d586886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561164a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166e9190612cca565b896001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d09190612cca565b612169565b9050806000036116ea576000925050506114df565b604051632eec7b5560e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190612c62565b6001600160a01b031663c18f2d31886040518263ffffffff1660e01b81526004016117a391815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190612cca565b9050808611156117fa57600093505050506114df565b611807878488848661234b565b98975050505050505050565b61181b61251a565b6000611825611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612bb9565b61010081015190925060491c6001908116036118de5760405163861e9dcd60e01b815260040160405180910390fd5b33600090815260026020908152604080832088845282528083208551845290915281205461190d908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161196091815260200190565b602060405180830381865afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a029190612c62565b6001600160a01b031663e8db213089876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a799190612c62565b6040518563ffffffff1660e01b8152600401611a989493929190612c7f565b6040805180830381865afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612ca6565b9150915081831180611ae8575081155b15611b0657604051630236b92b60e21b815260040160405180910390fd5b808614611b265760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8a9190612cca565b9050808714611ba857611ba3886106866012600a612dc7565b611baa565b875b3360009081526001602090815260408083208d8452909152902054909550851115611be8576040516317e53f6760e11b815260040160405180910390fd5b50503360008181526002602090815260408083208b845282528083208851845282528083209590955591815260018083528482208a835290925292832080548590039055909155506107c5565b6000611d0a83837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166343a266c2866040518263ffffffff1660e01b8152600401611c8a91815260200190565b61012060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612bb9565b866001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b90505b92915050565b336000908152600160209081526040808320858452909152902054611d39908290612c4f565b336000908152600160209081526040808320958352949052929092209190915550565b600260005403611db35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b6000808060001985870985870292508281108382030391505080600003611df457838281611dea57611dea613356565b04925050506114f7565b838110611e1e57604051631dcf306360e21b81526004810182905260248101859052604401611daa565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0384166000908152600160209081526040808320868452909152812054808203611ebc5760009150506114df565b604051632eec7b5560e11b81526004810186905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015611f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4a9190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab9190612c62565b6001600160a01b031663e8db21308888602001518b8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190612c62565b6040518563ffffffff1660e01b81526004016120419493929190612c7f565b6040805180830381865afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190612ca6565b6001600160a01b038a1660009081526002602090815260408083208c845282528083208b518452909152812054929450909250906120bf9084612dd3565b905080158015906120d05750858214155b1561214357612140816120e56012600a612dc7565b604051635268657960e11b815260048101869052602481018a9052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064016106dd565b90505b808411612151576000612155565b8084035b9998505050505050505050565b6001600055565b60405163d175415360e01b81526004810184905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d175415390602401600060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb919081019061336c565b90506000805b82518110156122a65782818151811061221c5761221c6130f1565b60200260200101516001600160a01b031663a32e1e96886040518263ffffffff1660e01b815260040161225191815260200190565b602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190612cca565b61229c9083612c4f565b9150600101612201565b5060006001851461232157604051635268657960e11b815260016004820152602481018690526012604482015261231c908390670de0b6b3a7640000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf2906064016106dd565b612323565b815b90508560121461233e57612339816012886124bd565b612340565b805b979650505050505050565b600082840361235b57508061247a565b600080604051633157d5c760e21b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190613107565b60028111156123f8576123f8613128565b1461240b5761240686612483565b612414565b612414866124a0565b90508060000361242857600091505061247a565b6000612435848787611dba565b9050612710820361244957915061247a9050565b612475816124638861245d86612710612dd3565b89611dba565b61246d9085612c4f565b612710611dba565b925050505b95945050505050565b60006028826101000151901c61ffff16612710611d0d9190612dd3565b60006038826101000151901c61ffff16612710611d0d9190612dd3565b60008282036124cd5750826114f7565b828211156124fb576124df8383612dd3565b6124ea90600a612dc7565b6124f490856133fb565b90506114f7565b6125058284612dd3565b61251090600a612dc7565b6124f49085613412565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6001600160a01b038116811461258457600080fd5b50565b6000806040838503121561259a57600080fd5b82356125a58161256f565b946020939093013593505050565b6000806000606084860312156125c857600080fd5b505081359360208301359350604090920135919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b610140810161264d82856125df565b826101208301529392505050565b60008083601f84011261266d57600080fd5b50813567ffffffffffffffff81111561268557600080fd5b60208301915083602082850101111561269d57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156126de576126de6126a4565b60405290565b6040516060810167ffffffffffffffff811182821017156126de576126de6126a4565b604051601f8201601f1916810167ffffffffffffffff81118282101715612730576127306126a4565b604052919050565b600067ffffffffffffffff821115612752576127526126a4565b50601f01601f191660200190565b600061277361276e84612738565b612707565b905082815283838301111561278757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127af57600080fd5b611d0a83833560208501612760565b600080600080600080600080888a036101408112156127dc57600080fd5b89356127e78161256f565b98506080601f19820112156127fb57600080fd5b5060208901965060a0890135955060c0890135945060e089013561281e8161256f565b935061010089013567ffffffffffffffff8082111561283c57600080fd5b6128488c838d0161265b565b90955093506101208b013591508082111561286257600080fd5b5061286f8b828c0161279e565b9150509295985092959890939650565b60005b8381101561289a578181015183820152602001612882565b50506000910152565b600081518084526128bb81602086016020860161287f565b601f01601f19169290920160200192915050565b60006101808083016128e184896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612956818801836128a3565b978501979650505090820190600101612912565b5050505083810361016085015261247581866128a3565b60006020828403121561299357600080fd5b5035919050565b600080600080600060a086880312156129b257600080fd5b85356129bd8161256f565b94506020860135935060408601359250606086013567ffffffffffffffff808211156129e857600080fd5b818801915088601f8301126129fc57600080fd5b612a0b89833560208501612760565b93506080880135915080821115612a2157600080fd5b50612a2e8882890161279e565b9150509295509295909350565b6000610180808301612a4d84896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612ac2818801836128a3565b978501979650505090820190600101612a7e565b60008060008060808587031215612aec57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612b1e57600080fd5b8435612b298161256f565b9350602085013592506040850135915060608501358015158114612b4c57600080fd5b939692955090935050565b600080600060608486031215612b6c57600080fd5b8335612b778161256f565b95602085013595506040909401359392505050565b60008060408385031215612b9f57600080fd5b50508035926020909101359150565b8051610d6d8161256f565b60006101208284031215612bcc57600080fd5b612bd46126ba565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612c2060e08401612bae565b60e0820152610100928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611d0d57611d0d612c39565b600060208284031215612c7457600080fd5b81516114f78161256f565b93845260208401929092526001600160a01b03908116604084015216606082015260800190565b60008060408385031215612cb957600080fd5b505080516020909101519092909150565b600060208284031215612cdc57600080fd5b5051919050565b600181815b80851115612d1e578160001904821115612d0457612d04612c39565b80851615612d1157918102915b93841c9390800290612ce8565b509250929050565b600082612d3557506001611d0d565b81612d4257506000611d0d565b8160018114612d585760028114612d6257612d7e565b6001915050611d0d565b60ff841115612d7357612d73612c39565b50506001821b611d0d565b5060208310610133831016604e8410600b8410161715612da1575081810a611d0d565b612dab8383612ce3565b8060001904821115612dbf57612dbf612c39565b029392505050565b6000611d0a8383612d26565b81810381811115611d0d57611d0d612c39565b600060808284031215612df857600080fd5b6040516080810181811067ffffffffffffffff82111715612e1b57612e1b6126a4565b6040528235612e298161256f565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60208152612e6f6020820183516001600160a01b03169052565b60006020830151612e8b60408401826001600160a01b03169052565b506040830151612ec5606084018280516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b50606083015160e08301526080830151610100818185015260a08501519150610120612efb818601846001600160a01b03169052565b60c086015161014086015260e08601516101608601528186015192506101a0915081610180860152612f316101c08601846128a3565b90860151858203601f190183870152909250612f4d83826128a3565b9695505050505050565b600082601f830112612f6857600080fd5b8151612f7661276e82612738565b818152846020838601011115612f8b57600080fd5b6114df82602083016020870161287f565b600067ffffffffffffffff821115612fb657612fb66126a4565b5060051b60200190565b600080600060608486031215612fd557600080fd5b8351925060208085015167ffffffffffffffff80821115612ff557600080fd5b61300188838901612f57565b9450604087015191508082111561301757600080fd5b818701915087601f83011261302b57600080fd5b815161303961276e82612f9c565b81815260059190911b8301840190848101908a83111561305857600080fd5b8585015b838110156130e0578051858111156130745760008081fd5b86016060818e03601f1901121561308b5760008081fd5b6130936126e4565b888201516130a08161256f565b81526040820151898201526060820151878111156130be5760008081fd5b6130cc8f8b83860101612f57565b60408301525084525091860191860161305c565b508096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561311957600080fd5b8151600381106114f757600080fd5b634e487b7160e01b600052602160045260246000fd5b602081526131586020820183516001600160a01b03169052565b6000602083015161317460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101006131e28185018380516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b8401511515610180840152506101208301516101a08301526101408301516101e06101c084018190526132196102008501836128a3565b9150610160850151601f198584030182860152612f4d83826128a3565b60008060006060848603121561324b57600080fd5b8351925060208085015167ffffffffffffffff8082111561326b57600080fd5b61327788838901612f57565b9450604087015191508082111561328d57600080fd5b818701915087601f8301126132a157600080fd5b81516132af61276e82612f9c565b81815260059190911b8301840190848101908a8311156132ce57600080fd5b8585015b838110156130e0578051858111156132ea5760008081fd5b86016060818e03601f190112156133015760008081fd5b6133096126e4565b888201516133168161256f565b81526040820151898201526060820151878111156133345760008081fd5b6133428f8b83860101612f57565b6040830152508452509186019186016132d2565b634e487b7160e01b600052601260045260246000fd5b6000602080838503121561337f57600080fd5b825167ffffffffffffffff81111561339657600080fd5b8301601f810185136133a757600080fd5b80516133b561276e82612f9c565b81815260059190911b820183019083810190878311156133d457600080fd5b928401925b828410156123405783516133ec8161256f565b825292840192908401906133d9565b8082028115828204841417611d0d57611d0d612c39565b60008261342f57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209bee0e6664b5a77635e6a54428e35084a2d4c2101b4004d1696e07575b4dc3ba64736f6c63430008170033608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c634300081700336101e060405263017d78406002553480156200001a57600080fd5b5060405162005e5338038062005e538339810160408190526200003d9162000216565b61eeee6080819052601260a0819052600160c08190526001600160a01b038a1660e0528a818b8b8b8b8b8b8b6200007433620000cf565b6101a08990526101c08890526001600160a01b0380871661010052858116610120528481166101405283811661016052821661018052620000b5816200011f565b5050505050505050505050505050505050505050620002cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b62000129620001a2565b6001600160a01b038116620001945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019f81620000cf565b50565b6000546001600160a01b03163314620001fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200018b565b565b6001600160a01b03811681146200019f57600080fd5b600080600080600080600080610100898b0312156200023457600080fd5b885197506020890151620002488162000200565b60408a01519097506200025b8162000200565b60608a01519096506200026e8162000200565b60808a0151909550620002818162000200565b60a08a0151909450620002948162000200565b60c08a0151909350620002a78162000200565b60e08a0151909250620002ba8162000200565b809150509295985092959890939650565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c05161592c62000527600039600081816103cf0152611fc001526000818161030701526118220152600081816104f701528181610ad50152818161126b015281816117f001528181611e6b015281816125d10152818161293301528181612a40015261367d01526000818161065601526113f00152600081816102bb015261335401526000818161060f0152818161168d015281816118d30152818161237a01528181612b8b015281816131fa0152613e540152600081816104a50152818161099001528181610dec015281816111a001528181611f17015261268b01526000818161056b01528181611cff01528181611d9b015281816121ac01526122480152600081816102660152818161070e0152818161133b0152818161139d015281816117ca01528181611aa601528181612d210152612db101526000818161033b015281816105db015281816112dc0152818161130801528181611368015281816113ca015281816117a401528181611a8001528181612cfb01528181612d8b0152613c080152600081816106cc015281816107620152818161087e01528181610a2801528181610b5601528181610bc9015281816114820152818161176f01528181611a4a01528181611b980152818161234f015281816124060152818161244101528181612cc601528181612d5501528181612ede015281816131cd01528181613bd301528181613c7b01528181613e8101528181613fdc0152818161401a0152818161414f0152614193015261592c6000f3fe6080604052600436106101f95760003560e01c80638da5cb5b1161010d578063c715967a116100a0578063df21a7dd1161006f578063df21a7dd146106ae578063e5a6b10f146106fc578063f2fde38b14610730578063fc0c546a14610750578063fe663f0f1461078457600080fd5b8063c715967a14610631578063d3419bf314610644578063d6dacc5314610678578063ddca3f431461069857600080fd5b8063ad007d63116100dc578063ad007d6314610559578063b631b5001461058d578063b7bad1b1146105bd578063c41c2f24146105fd57600080fd5b80638da5cb5b146104c7578063975057e7146104e5578063a02f801c14610519578063a32e1e961461053957600080fd5b80634a4305c011610190578063715018a61161015f578063715018a6146104115780637258002c1461042657806389701db5146104465780638af56094146104665780638b79543c1461049357600080fd5b80634a4305c01461037d578063637913ac1461039d57806366248b86146103bd57806369fe0e2d146103f157600080fd5b80632bdfe004116101cc5780632bdfe004146102a95780632d1a5903146102f5578063313ce56714610329578063405b84fa1461035d57600080fd5b806301ffc9a7146101fe5780630cf8e858146102335780631982d679146102485780631ebc263f14610296575b600080fd5b34801561020a57600080fd5b5061021e610219366004614442565b6107a4565b60405190151581526020015b60405180910390f35b6102466102413660046144c9565b61084e565b005b34801561025457600080fd5b5061028861026336600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b60405190815260200161022a565b6102886102a4366004614589565b610871565b3480156102b557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022a565b34801561030157600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033557600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561036957600080fd5b50610288610378366004614650565b610977565b34801561038957600080fd5b50610288610398366004614680565b610c73565b3480156103a957600080fd5b506102466103b836600461455e565b610c8f565b3480156103c957600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fd57600080fd5b5061024661040c3660046146e9565b610ceb565b34801561041d57600080fd5b50610246610d58565b34801561043257600080fd5b50610246610441366004614702565b610d6c565b34801561045257600080fd5b506102466104613660046146e9565b610dd6565b34801561047257600080fd5b506104866104813660046146e9565b6110da565b60405161022a9190614730565b34801561049f57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506000546001600160a01b03166102dd565b3480156104f157600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052557600080fd5b506102886105343660046148d6565b611187565b34801561054557600080fd5b506102886105543660046146e9565b611242565b34801561056557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059957600080fd5b5061021e6105a836600461455e565b60046020526000908152604090205460ff1681565b3480156105c957600080fd5b506102886105d836600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b34801561060957600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b61024661063f36600461498e565b611477565b34801561065057600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068457600080fd5b506003546102dd906001600160a01b031681565b3480156106a457600080fd5b5061028860025481565b3480156106ba57600080fd5b5061021e6106c9366004614a35565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b34801561070857600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561073c57600080fd5b5061024661074b36600461455e565b611573565b34801561075c57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561079057600080fd5b5061028861079f366004614a61565b6115f1565b60006001600160e01b0319821615806107cd57506001600160e01b0319821663edb527eb60e01b145b806107e857506001600160e01b031982166301290c1760e61b145b8061080357506001600160e01b0319821663280be00760e21b145b8061081e57506001600160e01b0319821663fe663f0f60e01b145b8061083957506001600160e01b0319821663ad007d6360e01b145b80610848575061084882611621565b92915050565b61085787611671565b610868878787600088888888611477565b50505050505050565b600061087c8b611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146108eb5734156108cd57604051635e7e9adf60e11b815260040160405180910390fd5b476108d933308d61171d565b6108e38147614b2f565b9a50506108ef565b3499505b6109688a338d8b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061172c92505050565b9b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614b42565b836004610a11838383611cd4565b60405163df21a7dd60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905286169063df21a7dd90604401602060405180830381865afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190614b5f565b610abf5760405163581010ed60e01b815260040160405180910390fd5b604051636bb6a5ad60e01b8152600481018790527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636bb6a5ad906024016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190614b7c565b93508315610c255760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee14610b8d576000610b8f565b845b6040805160208101825260008152905163019f1d0b60e31b81529192506001600160a01b03881691630cf8e858918491610bf1918c918b917f000000000000000000000000000000000000000000000000000000000000000091600401614be5565b6000604051808303818588803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b5050505050505b604080518581523360208201526001600160a01b0387169188917fa7519e5f94697b7f53e97c5eb46a0c730a296ab686ab8fd333835c5f735784eb910160405180910390a350505092915050565b6000610c83888888878787611e38565b98975050505050505050565b610c976120cd565b600380546001600160a01b0319166001600160a01b0383169081179091556040513381527f0a9a80fe9716605b3e52abb3d792d6a4e7816d6afc02a5a4ef023081feaf9f609060200160405180910390a250565b610cf36120cd565b6302faf080811115610d18576040516345fbd9c160e01b815260040160405180910390fd5b6002819055604080518281523360208201527fd7414e590e1cb532989ab2a34c8f4c2c17f7ab6f006efeeaef2e87cd5008c202910160405180910390a150565b610d606120cd565b610d6a6000612127565b565b610d746120cd565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917fa2653e25a502c023a5830d0de847ef6f458387865b1f4f575d7594f9f2c0d71e910160405180910390a35050565b6040516331a9108f60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f9190614b42565b816005610e746000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614610e9484848484612177565b600085815260016020908152604080832080548251818502810185019093528083529192909190849084015b82821015610f2d57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101610ec0565b5050506000888152600160205260408120929350610f4c9291506143a1565b80516000805b828110156110cf57838181518110610f6c57610f6c614c20565b60200260200101516020015163ffffffff1660001480610fb25750633b9aca00848281518110610f9e57610f9e614c20565b60200260200101516040015163ffffffff16145b61102957611024848281518110610fcb57610fcb614c20565b602002602001015160000151858381518110610fe957610fe9614c20565b60200260200101516020015163ffffffff1686848151811061100d5761100d614c20565b60200260200101516040015163ffffffff166122eb565b61102c565b60005b91506110568285838151811061104457611044614c20565b6020026020010151606001518b612331565b60011515828a7fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a3525187858151811061108f5761108f614c20565b602002602001015160600151336040516110bf9291906001600160a01b0392831681529116602082015260400190565b60405180910390a4600101610f52565b505050505050505050565b606060016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561117c57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b03166060830152908352909201910161110f565b505050509050919050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156111ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112139190614b42565b8a6011611221838383611cd4565b6112318d8d8d8c8c8c8c8c61259e565b9d9c50505050505050505050505050565b60405163035240c760e61b81523060048201526024810182905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d49031c090604401602060405180830381865afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190614b7c565b905060007f00000000000000000000000000000000000000000000000000000000000000006012146113335761132e827f000000000000000000000000000000000000000000000000000000000000000060126127e5565b611335565b815b905060017f00000000000000000000000000000000000000000000000000000000000000001461146d576114688161138e7f0000000000000000000000000000000000000000000000000000000000000000600a614d1a565b604051635268657960e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152600160248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf290606401602060405180830381865afa15801561143f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114639190614b7c565b612842565b61146f565b805b949350505050565b61148088611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146114ef5734156114d157604051635e7e9adf60e11b815260040160405180910390fd5b476114dd33308a61171d565b6114e78147614b2f565b9750506114f3565b3496505b61156988888787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061290f92505050565b5050505050505050565b61157b6120cd565b6001600160a01b0381166115e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6115ee81612127565b50565b600088886002611602838383611cd4565b6116118c8c8c8b8b8b8b612a01565b9c9b505050505050505050505050565b60006001600160e01b0319821663301cdc3960e21b148061165257506001600160e01b0319821663144b000160e11b145b8061084857506301ffc9a760e01b6001600160e01b0319831614610848565b604051636e49181f60e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117009190614b5f565b6115ee57604051631b1d5a5960e31b815260040160405180910390fd5b6117278282613096565b505050565b60006001600160a01b0386166117555760405163a762251360e01b815260040160405180910390fd5b61175d6143c2565b606060008060405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018e81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632fa1b3918d838e7f00000000000000000000000000000000000000000000000000000000000000008f8d8d6040518863ffffffff1660e01b81526004016118669796959493929190614d52565b6000604051808303816000875af1158015611885573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ad9190810190614eb6565b9950919550909350915081156119e257604051632eec7b5560e11b8152600481018c90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119469190614b42565b604051638ae9c07b60e01b8152600481018d9052602481018490526001600160a01b038c8116604483015260c06064830152600060c48301528a15156084830152600160a48301529190911690638ae9c07b9060e4016020604051808303816000875af11580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df9190614b7c565b94505b88851015611a0357604051633dca309360e11b815260040160405180910390fd5b825115611c765760006040518061016001604052808e6001600160a01b031681526020018d81526020018660200151815260200183815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018781526020018c6001600160a01b031681526020018a15158152602001898152602001604051806020016040528060008152508152602001888152509050600084519050611b3e604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b60005b82811015611c7157868181518110611b5b57611b5b614c20565b60209081029190910101519150602080830151608086015190910152604082015161012085015281516001600160a01b0390811690636b204943907f00000000000000000000000000000000000000000000000000000000000000001661eeee14611bc7576000611bcd565b83602001515b866040518363ffffffff1660e01b8152600401611bea91906150d1565b6000604051808303818588803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050505081600001516001600160a01b03167f232bbbe420e7bac6f941dc82678daec2b4c712378d91e864b69aab6e26cdd42485846020015133604051611c61939291906150e4565b60405180910390a2600101611b41565b505050505b50505087816000015182602001517f133161f1c9161488f777ab9a26aae91d47c0d9a3fafb398960f138db02c737978c8b8f888b8b33604051611cbf9796959493929190615117565b60405180910390a45098975050505050505050565b336001600160a01b03841614801590611d7d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611d3a903390879087908790600401615177565b602060405180830381865afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7b9190614b5f565b155b8015611e1a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611dd790339087906000908790600401615177565b602060405180830381865afa158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e189190614b5f565b155b156117275760405163075fd2b160e01b815260040160405180910390fd5b60405163c664459760e01b8152600481018790526024810186905260448101859052600090819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c664459790606401610140604051808303816000875af1158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed991906151a0565b9150915085811015611efe5760405163b01493c160e01b815260040160405180910390fd5b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8a9190614b42565b600254909150600090818115611faa57611fa58d60006131af565b611fb0565b633b9aca005b9050600080611fe78f89602001517f00000000000000000000000000000000000000000000000000000000000000008a8888613323565b92509050633b9aca008314611ffb57908101905b8160000361200a57600061202e565b61202e8f6120258a61010001516001604f9190911c81161490565b84878a886134e3565b9450801561206b57633b9aca0083146120515761204c8185856122eb565b612054565b60005b61205e9082614b2f565b985061206b30878b61171d565b505050508a846000015185602001517fc41a8d26c70cfcf1b9ea10f82482ac947b8be5bea2750bc729af844bbfde1e28858e88878c8f8f336040516120b79897969594939291906151f8565b60405180910390a4505050509695505050505050565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016115dc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015801561218e5750336001600160a01b03851614155b801561222a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906121e7903390889088908890600401615177565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190614b5f565b155b80156122c7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061228490339088906000908890600401615177565b602060405180830381865afa1580156122a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c59190614b5f565b155b156122e55760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6000806122fd8484633b9aca00612842565b6123079085614b2f565b905061231c85633b9aca00611463818561524b565b6123269086614b2f565b9150505b9392505050565b604051630862026560e41b8152600160048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638620265090604401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190614b42565b9050806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461243a57600061243c565b855b6001877f0000000000000000000000000000000000000000000000000000000000000000886000808a60405160200161247791815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b81526004016124a8979695949392919061525e565b60206040518083038185885af1935050505080156124e3575060408051601f3d908101601f191682019092526124e091810190614b7c565b60015b612597573d808015612511576040519150601f19603f3d011682016040523d82523d6000602084013e612516565b606091505b5061255383306001600160a01b03851603612532576000612534565b835b306001600160a01b0386160361254b57600061254d565b875b88613660565b6001837f80a889d08f0d59eb962335b57fb1d5b29e86e3d23f15087b5541fddf15422bbe878433604051612589939291906152b6565b60405180910390a3506122e5565b5050505050565b604051632538671560e01b8152600481018990526024810188905260448101879052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632538671590606401610140604051808303816000875af115801561261b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263f91906151a0565b91509150878110156126645760405163b01493c160e01b815260040160405180910390fd5b6002546040516331a9108f60e11b8152600481018d90526000919082906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156126d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f69190614b42565b9050600082158061271657503360009081526004602052604090205460ff165b61272a576127258f60016131af565b612730565b633b9aca005b9050633b9aca008114612766576127618f6127588861010001516001604f9190911c81161490565b878686866134e3565b612769565b60005b935083850396508660001461278357612783308c8961171d565b505050508a826000015183602001517f2eeee47c6d8d31c3523c3aa07b4c3e3795db36be4c04546ef3e30a5102f568e18a8e86898d8d8d336040516127cf9897969594939291906152e7565b60405180910390a4505098975050505050505050565b60008282036127f557508261232a565b82821115612823576128078383614b2f565b61281290600a614d1a565b61281c9085615347565b905061232a565b61282d8284614b2f565b61283890600a614d1a565b61281c9085615374565b600080806000198587098587029250828110838203039150508060000361287c578382816128725761287261535e565b049250505061232a565b8381106128a657604051631dcf306360e21b815260048101829052602481018590526044016115dc565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008361291d576000612927565b61292786866136dd565b90506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e7c8e3e387612963848961524b565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156129a157600080fd5b505af11580156129b5573d6000803e3d6000fd5b50505050857f9ecaf7fc3dfffd6867c175d6e684b1f1e3aef019398ba8db2c1ffab4a09db25386838686336040516129f1959493929190615396565b60405180910390a2505050505050565b60006001600160a01b038416612a2a57604051637ba50db360e11b815260040160405180910390fd5b612a326143c2565b6000806000600254905060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2df1f958e8e8e8c8c6040518663ffffffff1660e01b8152600401612a929594939291906153e2565b6000604051808303816000875af1158015612ab1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ad99190810190615421565b6001600160a01b038d16600090815260046020526040902054909b5091985091965090915060ff1680612b295750612710612b1386613b31565b148015612b295750612710612b2786613b4e565b145b80612b32575081155b612b4657612b418c60026131af565b612b4c565b633b9aca005b925089861015612b6f5760405163f896960b60e01b815260040160405180910390fd5b8a15612c7f57604051632eec7b5560e11b8152600481018d90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190614b42565b604051631665bc0f60e01b81526001600160a01b038f81166004830152602482018f9052604482018e905260a06064830152600060a4830181905260848301529190911690631665bc0f9060c401600060405180830381600087803b158015612c6657600080fd5b505af1158015612c7a573d6000803e3d6000fd5b505050505b805115612fbf5760006040518061014001604052808f6001600160a01b031681526020018e8152602001876020015181526020018d815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018a81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018b6001600160a01b031681526020018a8152602001604051806020016040528060008152508152602001898152509050612e35604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b8251600090815b81811015612fb957858181518110612e5657612e56614c20565b6020026020010151935086600014612e7c57612e778460200151888a6122eb565b612e7f565b60005b92508215612eae576020840151612e96908a61524b565b98508284602001818151612eaa9190614b2f565b9052505b60208085015160a087015190910152604084015161010086015283516001600160a01b0390811690630bf46e59907f00000000000000000000000000000000000000000000000000000000000000001661eeee14612f0d576000612f13565b85602001515b876040518363ffffffff1660e01b8152600401612f3091906155f3565b6000604051808303818588803b158015612f4957600080fd5b505af1158015612f5d573d6000803e3d6000fd5b505050505083600001516001600160a01b03167f6596068545b2541b0aff5579d91f991d0fe5957df8e2082483ef361953e1f9978686602001518633604051612fa99493929190615606565b60405180910390a2600101612e3c565b50505050505b50841561301a576000633b9aca008314612fe357612fde8683856122eb565b612fe6565b60005b9050801561300757612ff8868561524b565b93506130048187614b2f565b95505b851561301857613018308a8861171d565b505b82600003613029576000613038565b6130388b600085848c876134e3565b5050505087816000015182602001517f2be10f2a0203c77d0fcaa9fd6484a8a1d6904de31cd820587f60c1c8c338c8148c898c888b8b336040516130829796959493929190615117565b60405180910390a450979650505050505050565b804710156130e65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016115dc565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613133576040519150601f19603f3d011682016040523d82523d6000602084013e613138565b606091505b50509050806117275760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016115dc565b604051630862026560e41b8152600160048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690638620265090604401602060405180830381865afa158015613241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132659190614b42565b6001600160a01b03160361327e5750633b9aca00610848565b6003546001600160a01b03161561331a5760035460405163192dd60960e01b81526001600160a01b039091169063192dd609906132c1908690869060040161563e565b602060405180830381865afa9250505080156132fa575060408051601f3d908101601f191682019092526132f791810190614b7c565b60015b61330657506000610848565b633b9aca008111613318579050610848565b505b50600092915050565b6040516369e11cc560e01b81526004810187905260248101869052604481018590526000908190633b9aca009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa1580156133a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133cb9190810190615670565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529192505b82518110156134d15782818151811061342257613422614c20565b60200260200101519150600061343d8a846040015187612842565b9050600061344f848f8e858e8e613b6b565b905080158015906134605750818114155b156134725761346f828861524b565b96505b811561347e57818b039a505b8360400151860395508b8d8f7f0d31ab573f6daa4b1edba8d31973b4ba9f98fbfecc47010c1533eeefd2a1225a878686336040516134bf94939291906157cd565b60405180910390a45050600101613407565b50879450505050965096945050505050565b60006134f08585846122eb565b9050851561360257600087815260016020818152604080842081516080810183528a815263ffffffff808b168286019081528982168386019081526001600160a01b03808d16606086019081528654808b018855968b5297909920935160029095029093019384555192909501805491519451909616600160401b02600160401b600160e01b03199486166401000000000267ffffffffffffffff199092169290951691909117179190911691909117909155518490869089907f77813be0661650ddc1a5193ff2837df4162b251cb432651e2c060c3fc39756be906135f5908790899033909283526001600160a01b03918216602084015216604082015260600190565b60405180910390a4613656565b61360d818489612331565b604080516001600160a01b038516815233602082015260009183918a917fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a35251910160405180910390a45b9695505050505050565b60405163e7c8e3e360e01b815260048101859052602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e7c8e3e390604401600060405180830381600087803b1580156136c957600080fd5b505af1158015611569573d6000803e3d6000fd5b600082815260016020908152604080832080548251818502810185019093528083528493849084015b8282101561377357600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101613706565b50505060008681526001602052604081209293506137929291506143a1565b8051839060005b81811015613ae9578260000361385857600087815260016020526040902084518590839081106137cb576137cb614c20565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015191909201805460408401516060909401516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff9586166401000000000267ffffffffffffffff1990931695909416949094171791909116919091179055613ae1565b83818151811061386a5761386a614c20565b60200260200101516000015183106139205783818151811061388e5761388e614c20565b602002602001015160000151830392508381815181106138b0576138b0614c20565b60200260200101516020015163ffffffff16600014806138f65750633b9aca008482815181106138e2576138e2614c20565b60200260200101516040015163ffffffff16145b6139145761390f848281518110610fcb57610fcb614c20565b613917565b60005b85019450613ae1565b6001600088815260200190815260200160002060405180608001604052808587858151811061395157613951614c20565b60200260200101516000015103815260200186848151811061397557613975614c20565b60200260200101516020015163ffffffff16815260200186848151811061399e5761399e614c20565b60200260200101516040015163ffffffff1681526020018684815181106139c7576139c7614c20565b6020908102919091018101516060908101516001600160a01b0390811690935284546001818101875560009687529583902085516002909202019081559184015191909401805460408501519490950151909216600160401b02600160401b600160e01b031963ffffffff9485166401000000000267ffffffffffffffff19909616949092169390931793909317929092161790558351849082908110613a7057613a70614c20565b60200260200101516020015163ffffffff1660001480613ab65750633b9aca00848281518110613aa257613aa2614c20565b60200260200101516040015163ffffffff16145b613ad557613ad083858381518110610fe957610fe9614c20565b613ad8565b60005b85019450600092505b600101613799565b50604080518381523360208201528591879189917f59860d79d97c1fce2be7f987915c631471f4b08f671200463cc40a3380194ffb910160405180910390a450505092915050565b60006028826101000151901c61ffff166127106108489190614b2f565b60006038826101000151901c61ffff166127106108489190614b2f565b60c086015183906001600160a01b031615613e2b57633b9aca008214158015613bb1575060c08701516001600160a01b031660009081526004602052604090205460ff16155b15613bc457613bc18484846122eb565b90035b60006040518060c001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018381526020017f000000000000000000000000000000000000000000000000000000000000000081526020018881526020018781526020018981525090506060613c558960c00151634eba05fd60e11b6142c9565b15613d88578860c001516001600160a01b0316639d740bfa61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614613caf576000613cb1565b845b846040518363ffffffff1660e01b8152600401613cce9190615802565b6000604051808303818588803b158015613ce757600080fd5b505af193505050508015613cf9575060015b613d83573d808015613d27576040519150601f19603f3d011682016040523d82523d6000602084013e613d2c565b606091505b50805115613d3a5780613d7b565b604051602001613d6b906020808252600d908201526c105b1b1bd8d85d194819985a5b609a1b604082015260600190565b6040516020818303038152906040525b915050613dca565b613dca565b604051602001613db8906020808252600c908201526b12515490cc4d8d4819985a5b60a21b604082015260600190565b60405160208183030381529060405290505b805115613e2457613de1888a60c001518589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a888433604051613e1b9493929190615856565b60405180910390a25b5050613656565b606087015115614286576060870151604051630862026560e41b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638620265091613ebb917f0000000000000000000000000000000000000000000000000000000000000000906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa158015613ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efc9190614b42565b90506001600160a01b038116613f5e5760009150613f1d8760008088613660565b867f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f800796898733604051613f5193929190615899565b60405180910390a2614280565b6001600160a01b0381163014801590613f7b5750633b9aca008314155b8015613fa057506001600160a01b03811660009081526004602052604090205460ff16155b15613fb557613fb08585856122eb565b820391505b87602001511561413257806001600160a01b0316630cf8e85861eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614010576000614012565b835b8a60600151857f00000000000000000000000000000000000000000000000000000000000000008c60405160200161404c91815260200190565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161407a9493929190614be5565b6000604051808303818588803b15801561409357600080fd5b505af1935050505080156140a5575060015b61412d573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b606091505b506140e588838589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a88843360405161411f9493929190615856565b60405180910390a250614280565b614280565b806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614183576000614185565b835b60608b015160808c015186907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b03166141c657336141cc565b8d608001515b60008f600001518f6040516020016141e691815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b8152600401614217979695949392919061525e565b60206040518083038185885af193505050508015614252575060408051601f3d908101601f1916820190925261424f91810190614b7c565b60015b613e24573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b50613656565b633b9aca00821461429f5761429c8484846122eb565b90035b60808701516136569030906001600160a01b03166142bd57336142c3565b88608001515b8361171d565b60006142d4836142e5565b801561232a575061232a8383614318565b60006142f8826301ffc9a760e01b614318565b80156108485750614311826001600160e01b0319614318565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561438a575060208210155b80156143965750600081115b979650505050505050565b50805460008255600202906000526020600020908101906115ee9190614417565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b5b8082111561443e57600081556001810180546001600160e01b0319169055600201614418565b5090565b60006020828403121561445457600080fd5b81356001600160e01b03198116811461232a57600080fd5b6001600160a01b03811681146115ee57600080fd5b60008083601f84011261449357600080fd5b5081356001600160401b038111156144aa57600080fd5b6020830191508360208285010111156144c257600080fd5b9250929050565b600080600080600080600060a0888a0312156144e457600080fd5b873596506020880135955060408801356144fd8161446c565b945060608801356001600160401b038082111561451957600080fd5b6145258b838c01614481565b909650945060808a013591508082111561453e57600080fd5b5061454b8a828b01614481565b989b979a50959850939692959293505050565b60006020828403121561457057600080fd5b813561232a8161446c565b80151581146115ee57600080fd5b6000806000806000806000806000806101008b8d0312156145a957600080fd5b8a35995060208b0135985060408b01356145c28161446c565b975060608b01356145d28161446c565b965060808b0135955060a08b01356145e98161457b565b945060c08b01356001600160401b038082111561460557600080fd5b6146118e838f01614481565b909650945060e08d013591508082111561462a57600080fd5b506146378d828e01614481565b915080935050809150509295989b9194979a5092959850565b6000806040838503121561466357600080fd5b8235915060208301356146758161446c565b809150509250929050565b600080600080600080600060c0888a03121561469b57600080fd5b87359650602088013595506040880135945060608801356146bb8161446c565b93506080880135925060a08801356001600160401b038111156146dd57600080fd5b61454b8a828b01614481565b6000602082840312156146fb57600080fd5b5035919050565b6000806040838503121561471557600080fd5b82356147208161446c565b915060208301356146758161457b565b602080825282518282018190526000919060409081850190868401855b82811015614799578151805185528681015163ffffffff908116888701528682015116868601526060908101516001600160a01b0316908501526080909301929085019060010161474d565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156147df576147df6147a6565b60405290565b604051606081016001600160401b03811182821017156147df576147df6147a6565b60405160e081016001600160401b03811182821017156147df576147df6147a6565b604051601f8201601f191681016001600160401b0381118282101715614851576148516147a6565b604052919050565b60006001600160401b03821115614872576148726147a6565b50601f01601f191660200190565b600082601f83011261489157600080fd5b81356148a461489f82614859565b614829565b8181528460208386010111156148b957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006101008a8c0312156148f557600080fd5b8935985060208a0135975060408a0135965060608a01356149158161446c565b955060808a0135945060a08a013561492c8161446c565b935060c08a01356001600160401b038082111561494857600080fd5b6149548d838e01614880565b945060e08c013591508082111561496a57600080fd5b506149778c828d01614481565b915080935050809150509295985092959850929598565b60008060008060008060008060c0898b0312156149aa57600080fd5b883597506020890135965060408901356149c38161446c565b955060608901356149d38161457b565b945060808901356001600160401b03808211156149ef57600080fd5b6149fb8c838d01614481565b909650945060a08b0135915080821115614a1457600080fd5b50614a218b828c01614481565b999c989b5096995094979396929594505050565b60008060408385031215614a4857600080fd5b8235614a538161446c565b946020939093013593505050565b600080600080600080600080610100898b031215614a7e57600080fd5b8835614a898161446c565b975060208901359650604089013595506060890135614aa78161446c565b94506080890135935060a0890135614abe8161446c565b925060c08901356001600160401b0380821115614ada57600080fd5b614ae68c838d01614880565b935060e08b0135915080821115614afc57600080fd5b50614b098b828c01614880565b9150509295985092959890939650565b634e487b7160e01b600052601160045260246000fd5b8181038181111561084857610848614b19565b600060208284031215614b5457600080fd5b815161232a8161446c565b600060208284031215614b7157600080fd5b815161232a8161457b565b600060208284031215614b8e57600080fd5b5051919050565b60005b83811015614bb0578181015183820152602001614b98565b50506000910152565b60008151808452614bd1816020860160208601614b95565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b038316604082015260a06060820152600060a082015260c06080820152600061365660c0830184614bb9565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115614c71578160001904821115614c5757614c57614b19565b80851615614c6457918102915b93841c9390800290614c3b565b509250929050565b600082614c8857506001610848565b81614c9557506000610848565b8160018114614cab5760028114614cb557614cd1565b6001915050610848565b60ff841115614cc657614cc6614b19565b50506001821b610848565b5060208310610133831016604e8410600b8410161715614cf4575081810a610848565b614cfe8383614c36565b8060001904821115614d1257614d12614b19565b029392505050565b600061232a8383614c79565b80516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b6001600160a01b03888116825260009061014090614d73602085018b614d26565b8860a08501528760c085015280871660e08501525080610100840152614d9b81840186614bb9565b9050828103610120840152614db08185614bb9565b9a9950505050505050505050565b8051614dc98161446c565b919050565b60006101208284031215614de157600080fd5b614de96147bc565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c0820152614e3760e08301614dbe565b60e082015261010080830151818301525092915050565b60006001600160401b03821115614e6757614e676147a6565b5060051b60200190565b600082601f830112614e8257600080fd5b8151614e9061489f82614859565b818152846020838601011115614ea557600080fd5b61146f826020830160208701614b95565b6000806000806101808587031215614ecd57600080fd5b614ed78686614dce565b935061012085015192506101408501516001600160401b0380821115614efc57600080fd5b818701915087601f830112614f1057600080fd5b8151614f1e61489f82614e4e565b8082825260208201915060208360051b86010192508a831115614f4057600080fd5b602085015b83811015614fca57805185811115614f5c57600080fd5b86016060818e03601f19011215614f7257600080fd5b614f7a6147e5565b6020820151614f888161446c565b815260408201516020820152606082015187811115614fa657600080fd5b614fb58f602083860101614e71565b60408301525084525060209283019201614f45565b506101608a01519096509350505080821115614fe557600080fd5b50614ff287828801614e71565b91505092959194509250565b80516001600160a01b031682526000610220602083015160208501526040830151604085015260608301516150366060860182614d26565b50608083015161504960e0860182614d26565b5060a083015161016085015260c08301516001600160a01b031661018085015260e083015115156101a08501526101008301516101c0850182905261509082860182614bb9565b9150506101208301518482036101e08601526150ac8282614bb9565b9150506101408301518482036102008601526150c88282614bb9565b95945050505050565b60208152600061232a6020830184614ffe565b6060815260006150f76060830186614ffe565b6020830194909452506001600160a01b0391909116604090910152919050565b600060018060a01b03808a168352808916602084015287604084015286606084015260e0608084015261514d60e0840187614bb9565b83810360a085015261515f8187614bb9565b92505080841660c08401525098975050505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60008061014083850312156151b457600080fd5b6151be8484614dce565b915061012083015190509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808b16835289602084015288604084015287606084015286608084015260e060a084015261523360e0840186886151cf565b915080841660c0840152509998505050505050505050565b8082018082111561084857610848614b19565b878152602081018790526001600160a01b038681166040830152851660608201526080810184905282151560a082015261010060c08201819052600090820181905261012060e08301819052614db081840185614bb9565b8381526060602082015260006152cf6060830185614bb9565b905060018060a01b0383166040830152949350505050565b600060018060a01b03808b16835289602084015288604084015287606084015260e0608084015261531b60e0840188614bb9565b83810360a085015261532e8187896151cf565b92505080841660c0840152509998505050505050505050565b808202811582820484141761084857610848614b19565b634e487b7160e01b600052601260045260246000fd5b60008261539157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a0604082015260006153b560a0830186614bb9565b82810360608401526153c78186614bb9565b91505060018060a01b03831660808301529695505050505050565b60018060a01b038616815284602082015283604082015260a06060820152600061540f60a0830185614bb9565b8281036080840152610c838185614bb9565b600080600080610180858703121561543857600080fd5b6154428686614dce565b935061012085015192506101408501516001600160401b038082111561546757600080fd5b818701915087601f83011261547b57600080fd5b815161548961489f82614e4e565b8082825260208201915060208360051b86010192508a8311156154ab57600080fd5b602085015b83811015614fca578051858111156154c757600080fd5b86016060818e03601f190112156154dd57600080fd5b6154e56147e5565b60208201516154f38161446c565b81526040820151602082015260608201518781111561551157600080fd5b6155208f602083860101614e71565b604083015250845250602092830192016154b0565b80516001600160a01b03168252600061020060208301516020850152604083015160408501526060830151606085015260808301516155776080860182614d26565b5060a083015161010061558c81870183614d26565b60c08501516001600160a01b031661018087015260e08501516101a0870184905291506155bb83870183614bb9565b9250808501519150508482036101c08601526155d78282614bb9565b9150506101208301518482036101e08601526150c88282614bb9565b60208152600061232a6020830184615535565b6080815260006156196080830187615535565b60208301959095525060408101929092526001600160a01b0316606090910152919050565b828152604081016003831061566357634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b6000602080838503121561568357600080fd5b82516001600160401b0381111561569957600080fd5b8301601f810185136156aa57600080fd5b80516156b861489f82614e4e565b81815260e091820283018401918482019190888411156156d757600080fd5b938501935b8385101561576d5780858a0312156156f45760008081fd5b6156fc614807565b85516157078161457b565b8152858701516157168161457b565b81880152604086810151908201526060808701519082015260808087015161573d8161446c565b9082015260a0868101519082015260c08087015161575a8161446c565b90820152835293840193918501916156dc565b50979650505050505050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b61014081016157dc8287615779565b60e08201949094526101008101929092526001600160a01b031661012090910152919050565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161584f90840182615779565b5092915050565b60006101406158658388615779565b8560e08401528061010084015261587e81840186614bb9565b91505060018060a01b03831661012083015295945050505050565b60006101406158a88387615779565b60e08301949094525061010081018390526012928101929092527115195c9b5a5b985b081b9bdd08199bdd5b9960721b6101608301526001600160a01b03166101208201526101800191905056fea26469706673582212206d4c53773d9fed6493e50bd15d6276b96362c21ab57997281c5ef532f52db6e864736f6c634300081700330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220636195c5f3dea6c00bf28e8165eac5fd0a6279c4a2c9491847a2033d1b9a3e1464736f6c63430008170033","sourceMap":"2767:6615:19:-:0;;;1572:26:48;;;-1:-1:-1;;1572:26:48;;;1594:4;1572:26;;;;;;3126:44:52;;;;;;;;;;;3043:45:19;;;-1:-1:-1;;;;;;3043:45:19;;;3084:3;3043:45;;;;3094:46;;;;;3134:5;3094:46;;;3146:42;;;;;;3181:6;3146:42;;;2767:6615;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040523480156200001157600080fd5b5060043610620000b75760003560e01c806385226c81116200007a57806385226c811462000117578063916a17c61462000130578063b5508aa9146200013a578063ba414fa61462000144578063e20c9f71146200015f578063fa7626d4146200016957600080fd5b80630a9254e414620000bc5780631ed7831c14620000c85780633e5e3c2314620000ea5780633f7286f414620000f457806366d9a9a014620000fe575b600080fd5b620000c662000177565b005b620000d2620012fc565b604051620000e1919062001c20565b60405180910390f35b620000d262001360565b620000d2620013c2565b6200010862001424565b604051620000e1919062001c6f565b6200012162001517565b604051620000e1919062001d4e565b62000108620015f1565b62000121620016db565b6200014e620017b5565b6040519015158152602001620000e1565b620000d2620018e2565b6007546200014e9060ff1681565b604051620001859062001b78565b604051809103906000f080158015620001a2573d6000803e3d6000fd5b50601e80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600f60448201526e4a424f70657261746f7253746f726560881b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200023157600080fd5b505af115801562000246573d6000803e3d6000fd5b5050601e546040516001600160a01b03909116925062000267915062001b86565b6001600160a01b039091168152602001604051809103906000f08015801562000294573d6000803e3d6000fd5b50601f80546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600a6044820152694a4250726f6a6563747360b01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200031e57600080fd5b505af115801562000333573d6000803e3d6000fd5b5050601b546040516001600160a01b03909116925062000354915062001b94565b6001600160a01b039091168152602001604051809103906000f08015801562000381573d6000803e3d6000fd5b50602080546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260086044820152674a4250726963657360c01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200040957600080fd5b505af11580156200041e573d6000803e3d6000fd5b5050505060006200043130600562001944565b905080604051620004429062001ba2565b6001600160a01b039091168152602001604051809103906000f0801580156200046f573d6000803e3d6000fd5b50602280546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b81526004810192909252602482015260136044820152724a4246756e64696e674379636c6553746f726560681b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200050257600080fd5b505af115801562000517573d6000803e3d6000fd5b5050601e54601f54602254601b546040516001600160a01b03948516965092841694509083169216906200054b9062001bb0565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000590573d6000803e3d6000fd5b50602180546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600b60448201526a4a424469726563746f727960a81b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200061b57600080fd5b505af115801562000630573d6000803e3d6000fd5b50506021546040516001600160a01b03909116925062000651915062001bbe565b6001600160a01b039091168152602001604051809103906000f0801580156200067e573d6000803e3d6000fd5b50602480546001600160a01b0319166001600160a01b03928316179055601e54601f546021546022546040519385169492831693918316921690620006c39062001bcc565b6001600160a01b039485168152928416602084015290831660408301529091166060820152608001604051809103906000f08015801562000708573d6000803e3d6000fd5b50602380546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b4a42546f6b656e53746f726560a01b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b5050601e54601f546021546040516001600160a01b039384169550918316935090911690620007d89062001bda565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000815573d6000803e3d6000fd5b50602580546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600d60448201526c4a4253706c69747353746f726560981b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620008a257600080fd5b505af1158015620008b7573d6000803e3d6000fd5b5050601e54601f546021546022546023546025546024546040516001600160a01b0397881699509587169750938616959283169491831693908316921690620009009062001be8565b6001600160a01b03978816815295871660208701529386166040860152918516606085015284166080840152831660a083015290911660c082015260e001604051809103906000f0801580156200095b573d6000803e3d6000fd5b50602680546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152600c60448201526b252121b7b73a3937b63632b960a11b60648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b158015620009e757600080fd5b505af1158015620009fc573d6000803e3d6000fd5b5050601b5460405163ca669fa760e01b81526001600160a01b0390911660048201526000805160206201cbd2833981519152925063ca669fa79150602401600060405180830381600087803b15801562000a5557600080fd5b505af115801562000a6a573d6000803e3d6000fd5b505060215460265460405163a1ed317560e01b81526001600160a01b039182166004820152600160248201529116925063a1ed31759150604401600060405180830381600087803b15801562000abf57600080fd5b505af115801562000ad4573d6000803e3d6000fd5b50506021546022546020546040516001600160a01b03938416955091831693509091169062000b039062001bf6565b6001600160a01b03938416815291831660208301529091166040820152606001604051809103906000f08015801562000b40573d6000803e3d6000fd5b50602780546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152602660448201527f4a4253696e676c65546f6b656e5061796d656e745465726d696e616c53746f7260648201526565335f315f3160d01b60848201526000805160206201cbd28339815191529063c657c7189060a401600060405180830381600087803b15801562000bec57600080fd5b505af115801562000c01573d6000803e3d6000fd5b5050505060405162000c139062001c04565b604051809103906000f08015801562000c30573d6000803e3d6000fd5b50603980546001600160a01b0319166001600160a01b03929092169182179055604080516341917ff960e11b81529051638322fff2916004808201926020929091908290030181865afa15801562000c8c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cb2919062001dcc565b601e54601f54602154602554602054602754601b546040516001600160a01b039788169796871696958616959485169493841693928316929091169062000cf99062001c12565b9788526001600160a01b039687166020890152948616604088015292851660608701529084166080860152831660a0850152821660c08401521660e082015261010001604051809103906000f08015801562000d59573d6000803e3d6000fd5b50602880546001600160a01b0319166001600160a01b03929092169182179055604080516318caf8e360e31b815260048101929092526024820152601960448201527f4a424554485061796d656e745465726d696e616c335f315f310000000000000060648201526000805160206201cbd28339815191529063c657c71890608401600060405180830381600087803b15801562000df657600080fd5b505af115801562000e0b573d6000803e3d6000fd5b505060285460378054600181810183556000929092527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b039093169290921790915560408051608081018252600a918101918252690daf292a08ca690c2e6d60b31b6060820152818152602081019290925290925060299150819062000ea6908262001e8d565b506020918201516001918201556040805160808082018352600e808352683635c9adc5dea00000838701819052631ad2748084860181905260006060958601819052602b93909355602c91909155602d55602e80546001600160a01b0319169055835161026081018552610200810182815261022082018390526102408201839052815261138896810187905280850187905292830186905290820181905260a0820181905260c0820181905260e08201819052610100820184905261012082018190526101408201819052610160820181905261018082018190526101a082018190526101c08201939093526101e001829052602f805462ffffff1916905560308390556031839055603292909255603380546affffffffffffffffffffff19166a0100000000000100000000179055603455601c54905163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd28339815191529063c88a5e6d90604401600060405180830381600087803b1580156200103d57600080fd5b505af115801562001052573d6000803e3d6000fd5b5050601b5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b158015620010ba57600080fd5b505af1158015620010cf573d6000803e3d6000fd5b5050601d5460405163c88a5e6d60e01b81526001600160a01b03909116600482015268056bc75e2d6310000060248201526000805160206201cbd2833981519152925063c88a5e6d9150604401600060405180830381600087803b1580156200113757600080fd5b505af11580156200114c573d6000803e3d6000fd5b5050601b54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600c60448201526b383937b532b1ba27bbb732b960a11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620011c757600080fd5b505af1158015620011dc573d6000803e3d6000fd5b5050601c54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600b60448201526a62656e656669636961727960a81b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b1580156200125657600080fd5b505af11580156200126b573d6000803e3d6000fd5b5050601d54604080516318caf8e360e31b81526001600160a01b0390921660048301526024820152600660448201526531b0b63632b960d11b60648201526000805160206201cbd2833981519152925063c657c7189150608401600060405180830381600087803b158015620012e057600080fd5b505af1158015620012f5573d6000803e3d6000fd5b5050505050565b606060148054806020026020016040519081016040528092919081815260200182805480156200135657602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162001337575b5050505050905090565b6060601680548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6060601580548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b60606019805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620014f557602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620014b65790505b5050505050815250508152602001906001019062001448565b50505050905090565b60606018805480602002602001604051908101604052809291908181526020016000905b828210156200150e5783829060005260206000200180546200155d9062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200158b9062001dfc565b8015620015dc5780601f10620015b057610100808354040283529160200191620015dc565b820191906000526020600020905b815481529060010190602001808311620015be57829003601f168201915b5050505050815260200190600101906200153b565b6060601a805480602002602001604051908101604052809291908181526020016000905b828210156200150e5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015620016c257602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411620016835790505b5050505050815250508152602001906001019062001615565b60606017805480602002602001604051908101604052809291908181526020016000905b828210156200150e578382906000526020600020018054620017219062001dfc565b80601f01602080910402602001604051908101604052809291908181526020018280546200174f9062001dfc565b8015620017a05780601f106200177457610100808354040283529160200191620017a0565b820191906000526020600020905b8154815290600101906020018083116200178257829003601f168201915b505050505081526020019060010190620016ff565b600754600090610100900460ff1615620017d85750600754610100900460ff1690565b60006000805160206201cbd28339815191523b15620018dd57604080516000805160206201cbd2833981519152602082018190526519985a5b195960d21b828401528251808303840181526060830190935260009290916200185f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc49160800162001f5a565b60408051601f19818403018152908290526200187b9162001f8d565b6000604051808303816000865af19150503d8060008114620018ba576040519150601f19603f3d011682016040523d82523d6000602084013e620018bf565b606091505b5091505080806020019051810190620018d9919062001fab565b9150505b919050565b6060601380548060200260200160405190810160405280929190818152602001828054801562001356576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831162001337575050505050905090565b6000606082600003620019a157604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152600160ff1b60368201526037015b604051602081830303815290604052905062001b64565b607f8311620019f257604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606086901b16602282015260f884901b6001600160f81b03191660368201526037016200198a565b60ff831162001a4d5760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608160f81b603682015260f884901b6001600160f81b03191660378201526038016200198a565b61ffff831162001aa957604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152604160f91b60368201526001600160f01b031960f085901b1660378201526039016200198a565b62ffffff831162001b065760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152608360f81b60368201526001600160e81b031960e885901b166037820152603a016200198a565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606086901b166022820152602160fa1b60368201526001600160e01b031960e085901b166037820152603b0160405160208183030381529060405290505b805160209091012060008190529392505050565b6107ed8062001fd783390190565b6134ef80620027c483390190565b6109658062005cb383390190565b611465806200661883390190565b6118758062007a7d83390190565b61089a80620092f283390190565b61468c8062009b8c83390190565b61115c806200e21883390190565b614305806200f37483390190565b6135ea806201367983390190565b61011c8062016c6383390190565b615e538062016d7f83390190565b6020808252825182820181905260009190848201906040850190845b8181101562001c635783516001600160a01b03168352928401929184019160010162001c3c565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b8481101562001d1957898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101562001d035783516001600160e01b0319168252928b019260019290920191908b019062001cd7565b50978a0197955050509187019160010162001c99565b50919998505050505050505050565b60005b8381101562001d4557818101518382015260200162001d2b565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101562001dbf57878503603f190184528151805180875262001d9f818989018a850162001d28565b601f01601f19169590950186019450928501929085019060010162001d75565b5092979650505050505050565b60006020828403121562001ddf57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168062001e1157607f821691505b60208210810362001e3257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562001e88576000816000526020600020601f850160051c8101602086101562001e635750805b601f850160051c820191505b8181101562001e845782815560010162001e6f565b5050505b505050565b815167ffffffffffffffff81111562001eaa5762001eaa62001de6565b62001ec28162001ebb845462001dfc565b8462001e38565b602080601f83116001811462001efa576000841562001ee15750858301515b600019600386901b1c1916600185901b17855562001e84565b600085815260208120601f198616915b8281101562001f2b5788860151825594840194600190910190840162001f0a565b508582101562001f4a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160e01b031983168152815160009062001f7f81600485016020870162001d28565b919091016004019392505050565b6000825162001fa181846020870162001d28565b9190910192915050565b60006020828403121562001fbe57600080fd5b8151801515811462001fcf57600080fd5b939250505056fe608060405234801561001057600080fd5b506107cd806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630f5932f01461005c578063529cdd2e1461008457806380deb230146100995780638d5f697f146100d7578063c161c93f146100ea575b600080fd5b61006f61006a36600461054d565b6100fd565b60405190151581526020015b60405180910390f35b6100976100923660046105bc565b6101a4565b005b6100c96100a73660046105fe565b6000602081815293815260408082208552928152828120909352825290205481565b60405190815260200161007b565b6100976100e536600461063a565b610269565b61006f6100f836600461067c565b610421565b6000805b8281101561019557600084848381811061011d5761011d6106be565b90506020020135905060ff81111561014857604051638e9503a960e01b815260040160405180910390fd5b6001600160a01b03888116600090815260208181526040808320938b168352928152828220898352905290812054821c600116900361018c5760009250505061019b565b50600101610101565b50600190505b95945050505050565b60006101bb6101b660408401846106d4565b610482565b9050806000806101ce602086018661071e565b6001600160a01b03168152602080820192909252604090810160009081203380835290845282822087850180358085529190955292909120939093559190610216908561071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb32061024d60408701876106d4565b8660405161025d93929190610739565b60405180910390a45050565b60005b8181101561041c5760006102ab84848481811061028b5761028b6106be565b905060200281019061029d9190610777565b6101b69060408101906106d4565b9050806000808686868181106102c3576102c36106be565b90506020028101906102d59190610777565b6102e390602081019061071e565b6001600160a01b031681526020808201929092526040908101600090812033825290925281209086868681811061031c5761031c6106be565b905060200281019061032e9190610777565b60200135815260200190815260200160002081905550838383818110610356576103566106be565b90506020028101906103689190610777565b602001353385858581811061037f5761037f6106be565b90506020028101906103919190610777565b61039f90602081019061071e565b6001600160a01b03167f9dee2ffb464e2d0198cd20321be1ae3f79ed49f7ed4abfaa7ee4fe982bbeb3208787878181106103db576103db6106be565b90506020028101906103ed9190610777565b6103fb9060408101906106d4565b8660405161040b93929190610739565b60405180910390a45060010161026c565b505050565b600060ff82111561044557604051638e9503a960e01b815260040160405180910390fd5b506001600160a01b03808516600090815260208181526040808320938716835292815282822085835290522054600190821c811614949350505050565b6000805b828110156104de5760008484838181106104a2576104a26106be565b90506020020135905060ff8111156104cd57604051638e9503a960e01b815260040160405180910390fd5b60019081901b929092179101610486565b5092915050565b80356001600160a01b03811681146104fc57600080fd5b919050565b60008083601f84011261051357600080fd5b50813567ffffffffffffffff81111561052b57600080fd5b6020830191508360208260051b850101111561054657600080fd5b9250929050565b60008060008060006080868803121561056557600080fd5b61056e866104e5565b945061057c602087016104e5565b935060408601359250606086013567ffffffffffffffff81111561059f57600080fd5b6105ab88828901610501565b969995985093965092949392505050565b6000602082840312156105ce57600080fd5b813567ffffffffffffffff8111156105e557600080fd5b8201606081850312156105f757600080fd5b9392505050565b60008060006060848603121561061357600080fd5b61061c846104e5565b925061062a602085016104e5565b9150604084013590509250925092565b6000806020838503121561064d57600080fd5b823567ffffffffffffffff81111561066457600080fd5b61067085828601610501565b90969095509350505050565b6000806000806080858703121561069257600080fd5b61069b856104e5565b93506106a9602086016104e5565b93969395505050506040820135916060013590565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126106eb57600080fd5b83018035915067ffffffffffffffff82111561070657600080fd5b6020019150600581901b360382131561054657600080fd5b60006020828403121561073057600080fd5b6105f7826104e5565b6040808252810183905260006001600160fb1b0384111561075957600080fd5b8360051b808660608501376020830193909352500160600192915050565b60008235605e1983360301811261078d57600080fd5b919091019291505056fea2646970667358221220c05b5102ac1e79d68bb2aa0684e5c08aa8dbdcd7f7d69680fec7900ed8a08b8f64736f6c634300081700336101806040526000600d553480156200001757600080fd5b50604051620034ef380380620034ef8339810160408190526200003a9162000277565b6040805180820182526011808252704a75696365626f782050726f6a6563747360781b60208084018290528451808601865260018152603160f81b81830152855180870187529384528382019290925284518086019095526008855267094aa92868a849eb60c31b908501526001600160a01b03851660805291926000620000c3838262000350565b506001620000d2828262000350565b50620000e491508390506006620001a0565b61014052620000f5816007620001a0565b61016052815160208084019190912061010052815190820120610120524660c052620001856101005161012051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60a05250503060e0526200019933620001d9565b5062000492565b6000602083511015620001c057620001b8836200022b565b9050620001d3565b81620001cd848262000350565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000262578260405163305a27a960e01b81526004016200025991906200041c565b60405180910390fd5b80516200026f826200046d565b179392505050565b6000602082840312156200028a57600080fd5b81516001600160a01b0381168114620002a257600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620002d457607f821691505b602082108103620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034b576000816000526020600020601f850160051c81016020861015620003265750805b601f850160051c820191505b81811015620003475782815560010162000332565b5050505b505050565b81516001600160401b038111156200036c576200036c620002a9565b62000384816200037d8454620002bf565b84620002fb565b602080601f831160018114620003bc5760008415620003a35750858301515b600019600386901b1c1916600185901b17855562000347565b600085815260208120601f198616915b82811015620003ed57888601518255948401946001909101908401620003cc565b50858210156200040c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020808352835180602085015260005b818110156200044c578581018301518582016040015282016200042e565b506000604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620002f55760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051612fe9620005066000396000610c3f01526000610c1401526000611407015260006113df0152600061133a015260006113640152600061138e0152600081816104450152818161149f01526115460152612fe96000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063c3cda5201161007c578063c3cda5201461047a578063c87b56dd1461048d578063e131fc0c146104a0578063e985e9c5146104b3578063f2fde38b146104ef57600080fd5b80639ab24eb01461041a578063a22cb4651461042d578063ad007d6314610440578063b88d4fde1461046757600080fd5b80638da5cb5b116100e95780638da5cb5b146103cf5780638e539e8c146103e057806391ddadf4146103f357806395d89b411461041257600080fd5b806370a0823114610386578063715018a6146103995780637ecebe00146103a157806384b0196e146103b457600080fd5b8063365749751161019d5780634bf5d7e91161016c5780634bf5d7e914610319578063587cde1e146103215780635c19a95c1461034d5780636352211e14610360578063666d87a01461037357600080fd5b806336574975146102cd57806339fbc775146102e05780633a46b1a8146102f357806342842e0e1461030657600080fd5b8063095ea7b3116101d9578063095ea7b31461028a57806323b872dd1461029f5780632407497e146102b25780633644e515146102c557600080fd5b806301ffc9a71461020b57806306661abd1461023357806306fdde031461024a578063081812fc1461025f575b600080fd5b61021e610219366004612657565b610502565b60405190151581526020015b60405180910390f35b61023c600d5481565b60405190815260200161022a565b610252610548565b60405161022a91906126c4565b61027261026d3660046126d7565b6105da565b6040516001600160a01b03909116815260200161022a565b61029d610298366004612705565b610601565b005b61029d6102ad366004612731565b61071b565b61029d6102c0366004612772565b61074c565b61023c6107a8565b61029d6102db3660046127a1565b6107b7565b6102526102ee3660046127e8565b610842565b61023c610301366004612705565b6108e7565b61029d610314366004612731565b610978565b610252610993565b61027261032f366004612772565b6001600160a01b039081166000908152600860205260409020541690565b61029d61035b366004612772565b610a2b565b61027261036e3660046126d7565b610a3a565b61023c61038136600461280a565b610a9a565b61023c610394366004612772565b610b4e565b61029d610bd4565b61023c6103af366004612772565b610be8565b6103bc610c06565b60405161022a9796959493929190612844565b600c546001600160a01b0316610272565b61023c6103ee3660046126d7565b610c8f565b6103fb610d09565b60405165ffffffffffff909116815260200161022a565b610252610d14565b61023c610428366004612772565b610d23565b61029d61043b3660046128eb565b610d44565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b61029d610475366004612993565b610d4f565b61029d610488366004612a42565b610d87565b61025261049b3660046126d7565b610eb4565b600f54610272906001600160a01b031681565b61021e6104c1366004612aa4565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61029d6104fd366004612772565b610f52565b60006001600160e01b0319821663aa91a66f60e01b148061053357506001600160e01b0319821663ad007d6360e01b145b80610542575061054282610fcb565b92915050565b60606000805461055790612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461058390612ad2565b80156105d05780601f106105a5576101008083540402835291602001916105d0565b820191906000526020600020905b8154815290600101906020018083116105b357829003601f168201915b5050505050905090565b60006105e58261101b565b506000908152600460205260409020546001600160a01b031690565b600061060c82610a3a565b9050806001600160a01b0316836001600160a01b03160361067e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061069a575061069a81336104c1565b61070c5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610675565b610716838361107a565b505050565b61072533826110e8565b6107415760405162461bcd60e51b815260040161067590612b06565b610716838383611167565b6107546112d3565b600f80546001600160a01b0319166001600160a01b0383169081179091556040513381527fe7784d93cfbfa4408e19577e6cc0436f4dbb51214b70e100905dfce9def88c169060200160405180910390a250565b60006107b261132d565b905090565b6107c082610a3a565b8260066107ce838383611458565b6107d88480612b53565b6000878152600e60209081526040808320898301358452909152902091610800919083612bf1565b50847fd07720acb527321c9d1766f359139d0e0e3551bd99fb3ca353d4f008f3aad8e68533604051610833929190612cb2565b60405180910390a25050505050565b600e6020908152600092835260408084209091529082529020805461086690612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612ad2565b80156108df5780601f106108b4576101008083540402835291602001916108df565b820191906000526020600020905b8154815290600101906020018083116108c257829003601f168201915b505050505081565b60006108f1610d09565b65ffffffffffff16821061093e5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b61096861094a836115d1565b6001600160a01b03851660009081526009602052604090209061163a565b6001600160e01b03169392505050565b61071683838360405180602001604052806000815250610d4f565b60604361099e610d09565b65ffffffffffff16146109f35760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610675565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b33610a3681836116ef565b5050565b6000818152600260205260408120546001600160a01b0316806105425760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b6000600d60008154610aab90612d5a565b91829055509050610abc8382611761565b6000610ac88380612b53565b90501115610b0457610ada8280612b53565b6000838152600e60209081526040808320878301358452909152902091610b02919083612bf1565b505b826001600160a01b0316817fa1c6fd563bcbc3222f6031d7c26ff58cd6c701abff0bfffe652d055ce40629d48433604051610b40929190612cb2565b60405180910390a392915050565b60006001600160a01b038216610bb85760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610675565b506001600160a01b031660009081526003602052604090205490565b610bdc6112d3565b610be6600061177b565b565b6001600160a01b0381166000908152600b6020526040812054610542565b600060608082808083610c3a7f000000000000000000000000000000000000000000000000000000000000000060066117cd565b610c657f000000000000000000000000000000000000000000000000000000000000000060076117cd565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000610c99610d09565b65ffffffffffff168210610ce65760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610675565b610cfa610cf2836115d1565b600a9061163a565b6001600160e01b031692915050565b60006107b243611878565b60606001805461055790612ad2565b6001600160a01b0381166000908152600960205260408120610cfa906118df565b610a36338383611919565b610d5933836110e8565b610d755760405162461bcd60e51b815260040161067590612b06565b610d81848484846119e7565b50505050565b83421115610dd75760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610675565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610e5190610e499060a00160405160208183030381529060405280519060200120611a1a565b858585611a47565b9050610e5c81611a6f565b8614610ea15760405162461bcd60e51b8152602060048201526014602482015273566f7465733a20696e76616c6964206e6f6e636560601b6044820152606401610675565b610eab81886116ef565b50505050505050565b600f546060906001600160a01b031680610ede575050604080516020810190915260008152919050565b604051636d02a25560e11b8152600481018490526001600160a01b0382169063da0544aa90602401600060405180830381865afa158015610f23573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f4b9190810190612d73565b9392505050565b610f5a6112d3565b6001600160a01b038116610fbf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610675565b610fc88161177b565b50565b60006001600160e01b031982166380ac58cd60e01b1480610ffc57506001600160e01b03198216635b5e139f60e01b145b8061054257506301ffc9a760e01b6001600160e01b0319831614610542565b6000818152600260205260409020546001600160a01b0316610fc85760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610675565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906110af82610a3a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806110f483610a3a565b9050806001600160a01b0316846001600160a01b0316148061113b57506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b8061115f5750836001600160a01b0316611154846105da565b6001600160a01b0316145b949350505050565b826001600160a01b031661117a82610a3a565b6001600160a01b0316146111a05760405162461bcd60e51b815260040161067590612dea565b6001600160a01b0382166112025760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610675565b826001600160a01b031661121582610a3a565b6001600160a01b03161461123b5760405162461bcd60e51b815260040161067590612dea565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46107168383836001611a97565b600c546001600160a01b03163314610be65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610675565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561138657507f000000000000000000000000000000000000000000000000000000000000000046145b156113b057507f000000000000000000000000000000000000000000000000000000000000000090565b6107b2604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b336001600160a01b0384161480159061150c575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190612e2f565b155b80156115b3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190612e2f565b155b156107165760405163075fd2b160e01b815260040160405180910390fd5b600063ffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610675565b5090565b81546000908181600581111561169757600061165584611aa7565b61165f9085612e4c565b60008881526020902090915081015463ffffffff908116908716101561168757809150611695565b611692816001612e5f565b92505b505b60006116a587878585611b8f565b905080156116e1576116ca876116bc600184612e4c565b600091825260209091200190565b5464010000000090046001600160e01b03166116e4565b60005b979650505050505050565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610716818361175c86611bed565b611bf8565b610a36828260405180602001604052806000815250611d55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146117e7576117e083611d88565b9050610542565b8180546117f390612ad2565b80601f016020809104026020016040519081016040528092919081815260200182805461181f90612ad2565b801561186c5780601f106118415761010080835404028352916020019161186c565b820191906000526020600020905b81548152906001019060200180831161184f57829003601f168201915b50505050509050610542565b600065ffffffffffff8211156116365760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610675565b80546000908015611910576118f9836116bc600184612e4c565b5464010000000090046001600160e01b0316610f4b565b60009392505050565b816001600160a01b0316836001600160a01b03160361197a5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610675565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6119f2848484611167565b6119fe84848484611dc7565b610d815760405162461bcd60e51b815260040161067590612e72565b6000610542611a2761132d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000611a5887878787611ec5565b91509150611a6581611f89565b5095945050505050565b6001600160a01b0381166000908152600b602052604090208054600181018255905b50919050565b611aa28484836120d3565b610d81565b600081600003611ab957506000919050565b60006001611ac684612149565b901c6001901b90506001818481611adf57611adf612ec4565b048201901c90506001818481611af757611af7612ec4565b048201901c90506001818481611b0f57611b0f612ec4565b048201901c90506001818481611b2757611b27612ec4565b048201901c90506001818481611b3f57611b3f612ec4565b048201901c90506001818481611b5757611b57612ec4565b048201901c90506001818481611b6f57611b6f612ec4565b048201901c9050610f4b81828581611b8957611b89612ec4565b046121dd565b60005b81831015611be5576000611ba684846121f3565b60008781526020902090915063ffffffff86169082015463ffffffff161115611bd157809250611bdf565b611bdc816001612e5f565b93505b50611b92565b509392505050565b600061054282610b4e565b816001600160a01b0316836001600160a01b031614158015611c1a5750600081115b15610716576001600160a01b03831615611cc2576001600160a01b03831660009081526009602052604081208190611c5d9061220e611c588661221a565b612283565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611cb7929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610716576001600160a01b03821660009081526009602052604081208190611cfb906122cc611c588661221a565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051610833929190918252602082015260400190565b611d5f83836122d8565b611d6c6000848484611dc7565b6107165760405162461bcd60e51b815260040161067590612e72565b60606000611d958361246d565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b60006001600160a01b0384163b15611ebd57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611e0b903390899088908890600401612eda565b6020604051808303816000875af1925050508015611e46575060408051601f3d908101601f19168201909252611e4391810190612f17565b60015b611ea3573d808015611e74576040519150601f19603f3d011682016040523d82523d6000602084013e611e79565b606091505b508051600003611e9b5760405162461bcd60e51b815260040161067590612e72565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061115f565b50600161115f565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611efc5750600090506003611f80565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f50573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611f7957600060019250925050611f80565b9150600090505b94509492505050565b6000816004811115611f9d57611f9d612f34565b03611fa55750565b6001816004811115611fb957611fb9612f34565b036120065760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610675565b600281600481111561201a5761201a612f34565b036120675760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610675565b600381600481111561207b5761207b612f34565b03610fc85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610675565b6001600160a01b0383166120f5576120f2600a6122cc611c588461221a565b50505b6001600160a01b03821661211757612114600a61220e611c588461221a565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461071692918216911683611bf8565b600080608083901c1561215e57608092831c92015b604083901c1561217057604092831c92015b602083901c1561218257602092831c92015b601083901c1561219457601092831c92015b600883901c156121a657600892831c92015b600483901c156121b857600492831c92015b600283901c156121ca57600292831c92015b600183901c156105425760010192915050565b60008183106121ec5781610f4b565b5090919050565b60006122026002848418612f4a565b610f4b90848416612e5f565b6000610f4b8284612f6c565b60006001600160e01b038211156116365760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610675565b6000806122bf6122a1612294610d09565b65ffffffffffff166115d1565b6122b76122ad886118df565b868863ffffffff16565b879190612495565b915091505b935093915050565b6000610f4b8284612f93565b6001600160a01b03821661232e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123935760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6000818152600260205260409020546001600160a01b0316156123f85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610675565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4610a36600083836001611a97565b600060ff8216601f81111561054257604051632cd44ac360e21b815260040160405180910390fd5b6000806122bf8585858254600090819080156125e75760006124bc876116bc600185612e4c565b60408051808201909152905463ffffffff8082168084526401000000009092046001600160e01b03166020840152919250908716101561253e5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610675565b805163ffffffff808816911603612587578461255f886116bc600186612e4c565b80546001600160e01b03929092166401000000000263ffffffff9092169190911790556125d7565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216640100000000029216919091179101555b6020015192508391506122c49050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a8152918220955192519093166401000000000291909316179201919091559050816122c4565b6001600160e01b031981168114610fc857600080fd5b60006020828403121561266957600080fd5b8135610f4b81612641565b60005b8381101561268f578181015183820152602001612677565b50506000910152565b600081518084526126b0816020860160208601612674565b601f01601f19169290920160200192915050565b602081526000610f4b6020830184612698565b6000602082840312156126e957600080fd5b5035919050565b6001600160a01b0381168114610fc857600080fd5b6000806040838503121561271857600080fd5b8235612723816126f0565b946020939093013593505050565b60008060006060848603121561274657600080fd5b8335612751816126f0565b92506020840135612761816126f0565b929592945050506040919091013590565b60006020828403121561278457600080fd5b8135610f4b816126f0565b600060408284031215611a9157600080fd5b600080604083850312156127b457600080fd5b82359150602083013567ffffffffffffffff8111156127d257600080fd5b6127de8582860161278f565b9150509250929050565b600080604083850312156127fb57600080fd5b50508035926020909101359150565b6000806040838503121561281d57600080fd5b8235612828816126f0565b9150602083013567ffffffffffffffff8111156127d257600080fd5b60ff60f81b881681526000602060e0602084015261286560e084018a612698565b8381036040850152612877818a612698565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156128cb578351835292840192918401916001016128af565b50909c9b505050505050505050505050565b8015158114610fc857600080fd5b600080604083850312156128fe57600080fd5b8235612909816126f0565b91506020830135612919816128dd565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561296357612963612924565b604052919050565b600067ffffffffffffffff82111561298557612985612924565b50601f01601f191660200190565b600080600080608085870312156129a957600080fd5b84356129b4816126f0565b935060208501356129c4816126f0565b925060408501359150606085013567ffffffffffffffff8111156129e757600080fd5b8501601f810187136129f857600080fd5b8035612a0b612a068261296b565b61293a565b818152886020838501011115612a2057600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b60008060008060008060c08789031215612a5b57600080fd5b8635612a66816126f0565b95506020870135945060408701359350606087013560ff81168114612a8a57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215612ab757600080fd5b8235612ac2816126f0565b91506020830135612919816126f0565b600181811c90821680612ae657607f821691505b602082108103611a9157634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6000808335601e19843603018112612b6a57600080fd5b83018035915067ffffffffffffffff821115612b8557600080fd5b602001915036819003821315612b9a57600080fd5b9250929050565b601f821115610716576000816000526020600020601f850160051c81016020861015612bca5750805b601f850160051c820191505b81811015612be957828155600101612bd6565b505050505050565b67ffffffffffffffff831115612c0957612c09612924565b612c1d83612c178354612ad2565b83612ba1565b6000601f841160018114612c515760008515612c395750838201355b600019600387901b1c1916600186901b178355612cab565b600083815260209020601f19861690835b82811015612c825786850135825560209485019460019092019101612c62565b5086821015612c9f5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6040815260008335601e19853603018112612ccc57600080fd5b840160208101903567ffffffffffffffff811115612ce957600080fd5b803603821315612cf857600080fd5b604080850152806080850152808260a0860137600060a082860101526020860135606085015260a0601f19601f83011685010192505050610f4b60208301846001600160a01b03169052565b634e487b7160e01b600052601160045260246000fd5b600060018201612d6c57612d6c612d44565b5060010190565b600060208284031215612d8557600080fd5b815167ffffffffffffffff811115612d9c57600080fd5b8201601f81018413612dad57600080fd5b8051612dbb612a068261296b565b818152856020838501011115612dd057600080fd5b612de1826020830160208601612674565b95945050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b600060208284031215612e4157600080fd5b8151610f4b816128dd565b8181038181111561054257610542612d44565b8082018082111561054257610542612d44565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612f0d90830184612698565b9695505050505050565b600060208284031215612f2957600080fd5b8151610f4b81612641565b634e487b7160e01b600052602160045260246000fd5b600082612f6757634e487b7160e01b600052601260045260246000fd5b500490565b6001600160e01b03828116828216039080821115612f8c57612f8c612d44565b5092915050565b6001600160e01b03818116838216019080821115612f8c57612f8c612d4456fea26469706673582212204a9203338dfd19ea2f457f56f9c9778c46ac1239f2718604ec204a4500ab3fb064736f6c63430008170033608060405234801561001057600080fd5b5060405161096538038061096583398101604081905261002f91610171565b61003833610047565b61004181610097565b506101a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61009f610115565b6001600160a01b0381166101095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61011281610047565b50565b6000546001600160a01b0316331461016f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610100565b565b60006020828403121561018357600080fd5b81516001600160a01b038116811461019a57600080fd5b9392505050565b6107b5806101b06000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315d63a9114610067578063715018a6146100b85780638da5cb5b146100c257806396364e6d146100d3578063a4d0caf2146100e6578063f2fde38b14610107575b600080fd5b61009b61007536600461058f565b60016020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c061011a565b005b6000546001600160a01b031661009b565b6100c06100e13660046105c6565b61012e565b6100f96100f43660046105ff565b610214565b6040519081526020016100af565b6100c061011536600461062b565b61039a565b610122610418565b61012c6000610472565b565b610136610418565b60008381526001602090815260408083208584529091529020546001600160a01b0316151580610187575060008281526001602090815260408083208684529091529020546001600160a01b031615155b156101a55760405163d28d564f60e01b815260040160405180910390fd5b600083815260016020908152604080832085845282529182902080546001600160a01b0319166001600160a01b0385169081179091559151918252839185917f2809ef679fa4c20b88a6467f2660840ad173b5205fef76c270c5d7ba44cb7057910160405180910390a3505050565b600082840361022f5761022882600a610744565b9050610393565b60008481526001602090815260408083208684529091529020546001600160a01b031680156102c957604051637a3c4c1760e01b8152600481018490526001600160a01b03821690637a3c4c1790602401602060405180830381865afa15801561029d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c19190610750565b915050610393565b5060008381526001602090815260408083208784529091529020546001600160a01b0316801561037a576102c161030184600a610744565b61030c85600a610744565b604051637a3c4c1760e01b8152600481018790526001600160a01b03851690637a3c4c1790602401602060405180830381865afa158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610750565b6104c2565b604051633ae4eae560e11b815260040160405180910390fd5b9392505050565b6103a2610418565b6001600160a01b03811661040c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61041581610472565b50565b6000546001600160a01b0316331461012c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008080600019858709858702925082811083820303915050806000036104fc578382816104f2576104f2610769565b0492505050610393565b83811061052657604051631dcf306360e21b81526004810182905260248101859052604401610403565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080604083850312156105a257600080fd5b50508035926020909101359150565b6001600160a01b038116811461041557600080fd5b6000806000606084860312156105db57600080fd5b833592506020840135915060408401356105f4816105b1565b809150509250925092565b60008060006060848603121561061457600080fd5b505081359360208301359350604090920135919050565b60006020828403121561063d57600080fd5b8135610393816105b1565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561069957816000190482111561067f5761067f610648565b8085161561068c57918102915b93841c9390800290610663565b509250929050565b6000826106b05750600161073e565b816106bd5750600061073e565b81600181146106d357600281146106dd576106f9565b600191505061073e565b60ff8411156106ee576106ee610648565b50506001821b61073e565b5060208310610133831016604e8410600b841016171561071c575081810a61073e565b610726838361065e565b806000190482111561073a5761073a610648565b0290505b92915050565b600061039383836106a1565b60006020828403121561076257600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220512d03421622d35c4e2ededf0b96601bf4c762291482db18f5352f585881cb9164736f6c6343000817003360a060405234801561001057600080fd5b5060405161146538038061146583398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516113d36100926000396000818161011e01526103e801526113d36000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a249d4251161005b578063a249d42514610106578063c41c2f2414610119578063c55f571c14610158578063ebc8ca1f1461017857600080fd5b80632cee6deb1461008d57806343a266c2146100c05780635c550078146100e0578063669e48aa146100f3575b600080fd5b6100ad61009b3660046110c8565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6100d36100ce3660046110c8565b610199565b6040516100b79190611140565b6100d36100ee3660046110c8565b610298565b6100d361010136600461114f565b6103ac565b6100d3610114366004611171565b6103be565b6101407f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100b7565b61016b6101663660046110c8565b61075a565b6040516100b791906111f0565b61018b6101863660046110c8565b61078e565b6040516100b79291906111fe565b6101a1611073565b60008281526003602052604081205490036101c7576101c16000806107d1565b92915050565b60006101d283610895565b90506101dc611073565b8115610210576101ec84836107d1565b90506101f8848261094e565b15610204579392505050565b80604001519150610253565b600084815260036020526040902054915061022b84836107d1565b9050610237848261094e565b15806102465750806060015142105b1561025357806040015191505b8160000361026e576102666000806107d1565b949350505050565b61027884836107d1565b9050806080015160000361028d579392505050565b610266816001610983565b6102a0611073565b60008281526003602052604081205490036102c0576101c16000806107d1565b60006102cb83610a51565b90508015610309576102dd83826107d1565b91506102e9838361094e565b156102f45750919050565b6103028383604001516107d1565b9150610342565b6000838152600360205260409020546103239084906107d1565b915042826060015111156103425761033f8383604001516107d1565b91505b8160800151600003610360576103596000806107d1565b9392505050565b61036a838361094e565b1561037a57610359826000610983565b6103888383604001516107d1565b915081608001516000036103a1576103596000806107d1565b610359826000610983565b6103b4611073565b61035983836107d1565b6103c6611073565b604051632eec7b5560e11b815260048101869052859033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801561042f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104539190611233565b6001600160a01b03161461047a57604051632adfdd0560e21b815260040160405180910390fd5b63ffffffff853511156104a057604051630c51c95b60e21b815260040160405180910390fd5b633b9aca00856040013511156104c957604051632459513560e01b815260040160405180910390fd5b6affffffffffffffffffffff602086013511156104f95760405163698f22ad60e01b815260040160405180910390fd5b42831015610505574292505b66ffffffffffffff610518863585611266565b111561053757604051630ac6115360e41b815260040160405180910390fd5b60006105496080870160608801611279565b6001600160a01b03161461064d5760006105696080870160608801611279565b9050806001600160a01b03163b60000361059657604051635401398160e01b815260040160405180910390fd5b6105a66080870160608801611279565b6040516301ffc9a760e01b8152637ba3dfb360e01b60048201526001600160a01b0391909116906301ffc9a790602401602060405180830381865afa92505050801561060f575060408051601f3d908101601f1916820190925261060c91810190611296565b60015b61062c57604051635401398160e01b815260040160405180910390fd5b8061064a57604051635401398160e01b815260040160405180910390fd5b50505b4261065e8782602089013587610ade565b60006106706080880160608901611279565b6001600160a01b03161415806106865750853515155b80610695575060008660400135115b156106e35760006106ac6080880160608901611279565b600089815260208181526040808320868452909152908190206001600160a01b0392909216893560a01b179089013560c01b179055505b841561070657600087815260026020908152604080832084845290915290208590555b86817f1175572e9e7787125bbb2c1175e626d6fa90191342319fa2c35d8bd194a8a1b68888883360405161073d94939291906112b8565b60405180910390a361074f87826107d1565b979650505050505050565b6000818152600360205260408120548161077484836107d1565b905061026684826020015183606001518460400151610c4b565b610796611073565b6000828152600360205260408120546107af84826107d1565b92506107c984846020015185606001518660400151610c4b565b915050915091565b6107d9611073565b81156101c157602081810183905260008481526001825260408082208583528352808220546affffffffffffffffffffff811660a080870191909152605882901c66ffffffffffffff90811684880152609083901c16606087015260c89190911c85528683528284528183208684528452818320546001600160a01b03811660e08701529081901c63ffffffff908116608087015260c091821c1690850152948152600282528481209381529290529190205461010082015290565b600081815260036020526040812054906108af83836107d1565b9050600081608001511180156108d85750806080015181606001516108d49190611266565b4210155b156108e65750600092915050565b806060015142106108fb576020015192915050565b600061090b8483604001516107d1565b9050600081608001511180156109345750806080015181606001516109309190611266565b4210155b15610943575060009392505050565b506040015192915050565b6000600161096a84846020015185606001518660400151610c4b565b600281111561097b5761097b6111b8565b149392505050565b61098b611073565b600082156109b25760808401516109a29042611312565b6109ad906001611266565b6109bd565b6109bd426001611266565b905060006109cb8583610d0f565b905060006109d98683610d9b565b9050604051806101200160405280828152602001876020015181526020018760400151815260200183815260200187608001518152602001610a1b8885610ded565b81526020018760c0015181526020018760e001516001600160a01b03168152602001876101000151815250935050505092915050565b60008181526003602052604081205490610a6b83836107d1565b905080606001514210610a815750600092915050565b8051600103610a905750919050565b6000610aa08483604001516107d1565b905060008160800151118015610ac8575080608001518260600151610ac59190611312565b42105b15610ad7575060009392505050565b5050919050565b6000848152600360205260408120549003610b0f57610b0a84610b026000806107d1565b858486610e99565b610c45565b6000610b1a85610895565b905080600003610b3557506000848152600360205260409020545b6000610b4186836107d1565b9050610b4d868261094e565b1580610b5c5750806060015142105b15610b7257610b6f8682604001516107d1565b90505b84816020015103610b965760405163215da85760e11b815260040160405180910390fd5b60e08101516000906001600160a01b031615610c21578160e001516001600160a01b0316630fb5a6b46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c129190611325565b610c1c9087611266565b610c24565b60005b9050610c41878388878511610c395787610c3b565b845b89610e99565b5050505b50505050565b600081600003610c5d57506001610266565b6000610c6986846107d1565b60e08101519091506001600160a01b0316610c88576001915050610266565b60e0810151604051637416790760e01b81526004810188905260248101879052604481018690526001600160a01b0390911690637416790790606401602060405180830381865afa158015610ce1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d05919061133e565b9695505050505050565b60008260800151600003610d245750806101c1565b600083608001518460600151610d3a9190611266565b9050828110610d4a5790506101c1565b6080840151600090610d5c8386611312565b610d669190611375565b9050610d728185611312565b92505b82841115610d93576080850151610d8c9084611266565b9250610d75565b505092915050565b60008260800151600003610dbd578251610db6906001611266565b90506101c1565b6000836060015183610dcf9190611312565b9050836080015181610de19190611389565b84516102669190611266565b60008260800151600003610e2157610db68360a001518460c00151633b9aca00610e179190611312565b633b9aca00610fa3565b5060a082015160c0830151156101c1576000836060015183610e439190611312565b9050600084608001518281610e5a57610e5a61135f565b04905060005b81811015610e9057610e80848760c00151633b9aca00610e179190611312565b93508315610e9057600101610e60565b50505092915050565b8351600003610edc5760208085015160008781526001808452604080832088845290945292902060589190911b8317609085901b17600160c81b17905550610f59565b6000610ee88584610d0f565b905060008211610f0157610efc8582610ded565b610f12565b81600114610f0f5781610f12565b60005b91506000610f208683610d9b565b60208088015160008a81526001835260408082208a83529093529190912060589190911b8517609085901b1760c883901b179055905050505b60008581526003602090815260408083208690559086015190519091879186917ff1bd4f3fcb4e0b193abc7e4002c0284e25086269a02de2e4c52045a91f64703791a45050505050565b6000808060001985870985870292508281108382030391505080600003610fdd57838281610fd357610fd361135f565b0492505050610359565b83811061100b57604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6000602082840312156110da57600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b61012081016101c182846110e1565b6000806040838503121561116257600080fd5b50508035926020909101359150565b60008060008084860360e081121561118857600080fd5b853594506080601f198201121561119e57600080fd5b50929560208501955060a08501359460c001359350915050565b634e487b7160e01b600052602160045260246000fd5b600381106111ec57634e487b7160e01b600052602160045260246000fd5b9052565b602081016101c182846111ce565b610140810161120d82856110e1565b6103596101208301846111ce565b6001600160a01b038116811461123057600080fd5b50565b60006020828403121561124557600080fd5b81516103598161121b565b634e487b7160e01b600052601160045260246000fd5b808201808211156101c1576101c1611250565b60006020828403121561128b57600080fd5b81356103598161121b565b6000602082840312156112a857600080fd5b8151801515811461035957600080fd5b84358152602080860135908201526040808601359082015260e0810160608601356112e28161121b565b6001600160a01b039081166060840152608083019590955260a0820193909352921660c090920191909152919050565b818103818111156101c1576101c1611250565b60006020828403121561133757600080fd5b5051919050565b60006020828403121561135057600080fd5b81516003811061035957600080fd5b634e487b7160e01b600052601260045260246000fd5b6000826113845761138461135f565b500690565b6000826113985761139861135f565b50049056fea2646970667358221220d792882f5768a43901944003d3a06665f79775500bf0dd751db13058f77b268d64736f6c6343000817003360e06040523480156200001157600080fd5b5060405162001875380380620018758339810160408190526200003491620000dd565b6001600160a01b0384166080526200004c3362000074565b6001600160a01b0380841660a052821660c0526200006a8162000074565b5050505062000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114620000da57600080fd5b50565b60008060008060808587031215620000f457600080fd5b84516200010181620000c4565b60208601519094506200011481620000c4565b60408601519093506200012781620000c4565b60608601519092506200013a81620000c4565b939692955090935050565b60805160a05160c0516116b4620001c16000396000818160ff01528181610675015281816108a70152610e930152600081816101e5015281816102be015281816104e2015281816105bd01526107f001526000818161023001528181610d2901528181610dc501528181610fff015261109b01526116b46000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638620265011610097578063ad007d6311610066578063ad007d631461022b578063c5664e2114610252578063d175415314610275578063f2fde38b1461029557600080fd5b806386202650146101cd5780638b79543c146101e05780638da5cb5b14610207578063a1ed31751461021857600080fd5b80636e49181f116100d35780636e49181f1461017c578063714e7f321461019f578063715018a6146101b2578063821b9fd8146101ba57600080fd5b8063557e7155146100fa5780635dd8f6aa1461013e57806363d0850a14610167575b600080fd5b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61012161014c3660046112d4565b6003602052600090815260409020546001600160a01b031681565b61017a610175366004611302565b6102a8565b005b61018f61018a366004611344565b61044d565b6040519015158152602001610135565b61017a6101ad366004611344565b6104cc565b61017a6107c6565b61017a6101c8366004611374565b6107da565b6101216101db366004611344565b610a87565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b0316610121565b61017a610226366004611401565b610baa565b6101217f000000000000000000000000000000000000000000000000000000000000000081565b61018f61026036600461142f565b60046020526000908152604090205460ff1681565b6102886102833660046112d4565b610c14565b6040516101359190611453565b61017a6102a336600461142f565b610c80565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061033191906114a0565b83601061033f838383610cfe565b60405163df21a7dd60e01b81526001600160a01b0386811660048301526024820188905285169063df21a7dd90604401602060405180830381865afa15801561038c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b091906114bd565b6103cd57604051630faa917b60e11b815260040160405180910390fd5b6103d78685610e67565b60008681526002602090815260408083206001600160a01b038981168086529184529382902080546001600160a01b03191694891694851790559051338152909189917fc670a502bbb9f8a4315f95eca901a9f99b65f89a2eb5705a58050e5c00f9d672910160405180910390a4505050505050565b600082815260016020526040812054815b818110156104bf57600085815260016020526040902080546001600160a01b038616919083908110610492576104926114da565b6000918252602090912001546001600160a01b0316036104b7576001925050506104c6565b60010161045e565b5060009150505b92915050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610531573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055591906114a0565b6000838152600360205260409020548390600e906001600160a01b03163314806105ae57503360009081526004602052604090205460ff1680156105ae57506000858152600360205260409020546001600160a01b0316155b6105ba84848484610fca565b857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166306661abd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d91906114f0565b101561065c57604051634a283a5360e11b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156106c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e99190611551565b6000888152600360205260409020549091506001600160a01b0316331480159061072957506000878152600360205260409020546001600160a01b031615155b801561073f57506107398161113e565b60200151155b1561075d5760405163a33db4cb60e01b815260040160405180910390fd5b60008781526003602090815260409182902080546001600160a01b0319166001600160a01b038a16908117909155915133815289917f7f9a7dcb234c909a09de2f344661ad9e5b24067adb97c908647c2edcbb121c30910160405180910390a350505050505050565b6107ce6111b2565b6107d8600061120c565b565b6040516331a9108f60e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086391906114a0565b6000848152600360205260409020548490600f906001600160a01b0316331461088e84848484610fca565b6040516321d1336160e11b8152600481018890526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b9190611551565b6000898152600360205260409020549091506001600160a01b0316331480159061094c57506109498161113e565b51155b1561096a576040516375fef35f60e11b815260040160405180910390fd5b600088815260016020526040902061098390888861125c565b506001861115610a415760005b86811015610a3f5760006109a58260016115d1565b90505b87811015610a36578888828181106109c2576109c26114da565b90506020020160208101906109d7919061142f565b6001600160a01b03168989848181106109f2576109f26114da565b9050602002016020810190610a07919061142f565b6001600160a01b031603610a2e57604051633e3830ab60e11b815260040160405180910390fd5b6001016109a8565b50600101610990565b505b877fb648241d83df6540fc10f2acc641e4bf80a1e84e7ae2f1f6b0ad204b8fee635b888833604051610a75939291906115f2565b60405180910390a25050505050505050565b60008281526002602090815260408083206001600160a01b0380861685529252822054168015801590610abf5750610abf848261044d565b15610acb5790506104c6565b600084815260016020526040812054905b81811015610b9e576000868152600160205260408120805483908110610b0457610b046114da565b60009182526020909120015460405163df21a7dd60e01b81526001600160a01b038881166004830152602482018a90529091169150819063df21a7dd90604401602060405180830381865afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8591906114bd565b15610b955793506104c692505050565b50600101610adc565b50600095945050505050565b610bb26111b2565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917f11207664cc48b0fa81c8674795f1d8f642960f38d5d2d305ad813093bed85fab910160405180910390a35050565b600081815260016020908152604091829020805483518184028101840190945280845260609392830182828015610c7457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c56575b50505050509050919050565b610c886111b2565b6001600160a01b038116610cf25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610cfb8161120c565b50565b336001600160a01b03841614801590610da7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610d64903390879087908790600401611655565b602060405180830381865afa158015610d81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da591906114bd565b155b8015610e44575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90610e0190339087906000908790600401611655565b602060405180830381865afa158015610e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4291906114bd565b155b15610e625760405163075fd2b160e01b815260040160405180910390fd5b505050565b610e71828261044d565b15610e7a575050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ee3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f079190611551565b6000848152600360205260409020549091506001600160a01b03163314801590610f385750610f358161113e565b51155b15610f56576040516375fef35f60e11b815260040160405180910390fd5b60008381526001602081815260408084208054938401815584529281902090910180546001600160a01b0319166001600160a01b038616908117909155915133815285917f409bccc07b7cf7807930526a24318212d614c59f2dde05a017a41efee144e7c8910160405180910390a3505050565b80158015610fe15750336001600160a01b03851614155b801561107d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061103a903390889088908890600401611655565b602060405180830381865afa158015611057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107b91906114bd565b155b801561111a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906110d790339088906000908890600401611655565b602060405180830381865afa1580156110f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111891906114bd565b155b156111385760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60408051606081018252600080825260208201819052918101919091526104c66008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b6000546001600160a01b031633146107d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ce9565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8280548282559060005260206000209081019282156112af579160200282015b828111156112af5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061127c565b506112bb9291506112bf565b5090565b5b808211156112bb57600081556001016112c0565b6000602082840312156112e657600080fd5b5035919050565b6001600160a01b0381168114610cfb57600080fd5b60008060006060848603121561131757600080fd5b833592506020840135611329816112ed565b91506040840135611339816112ed565b809150509250925092565b6000806040838503121561135757600080fd5b823591506020830135611369816112ed565b809150509250929050565b60008060006040848603121561138957600080fd5b83359250602084013567ffffffffffffffff808211156113a857600080fd5b818601915086601f8301126113bc57600080fd5b8135818111156113cb57600080fd5b8760208260051b85010111156113e057600080fd5b6020830194508093505050509250925092565b8015158114610cfb57600080fd5b6000806040838503121561141457600080fd5b823561141f816112ed565b91506020830135611369816113f3565b60006020828403121561144157600080fd5b813561144c816112ed565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114945783516001600160a01b03168352928401929184019160010161146f565b50909695505050505050565b6000602082840312156114b257600080fd5b815161144c816112ed565b6000602082840312156114cf57600080fd5b815161144c816113f3565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150257600080fd5b5051919050565b604051610120810167ffffffffffffffff8111828210171561153b57634e487b7160e01b600052604160045260246000fd5b60405290565b805161154c816112ed565b919050565b6000610120828403121561156457600080fd5b61156c611509565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c08201526115b860e08401611541565b60e0820152610100928301519281019290925250919050565b808201808211156104c657634e487b7160e01b600052601160045260246000fd5b6040808252810183905260008460608301825b86811015611635578235611618816112ed565b6001600160a01b0316825260209283019290910190600101611605565b506001600160a01b03949094166020939093019290925250909392505050565b6001600160a01b039485168152929093166020830152604082015260608101919091526080019056fea2646970667358221220058f4e397889be244b672da8bb746129538302097b387d907bade010869bd2be64736f6c6343000817003360a060405234801561001057600080fd5b5060405161089a38038061089a83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b6080516108086100926000396000818161011d01526101d001526108086000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806301ffc9a71461005c57806334002f31146100955780637a81b562146100aa578063c41c2f2414610118578063e8db213014610157575b600080fd5b61008061006a366004610600565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b6100a86100a3366004610631565b6101ae565b005b6101036100b83660046106cc565b60009384526001602090815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b6040805192835260208301919091520161008c565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161008c565b6101036101653660046106cc565b6000938452602084815260408086209486529381528385206001600160a01b039384168652815283852091909216845290529020546001600160e81b0381169160e89190911c90565b604051632eec7b5560e11b815260048101859052849033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610716565b6001600160a01b03161461026257604051632adfdd0560e21b815260040160405180910390fd5b8160005b818110156105f7576001600160e81b0385858381811061028857610288610733565b905060c002016040013511156102b15760405163a9b8fbcf60e01b815260040160405180910390fd5b62ffffff8585838181106102c7576102c7610733565b905060c002016060013511156102f057604051639583faed60e01b815260040160405180910390fd5b6001600160e81b0385858381811061030a5761030a610733565b905060c0020160800135111561033357604051635730278360e01b815260040160405180910390fd5b62ffffff85858381811061034957610349610733565b905060c0020160a0013511156103725760405163d9b93c2560e01b815260040160405180910390fd5b600085858381811061038657610386610733565b905060c002016040013511156104875760e88585838181106103aa576103aa610733565b905060c0020160600135901b8585838181106103c8576103c8610733565b905060c0020160400135176000808981526020019081526020016000206000888152602001908152602001600020600087878581811061040a5761040a610733565b61042092602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061045457610454610733565b905060c00201602001602081019061046c9190610749565b6001600160a01b031681526020810191909152604001600020555b600085858381811061049b5761049b610733565b905060c0020160800135111561059d5760e88585838181106104bf576104bf610733565b905060c0020160a00135901b8585838181106104dd576104dd610733565b905060c002016080013517600160008981526020019081526020016000206000888152602001908152602001600020600087878581811061052057610520610733565b61053692602060c0909202019081019150610749565b6001600160a01b03166001600160a01b03168152602001908152602001600020600087878581811061056a5761056a610733565b905060c0020160200160208101906105829190610749565b6001600160a01b031681526020810191909152604001600020555b86867f26f78d7903ac64ef9b38a2bf94b365f364f28efa245a6b67bcc27350f141c5f78787858181106105d2576105d2610733565b905060c00201336040516105e7929190610766565b60405180910390a3600101610266565b50505050505050565b60006020828403121561061257600080fd5b81356001600160e01b03198116811461062a57600080fd5b9392505050565b6000806000806060858703121561064757600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561066d57600080fd5b818701915087601f83011261068157600080fd5b81358181111561069057600080fd5b88602060c0830285010111156106a557600080fd5b95989497505060200194505050565b6001600160a01b03811681146106c957600080fd5b50565b600080600080608085870312156106e257600080fd5b843593506020850135925060408501356106fb816106b4565b9150606085013561070b816106b4565b939692955090935050565b60006020828403121561072857600080fd5b815161062a816106b4565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561075b57600080fd5b813561062a816106b4565b60e081018335610775816106b4565b6001600160a01b039081168352602085013590610791826106b4565b808216602085015260408601356040850152606086013560608501526080860135608085015260a086013560a085015280851660c08501525050939250505056fea264697066735822122011f5dcceff3169faa67c51cab10310062e5f0eccc7841108493ed7d95c5c94b164736f6c634300081700336101006040523480156200001257600080fd5b506040516200468c3803806200468c833981016040819052620000359162000072565b6001600160a01b0391821660805292811660a05290811660c0521660e052620000da565b6001600160a01b03811681146200006f57600080fd5b50565b600080600080608085870312156200008957600080fd5b8451620000968162000059565b6020860151909450620000a98162000059565b6040860151909350620000bc8162000059565b6060860151909250620000cf8162000059565b939692955090935050565b60805160a05160c05160e051614547620001456000396000818161018e0152610d230152600081816102160152818161060f0152610b36015260008181610283015281816111a801526112530152600081816102ab015281816108040152610f1501526145476000f3fe60806040523480156200001157600080fd5b5060043610620001085760003560e01c80638b79543c11620000a3578063ad007d63116200006e578063ad007d63146200027d578063c41c2f2414620002a5578063ceddd3e414620002cd578063ea78803f14620002e457600080fd5b80638b79543c1462000210578063906ebd0f1462000238578063a7f2a70b146200024f578063ac689bcd146200026657600080fd5b8063557e715511620000e4578063557e715514620001885780636607955d14620001c957806375b0d9cd14620001e2578063831d7fac14620001f957600080fd5b8062fdd58e146200010d5780631412884f14620001375780635287af37146200015a575b600080fd5b620001246200011e36600462001389565b62000310565b6040519081526020015b60405180910390f35b6200012462000148366004620013b8565b60016020526000908152604090205481565b620001246200016b36600462001389565b600260209081526000928352604080842090915290825290205481565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200012e565b620001e0620001da366004620013d2565b620003cf565b005b62000124620001f3366004620013b8565b6200054e565b620001e06200020a3660046200140a565b620005f9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002493660046200144c565b620007e2565b620001b062000260366004620014e7565b62000b1d565b620001e06200027736600462001568565b62000cf9565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001b07f000000000000000000000000000000000000000000000000000000000000000081565b620001e0620002de3660046200144c565b62000ef3565b620001b0620002f5366004620013b8565b6000602081905290815260409020546001600160a01b031681565b6001600160a01b03808316600090815260026020908152604080832085845282528083205491839052909120549091168015620003c857604051627eeac760e11b81526001600160a01b0385811660048301526024820185905282169062fdd58e90604401602060405180830381865afa15801562000393573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b99190620015b5565b620003c59083620015e5565b91505b5092915050565b8282600b620003e083838362001160565b6000858152602081905260409020546001600160a01b03168062000417576040516339e231e760e11b815260040160405180910390fd5b6001600160a01b0387166000908152600260209081526040808320898452909152902054858110156200045d576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b0388811660008181526002602090815260408083208c845282528083208b8703905560019091529081902080548a900390555163020da84160e61b8152600481018a90526024810191909152604481018890529083169063836a104090606401600060405180830381600087803b158015620004df57600080fd5b505af1158015620004f4573d6000803e3d6000fd5b505060408051848152602081018a9052338183015290518a93506001600160a01b038c1692507fe718784128df3c3d45fbd6519133fee450494f7cdb2b53830a5087cd47f980829181900360600190a35050505050505050565b60008181526001602090815260408083205491839052909120546001600160a01b03168015620005f35760405163bd85b03960e01b8152600481018490526001600160a01b0382169063bd85b03990602401602060405180830381865afa158015620005be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005e49190620015b5565b620005f09083620015e5565b91505b50919050565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156200065f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006859190620015fb565b8260086200069583838362001160565b6001600160a01b038416620006bd576040516324679e7b60e01b815260040160405180910390fd5b6000858152602081905260409020546001600160a01b031615620006f4576040516397f9d95760e01b815260040160405180910390fd5b836001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000733573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000759919062001622565b60ff166012146200077d57604051632b70e32560e21b815260040160405180910390fd5b6000858152602081815260409182902080546001600160a01b0319166001600160a01b038816908117909155915133815287917ff2b3bb02e24e3ecd8d6fbce63d308207ce06307b9f7ba575bef710e1e70ac60e910160405180910390a35050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa1580156200084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008729190620015fb565b6001600160a01b0316146200089a57604051632adfdd0560e21b815260040160405180910390fd5b600084815260208181526040808320546001600160a01b038981168552600284528285208986529093529083205491169182156200094a57604051627eeac760e11b81526001600160a01b0389811660048301526024820189905284169062fdd58e90604401602060405180830381865afa1580156200091e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009449190620015b5565b6200094d565b60005b90506200095b8282620015e5565b8611156200097c57604051631cf2628760e31b815260040160405180910390fd5b60008115620009bc578515620009a5578682106200099b57866200099d565b815b9050620009bc565b868310620009b5576000620009b9565b8287035b90505b80870387821462000a42576001600160a01b038a1660009081526002602090815260408083208c8452909152902054620009f890829062001647565b6001600160a01b038b1660009081526002602090815260408083208d845282528083209390935560019052205462000a3290829062001647565b60008a8152600160205260409020555b811562000ab557604051634f752fb360e11b8152600481018a90526001600160a01b038b8116602483015260448201849052861690639eea5f6690606401600060405180830381600087803b15801562000a9b57600080fd5b505af115801562000ab0573d6000803e3d6000fd5b505050505b6040805189815260208101869052908101849052871515606082015233608082015289906001600160a01b038c16907fbe100da6adaa492f7ba1b0de916ae2606126ec7b044d7aa8ec74971a607ceecd9060a00160405180910390a350505050505050505050565b6040516331a9108f60e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa15801562000b86573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bac9190620015fb565b86600762000bbc83838362001160565b600087900362000bdf576040516392bf449d60e01b815260040160405180910390fd5b600085900362000c025760405163571431a760e01b815260040160405180910390fd5b6000898152602081905260409020546001600160a01b03161562000c39576040516329518c2b60e21b815260040160405180910390fd5b878787878c60405162000c4c9062001362565b62000c5c95949392919062001686565b604051809103906000f08015801562000c79573d6000803e3d6000fd5b5060008a8152602081905260409081902080546001600160a01b0319166001600160a01b0384169081179091559051919550908a907f1b1705bef26552c8f314c5eb80e9c84f02876c2f7f30a7f9ad5cafd17d5fa6da9062000ce5908c908c908c908c903390620016c4565b60405180910390a350505095945050505050565b8383600c62000d0a83838362001160565b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801562000d74573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062001755565b905062000da781620012e7565b604001511562000dca576040516318cdaf9760e01b815260040160405180910390fd5b6001600160a01b03861662000df25760405163c6587bab60e01b815260040160405180910390fd5b6001600160a01b03881660009081526002602090815260408083208a84529091529020548086111562000e38576040516383fc8b2d60e01b815260040160405180910390fd5b6001600160a01b03808a1660009081526002602081815260408084208d855282528084208b87039055938b1683529081528282208b83529052205462000e80908790620015e5565b6001600160a01b0388811660008181526002602090815260408083208e84528252918290209490945580518a8152339481019490945290928b928d16917fae47e55abe3902569528abe4272b889079230a248aec0659a2939a90354982c6910160405180910390a4505050505050505050565b604051632eec7b5560e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa15801562000f5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f839190620015fb565b6001600160a01b03161462000fab57604051632adfdd0560e21b815260040160405180910390fd5b6000848152602081905260408120546001600160a01b03169083801562000fda57506001600160a01b03821615155b90508015620010545760405163020da84160e61b8152600481018790526001600160a01b0388811660248301526044820187905283169063836a104090606401600060405180830381600087803b1580156200103557600080fd5b505af11580156200104a573d6000803e3d6000fd5b50505050620010cf565b6001600160a01b038716600090815260026020908152604080832089845290915290205462001085908690620015e5565b6001600160a01b03881660009081526002602090815260408083208a8452825280832093909355600190522054620010bf908690620015e5565b6000878152600160205260409020555b6001600160e01b03620010e2876200054e565b11156200110257604051633062f38960e11b815260040160405180910390fd5b60408051868152821515602082015285151581830152336060820152905187916001600160a01b038a16917f5dd3ead325af435e56bc762b40de54c96de6071938d18a26414245807591d86f9181900360800190a350505050505050565b336001600160a01b0384161480159062001218575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260448201849052606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015620011f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012169190620017da565b155b8015620012c3575060405163c161c93f60e01b81523360048201526001600160a01b03848116602483015260006044830152606482018390527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156200129b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012c19190620017da565b155b15620012e25760405163075fd2b160e01b815260040160405180910390fd5b505050565b60408051606081018252600080825260208201819052918101919091526200135c6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b92915050565b612d1780620017fb83390190565b6001600160a01b03811681146200138657600080fd5b50565b600080604083850312156200139d57600080fd5b8235620013aa8162001370565b946020939093013593505050565b600060208284031215620013cb57600080fd5b5035919050565b600080600060608486031215620013e857600080fd5b8335620013f58162001370565b95602085013595506040909401359392505050565b600080604083850312156200141e57600080fd5b823591506020830135620014328162001370565b809150509250929050565b80151581146200138657600080fd5b600080600080608085870312156200146357600080fd5b8435620014708162001370565b93506020850135925060408501359150606085013562001490816200143d565b939692955090935050565b60008083601f840112620014ae57600080fd5b50813567ffffffffffffffff811115620014c757600080fd5b602083019150836020828501011115620014e057600080fd5b9250929050565b6000806000806000606086880312156200150057600080fd5b85359450602086013567ffffffffffffffff808211156200152057600080fd5b6200152e89838a016200149b565b909650945060408801359150808211156200154857600080fd5b5062001557888289016200149b565b969995985093965092949392505050565b600080600080608085870312156200157f57600080fd5b84356200158c8162001370565b9350602085013592506040850135620015a58162001370565b9396929550929360600135925050565b600060208284031215620015c857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156200135c576200135c620015cf565b6000602082840312156200160e57600080fd5b81516200161b8162001370565b9392505050565b6000602082840312156200163557600080fd5b815160ff811681146200161b57600080fd5b818103818111156200135c576200135c620015cf565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006200169c6060830187896200165d565b8281036020840152620016b18186886200165d565b9150508260408301529695505050505050565b606081526000620016da6060830187896200165d565b8281036020840152620016ef8186886200165d565b91505060018060a01b03831660408301529695505050505050565b604051610120810167ffffffffffffffff811182821017156200173d57634e487b7160e01b600052604160045260246000fd5b60405290565b8051620017508162001370565b919050565b600061012082840312156200176957600080fd5b620017736200170a565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152620017c160e0840162001743565b60e0820152610100928301519281019290925250919050565b600060208284031215620017ed57600080fd5b81516200161b816200143d56fe6101806040523480156200001257600080fd5b5060405162002d1738038062002d178339810160408190526200003591620002e7565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003eb565b506004620000708282620003eb565b50620000829150839050600562000143565b610120526200009381600662000143565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0525062000136336200017c565b6101605250620005119050565b600060208351101562000163576200015b83620001ce565b905062000176565b81620001708482620003eb565b5060ff90505b92915050565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080829050601f8151111562000205578260405163305a27a960e01b8152600401620001fc9190620004b7565b60405180910390fd5b80516200021282620004ec565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200024d57818101518382015260200162000233565b50506000910152565b600082601f8301126200026857600080fd5b81516001600160401b03808211156200028557620002856200021a565b604051601f8301601f19908116603f01168101908282118183101715620002b057620002b06200021a565b81604052838152866020858801011115620002ca57600080fd5b620002dd84602083016020890162000230565b9695505050505050565b600080600060608486031215620002fd57600080fd5b83516001600160401b03808211156200031557600080fd5b620003238783880162000256565b945060208601519150808211156200033a57600080fd5b50620003498682870162000256565b925050604084015190509250925092565b600181811c908216806200036f57607f821691505b6020821081036200039057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003e6576000816000526020600020601f850160051c81016020861015620003c15750805b601f850160051c820191505b81811015620003e257828155600101620003cd565b5050505b505050565b81516001600160401b038111156200040757620004076200021a565b6200041f816200041884546200035a565b8462000396565b602080601f8311600181146200045757600084156200043e5750858301515b600019600386901b1c1916600185901b178555620003e2565b600085815260208120601f198616915b82811015620004885788860151825594840194600190910190840162000467565b5085821015620004a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6020815260008251806020840152620004d881604085016020870162000230565b601f01601f19169190910160400192915050565b80516020808301519190811015620003905760001960209190910360031b1b16919050565b60805160a05160c05160e0516101005161012051610140516101605161275a620005bd600039600081816102f0015281816106330152818161065d0152818161088a015281816108b40152818161098e015281816109b801528181610b1501528181610b3f01528181610fde01526110080152600061093c015260006109110152600061146e01526000611446015260006113a1015260006113cb015260006113f5015261275a6000f3fe608060405234801561001057600080fd5b506004361061021b5760003560e01c8063836a104011610125578063a457c2d7116100ad578063d505accf1161007c578063d505accf146104db578063dd62ed3e146104ee578063f1127ed814610501578063f2fde38b1461053e578063f8548e361461055157600080fd5b8063a457c2d71461048f578063a9059cbb146104a2578063bd85b039146104b5578063c3cda520146104c857600080fd5b80638e539e8c116100f45780638e539e8c1461042f57806391ddadf41461044257806395d89b41146104615780639ab24eb0146104695780639eea5f661461047c57600080fd5b8063836a1040146103dd57806384b0196e146103f05780638cb0a5111461040b5780638da5cb5b1461041e57600080fd5b80633a46b1a8116101a85780635c19a95c116101775780635c19a95c1461035e5780636fcfff451461037157806370a0823114610399578063715018a6146103c25780637ecebe00146103ca57600080fd5b80633a46b1a8146102d85780633fafa127146102eb5780634bf5d7e914610312578063587cde1e1461031a57600080fd5b80631c0f12b6116101ef5780631c0f12b61461028657806323b872dd1461029b578063313ce567146102ae5780633644e515146102bd57806339509351146102c557600080fd5b8062fdd58e1461022057806306fdde0314610246578063095ea7b31461025b57806318160ddd1461027e575b600080fd5b61023361022e366004612315565b610564565b6040519081526020015b60405180910390f35b61024e610587565b60405161023d9190612385565b61026e610269366004612315565b610619565b604051901515815260200161023d565b600254610233565b610299610294366004612398565b610631565b005b61026e6102a93660046123dc565b6106af565b6040516012815260200161023d565b6102336106d8565b61026e6102d3366004612315565b6106e2565b6102336102e6366004612315565b610704565b6102337f000000000000000000000000000000000000000000000000000000000000000081565b61024e610787565b610346610328366004612418565b6001600160a01b039081166000908152600960205260409020541690565b6040516001600160a01b03909116815260200161023d565b61029961036c366004612418565b61081f565b61038461037f366004612418565b61082c565b60405163ffffffff909116815260200161023d565b6102336103a7366004612418565b6001600160a01b031660009081526020819052604090205490565b61029961084e565b6102336103d8366004612418565b610862565b6102996103eb366004612433565b610880565b6103f8610903565b60405161023d9796959493929190612458565b610299610419366004612433565b61098c565b600c546001600160a01b0316610346565b61023361043d3660046124f1565b610a08565b61044a610a6f565b60405165ffffffffffff909116815260200161023d565b61024e610a7a565b610233610477366004612418565b610a89565b61029961048a366004612433565b610b0b565b61026e61049d366004612315565b610b89565b61026e6104b0366004612315565b610c04565b6102336104c33660046124f1565b610c12565b6102996104d636600461251b565b610c1d565b6102996104e9366004612573565b610d53565b6102336104fc3660046125dd565b610eb7565b61051461050f366004612610565b610ee2565b60408051825163ffffffff1681526020928301516001600160e01b0316928101929092520161023d565b61029961054c366004612418565b610f66565b61029961055f366004612433565b610fdc565b6001600160a01b0382166000908152602081905260408120545b90505b92915050565b60606003805461059690612650565b80601f01602080910402602001604051908101604052809291908181526020018280546105c290612650565b801561060f5780601f106105e45761010080835404028352916020019161060f565b820191906000526020600020905b8154815290600101906020018083116105f257829003601f168201915b5050505050905090565b600033610627818585611052565b5060019392505050565b7f00000000000000000000000000000000000000000000000000000000000000001580159061068057507f00000000000000000000000000000000000000000000000000000000000000008414155b1561069d5760405162cdceed60e81b815260040160405180910390fd5b6106a88383836106af565b5050505050565b6000336106bd858285611176565b6106c88585856111ea565b506001949350505050565b905090565b60006106d3611394565b6000336106278185856106f58383610eb7565b6106ff919061269a565b611052565b600061070e610a6f565b65ffffffffffff1682106107655760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383166000908152600a6020526040902061057e90836114bf565b606043610792610a6f565b65ffffffffffff16146107e75760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000604482015260640161075c565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61082933826115a8565b50565b6001600160a01b0381166000908152600a602052604081205461058190611621565b61085661168a565b61086060006116e4565b565b6001600160a01b038116600090815260076020526040812054610581565b61088861168a565b7f0000000000000000000000000000000000000000000000000000000000000000158015906108d757507f00000000000000000000000000000000000000000000000000000000000000008314155b156108f45760405162cdceed60e81b815260040160405180910390fd5b6108fe8282611736565b505050565b6000606080828080836109377f000000000000000000000000000000000000000000000000000000000000000060056117c0565b6109627f000000000000000000000000000000000000000000000000000000000000000060066117c0565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b7f0000000000000000000000000000000000000000000000000000000000000000158015906109db57507f00000000000000000000000000000000000000000000000000000000000000008314155b156109f85760405162cdceed60e81b815260040160405180910390fd5b610a028282610619565b50505050565b6000610a12610a6f565b65ffffffffffff168210610a645760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b604482015260640161075c565b610581600b836114bf565b60006106d34361186b565b60606004805461059690612650565b6001600160a01b0381166000908152600a60205260408120548015610af8576001600160a01b0383166000908152600a6020526040902080546000198301908110610ad657610ad66126ad565b60009182526020909120015464010000000090046001600160e01b0316610afb565b60005b6001600160e01b03169392505050565b610b1361168a565b7f000000000000000000000000000000000000000000000000000000000000000015801590610b6257507f00000000000000000000000000000000000000000000000000000000000000008314155b15610b7f5760405162cdceed60e81b815260040160405180910390fd5b6108fe82826118d2565b60003381610b978286610eb7565b905083811015610bf75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161075c565b6106c88286868403611052565b6000336106278185856111ea565b600061058160025490565b83421115610c6d5760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e61747572652065787069726564000000604482015260640161075c565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090610ce790610cdf9060a001604051602081830303815290604052805190602001206118ea565b858585611917565b9050610cf28161193f565b8614610d405760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000604482015260640161075c565b610d4a81886115a8565b50505050505050565b83421115610da35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161075c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610dd28c61193f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e2d826118ea565b90506000610e3d82878787611917565b9050896001600160a01b0316816001600160a01b031614610ea05760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161075c565b610eab8a8a8a611052565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60408051808201909152600080825260208201526001600160a01b0383166000908152600a60205260409020805463ffffffff8416908110610f2657610f266126ad565b60009182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610f6e61168a565b6001600160a01b038116610fd35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161075c565b610829816116e4565b7f00000000000000000000000000000000000000000000000000000000000000001580159061102b57507f00000000000000000000000000000000000000000000000000000000000000008314155b156110485760405162cdceed60e81b815260040160405180910390fd5b610a028282610c04565b6001600160a01b0383166110b45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161075c565b6001600160a01b0382166111155760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161075c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111828484610eb7565b90506000198114610a0257818110156111dd5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161075c565b610a028484848403611052565b6001600160a01b03831661124e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161075c565b6001600160a01b0382166112b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161075c565b6001600160a01b038316600090815260208190526040902054818110156113285760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161075c565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610a02848484611967565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156113ed57507f000000000000000000000000000000000000000000000000000000000000000046145b1561141757507f000000000000000000000000000000000000000000000000000000000000000090565b6106d3604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b8154600090818160058111156115195760006114da84611999565b6114e490856126c3565b600088815260209020909150869082015463ffffffff16111561150957809150611517565b61151481600161269a565b92505b505b8082101561156657600061152d8383611a88565b600088815260209020909150869082015463ffffffff16111561155257809150611560565b61155d81600161269a565b92505b50611519565b8015611592576000868152602090208101600019015464010000000090046001600160e01b0316611595565b60005b6001600160e01b03169695505050505050565b6001600160a01b038281166000818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610a02828483611aa3565b600063ffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b606482015260840161075c565b5090565b600c546001600160a01b031633146108605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161075c565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6117408282611be0565b6002546001600160e01b0310156117b25760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b606482015260840161075c565b610a02600b611cab83611cb7565b606060ff83146117da576117d383611e2c565b9050610581565b8180546117e690612650565b80601f016020809104026020016040519081016040528092919081815260200182805461181290612650565b801561185f5780601f106118345761010080835404028352916020019161185f565b820191906000526020600020905b81548152906001019060200180831161184257829003601f168201915b50505050509050610581565b600065ffffffffffff8211156116865760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b606482015260840161075c565b6118dc8282611e6b565b610a02600b611fa483611cb7565b60006105816118f7611394565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061192887878787611fb0565b9150915061193581612074565b5095945050505050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6001600160a01b038381166000908152600960205260408082205485841683529120546108fe92918216911683611aa3565b6000816000036119ab57506000919050565b600060016119b8846121be565b901c6001901b905060018184816119d1576119d16126d6565b048201901c905060018184816119e9576119e96126d6565b048201901c90506001818481611a0157611a016126d6565b048201901c90506001818481611a1957611a196126d6565b048201901c90506001818481611a3157611a316126d6565b048201901c90506001818481611a4957611a496126d6565b048201901c90506001818481611a6157611a616126d6565b048201901c9050611a8181828581611a7b57611a7b6126d6565b04612252565b9392505050565b6000611a9760028484186126ec565b61057e9084841661269a565b816001600160a01b0316836001600160a01b031614158015611ac55750600081115b156108fe576001600160a01b03831615611b53576001600160a01b0383166000908152600a602052604081208190611b0090611fa485611cb7565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b48929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156108fe576001600160a01b0382166000908152600a602052604081208190611b8990611cab85611cb7565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611bd1929190918252602082015260400190565b60405180910390a25050505050565b6001600160a01b038216611c365760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161075c565b8060026000828254611c48919061269a565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3611ca760008383611967565b5050565b600061057e828461269a565b82546000908190818115611d045760008781526020902082016000190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611d19565b60408051808201909152600080825260208201525b905080602001516001600160e01b03169350611d3984868863ffffffff16565b9250600082118015611d635750611d4e610a6f565b65ffffffffffff16816000015163ffffffff16145b15611da857611d7183612268565b60008881526020902083016000190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611e22565b866040518060400160405280611dcc611dbf610a6f565b65ffffffffffff16611621565b63ffffffff168152602001611de086612268565b6001600160e01b0390811690915282546001810184556000938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b60606000611e39836122d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b038216611ecb5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161075c565b6001600160a01b03821660009081526020819052604090205481811015611f3f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161075c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36108fe83600084611967565b600061057e82846126c3565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611fe7575060009050600361206b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561203b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166120645760006001925092505061206b565b9150600090505b94509492505050565b60008160048111156120885761208861270e565b036120905750565b60018160048111156120a4576120a461270e565b036120f15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161075c565b60028160048111156121055761210561270e565b036121525760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161075c565b60038160048111156121665761216661270e565b036108295760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161075c565b600080608083901c156121d357608092831c92015b604083901c156121e557604092831c92015b602083901c156121f757602092831c92015b601083901c1561220957601092831c92015b600883901c1561221b57600892831c92015b600483901c1561222d57600492831c92015b600283901c1561223f57600292831c92015b600183901c156105815760010192915050565b6000818310612261578161057e565b5090919050565b60006001600160e01b038211156116865760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b606482015260840161075c565b600060ff8216601f81111561058157604051632cd44ac360e21b815260040160405180910390fd5b80356001600160a01b038116811461231057600080fd5b919050565b6000806040838503121561232857600080fd5b612331836122f9565b946020939093013593505050565b6000815180845260005b8181101561236557602081850181015186830182015201612349565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061057e602083018461233f565b600080600080608085870312156123ae57600080fd5b843593506123be602086016122f9565b92506123cc604086016122f9565b9396929550929360600135925050565b6000806000606084860312156123f157600080fd5b6123fa846122f9565b9250612408602085016122f9565b9150604084013590509250925092565b60006020828403121561242a57600080fd5b61057e826122f9565b60008060006060848603121561244857600080fd5b83359250612408602085016122f9565b60ff60f81b881681526000602060e0602084015261247960e084018a61233f565b838103604085015261248b818a61233f565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156124df578351835292840192918401916001016124c3565b50909c9b505050505050505050505050565b60006020828403121561250357600080fd5b5035919050565b803560ff8116811461231057600080fd5b60008060008060008060c0878903121561253457600080fd5b61253d876122f9565b955060208701359450604087013593506125596060880161250a565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561258e57600080fd5b612597886122f9565b96506125a5602089016122f9565b955060408801359450606088013593506125c16080890161250a565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156125f057600080fd5b6125f9836122f9565b9150612607602084016122f9565b90509250929050565b6000806040838503121561262357600080fd5b61262c836122f9565b9150602083013563ffffffff8116811461264557600080fd5b809150509250929050565b600181811c9082168061266457607f821691505b60208210810361196157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561058157610581612684565b634e487b7160e01b600052603260045260246000fd5b8181038181111561058157610581612684565b634e487b7160e01b600052601260045260246000fd5b60008261270957634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203d792f7dfd898b1d97d877d1fb4a600af7f31555699228b8ead8963a2f75647864736f6c63430008170033a2646970667358221220dd0f74df534d14443af149681f8cff52c6b8227fd78000daea56978b01546a6464736f6c6343000817003360e060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c0516110636100f96000396000818160f001526101ea015260008181608a015261015201526000818160c9015281816104db015261058201526110636000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806369e11cc51461005c5780638b79543c14610085578063ad007d63146100c4578063c41c2f24146100eb578063f2da44b614610112575b600080fd5b61006f61006a366004610c30565b610127565b60405161007c9190610cb0565b60405180910390f35b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007c565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b6100ac7f000000000000000000000000000000000000000000000000000000000000000081565b610125610120366004610cfe565b61013c565b005b60606101348484846102d1565b949350505050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156101a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101c59190610d99565b604051632eec7b5560e11b815260048101869052859060129033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015610231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102559190610d99565b6001600160a01b03161461026b8484848461048a565b8460005b818110156102c557600088888381811061028b5761028b610dbd565b905060200281019061029d9190610dd3565b6102a690610e94565b90506102bc8b8b83600001518460200151610613565b5060010161026f565b50505050505050505050565b60008381526020818152604080832085845282528083208484529091528120546060918167ffffffffffffffff81111561030d5761030d610df3565b60405190808252806020026020018201604052801561037457816020015b6040805160e08101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820152825260001990920191018161032b5790505b50905060005b828110156104805760008781526001602081815260408084208a855282528084208985528252808420858552825280842054815160e08101835260a0810186905260c081018690528185168514815281851c851690941484840152600281811c63ffffffff1685840152602282901c66ffffffffffffff166060860152605a82901c6001600160a01b031660808601528c865283528185208b865283528185208a865283528185208686529092529092205480156104545765ffffffffffff811660a08301526001600160a01b03603082901c1660c08301525b8185858151811061046757610467610dbd565b602002602001018190525083600101935050505061037a565b5095945050505050565b801580156104a15750336001600160a01b03851614155b8015610548575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260448201859052606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa158015610522573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105469190610fc8565b155b80156105ef575060405163c161c93f60e01b81523360048201526001600160a01b03858116602483015260006044830152606482018490527f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90608401602060405180830381865afa1580156105c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ed9190610fc8565b155b1561060d5760405163075fd2b160e01b815260040160405180910390fd5b50505050565b60006106208585856102d1565b805190915060005b818110156106a25782818151811061064257610642610dbd565b602002602001015160a001514210801561067c575061067a8484838151811061066d5761066d610dbd565b6020026020010151610aa3565b155b1561069a57604051631974459560e01b815260040160405180910390fd5b600101610628565b508251600090815b81811015610a75578581815181106106c4576106c4610dbd565b6020026020010151604001516000036106f05760405163e119ba4560e01b815260040160405180910390fd5b66ffffffffffffff801686828151811061070c5761070c610dbd565b602002602001015160600151111561073757604051631da26cc960e11b815260040160405180910390fd5b85818151811061074957610749610dbd565b602002602001015160400151836107609190610fe5565b9250633b9aca0083111561078757604051630eca736160e41b815260040160405180910390fd5b600086828151811061079b5761079b610dbd565b602002602001015160000151156107b0575060015b8682815181106107c2576107c2610dbd565b602002602001015160200151156107d7576002175b60028783815181106107eb576107eb610dbd565b602002602001015160400151901b81179050602287838151811061081157610811610dbd565b602002602001015160600151901b81179050605a87838151811061083757610837610dbd565b6020908102919091018101516080015160008d81526001835260408082208e835284528082208d835284528082208783529093529182206001600160a01b0390911690921b9290921790819055875190919088908490811061089b5761089b610dbd565b602002602001015160a0015111806108e3575060006001600160a01b03168783815181106108cb576108cb610dbd565b602002602001015160c001516001600160a01b031614155b156109bd5765ffffffffffff801687838151811061090357610903610dbd565b602002602001015160a00151111561092e5760405163d509b54d60e01b815260040160405180910390fd5b600087838151811061094257610942610dbd565b602002602001015160a0015165ffffffffffff169050603088848151811061096c5761096c610dbd565b60209081029190910181015160c0015160008e81526002835260408082208f835284528082208e83528452808220888352909352919091206001600160a01b0390911690911b919091179055610a17565b60008a81526002602090815260408083208c845282528083208b8452825280832085845290915290205415610a175760008a81526002602090815260408083208c845282528083208b845282528083208584529091528120555b87898b7f1d65eeba667d8160993d485b4782f11eef3bc64186c6521f2a0801f816e752e78a8681518110610a4d57610a4d610dbd565b602002602001015133604051610a64929190611006565b60405180910390a4506001016106aa565b50600097885260208881526040808a20988a5297815287892096895295909552505050919092209190915550565b8151600090815b81811015610c23578360400151858281518110610ac957610ac9610dbd565b602002602001015160400151148015610b14575083608001516001600160a01b0316858281518110610afd57610afd610dbd565b6020026020010151608001516001600160a01b0316145b8015610b5257508360c001516001600160a01b0316858281518110610b3b57610b3b610dbd565b602002602001015160c001516001600160a01b0316145b8015610b7e57508360600151858281518110610b7057610b70610dbd565b602002602001015160600151145b8015610bae575083600001511515858281518110610b9e57610b9e610dbd565b6020026020010151600001511515145b8015610bde575083602001511515858281518110610bce57610bce610dbd565b6020026020010151602001511515145b8015610c0b57508360a00151858281518110610bfc57610bfc610dbd565b602002602001015160a0015110155b15610c1b57600192505050610c2a565b600101610aaa565b5060009150505b92915050565b600080600060608486031215610c4557600080fd5b505081359360208301359350604090920135919050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b6020808252825182820181905260009190848201906040850190845b81811015610cf257610cdf838551610c5c565b9284019260e09290920191600101610ccc565b50909695505050505050565b60008060008060608587031215610d1457600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115610d3a57600080fd5b818701915087601f830112610d4e57600080fd5b813581811115610d5d57600080fd5b8860208260051b8501011115610d7257600080fd5b95989497505060200194505050565b6001600160a01b0381168114610d9657600080fd5b50565b600060208284031215610dab57600080fd5b8151610db681610d81565b9392505050565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112610de957600080fd5b9190910192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b60405290565b60405160e0810167ffffffffffffffff81118282101715610e2c57610e2c610df3565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e7e57610e7e610df3565b604052919050565b8015158114610d9657600080fd5b60006040808336031215610ea757600080fd5b610eaf610e09565b8335815260208085013567ffffffffffffffff80821115610ecf57600080fd5b9086019036601f830112610ee257600080fd5b813581811115610ef457610ef4610df3565b610f02848260051b01610e55565b818152848101925060e0918202840185019136831115610f2157600080fd5b938501935b82851015610fb557808536031215610f3e5760008081fd5b610f46610e32565b8535610f5181610e86565b815285870135610f6081610e86565b81880152858901358982015260608087013590820152608080870135610f8581610d81565b9082015260a0868101359082015260c080870135610fa281610d81565b9082015284529384019392850192610f26565b5093850193909352509195945050505050565b600060208284031215610fda57600080fd5b8151610db681610e86565b80820180821115610c2a57634e487b7160e01b600052601160045260246000fd5b61010081016110158285610c5c565b6001600160a01b039290921660e0919091015291905056fea26469706673582212206a2f29838d5e0d60fbdd82a4cbd57bf61b7a5a12d49c1c0b345db7b5848b690664736f6c634300081700336101606040523480156200001257600080fd5b506040516200430538038062004305833981016040819052620000359162000085565b6001600160a01b0396871660805294861660a0529285166101405290841660c052831660e052821661010052166101205262000130565b6001600160a01b03811681146200008257600080fd5b50565b600080600080600080600060e0888a031215620000a157600080fd5b8751620000ae816200006c565b6020890151909750620000c1816200006c565b6040890151909650620000d4816200006c565b6060890151909550620000e7816200006c565b6080890151909450620000fa816200006c565b60a08901519093506200010d816200006c565b60c089015190925062000120816200006c565b8091505092959891949750929550565b60805160a05160c05160e0516101005161012051610140516140776200028e600039600081816103a6015281816105cf01528181610651015281816107f50152818161094f01528181610c1c0152818161107b0152818161114201526114290152600081816102ec0152611bcc0152600081816101ed01528181611b4e0152612539015260008181610278015281816109f901528181611275015281816117d801528181611fc801526125140152600081816102510152818161051e01528181610743015281816108a601528181610ae401528181610cd301528181610ed901528181610f560152818161139c01528181611a8d0152611fec0152600081816102c50152818161047c01528181610b8501528181610fe70152818161144c0152818161167e01528181612091015261265f015260008181610326015281816118cc0152818161196801528181611e700152611f0c01526140776000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638ae9c07b116100b8578063b3c526731161007c578063b3c5267314610348578063badbdf281461035b578063bdd504d71461036e578063c18f2d311461038e578063c41c2f24146103a1578063e867c59c146103c857600080fd5b80638ae9c07b146102ad5780638b79543c146102c0578063a29a6814146102e7578063a40bb9c71461030e578063ad007d631461032157600080fd5b80632bdfe0041161010a5780632bdfe004146101e85780633e8c615b14610227578063405b84fa14610239578063557e71551461024c57806361930630146102735780638776c4991461029a57600080fd5b806301ffc9a714610147578063111d861b1461016f57806312b37b14146101905780631665bc0f146101b15780631f510453146101c6575b600080fd5b61015a6101553660046129e0565b6103db565b60405190151581526020015b60405180910390f35b61018261017d366004612d84565b610463565b604051908152602001610166565b6101a361019e366004612e71565b61071d565b60405161016692919061304e565b6101c46101bf3660046130c5565b6107ca565b005b6101d96101d4366004612e71565b610abb565b60405161016693929190613140565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610166565b6101c461023536600461318a565b5050565b6101c461024736600461318a565b610b6f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a36102a8366004612e71565b610eb3565b6101826102bb3660046131ba565b610f10565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101a361031c366004613249565b61136f565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103563660046132c1565b611424565b6101826103693660046133ea565b611665565b61018261037c366004612e71565b60026020526000908152604090205481565b61018261039c366004612e71565b6117b3565b61020f7f000000000000000000000000000000000000000000000000000000000000000081565b6101826103d63660046134c1565b611855565b60006001600160e01b03198216630232efb760e61b148061040c57506001600160e01b03198216633e2d14f360e11b145b8061042757506001600160e01b03198216633e8c615b60e01b145b8061044257506001600160e01b0319821663ad007d6360e01b145b8061045d57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef919061350c565b8a60016104fd8383836118a1565b604051632cee6deb60e01b8152600481018e90526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632cee6deb90602401602060405180830381865afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105899190613529565b11156105ab5760405160016217a1f760e11b0319815260040160405180910390fd5b6040516338a73f9960e11b8152600481018e90523060248201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063714e7f3290604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505050506106458d8d8d8d8d8d9061063f9190613542565b8c611a0a565b8651909450156106d0577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663821b9fd88e886040518363ffffffff1660e01b815260040161069d9291906136c2565b600060405180830381600087803b1580156106b757600080fd5b505af11580156106cb573d6000803e3d6000fd5b505050505b7f8621c3692c18d8ddd4cd26457d6a3e1d916e7001c4243a6c8dfa862a7e10a823848e87336040516107059493929190613754565b60405180910390a15050509998505050505050505050565b6107256128e0565b61072d612935565b604051630b8aa00f60e31b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635c550078906024015b61012060405180830381865afa158015610794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b89190613817565b91506107c382611c4c565b9050915091565b604051636e49181f60e01b81526004810186905233602482015286908690600a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa15801561083c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108609190613834565b61086c84848484611e3b565b8760000361088d57604051637b38547b60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156108f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091a9190613817565b610100810151909150604b1c60019081161480156109c45750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa15801561099e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c29190613834565b155b156109e257604051630f1490e360e31b815260040160405180910390fd5b60405163906ebd0f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063906ebd0f90610a34908e908e908e908c90600401613851565b600060405180830381600087803b158015610a4e57600080fd5b505af1158015610a62573d6000803e3d6000fd5b50505050898b6001600160a01b03167fdf04e13ee4fcd48a81ab2fd114757093740a3efa9b6475d86e05878b4c59d0798b8b8b33604051610aa694939291906138a2565b60405180910390a35050505050505050505050565b610ac36128e0565b610acb612935565b60405163ebc8ca1f60e01b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ebc8ca1f9060240161014060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b5891906138d5565b9093509050610b6683611c4c565b91509193909250565b6040516331a9108f60e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf8919061350c565b826003610c068383836118a1565b604051632eec7b5560e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000009030906001600160a01b03831690635dd8f6aa90602401602060405180830381865afa158015610c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c93919061350c565b6001600160a01b031614610cba5760405163e0a0a87d60e01b815260040160405180910390fd5b6040516321d1336160e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d479190613817565b610100810151909150604e1c600190811614610d76576040516346ace3f960e01b815260040160405180910390fd5b60008781526002602052604090205415610da557610da38760405180602001604052806000815250611faf565b505b604051633e8c615b60e01b8152600481018890523060248201526001600160a01b03871690633e8c615b90604401600060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b50506040516338a73f9960e11b8152600481018a90526001600160a01b0389811660248301528516925063714e7f329150604401600060405180830381600087803b158015610e4f57600080fd5b505af1158015610e63573d6000803e3d6000fd5b5050604080516001600160a01b038a1681523360208201528a93507f01f954abace731a88ab86e71186040cc2be49fe517ea06bc0d24f25b82b8345692500160405180910390a250505050505050565b610ebb6128e0565b610ec3612935565b6040516321d1336160e11b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c290602401610776565b600086600003610f33576040516327f44f9560e21b815260040160405180910390fd5b6040516321d1336160e11b81526004810189905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190613817565b6040516331a9108f60e11b8152600481018c905290915061110f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611052919061350c565b604051636e49181f60e01b8152600481018d90523360248201528c906009906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636e49181f90604401602060405180830381865afa1580156110c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e69190613834565b8061110a575061010085015160541c6001600160a01b0316336001600160a01b0316145b611e3b565b610100810151604c1c6001908116141580156111b75750604051636e49181f60e01b8152600481018b90523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa158015611191573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b59190613834565b155b80156111dd575061010081015160541c6001600160a01b0316336001600160a01b031614155b156111fb57604051639d0ca8fd60e01b815260040160405180910390fd5b83611207576000611215565b61010081015160181c61ffff165b91506001851515146112355761010081015160501c600190811614611237565b845b94505061271081146112e35761125b886112538361271061391e565b6127106121e9565b6040516333b774f960e21b81529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ceddd3e4906112b0908a908d9087908a90600401613851565b600060405180830381600087803b1580156112ca57600080fd5b505af11580156112de573d6000803e3d6000fd5b505050505b8015611317576112f3828961391e565b60008a81526002602052604081208054909190611311908490613931565b90915550505b88876001600160a01b03167fe6fee9c572244c0c2238c3112ac12d411750a7ee00eeebd32521c3e5a666c14b8a858a8a873360405161135b96959493929190613944565b60405180910390a350979650505050505050565b6113776128e0565b61137f612935565b60405163334f245560e11b815260048101859052602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063669e48aa9060440161012060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190613817565b915061141b82611c4c565b90509250929050565b6000807f000000000000000000000000000000000000000000000000000000000000000090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663666d87a08e8e6040518363ffffffff1660e01b8152600401611498929190613987565b6020604051808303816000875af11580156114b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114db9190613529565b6040516338a73f9960e11b8152600481018290523060248201529092506001600160a01b0382169063714e7f3290604401600060405180830381600087803b15801561152657600080fd5b505af115801561153a573d6000803e3d6000fd5b5050505060006115ac838d8d8d8d8d906115549190613542565b8c8c808060200260200160405190810160405280939291908181526020016000905b828210156115a25761159360c08302860136819003810190613a08565b81526020019060010190611576565b5050505050611a0a565b8551909150156116175760405163104373fb60e31b81526001600160a01b0383169063821b9fd8906115e490869089906004016136c2565b600060405180830381600087803b1580156115fe57600080fd5b505af1158015611612573d6000803e3d6000fd5b505050505b7ff3e6948ba8b32d557363ea08470121c47c0127659aed09320812174d373afef28184863360405161164c9493929190613754565b60405180910390a150509b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018b90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156116cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f1919061350c565b8b60016116ff8383836118a1565b6117618e8e8e8e8e8e906117139190613542565b8d8d808060200260200160405190810160405280939291908181526020016000905b828210156115a25761175260c08302860136819003810190613a08565b81526020019060010190611735565b93507f1a08ad37c93969a586fd0605d240c17113b20a9c9ac3847595d0ab425225f6af848f88883360405161179a959493929190613a24565b60405180910390a15050509a9950505050505050505050565b6000818152600260205260408082205490516375b0d9cd60e01b8152600481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906375b0d9cd90602401602060405180830381865afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184b9190613529565b61045d9190613931565b60006118978484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611faf92505050565b90505b9392505050565b336001600160a01b0384161480159061194a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611907903390879087908790600401613a5e565b602060405180830381865afa158015611924573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119489190613834565b155b80156119e7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906119a490339087906000908790600401613a5e565b602060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e59190613834565b155b15611a055760405163075fd2b160e01b815260040160405180910390fd5b505050565b600061271085606001351115611a3357604051635623289560e01b815260040160405180910390fd5b61271085608001351115611a5a57604051639db9ee9360e01b815260040160405180910390fd5b6127108560a001351115611a8157604051636edf8de360e11b815260040160405180910390fd5b60006001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a249d4258989611acb611ac6368c90038c018c613afc565b6122ba565b896040518563ffffffff1660e01b8152600401611aeb9493929190613c4a565b610120604051808303816000875af1158015611b0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2f9190613817565b602081015160405163796d225b60e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163f2da44b691611b86918c91908990600401613cf2565b600060405180830381600087803b158015611ba057600080fd5b505af1158015611bb4573d6000803e3d6000fd5b5050505060208101516040516334002f3160e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916334002f3191611c0b918c918890600401613dad565b600060405180830381600087803b158015611c2557600080fd5b505af1158015611c39573d6000803e3d6000fd5b5050505060200151979650505050505050565b611c54612935565b604051806102400160405280611c6984612440565b815261010084015160209091019060181c61ffff168152602001611c8c846124b4565b8152602001611c9a846124d1565b8152602001611cb6846101000151600160489190911c81161490565b15158152602001611cd4846101000151600160499190911c81161490565b15158152602001611cf28461010001516001604a9190911c81161490565b15158152602001611d108461010001516001604b9190911c81161490565b15158152602001611d2e8461010001516001604c9190911c81161490565b15158152602001611d4c8461010001516001604d9190911c81161490565b15158152602001611d6a8461010001516001604e9190911c81161490565b15158152602001611d888461010001516001604f9190911c81161490565b15158152602001611da6846101000151600160509190911c81161490565b15158152602001611dc4846101000151600160519190911c81161490565b15158152602001611de2846101000151600160529190911c81161490565b15158152602001611e00846101000151600160539190911c81161490565b15158152602001611e1684610100015160541c90565b6001600160a01b0316815261010084015160209091019060f41c60ff16905292915050565b80158015611e525750336001600160a01b03851614155b8015611eee575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611eab903390889088908890600401613a5e565b602060405180830381865afa158015611ec8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eec9190613834565b155b8015611f8b575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611f4890339088906000908890600401613a5e565b602060405180830381865afa158015611f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f899190613834565b155b15611fa95760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561203c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120609190613817565b60008681526002602052604080822080549083905590516331a9108f60e11b815260048101899052909550919250907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156120e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612104919061350c565b9050600084156121245761211f8784602001516002886124ee565b612127565b60005b90508015612195576040516333b774f960e21b81526001600160a01b0385169063ceddd3e4906121629085908b908690600090600401613851565b600060405180830381600087803b15801561217c57600080fd5b505af1158015612190573d6000803e3d6000fd5b505050505b86836000015184602001517fb12d7a78048433f69fe6d30145bf08aad8e82985b96e4db6d5c6a7e94d57086e8589868c336040516121d7959493929190613e46565b60405180910390a45050505092915050565b60008080600019858709858702925082811083820303915050806000036122235783828161221957612219613e89565b049250505061189a565b83811061225157604051631dcf306360e21b8152600481018290526024810185905260440160405180910390fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b80516001906008906122cb906128b1565b901b8117905060188260200151901b81179050602882604001516127106122f2919061391e565b901b811790506038826060015161271061230c919061391e565b901b81179050816080015115612329576901000000000000000000175b8160a0015115612340576902000000000000000000175b8160c0015115612357576904000000000000000000175b8160e001511561236e576908000000000000000000175b81610100015115612386576910000000000000000000175b8161012001511561239e576920000000000000000000175b816101400151156123b6576940000000000000000000175b816101600151156123ce576980000000000000000000175b816101800151156123e057600160501b175b816101a00151156123f257600160511b175b816101c001511561240457600160521b175b816101e001511561241657600160531b175b6102008201516102209092015160f41b600160541b600160f41b0360549390931b92909216171790565b604080516060810182526000808252602082018190529181019190915261045d6008836101000151901c604080516060808201835260008083526020808401829052928401528251908101835260018481168114825284811c811681149282019290925260029390931c8116149082015290565b60006028826101000151901c61ffff1661271061045d919061391e565b60006038826101000151901c61ffff1661271061045d919061391e565b6040516369e11cc560e01b815260048101859052602481018490526044810183905281907f0000000000000000000000000000000000000000000000000000000000000000906000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa158015612588573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b09190810190613e9f565b905060005b81518110156128a65760008282815181106125d2576125d2613fa8565b6020026020010151905060006125f1878360400151633b9aca006121e9565b9050801561285e5760c08201516001600160a01b038087169163ceddd3e491166126d75783606001516000036126435760808401516001600160a01b031661263957336126dd565b83608001516126dd565b60608401516040516331a9108f60e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156126ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126d2919061350c565b6126dd565b8360c001515b84516040516001600160e01b031960e085901b16815261270592918f91879190600401613851565b600060405180830381600087803b15801561271f57600080fd5b505af1158015612733573d6000803e3d6000fd5b5050505060c08201516001600160a01b031615612851578160c001516001600160a01b0316639d740bfa6040518060c00160405280886001600160a01b031663ea78803f8f6040518263ffffffff1660e01b815260040161279691815260200190565b602060405180830381865afa1580156127b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d7919061350c565b6001600160a01b03168152602001848152602001601281526020018d81526020018b8152602001858152506040518263ffffffff1660e01b815260040161281e9190613fbe565b600060405180830381600087803b15801561283857600080fd5b505af115801561284c573d6000803e3d6000fd5b505050505b61285b818761391e565b95505b87898b7f990c1da5d280602f972ae3c429b6dc66a66569875205cc6e67f14e0b3fc4d2ac85853360405161289493929190614012565b60405180910390a450506001016125b5565b505050949350505050565b8051600090156128bf576001175b8160200151156128cd576002175b8160400151156128db576004175b919050565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b604080516102a0810182526000610240820181815261026083018290526102808301829052825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081018290526101c081018290526101e08101829052610200810182905261022081019190915290565b6000602082840312156129f257600080fd5b81356001600160e01b03198116811461189a57600080fd5b600060808284031215612a1c57600080fd5b50919050565b60006102808284031215612a1c57600080fd5b60008083601f840112612a4757600080fd5b5081356001600160401b03811115612a5e57600080fd5b6020830191508360208260051b8501011115612a7957600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715612ab857612ab8612a80565b60405290565b60405160e081016001600160401b0381118282101715612ab857612ab8612a80565b60405161012081016001600160401b0381118282101715612ab857612ab8612a80565b60405161024081016001600160401b0381118282101715612ab857612ab8612a80565b604051601f8201601f191681016001600160401b0381118282101715612b4e57612b4e612a80565b604052919050565b60006001600160401b03821115612b6f57612b6f612a80565b5060051b60200190565b6001600160a01b0381168114612b8e57600080fd5b50565b80356128db81612b79565b600060c08284031215612bae57600080fd5b60405160c081018181106001600160401b0382111715612bd057612bd0612a80565b6040529050808235612be181612b79565b81526020830135612bf181612b79565b8060208301525060408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b600082601f830112612c3857600080fd5b81356020612c4d612c4883612b56565b612b26565b8083825260208201915060c0602060c08602880101945087851115612c7157600080fd5b602087015b85811015612c9557612c888982612b9c565b8452928401928101612c76565b5090979650505050505050565b600082601f830112612cb357600080fd5b81356020612cc3612c4883612b56565b8083825260208201915060208460051b870101935086841115612ce557600080fd5b602086015b84811015612d0a578035612cfd81612b79565b8352918301918301612cea565b509695505050505050565b600082601f830112612d2657600080fd5b81356001600160401b03811115612d3f57612d3f612a80565b612d52601f8201601f1916602001612b26565b818152846020838601011115612d6757600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006103c08a8c031215612da357600080fd5b89359850612db48b60208c01612a0a565b9750612dc38b60a08c01612a22565b96506103208a013595506103408a01356001600160401b0380821115612de857600080fd5b612df48d838e01612a35565b90975095506103608c0135915080821115612e0e57600080fd5b612e1a8d838e01612c27565b94506103808c0135915080821115612e3157600080fd5b612e3d8d838e01612ca2565b93506103a08c0135915080821115612e5457600080fd5b50612e618c828d01612d15565b9150509295985092959850929598565b600060208284031215612e8357600080fd5b5035919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b612f0e8282518051151582526020808201511515908301526040908101511515910152565b6020810151606083015260408101516080830152606081015160a08301526080810151612f3f60c084018215159052565b5060a081015180151560e08401525060c0810151610100612f638185018315159052565b60e08301519150610120612f7a8186018415159052565b90830151915061014090612f918583018415159052565b8301519150610160612fa68582018415159052565b90830151915061018090612fbd8583018415159052565b83015191506101a0612fd28582018415159052565b9083015191506101c090612fe98583018415159052565b83015191506101e0612ffe8582018415159052565b908301519150610200906130158583018415159052565b830151915061022061302a8582018415159052565b908301516001600160a01b0316610240850152909101516102609092019190915250565b6103a0810161305d8285612e8a565b61189a610120830184612ee9565b60008083601f84011261307d57600080fd5b5081356001600160401b0381111561309457600080fd5b602083019150836020828501011115612a7957600080fd5b8015158114612b8e57600080fd5b80356128db816130ac565b60008060008060008060a087890312156130de57600080fd5b86356130e981612b79565b9550602087013594506040870135935060608701356001600160401b0381111561311257600080fd5b61311e89828a0161306b565b9094509250506080870135613132816130ac565b809150509295509295509295565b6103c0810161314f8286612e8a565b61315d610120830185612ee9565b6003831061317b57634e487b7160e01b600052602160045260246000fd5b826103a0830152949350505050565b6000806040838503121561319d57600080fd5b8235915060208301356131af81612b79565b809150509250929050565b600080600080600080600060c0888a0312156131d557600080fd5b873596506020880135955060408801356131ee81612b79565b945060608801356001600160401b0381111561320957600080fd5b6132158a828b0161306b565b9095509350506080880135613229816130ac565b915060a0880135613239816130ac565b8091505092959891949750929550565b6000806040838503121561325c57600080fd5b50508035926020909101359150565b600060408284031215612a1c57600080fd5b60008083601f84011261328f57600080fd5b5081356001600160401b038111156132a657600080fd5b60208301915083602060c083028501011115612a7957600080fd5b60008060008060008060008060008060006103e08c8e0312156132e357600080fd5b6132ec8c612b91565b9a506001600160401b038060208e0135111561330757600080fd5b6133178e60208f01358f0161326b565b9a506133268e60408f01612a0a565b99506133358e60c08f01612a22565b98506103408d01359750806103608e0135111561335157600080fd5b6133628e6103608f01358f01612a35565b90975095506103808d013581101561337957600080fd5b61338a8e6103808f01358f0161327d565b90955093506103a08d01358110156133a157600080fd5b6133b28e6103a08f01358f01612ca2565b9250806103c08e013511156133c657600080fd5b506133d88d6103c08e01358e01612d15565b90509295989b509295989b9093969950565b6000806000806000806000806000806103a08b8d03121561340a57600080fd5b8a35995061341b8c60208d01612a0a565b985061342a8c60a08d01612a22565b97506103208b013596506103408b01356001600160401b038082111561344f57600080fd5b61345b8e838f01612a35565b90985096506103608d013591508082111561347557600080fd5b6134818e838f0161327d565b90965094506103808d013591508082111561349b57600080fd5b506134a88d828e0161306b565b915080935050809150509295989b9194979a5092959850565b6000806000604084860312156134d657600080fd5b8335925060208401356001600160401b038111156134f357600080fd5b6134ff8682870161306b565b9497909650939450505050565b60006020828403121561351e57600080fd5b815161189a81612b79565b60006020828403121561353b57600080fd5b5051919050565b6000613550612c4884612b56565b80848252602080830192508560051b85013681111561356e57600080fd5b855b818110156136b65780356001600160401b03808211156135905760008081fd5b818901915060408083360312156135a75760008081fd5b6135af612a96565b8335815286840135838111156135c55760008081fd5b939093019236601f8501126135dc57600092508283fd5b833592506135ec612c4884612b56565b83815260e0938402850188019388820191903686111561360c5760008081fd5b958901955b858710156136a0578087360312156136295760008081fd5b613631612abe565b873561363c816130ac565b8152878b013561364b816130ac565b818c015287860135868201526060808901359082015260808089013561367081612b79565b9082015260a0888101359082015260c08089013561368d81612b79565b9082015283529586019591890191613611565b5082890152508852505050938201938201613570565b50919695505050505050565b60006040820184835260206040602085015281855180845260608601915060208701935060005b81811015612c955784516001600160a01b0316835293830193918301916001016136e9565b6000815180845260005b8181101561373457602081850181015186830182015201613718565b506000602082860101526020601f19601f83011685010191505092915050565b848152836020820152608060408201526000613773608083018561370e565b905060018060a01b038316606083015295945050505050565b80516128db81612b79565b600061012082840312156137aa57600080fd5b6137b2612ae0565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c082015261380060e0830161378c565b60e082015261010080830151818301525092915050565b6000610120828403121561382a57600080fd5b61189a8383613797565b60006020828403121561384657600080fd5b815161189a816130ac565b6001600160a01b03949094168452602084019290925260408301521515606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481526060602082015260006138bc606083018587613879565b905060018060a01b038316604083015295945050505050565b60008061014083850312156138e957600080fd5b6138f38484613797565b9150610120830151600381106131af57600080fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561045d5761045d613908565b8082018082111561045d5761045d613908565b86815285602082015260a06040820152600061396460a083018688613879565b6060830194909452506001600160a01b0391909116608090910152949350505050565b6001600160a01b0383168152604060208201526000823536849003601e190181126139b157600080fd5b83016020810190356001600160401b038111156139cd57600080fd5b8036038213156139dc57600080fd5b6040808501526139f0608085018284613879565b91505060208401356060840152809150509392505050565b600060c08284031215613a1a57600080fd5b61189a8383612b9c565b858152846020820152608060408201526000613a44608083018587613879565b905060018060a01b03831660608301529695505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b600060608284031215613a9957600080fd5b604051606081018181106001600160401b0382111715613abb57613abb612a80565b6040529050808235613acc816130ac565b81526020830135613adc816130ac565b60208201526040830135613aef816130ac565b6040919091015292915050565b60006102808284031215613b0f57600080fd5b613b17612b03565b613b218484613a87565b8152606083013560208201526080830135604082015260a08301356060820152613b4d60c084016130ba565b6080820152613b5e60e084016130ba565b60a0820152610100613b718185016130ba565b60c0830152610120613b848186016130ba565b60e0840152610140613b978187016130ba565b838501526101609250613bab8387016130ba565b828501526101809150613bbf8287016130ba565b908401526101a0613bd18682016130ba565b838501526101c09250613be58387016130ba565b828501526101e09150613bf98287016130ba565b90840152610200613c0b8682016130ba565b838501526102209250613c1f8387016130ba565b82850152613c306102408701612b91565b908401525061026093909301359281019290925250919050565b600060e0820190508582528435602083015260208501356040830152604085013560608301526060850135613c7e81612b79565b6001600160a01b0316608083015260a082019390935260c0015292915050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b600060608083018684526020868186015260406060604087015282875180855260808801915060808160051b89010194508389016000805b83811015613d9b578a8803607f190185528251805189528701518789018790528051878a018190529088019083908b8b01905b80831015613d8657613d70828551613c9e565b60e0820191508a84019350600183019250613d5d565b50995050509386019391860191600101613d2a565b50959c9b505050505050505050505050565b600060608083018684526020866020860152604060606040870152828751808552608094506080880191506020890160005b82811015613e3557815180516001600160a01b03908116865287820151168786015285810151868601528881015189860152878101518886015260a0908101519085015260c09093019290850190600101613ddf565b50919b9a5050505050505050505050565b600060018060a01b03808816835286602084015285604084015260a06060840152613e7460a084018661370e565b91508084166080840152509695505050505050565b634e487b7160e01b600052601260045260246000fd5b60006020808385031215613eb257600080fd5b82516001600160401b03811115613ec857600080fd5b8301601f81018513613ed957600080fd5b8051613ee7612c4882612b56565b81815260e09182028301840191848201919088841115613f0657600080fd5b938501935b83851015613f9c5780858a031215613f235760008081fd5b613f2b612abe565b8551613f36816130ac565b815285870151613f45816130ac565b818801526040868101519082015260608087015190820152608080870151613f6c81612b79565b9082015260a0868101519082015260c080870151613f8981612b79565b9082015283529384019391850191613f0b565b50979650505050505050565b634e487b7160e01b600052603260045260246000fd5b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161400b90840182613c9e565b5092915050565b61012081016140218286613c9e565b60e08201939093526001600160a01b03919091166101009091015291905056fea26469706673582212200a03d540ff743445d26c82dc02ccc0e31ac8ed1146059be844ad38ab3d06e52e64736f6c6343000817003360e06040523480156200001157600080fd5b50604051620035ea380380620035ea833981016040819052620000349162000070565b60016000556001600160a01b0392831660805290821660a0521660c052620000c4565b6001600160a01b03811681146200006d57600080fd5b50565b6000806000606084860312156200008657600080fd5b8351620000938162000057565b6020850151909350620000a68162000057565b6040850151909250620000b98162000057565b809150509250925092565b60805160a05160c05161346a6200018060003960008181610273015281816106aa01528181610bd30152818161210901526122ed01526000818161018b01528181610347015281816107f801528181610ca101528181610d9d0152818161118e01528181611458015281816115210152818161183b01528181611c3e0152612374015260008181610239015281816103f701528181610fdd015281816117030152818161191401528181611edf015261218c015261346a6000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c8063c294b2f411610097578063d49031c011610066578063d49031c014610295578063d4c3a8d2146102a8578063e7c8e3e3146102d9578063e8ba563a146102ee57600080fd5b8063c294b2f414610221578063c41c2f2414610234578063c66445971461025b578063d3419bf31461026e57600080fd5b80636bb6a5ad116100d35780636bb6a5ad146101c5578063a2df1f95146101d8578063a57c7f59146101fb578063b753d7e91461020e57600080fd5b8062fdd58e1461010457806325386715146101425780632fa1b39114610163578063557e715514610186575b600080fd5b61012f610112366004612587565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6101556101503660046125b3565b61031f565b60405161013992919061263e565b6101766101713660046127be565b6107cd565b60405161013994939291906128cf565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610139565b61012f6101d3366004612981565b610c7e565b6101eb6101e636600461299a565b610d72565b6040516101399493929190612a3b565b61012f610209366004612ad6565b61141d565b61012f61021c3660046125b3565b6114e7565b61012f61022f366004612b08565b6114fe565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b6101556102693660046125b3565b611813565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b61012f6102a3366004612587565b611c35565b61012f6102b6366004612b57565b600360209081526000938452604080852082529284528284209052825290205481565b6102ec6102e7366004612b8c565b611d13565b005b61012f6102fc366004612b57565b600260209081526000938452604080852082529284528284209052825290205481565b61032761251a565b6000610331611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb9190612bb9565b3360009081526003602090815260408083208984528252808320828501518452909152812054919350906103f0908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161044391815260200190565b602060405180830381865afa158015610460573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104849190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612c62565b6001600160a01b0316637a81b56289876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055c9190612c62565b6040518563ffffffff1660e01b815260040161057b9493929190612c7f565b6040805180830381865afa158015610597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bb9190612ca6565b91509150818311806105cb575081155b156105e957604051635b76558960e11b815260040160405180910390fd5b8086146106095760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610649573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066d9190612cca565b905080871461072857610723886106866012600a612dc7565b604051635268657960e11b8152600481018b905260248101859052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064015b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e9190612cca565b611dba565b61072a565b875b9450610738338a8884611e87565b851115610758576040516317e53f6760e11b815260040160405180910390fd5b3360008181526003602090815260408083208d845282528083208a83015184528252808320889055928252600181528282208c83529052205461079c908690612dd3565b3360009081526001602090815260408083208d8452909152902055506107c59250612162915050565b935093915050565b6107d561251a565b60006060806107e2611d5c565b6040516321d1336160e11b8152600481018b90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086c9190612bb9565b80519094506000036108915760405163174b338d60e11b815260040160405180910390fd5b61010084015160481c6001908116036108bd5760405163a3bb913360e01b815260040160405180910390fd5b61010084015160009060521c60019081161480156108f3575060006108e786610100015160541c90565b6001600160a01b031614155b15610a43576000604051806101400160405280336001600160a01b031681526020018f6001600160a01b031681526020018e8036038101906109359190612de6565b815260208082018f905288015160408201526001600160a01b038c16606082015260a080890151608083015261010089015191019060181c61ffff1681526020018a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200188905290506109c686610100015160541c90565b6001600160a01b031663d46cf171826040518263ffffffff1660e01b81526004016109f19190612e55565b600060405180830381865afa158015610a0e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a369190810190612fc0565b955093509150610a849050565b8460a00151905087878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b825160208d01359015610b005760005b8451811015610afe576000858281518110610ab157610ab16130f1565b602002602001015160200151905080600014610af55782811115610ae8576040516336a8da9360e11b815260040160405180910390fd5b610af28184612dd3565b92505b50600101610a94565b505b8c60200135600003610b18575060009350610c659050565b8015610b7f573360009081526001602090815260408083208f8452909152902054610b44908290612c4f565b60016000336001600160a01b03166001600160a01b0316815260200190815260200160002060008e8152602001908152602001600020819055505b5080600003610b92575060009250610c65565b60408c0135600060608e01358c14610c4357604051635268657960e11b815260608f01356004820152602481018d9052604481018390526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf290606401602060405180830381865afa158015610c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3e9190612cca565b610c4e565b610c4e82600a612dc7565b9050610c5f8e602001358483611dba565b95505050505b610c6f6001600055565b98509850985098945050505050565b6000610c88611d5c565b6040516321d1336160e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d159190612bb9565b610100810151909150604d1c600190811614610d44576040516373e4f05f60e11b815260040160405180910390fd5b505033600090815260016020818152604080842085855290915282208054908390559155919050565b919050565b610d7a61251a565b6000606080610d87611d5c565b6040516321d1336160e11b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa158015610ded573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e119190612bb9565b610100810151909450604a1c600190811603610e405760405163a97cf58f60e01b815260040160405180910390fd5b610e74604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b6000806000336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190612c62565b90506000336001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612cca565b90506000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa79190612cca565b6101008b015190915060511c600190811614610fce57610fc9338f8c84611e87565b610fd9565b610fd98e8383612169565b94507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa8f6040518263ffffffff1660e01b815260040161102991815260200190565b602060405180830381865afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190612c62565b6001600160a01b031663c18f2d318f6040518263ffffffff1660e01b815260040161109791815260200190565b602060405180830381865afa1580156110b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d89190612cca565b9350838d11156110fa57604051625c579160e91b815260040160405180910390fd5b84156111105761110d8e8b8f878961234b565b98505b604080516080810182526001600160a01b03949094168452602084018a9052830191909152606082015261010088015190935060531c60019081161480156111705750600061116488610100015160541c90565b6001600160a01b031614155b1561134557604051633157d5c760e21b8152600481018c90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156111dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112019190613107565b90506000604051806101800160405280336001600160a01b031681526020018f6001600160a01b031681526020018e81526020018a6020015181526020018d815260200184815260200185815260200186815260200161126e8b6101000151600160519190911c81161490565b15158152602001600084600281111561128957611289613128565b1461129c576112978b612483565b6112a5565b6112a58b6124a0565b81526020018c81526020018b81525090506112c589610100015160541c90565b6001600160a01b031663a51cfd18826040518263ffffffff1660e01b81526004016112f0919061313e565b600060405180830381865afa15801561130d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113359190810190613236565b9199509097509550611349915050565b8893505b50508251849150156113a35760005b83518110156113a1576000848281518110611375576113756130f1565b602002602001015160200151905080600014611398576113958184612c4f565b92505b50600101611358565b505b3360009081526001602090815260408083208c84529091529020548111156113de576040516317e53f6760e11b815260040160405180910390fd5b8015611406573360009081526001602090815260408083208c84529091529020805482900390555b506114116001600055565b95509550955095915050565b60008160000361142f575060006114df565b8284111561143f575060006114df565b6040516321d1336160e11b8152600481018690526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc9190612bb9565b90506114db868287878761234b565b9150505b949350505050565b60006114f4848484612169565b90505b9392505050565b6040516321d1336160e11b81526004810184905260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906343a266c29060240161012060405180830381865afa158015611569573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158d9190612bb9565b9050600083611608576116038787848a6001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fe9190612cca565b611e87565b6116d5565b6116d586886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561164a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166e9190612cca565b896001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d09190612cca565b612169565b9050806000036116ea576000925050506114df565b604051632eec7b5560e11b8152600481018790526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611752573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117769190612c62565b6001600160a01b031663c18f2d31886040518263ffffffff1660e01b81526004016117a391815260200190565b602060405180830381865afa1580156117c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e49190612cca565b9050808611156117fa57600093505050506114df565b611807878488848661234b565b98975050505050505050565b61181b61251a565b6000611825611d5c565b6040516321d1336160e11b8152600481018690527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906343a266c29060240161012060405180830381865afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118af9190612bb9565b61010081015190925060491c6001908116036118de5760405163861e9dcd60e01b815260040160405180910390fd5b33600090815260026020908152604080832088845282528083208551845290915281205461190d908690612c4f565b90506000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635dd8f6aa896040518263ffffffff1660e01b815260040161196091815260200190565b602060405180830381865afa15801561197d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119a19190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a029190612c62565b6001600160a01b031663e8db213089876020015133336001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a799190612c62565b6040518563ffffffff1660e01b8152600401611a989493929190612c7f565b6040805180830381865afa158015611ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad89190612ca6565b9150915081831180611ae8575081155b15611b0657604051630236b92b60e21b815260040160405180910390fd5b808614611b265760405163e56ea4e760e01b815260040160405180910390fd5b6000336001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8a9190612cca565b9050808714611ba857611ba3886106866012600a612dc7565b611baa565b875b3360009081526001602090815260408083208d8452909152902054909550851115611be8576040516317e53f6760e11b815260040160405180910390fd5b50503360008181526002602090815260408083208b845282528083208851845282528083209590955591815260018083528482208a835290925292832080548590039055909155506107c5565b6000611d0a83837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166343a266c2866040518263ffffffff1660e01b8152600401611c8a91815260200190565b61012060405180830381865afa158015611ca8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccc9190612bb9565b866001600160a01b031663e5a6b10f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115da573d6000803e3d6000fd5b90505b92915050565b336000908152600160209081526040808320858452909152902054611d39908290612c4f565b336000908152600160209081526040808320958352949052929092209190915550565b600260005403611db35760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b6000808060001985870985870292508281108382030391505080600003611df457838281611dea57611dea613356565b04925050506114f7565b838110611e1e57604051631dcf306360e21b81526004810182905260248101859052604401611daa565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0384166000908152600160209081526040808320868452909152812054808203611ebc5760009150506114df565b604051632eec7b5560e11b81526004810186905260009081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690635dd8f6aa90602401602060405180830381865afa158015611f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4a9190612c62565b6001600160a01b031663a29a68146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fab9190612c62565b6001600160a01b031663e8db21308888602001518b8c6001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120229190612c62565b6040518563ffffffff1660e01b81526004016120419493929190612c7f565b6040805180830381865afa15801561205d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120819190612ca6565b6001600160a01b038a1660009081526002602090815260408083208c845282528083208b518452909152812054929450909250906120bf9084612dd3565b905080158015906120d05750858214155b1561214357612140816120e56012600a612dc7565b604051635268657960e11b815260048101869052602481018a9052601260448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf2906064016106dd565b90505b808411612151576000612155565b8084035b9998505050505050505050565b6001600055565b60405163d175415360e01b81526004810184905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d175415390602401600060405180830381865afa1580156121d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526121fb919081019061336c565b90506000805b82518110156122a65782818151811061221c5761221c6130f1565b60200260200101516001600160a01b031663a32e1e96886040518263ffffffff1660e01b815260040161225191815260200190565b602060405180830381865afa15801561226e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122929190612cca565b61229c9083612c4f565b9150600101612201565b5060006001851461232157604051635268657960e11b815260016004820152602481018690526012604482015261231c908390670de0b6b3a7640000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a4d0caf2906064016106dd565b612323565b815b90508560121461233e57612339816012886124bd565b612340565b805b979650505050505050565b600082840361235b57508061247a565b600080604051633157d5c760e21b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c55f571c90602401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190613107565b60028111156123f8576123f8613128565b1461240b5761240686612483565b612414565b612414866124a0565b90508060000361242857600091505061247a565b6000612435848787611dba565b9050612710820361244957915061247a9050565b612475816124638861245d86612710612dd3565b89611dba565b61246d9085612c4f565b612710611dba565b925050505b95945050505050565b60006028826101000151901c61ffff16612710611d0d9190612dd3565b60006038826101000151901c61ffff16612710611d0d9190612dd3565b60008282036124cd5750826114f7565b828211156124fb576124df8383612dd3565b6124ea90600a612dc7565b6124f490856133fb565b90506114f7565b6125058284612dd3565b61251090600a612dc7565b6124f49085613412565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b6001600160a01b038116811461258457600080fd5b50565b6000806040838503121561259a57600080fd5b82356125a58161256f565b946020939093013593505050565b6000806000606084860312156125c857600080fd5b505081359360208301359350604090920135919050565b805182526020808201519083015260408082015190830152606080820151908301526080808201519083015260a0808201519083015260c0808201519083015260e0808201516001600160a01b03169083015261010090810151910152565b610140810161264d82856125df565b826101208301529392505050565b60008083601f84011261266d57600080fd5b50813567ffffffffffffffff81111561268557600080fd5b60208301915083602082850101111561269d57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156126de576126de6126a4565b60405290565b6040516060810167ffffffffffffffff811182821017156126de576126de6126a4565b604051601f8201601f1916810167ffffffffffffffff81118282101715612730576127306126a4565b604052919050565b600067ffffffffffffffff821115612752576127526126a4565b50601f01601f191660200190565b600061277361276e84612738565b612707565b905082815283838301111561278757600080fd5b828260208301376000602084830101529392505050565b600082601f8301126127af57600080fd5b611d0a83833560208501612760565b600080600080600080600080888a036101408112156127dc57600080fd5b89356127e78161256f565b98506080601f19820112156127fb57600080fd5b5060208901965060a0890135955060c0890135945060e089013561281e8161256f565b935061010089013567ffffffffffffffff8082111561283c57600080fd5b6128488c838d0161265b565b90955093506101208b013591508082111561286257600080fd5b5061286f8b828c0161279e565b9150509295985092959890939650565b60005b8381101561289a578181015183820152602001612882565b50506000910152565b600081518084526128bb81602086016020860161287f565b601f01601f19169290920160200192915050565b60006101808083016128e184896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612956818801836128a3565b978501979650505090820190600101612912565b5050505083810361016085015261247581866128a3565b60006020828403121561299357600080fd5b5035919050565b600080600080600060a086880312156129b257600080fd5b85356129bd8161256f565b94506020860135935060408601359250606086013567ffffffffffffffff808211156129e857600080fd5b818801915088601f8301126129fc57600080fd5b612a0b89833560208501612760565b93506080880135915080821115612a2157600080fd5b50612a2e8882890161279e565b9150509295509295909350565b6000610180808301612a4d84896125df565b61012084018790526101408401919091528451908190526101a080840191600581901b850190910190602080880160005b8381101561296a5787850361019f19018652815180516001600160a01b031686528381015184870152604090810151606091870182905290612ac2818801836128a3565b978501979650505090820190600101612a7e565b60008060008060808587031215612aec57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060008060808587031215612b1e57600080fd5b8435612b298161256f565b9350602085013592506040850135915060608501358015158114612b4c57600080fd5b939692955090935050565b600080600060608486031215612b6c57600080fd5b8335612b778161256f565b95602085013595506040909401359392505050565b60008060408385031215612b9f57600080fd5b50508035926020909101359150565b8051610d6d8161256f565b60006101208284031215612bcc57600080fd5b612bd46126ba565b825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c0820152612c2060e08401612bae565b60e0820152610100928301519281019290925250919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611d0d57611d0d612c39565b600060208284031215612c7457600080fd5b81516114f78161256f565b93845260208401929092526001600160a01b03908116604084015216606082015260800190565b60008060408385031215612cb957600080fd5b505080516020909101519092909150565b600060208284031215612cdc57600080fd5b5051919050565b600181815b80851115612d1e578160001904821115612d0457612d04612c39565b80851615612d1157918102915b93841c9390800290612ce8565b509250929050565b600082612d3557506001611d0d565b81612d4257506000611d0d565b8160018114612d585760028114612d6257612d7e565b6001915050611d0d565b60ff841115612d7357612d73612c39565b50506001821b611d0d565b5060208310610133831016604e8410600b8410161715612da1575081810a611d0d565b612dab8383612ce3565b8060001904821115612dbf57612dbf612c39565b029392505050565b6000611d0a8383612d26565b81810381811115611d0d57611d0d612c39565b600060808284031215612df857600080fd5b6040516080810181811067ffffffffffffffff82111715612e1b57612e1b6126a4565b6040528235612e298161256f565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60208152612e6f6020820183516001600160a01b03169052565b60006020830151612e8b60408401826001600160a01b03169052565b506040830151612ec5606084018280516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b50606083015160e08301526080830151610100818185015260a08501519150610120612efb818601846001600160a01b03169052565b60c086015161014086015260e08601516101608601528186015192506101a0915081610180860152612f316101c08601846128a3565b90860151858203601f190183870152909250612f4d83826128a3565b9695505050505050565b600082601f830112612f6857600080fd5b8151612f7661276e82612738565b818152846020838601011115612f8b57600080fd5b6114df82602083016020870161287f565b600067ffffffffffffffff821115612fb657612fb66126a4565b5060051b60200190565b600080600060608486031215612fd557600080fd5b8351925060208085015167ffffffffffffffff80821115612ff557600080fd5b61300188838901612f57565b9450604087015191508082111561301757600080fd5b818701915087601f83011261302b57600080fd5b815161303961276e82612f9c565b81815260059190911b8301840190848101908a83111561305857600080fd5b8585015b838110156130e0578051858111156130745760008081fd5b86016060818e03601f1901121561308b5760008081fd5b6130936126e4565b888201516130a08161256f565b81526040820151898201526060820151878111156130be5760008081fd5b6130cc8f8b83860101612f57565b60408301525084525091860191860161305c565b508096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561311957600080fd5b8151600381106114f757600080fd5b634e487b7160e01b600052602160045260246000fd5b602081526131586020820183516001600160a01b03169052565b6000602083015161317460408401826001600160a01b03169052565b506040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101006131e28185018380516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b8401511515610180840152506101208301516101a08301526101408301516101e06101c084018190526132196102008501836128a3565b9150610160850151601f198584030182860152612f4d83826128a3565b60008060006060848603121561324b57600080fd5b8351925060208085015167ffffffffffffffff8082111561326b57600080fd5b61327788838901612f57565b9450604087015191508082111561328d57600080fd5b818701915087601f8301126132a157600080fd5b81516132af61276e82612f9c565b81815260059190911b8301840190848101908a8311156132ce57600080fd5b8585015b838110156130e0578051858111156132ea5760008081fd5b86016060818e03601f190112156133015760008081fd5b6133096126e4565b888201516133168161256f565b81526040820151898201526060820151878111156133345760008081fd5b6133428f8b83860101612f57565b6040830152508452509186019186016132d2565b634e487b7160e01b600052601260045260246000fd5b6000602080838503121561337f57600080fd5b825167ffffffffffffffff81111561339657600080fd5b8301601f810185136133a757600080fd5b80516133b561276e82612f9c565b81815260059190911b820183019083810190878311156133d457600080fd5b928401925b828410156123405783516133ec8161256f565b825292840192908401906133d9565b8082028115828204841417611d0d57611d0d612c39565b60008261342f57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209bee0e6664b5a77635e6a54428e35084a2d4c2101b4004d1696e07575b4dc3ba64736f6c63430008170033608060405234801561001057600080fd5b5060fd8061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060875760003560e01c80638322fff211605e5780638322fff21460b2578063870bc1fd14608c578063bc063e1a14608c578063d3c4fca914608c578063deda20c21460b857600080fd5b806319a9f94114608c5780631bf6c21b1460a55780634bb970421460ab5780635d14fef81460ab575b600080fd5b633b9aca005b6040519081526020015b60405180910390f35b60026092565b6127106092565b60016092565b60405161eeee8152602001609c56fea264697066735822122081c0ee947da82b560fa08dc42ecdcccdeee8864304c4c3c32dfd61f905b74eca64736f6c634300081700336101e060405263017d78406002553480156200001a57600080fd5b5060405162005e5338038062005e538339810160408190526200003d9162000216565b61eeee6080819052601260a0819052600160c08190526001600160a01b038a1660e0528a818b8b8b8b8b8b8b6200007433620000cf565b6101a08990526101c08890526001600160a01b0380871661010052858116610120528481166101405283811661016052821661018052620000b5816200011f565b5050505050505050505050505050505050505050620002cb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b62000129620001a2565b6001600160a01b038116620001945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6200019f81620000cf565b50565b6000546001600160a01b03163314620001fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200018b565b565b6001600160a01b03811681146200019f57600080fd5b600080600080600080600080610100898b0312156200023457600080fd5b885197506020890151620002488162000200565b60408a01519097506200025b8162000200565b60608a01519096506200026e8162000200565b60808a0151909550620002818162000200565b60a08a0151909450620002948162000200565b60c08a0151909350620002a78162000200565b60e08a0151909250620002ba8162000200565b809150509295985092959890939650565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c05161592c62000527600039600081816103cf0152611fc001526000818161030701526118220152600081816104f701528181610ad50152818161126b015281816117f001528181611e6b015281816125d10152818161293301528181612a40015261367d01526000818161065601526113f00152600081816102bb015261335401526000818161060f0152818161168d015281816118d30152818161237a01528181612b8b015281816131fa0152613e540152600081816104a50152818161099001528181610dec015281816111a001528181611f17015261268b01526000818161056b01528181611cff01528181611d9b015281816121ac01526122480152600081816102660152818161070e0152818161133b0152818161139d015281816117ca01528181611aa601528181612d210152612db101526000818161033b015281816105db015281816112dc0152818161130801528181611368015281816113ca015281816117a401528181611a8001528181612cfb01528181612d8b0152613c080152600081816106cc015281816107620152818161087e01528181610a2801528181610b5601528181610bc9015281816114820152818161176f01528181611a4a01528181611b980152818161234f015281816124060152818161244101528181612cc601528181612d5501528181612ede015281816131cd01528181613bd301528181613c7b01528181613e8101528181613fdc0152818161401a0152818161414f0152614193015261592c6000f3fe6080604052600436106101f95760003560e01c80638da5cb5b1161010d578063c715967a116100a0578063df21a7dd1161006f578063df21a7dd146106ae578063e5a6b10f146106fc578063f2fde38b14610730578063fc0c546a14610750578063fe663f0f1461078457600080fd5b8063c715967a14610631578063d3419bf314610644578063d6dacc5314610678578063ddca3f431461069857600080fd5b8063ad007d63116100dc578063ad007d6314610559578063b631b5001461058d578063b7bad1b1146105bd578063c41c2f24146105fd57600080fd5b80638da5cb5b146104c7578063975057e7146104e5578063a02f801c14610519578063a32e1e961461053957600080fd5b80634a4305c011610190578063715018a61161015f578063715018a6146104115780637258002c1461042657806389701db5146104465780638af56094146104665780638b79543c1461049357600080fd5b80634a4305c01461037d578063637913ac1461039d57806366248b86146103bd57806369fe0e2d146103f157600080fd5b80632bdfe004116101cc5780632bdfe004146102a95780632d1a5903146102f5578063313ce56714610329578063405b84fa1461035d57600080fd5b806301ffc9a7146101fe5780630cf8e858146102335780631982d679146102485780631ebc263f14610296575b600080fd5b34801561020a57600080fd5b5061021e610219366004614442565b6107a4565b60405190151581526020015b60405180910390f35b6102466102413660046144c9565b61084e565b005b34801561025457600080fd5b5061028861026336600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b60405190815260200161022a565b6102886102a4366004614589565b610871565b3480156102b557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161022a565b34801561030157600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561033557600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561036957600080fd5b50610288610378366004614650565b610977565b34801561038957600080fd5b50610288610398366004614680565b610c73565b3480156103a957600080fd5b506102466103b836600461455e565b610c8f565b3480156103c957600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b3480156103fd57600080fd5b5061024661040c3660046146e9565b610ceb565b34801561041d57600080fd5b50610246610d58565b34801561043257600080fd5b50610246610441366004614702565b610d6c565b34801561045257600080fd5b506102466104613660046146e9565b610dd6565b34801561047257600080fd5b506104866104813660046146e9565b6110da565b60405161022a9190614730565b34801561049f57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506000546001600160a01b03166102dd565b3480156104f157600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052557600080fd5b506102886105343660046148d6565b611187565b34801561054557600080fd5b506102886105543660046146e9565b611242565b34801561056557600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561059957600080fd5b5061021e6105a836600461455e565b60046020526000908152604090205460ff1681565b3480156105c957600080fd5b506102886105d836600461455e565b507f000000000000000000000000000000000000000000000000000000000000000090565b34801561060957600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b61024661063f36600461498e565b611477565b34801561065057600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561068457600080fd5b506003546102dd906001600160a01b031681565b3480156106a457600080fd5b5061028860025481565b3480156106ba57600080fd5b5061021e6106c9366004614a35565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b34801561070857600080fd5b506102887f000000000000000000000000000000000000000000000000000000000000000081565b34801561073c57600080fd5b5061024661074b36600461455e565b611573565b34801561075c57600080fd5b506102dd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561079057600080fd5b5061028861079f366004614a61565b6115f1565b60006001600160e01b0319821615806107cd57506001600160e01b0319821663edb527eb60e01b145b806107e857506001600160e01b031982166301290c1760e61b145b8061080357506001600160e01b0319821663280be00760e21b145b8061081e57506001600160e01b0319821663fe663f0f60e01b145b8061083957506001600160e01b0319821663ad007d6360e01b145b80610848575061084882611621565b92915050565b61085787611671565b610868878787600088888888611477565b50505050505050565b600061087c8b611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146108eb5734156108cd57604051635e7e9adf60e11b815260040160405180910390fd5b476108d933308d61171d565b6108e38147614b2f565b9a50506108ef565b3499505b6109688a338d8b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8f018190048102820181019092528d815292508d91508c908190840183828082843760009201919091525061172c92505050565b9b9a5050505050505050505050565b6040516331a9108f60e11b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156109df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a039190614b42565b836004610a11838383611cd4565b60405163df21a7dd60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905286169063df21a7dd90604401602060405180830381865afa158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190614b5f565b610abf5760405163581010ed60e01b815260040160405180910390fd5b604051636bb6a5ad60e01b8152600481018790527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636bb6a5ad906024016020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190614b7c565b93508315610c255760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee14610b8d576000610b8f565b845b6040805160208101825260008152905163019f1d0b60e31b81529192506001600160a01b03881691630cf8e858918491610bf1918c918b917f000000000000000000000000000000000000000000000000000000000000000091600401614be5565b6000604051808303818588803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b5050505050505b604080518581523360208201526001600160a01b0387169188917fa7519e5f94697b7f53e97c5eb46a0c730a296ab686ab8fd333835c5f735784eb910160405180910390a350505092915050565b6000610c83888888878787611e38565b98975050505050505050565b610c976120cd565b600380546001600160a01b0319166001600160a01b0383169081179091556040513381527f0a9a80fe9716605b3e52abb3d792d6a4e7816d6afc02a5a4ef023081feaf9f609060200160405180910390a250565b610cf36120cd565b6302faf080811115610d18576040516345fbd9c160e01b815260040160405180910390fd5b6002819055604080518281523360208201527fd7414e590e1cb532989ab2a34c8f4c2c17f7ab6f006efeeaef2e87cd5008c202910160405180910390a150565b610d606120cd565b610d6a6000612127565b565b610d746120cd565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591513381529192917fa2653e25a502c023a5830d0de847ef6f458387865b1f4f575d7594f9f2c0d71e910160405180910390a35050565b6040516331a9108f60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f9190614b42565b816005610e746000546001600160a01b031690565b6001600160a01b0316336001600160a01b031614610e9484848484612177565b600085815260016020908152604080832080548251818502810185019093528083529192909190849084015b82821015610f2d57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101610ec0565b5050506000888152600160205260408120929350610f4c9291506143a1565b80516000805b828110156110cf57838181518110610f6c57610f6c614c20565b60200260200101516020015163ffffffff1660001480610fb25750633b9aca00848281518110610f9e57610f9e614c20565b60200260200101516040015163ffffffff16145b61102957611024848281518110610fcb57610fcb614c20565b602002602001015160000151858381518110610fe957610fe9614c20565b60200260200101516020015163ffffffff1686848151811061100d5761100d614c20565b60200260200101516040015163ffffffff166122eb565b61102c565b60005b91506110568285838151811061104457611044614c20565b6020026020010151606001518b612331565b60011515828a7fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a3525187858151811061108f5761108f614c20565b602002602001015160600151336040516110bf9291906001600160a01b0392831681529116602082015260400190565b60405180910390a4600101610f52565b505050505050505050565b606060016000838152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561117c57600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b03166060830152908352909201910161110f565b505050509050919050565b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa1580156111ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112139190614b42565b8a6011611221838383611cd4565b6112318d8d8d8c8c8c8c8c61259e565b9d9c50505050505050505050505050565b60405163035240c760e61b81523060048201526024810182905260009081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d49031c090604401602060405180830381865afa1580156112b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d69190614b7c565b905060007f00000000000000000000000000000000000000000000000000000000000000006012146113335761132e827f000000000000000000000000000000000000000000000000000000000000000060126127e5565b611335565b815b905060017f00000000000000000000000000000000000000000000000000000000000000001461146d576114688161138e7f0000000000000000000000000000000000000000000000000000000000000000600a614d1a565b604051635268657960e11b81527f00000000000000000000000000000000000000000000000000000000000000006004820152600160248201527f000000000000000000000000000000000000000000000000000000000000000060448201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a4d0caf290606401602060405180830381865afa15801561143f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114639190614b7c565b612842565b61146f565b805b949350505050565b61148088611671565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661eeee146114ef5734156114d157604051635e7e9adf60e11b815260040160405180910390fd5b476114dd33308a61171d565b6114e78147614b2f565b9750506114f3565b3496505b61156988888787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061290f92505050565b5050505050505050565b61157b6120cd565b6001600160a01b0381166115e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6115ee81612127565b50565b600088886002611602838383611cd4565b6116118c8c8c8b8b8b8b612a01565b9c9b505050505050505050505050565b60006001600160e01b0319821663301cdc3960e21b148061165257506001600160e01b0319821663144b000160e11b145b8061084857506301ffc9a760e01b6001600160e01b0319831614610848565b604051636e49181f60e01b8152600481018290523060248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636e49181f90604401602060405180830381865afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117009190614b5f565b6115ee57604051631b1d5a5960e31b815260040160405180910390fd5b6117278282613096565b505050565b60006001600160a01b0386166117555760405163a762251360e01b815260040160405180910390fd5b61175d6143c2565b606060008060405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018e81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632fa1b3918d838e7f00000000000000000000000000000000000000000000000000000000000000008f8d8d6040518863ffffffff1660e01b81526004016118669796959493929190614d52565b6000604051808303816000875af1158015611885573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526118ad9190810190614eb6565b9950919550909350915081156119e257604051632eec7b5560e11b8152600481018c90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119469190614b42565b604051638ae9c07b60e01b8152600481018d9052602481018490526001600160a01b038c8116604483015260c06064830152600060c48301528a15156084830152600160a48301529190911690638ae9c07b9060e4016020604051808303816000875af11580156119bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119df9190614b7c565b94505b88851015611a0357604051633dca309360e11b815260040160405180910390fd5b825115611c765760006040518061016001604052808e6001600160a01b031681526020018d81526020018660200151815260200183815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018781526020018c6001600160a01b031681526020018a15158152602001898152602001604051806020016040528060008152508152602001888152509050600084519050611b3e604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b60005b82811015611c7157868181518110611b5b57611b5b614c20565b60209081029190910101519150602080830151608086015190910152604082015161012085015281516001600160a01b0390811690636b204943907f00000000000000000000000000000000000000000000000000000000000000001661eeee14611bc7576000611bcd565b83602001515b866040518363ffffffff1660e01b8152600401611bea91906150d1565b6000604051808303818588803b158015611c0357600080fd5b505af1158015611c17573d6000803e3d6000fd5b505050505081600001516001600160a01b03167f232bbbe420e7bac6f941dc82678daec2b4c712378d91e864b69aab6e26cdd42485846020015133604051611c61939291906150e4565b60405180910390a2600101611b41565b505050505b50505087816000015182602001517f133161f1c9161488f777ab9a26aae91d47c0d9a3fafb398960f138db02c737978c8b8f888b8b33604051611cbf9796959493929190615117565b60405180910390a45098975050505050505050565b336001600160a01b03841614801590611d7d575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611d3a903390879087908790600401615177565b602060405180830381865afa158015611d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7b9190614b5f565b155b8015611e1a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f90611dd790339087906000908790600401615177565b602060405180830381865afa158015611df4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e189190614b5f565b155b156117275760405163075fd2b160e01b815260040160405180910390fd5b60405163c664459760e01b8152600481018790526024810186905260448101859052600090819081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c664459790606401610140604051808303816000875af1158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed991906151a0565b9150915085811015611efe5760405163b01493c160e01b815260040160405180910390fd5b6040516331a9108f60e11b8152600481018a90526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015611f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8a9190614b42565b600254909150600090818115611faa57611fa58d60006131af565b611fb0565b633b9aca005b9050600080611fe78f89602001517f00000000000000000000000000000000000000000000000000000000000000008a8888613323565b92509050633b9aca008314611ffb57908101905b8160000361200a57600061202e565b61202e8f6120258a61010001516001604f9190911c81161490565b84878a886134e3565b9450801561206b57633b9aca0083146120515761204c8185856122eb565b612054565b60005b61205e9082614b2f565b985061206b30878b61171d565b505050508a846000015185602001517fc41a8d26c70cfcf1b9ea10f82482ac947b8be5bea2750bc729af844bbfde1e28858e88878c8f8f336040516120b79897969594939291906151f8565b60405180910390a4505050509695505050505050565b6000546001600160a01b03163314610d6a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016115dc565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015801561218e5750336001600160a01b03851614155b801561222a575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f906121e7903390889088908890600401615177565b602060405180830381865afa158015612204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122289190614b5f565b155b80156122c7575060405163c161c93f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c161c93f9061228490339088906000908890600401615177565b602060405180830381865afa1580156122a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c59190614b5f565b155b156122e55760405163075fd2b160e01b815260040160405180910390fd5b50505050565b6000806122fd8484633b9aca00612842565b6123079085614b2f565b905061231c85633b9aca00611463818561524b565b6123269086614b2f565b9150505b9392505050565b604051630862026560e41b8152600160048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660248301526000917f000000000000000000000000000000000000000000000000000000000000000090911690638620265090604401602060405180830381865afa1580156123c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e79190614b42565b9050806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461243a57600061243c565b855b6001877f0000000000000000000000000000000000000000000000000000000000000000886000808a60405160200161247791815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b81526004016124a8979695949392919061525e565b60206040518083038185885af1935050505080156124e3575060408051601f3d908101601f191682019092526124e091810190614b7c565b60015b612597573d808015612511576040519150601f19603f3d011682016040523d82523d6000602084013e612516565b606091505b5061255383306001600160a01b03851603612532576000612534565b835b306001600160a01b0386160361254b57600061254d565b875b88613660565b6001837f80a889d08f0d59eb962335b57fb1d5b29e86e3d23f15087b5541fddf15422bbe878433604051612589939291906152b6565b60405180910390a3506122e5565b5050505050565b604051632538671560e01b8152600481018990526024810188905260448101879052600090819081906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632538671590606401610140604051808303816000875af115801561261b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263f91906151a0565b91509150878110156126645760405163b01493c160e01b815260040160405180910390fd5b6002546040516331a9108f60e11b8152600481018d90526000919082906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa1580156126d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f69190614b42565b9050600082158061271657503360009081526004602052604090205460ff165b61272a576127258f60016131af565b612730565b633b9aca005b9050633b9aca008114612766576127618f6127588861010001516001604f9190911c81161490565b878686866134e3565b612769565b60005b935083850396508660001461278357612783308c8961171d565b505050508a826000015183602001517f2eeee47c6d8d31c3523c3aa07b4c3e3795db36be4c04546ef3e30a5102f568e18a8e86898d8d8d336040516127cf9897969594939291906152e7565b60405180910390a4505098975050505050505050565b60008282036127f557508261232a565b82821115612823576128078383614b2f565b61281290600a614d1a565b61281c9085615347565b905061232a565b61282d8284614b2f565b61283890600a614d1a565b61281c9085615374565b600080806000198587098587029250828110838203039150508060000361287c578382816128725761287261535e565b049250505061232a565b8381106128a657604051631dcf306360e21b815260048101829052602481018590526044016115dc565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60008361291d576000612927565b61292786866136dd565b90506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663e7c8e3e387612963848961524b565b6040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087803b1580156129a157600080fd5b505af11580156129b5573d6000803e3d6000fd5b50505050857f9ecaf7fc3dfffd6867c175d6e684b1f1e3aef019398ba8db2c1ffab4a09db25386838686336040516129f1959493929190615396565b60405180910390a2505050505050565b60006001600160a01b038416612a2a57604051637ba50db360e11b815260040160405180910390fd5b612a326143c2565b6000806000600254905060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a2df1f958e8e8e8c8c6040518663ffffffff1660e01b8152600401612a929594939291906153e2565b6000604051808303816000875af1158015612ab1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612ad99190810190615421565b6001600160a01b038d16600090815260046020526040902054909b5091985091965090915060ff1680612b295750612710612b1386613b31565b148015612b295750612710612b2786613b4e565b145b80612b32575081155b612b4657612b418c60026131af565b612b4c565b633b9aca005b925089861015612b6f5760405163f896960b60e01b815260040160405180910390fd5b8a15612c7f57604051632eec7b5560e11b8152600481018d90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635dd8f6aa90602401602060405180830381865afa158015612bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfe9190614b42565b604051631665bc0f60e01b81526001600160a01b038f81166004830152602482018f9052604482018e905260a06064830152600060a4830181905260848301529190911690631665bc0f9060c401600060405180830381600087803b158015612c6657600080fd5b505af1158015612c7a573d6000803e3d6000fd5b505050505b805115612fbf5760006040518061014001604052808f6001600160a01b031681526020018e8152602001876020015181526020018d815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018a81526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f0000000000000000000000000000000000000000000000000000000000000000815250815260200160405180608001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602001600081526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f000000000000000000000000000000000000000000000000000000000000000081525081526020018b6001600160a01b031681526020018a8152602001604051806020016040528060008152508152602001898152509050612e35604051806060016040528060006001600160a01b0316815260200160008152602001606081525090565b8251600090815b81811015612fb957858181518110612e5657612e56614c20565b6020026020010151935086600014612e7c57612e778460200151888a6122eb565b612e7f565b60005b92508215612eae576020840151612e96908a61524b565b98508284602001818151612eaa9190614b2f565b9052505b60208085015160a087015190910152604084015161010086015283516001600160a01b0390811690630bf46e59907f00000000000000000000000000000000000000000000000000000000000000001661eeee14612f0d576000612f13565b85602001515b876040518363ffffffff1660e01b8152600401612f3091906155f3565b6000604051808303818588803b158015612f4957600080fd5b505af1158015612f5d573d6000803e3d6000fd5b505050505083600001516001600160a01b03167f6596068545b2541b0aff5579d91f991d0fe5957df8e2082483ef361953e1f9978686602001518633604051612fa99493929190615606565b60405180910390a2600101612e3c565b50505050505b50841561301a576000633b9aca008314612fe357612fde8683856122eb565b612fe6565b60005b9050801561300757612ff8868561524b565b93506130048187614b2f565b95505b851561301857613018308a8861171d565b505b82600003613029576000613038565b6130388b600085848c876134e3565b5050505087816000015182602001517f2be10f2a0203c77d0fcaa9fd6484a8a1d6904de31cd820587f60c1c8c338c8148c898c888b8b336040516130829796959493929190615117565b60405180910390a450979650505050505050565b804710156130e65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016115dc565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613133576040519150601f19603f3d011682016040523d82523d6000602084013e613138565b606091505b50509050806117275760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016115dc565b604051630862026560e41b8152600160048201526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116602483015260009182917f00000000000000000000000000000000000000000000000000000000000000001690638620265090604401602060405180830381865afa158015613241573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132659190614b42565b6001600160a01b03160361327e5750633b9aca00610848565b6003546001600160a01b03161561331a5760035460405163192dd60960e01b81526001600160a01b039091169063192dd609906132c1908690869060040161563e565b602060405180830381865afa9250505080156132fa575060408051601f3d908101601f191682019092526132f791810190614b7c565b60015b61330657506000610848565b633b9aca008111613318579050610848565b505b50600092915050565b6040516369e11cc560e01b81526004810187905260248101869052604481018590526000908190633b9aca009082907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906369e11cc590606401600060405180830381865afa1580156133a3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526133cb9190810190615670565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529192505b82518110156134d15782818151811061342257613422614c20565b60200260200101519150600061343d8a846040015187612842565b9050600061344f848f8e858e8e613b6b565b905080158015906134605750818114155b156134725761346f828861524b565b96505b811561347e57818b039a505b8360400151860395508b8d8f7f0d31ab573f6daa4b1edba8d31973b4ba9f98fbfecc47010c1533eeefd2a1225a878686336040516134bf94939291906157cd565b60405180910390a45050600101613407565b50879450505050965096945050505050565b60006134f08585846122eb565b9050851561360257600087815260016020818152604080842081516080810183528a815263ffffffff808b168286019081528982168386019081526001600160a01b03808d16606086019081528654808b018855968b5297909920935160029095029093019384555192909501805491519451909616600160401b02600160401b600160e01b03199486166401000000000267ffffffffffffffff199092169290951691909117179190911691909117909155518490869089907f77813be0661650ddc1a5193ff2837df4162b251cb432651e2c060c3fc39756be906135f5908790899033909283526001600160a01b03918216602084015216604082015260600190565b60405180910390a4613656565b61360d818489612331565b604080516001600160a01b038516815233602082015260009183918a917fcf0c92a2c6d7c42f488326b0cb900104b99984b6b218db81cd29371364a35251910160405180910390a45b9695505050505050565b60405163e7c8e3e360e01b815260048101859052602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e7c8e3e390604401600060405180830381600087803b1580156136c957600080fd5b505af1158015611569573d6000803e3d6000fd5b600082815260016020908152604080832080548251818502810185019093528083528493849084015b8282101561377357600084815260209081902060408051608081018252600286029092018054835260019081015463ffffffff8082168587015264010000000082041692840192909252600160401b9091046001600160a01b031660608301529083529092019101613706565b50505060008681526001602052604081209293506137929291506143a1565b8051839060005b81811015613ae9578260000361385857600087815260016020526040902084518590839081106137cb576137cb614c20565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559181015191909201805460408401516060909401516001600160a01b0316600160401b02600160401b600160e01b031963ffffffff9586166401000000000267ffffffffffffffff1990931695909416949094171791909116919091179055613ae1565b83818151811061386a5761386a614c20565b60200260200101516000015183106139205783818151811061388e5761388e614c20565b602002602001015160000151830392508381815181106138b0576138b0614c20565b60200260200101516020015163ffffffff16600014806138f65750633b9aca008482815181106138e2576138e2614c20565b60200260200101516040015163ffffffff16145b6139145761390f848281518110610fcb57610fcb614c20565b613917565b60005b85019450613ae1565b6001600088815260200190815260200160002060405180608001604052808587858151811061395157613951614c20565b60200260200101516000015103815260200186848151811061397557613975614c20565b60200260200101516020015163ffffffff16815260200186848151811061399e5761399e614c20565b60200260200101516040015163ffffffff1681526020018684815181106139c7576139c7614c20565b6020908102919091018101516060908101516001600160a01b0390811690935284546001818101875560009687529583902085516002909202019081559184015191909401805460408501519490950151909216600160401b02600160401b600160e01b031963ffffffff9485166401000000000267ffffffffffffffff19909616949092169390931793909317929092161790558351849082908110613a7057613a70614c20565b60200260200101516020015163ffffffff1660001480613ab65750633b9aca00848281518110613aa257613aa2614c20565b60200260200101516040015163ffffffff16145b613ad557613ad083858381518110610fe957610fe9614c20565b613ad8565b60005b85019450600092505b600101613799565b50604080518381523360208201528591879189917f59860d79d97c1fce2be7f987915c631471f4b08f671200463cc40a3380194ffb910160405180910390a450505092915050565b60006028826101000151901c61ffff166127106108489190614b2f565b60006038826101000151901c61ffff166127106108489190614b2f565b60c086015183906001600160a01b031615613e2b57633b9aca008214158015613bb1575060c08701516001600160a01b031660009081526004602052604090205460ff16155b15613bc457613bc18484846122eb565b90035b60006040518060c001604052807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020018381526020017f000000000000000000000000000000000000000000000000000000000000000081526020018881526020018781526020018981525090506060613c558960c00151634eba05fd60e11b6142c9565b15613d88578860c001516001600160a01b0316639d740bfa61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614613caf576000613cb1565b845b846040518363ffffffff1660e01b8152600401613cce9190615802565b6000604051808303818588803b158015613ce757600080fd5b505af193505050508015613cf9575060015b613d83573d808015613d27576040519150601f19603f3d011682016040523d82523d6000602084013e613d2c565b606091505b50805115613d3a5780613d7b565b604051602001613d6b906020808252600d908201526c105b1b1bd8d85d194819985a5b609a1b604082015260600190565b6040516020818303038152906040525b915050613dca565b613dca565b604051602001613db8906020808252600c908201526b12515490cc4d8d4819985a5b60a21b604082015260600190565b60405160208183030381529060405290505b805115613e2457613de1888a60c001518589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a888433604051613e1b9493929190615856565b60405180910390a25b5050613656565b606087015115614286576060870151604051630862026560e41b81526000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638620265091613ebb917f0000000000000000000000000000000000000000000000000000000000000000906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa158015613ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613efc9190614b42565b90506001600160a01b038116613f5e5760009150613f1d8760008088613660565b867f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f800796898733604051613f5193929190615899565b60405180910390a2614280565b6001600160a01b0381163014801590613f7b5750633b9aca008314155b8015613fa057506001600160a01b03811660009081526004602052604090205460ff16155b15613fb557613fb08585856122eb565b820391505b87602001511561413257806001600160a01b0316630cf8e85861eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614010576000614012565b835b8a60600151857f00000000000000000000000000000000000000000000000000000000000000008c60405160200161404c91815260200190565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161407a9493929190614be5565b6000604051808303818588803b15801561409357600080fd5b505af1935050505080156140a5575060015b61412d573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b606091505b506140e588838589613660565b60009250877f290b5df59e172593762964e4f8ed2b4a9192d3197bfd2be4bae123908f8007968a88843360405161411f9493929190615856565b60405180910390a250614280565b614280565b806001600160a01b0316631ebc263f61eeee6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614614183576000614185565b835b60608b015160808c015186907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b03166141c657336141cc565b8d608001515b60008f600001518f6040516020016141e691815260200190565b6040516020818303038152906040526040518963ffffffff1660e01b8152600401614217979695949392919061525e565b60206040518083038185885af193505050508015614252575060408051601f3d908101601f1916820190925261424f91810190614b7c565b60015b613e24573d8080156140d3576040519150601f19603f3d011682016040523d82523d6000602084013e6140d8565b50613656565b633b9aca00821461429f5761429c8484846122eb565b90035b60808701516136569030906001600160a01b03166142bd57336142c3565b88608001515b8361171d565b60006142d4836142e5565b801561232a575061232a8383614318565b60006142f8826301ffc9a760e01b614318565b80156108485750614311826001600160e01b0319614318565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180516001600160e01b03166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d9150600051905082801561438a575060208210155b80156143965750600081115b979650505050505050565b50805460008255600202906000526020600020908101906115ee9190614417565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b03168152602001600081525090565b5b8082111561443e57600081556001810180546001600160e01b0319169055600201614418565b5090565b60006020828403121561445457600080fd5b81356001600160e01b03198116811461232a57600080fd5b6001600160a01b03811681146115ee57600080fd5b60008083601f84011261449357600080fd5b5081356001600160401b038111156144aa57600080fd5b6020830191508360208285010111156144c257600080fd5b9250929050565b600080600080600080600060a0888a0312156144e457600080fd5b873596506020880135955060408801356144fd8161446c565b945060608801356001600160401b038082111561451957600080fd5b6145258b838c01614481565b909650945060808a013591508082111561453e57600080fd5b5061454b8a828b01614481565b989b979a50959850939692959293505050565b60006020828403121561457057600080fd5b813561232a8161446c565b80151581146115ee57600080fd5b6000806000806000806000806000806101008b8d0312156145a957600080fd5b8a35995060208b0135985060408b01356145c28161446c565b975060608b01356145d28161446c565b965060808b0135955060a08b01356145e98161457b565b945060c08b01356001600160401b038082111561460557600080fd5b6146118e838f01614481565b909650945060e08d013591508082111561462a57600080fd5b506146378d828e01614481565b915080935050809150509295989b9194979a5092959850565b6000806040838503121561466357600080fd5b8235915060208301356146758161446c565b809150509250929050565b600080600080600080600060c0888a03121561469b57600080fd5b87359650602088013595506040880135945060608801356146bb8161446c565b93506080880135925060a08801356001600160401b038111156146dd57600080fd5b61454b8a828b01614481565b6000602082840312156146fb57600080fd5b5035919050565b6000806040838503121561471557600080fd5b82356147208161446c565b915060208301356146758161457b565b602080825282518282018190526000919060409081850190868401855b82811015614799578151805185528681015163ffffffff908116888701528682015116868601526060908101516001600160a01b0316908501526080909301929085019060010161474d565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156147df576147df6147a6565b60405290565b604051606081016001600160401b03811182821017156147df576147df6147a6565b60405160e081016001600160401b03811182821017156147df576147df6147a6565b604051601f8201601f191681016001600160401b0381118282101715614851576148516147a6565b604052919050565b60006001600160401b03821115614872576148726147a6565b50601f01601f191660200190565b600082601f83011261489157600080fd5b81356148a461489f82614859565b614829565b8181528460208386010111156148b957600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060006101008a8c0312156148f557600080fd5b8935985060208a0135975060408a0135965060608a01356149158161446c565b955060808a0135945060a08a013561492c8161446c565b935060c08a01356001600160401b038082111561494857600080fd5b6149548d838e01614880565b945060e08c013591508082111561496a57600080fd5b506149778c828d01614481565b915080935050809150509295985092959850929598565b60008060008060008060008060c0898b0312156149aa57600080fd5b883597506020890135965060408901356149c38161446c565b955060608901356149d38161457b565b945060808901356001600160401b03808211156149ef57600080fd5b6149fb8c838d01614481565b909650945060a08b0135915080821115614a1457600080fd5b50614a218b828c01614481565b999c989b5096995094979396929594505050565b60008060408385031215614a4857600080fd5b8235614a538161446c565b946020939093013593505050565b600080600080600080600080610100898b031215614a7e57600080fd5b8835614a898161446c565b975060208901359650604089013595506060890135614aa78161446c565b94506080890135935060a0890135614abe8161446c565b925060c08901356001600160401b0380821115614ada57600080fd5b614ae68c838d01614880565b935060e08b0135915080821115614afc57600080fd5b50614b098b828c01614880565b9150509295985092959890939650565b634e487b7160e01b600052601160045260246000fd5b8181038181111561084857610848614b19565b600060208284031215614b5457600080fd5b815161232a8161446c565b600060208284031215614b7157600080fd5b815161232a8161457b565b600060208284031215614b8e57600080fd5b5051919050565b60005b83811015614bb0578181015183820152602001614b98565b50506000910152565b60008151808452614bd1816020860160208601614b95565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b038316604082015260a06060820152600060a082015260c06080820152600061365660c0830184614bb9565b634e487b7160e01b600052603260045260246000fd5b600181815b80851115614c71578160001904821115614c5757614c57614b19565b80851615614c6457918102915b93841c9390800290614c3b565b509250929050565b600082614c8857506001610848565b81614c9557506000610848565b8160018114614cab5760028114614cb557614cd1565b6001915050610848565b60ff841115614cc657614cc6614b19565b50506001821b610848565b5060208310610133831016604e8410600b8410161715614cf4575081810a610848565b614cfe8383614c36565b8060001904821115614d1257614d12614b19565b029392505050565b600061232a8383614c79565b80516001600160a01b031682526020808201519083015260408082015190830152606090810151910152565b6001600160a01b03888116825260009061014090614d73602085018b614d26565b8860a08501528760c085015280871660e08501525080610100840152614d9b81840186614bb9565b9050828103610120840152614db08185614bb9565b9a9950505050505050505050565b8051614dc98161446c565b919050565b60006101208284031215614de157600080fd5b614de96147bc565b9050815181526020820151602082015260408201516040820152606082015160608201526080820151608082015260a082015160a082015260c082015160c0820152614e3760e08301614dbe565b60e082015261010080830151818301525092915050565b60006001600160401b03821115614e6757614e676147a6565b5060051b60200190565b600082601f830112614e8257600080fd5b8151614e9061489f82614859565b818152846020838601011115614ea557600080fd5b61146f826020830160208701614b95565b6000806000806101808587031215614ecd57600080fd5b614ed78686614dce565b935061012085015192506101408501516001600160401b0380821115614efc57600080fd5b818701915087601f830112614f1057600080fd5b8151614f1e61489f82614e4e565b8082825260208201915060208360051b86010192508a831115614f4057600080fd5b602085015b83811015614fca57805185811115614f5c57600080fd5b86016060818e03601f19011215614f7257600080fd5b614f7a6147e5565b6020820151614f888161446c565b815260408201516020820152606082015187811115614fa657600080fd5b614fb58f602083860101614e71565b60408301525084525060209283019201614f45565b506101608a01519096509350505080821115614fe557600080fd5b50614ff287828801614e71565b91505092959194509250565b80516001600160a01b031682526000610220602083015160208501526040830151604085015260608301516150366060860182614d26565b50608083015161504960e0860182614d26565b5060a083015161016085015260c08301516001600160a01b031661018085015260e083015115156101a08501526101008301516101c0850182905261509082860182614bb9565b9150506101208301518482036101e08601526150ac8282614bb9565b9150506101408301518482036102008601526150c88282614bb9565b95945050505050565b60208152600061232a6020830184614ffe565b6060815260006150f76060830186614ffe565b6020830194909452506001600160a01b0391909116604090910152919050565b600060018060a01b03808a168352808916602084015287604084015286606084015260e0608084015261514d60e0840187614bb9565b83810360a085015261515f8187614bb9565b92505080841660c08401525098975050505050505050565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60008061014083850312156151b457600080fd5b6151be8484614dce565b915061012083015190509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600060018060a01b03808b16835289602084015288604084015287606084015286608084015260e060a084015261523360e0840186886151cf565b915080841660c0840152509998505050505050505050565b8082018082111561084857610848614b19565b878152602081018790526001600160a01b038681166040830152851660608201526080810184905282151560a082015261010060c08201819052600090820181905261012060e08301819052614db081840185614bb9565b8381526060602082015260006152cf6060830185614bb9565b905060018060a01b0383166040830152949350505050565b600060018060a01b03808b16835289602084015288604084015287606084015260e0608084015261531b60e0840188614bb9565b83810360a085015261532e8187896151cf565b92505080841660c0840152509998505050505050505050565b808202811582820484141761084857610848614b19565b634e487b7160e01b600052601260045260246000fd5b60008261539157634e487b7160e01b600052601260045260246000fd5b500490565b85815284602082015260a0604082015260006153b560a0830186614bb9565b82810360608401526153c78186614bb9565b91505060018060a01b03831660808301529695505050505050565b60018060a01b038616815284602082015283604082015260a06060820152600061540f60a0830185614bb9565b8281036080840152610c838185614bb9565b600080600080610180858703121561543857600080fd5b6154428686614dce565b935061012085015192506101408501516001600160401b038082111561546757600080fd5b818701915087601f83011261547b57600080fd5b815161548961489f82614e4e565b8082825260208201915060208360051b86010192508a8311156154ab57600080fd5b602085015b83811015614fca578051858111156154c757600080fd5b86016060818e03601f190112156154dd57600080fd5b6154e56147e5565b60208201516154f38161446c565b81526040820151602082015260608201518781111561551157600080fd5b6155208f602083860101614e71565b604083015250845250602092830192016154b0565b80516001600160a01b03168252600061020060208301516020850152604083015160408501526060830151606085015260808301516155776080860182614d26565b5060a083015161010061558c81870183614d26565b60c08501516001600160a01b031661018087015260e08501516101a0870184905291506155bb83870183614bb9565b9250808501519150508482036101c08601526155d78282614bb9565b9150506101208301518482036101e08601526150c88282614bb9565b60208152600061232a6020830184615535565b6080815260006156196080830187615535565b60208301959095525060408101929092526001600160a01b0316606090910152919050565b828152604081016003831061566357634e487b7160e01b600052602160045260246000fd5b8260208301529392505050565b6000602080838503121561568357600080fd5b82516001600160401b0381111561569957600080fd5b8301601f810185136156aa57600080fd5b80516156b861489f82614e4e565b81815260e091820283018401918482019190888411156156d757600080fd5b938501935b8385101561576d5780858a0312156156f45760008081fd5b6156fc614807565b85516157078161457b565b8152858701516157168161457b565b81880152604086810151908201526060808701519082015260808087015161573d8161446c565b9082015260a0868101519082015260c08087015161575a8161446c565b90820152835293840193918501916156dc565b50979650505050505050565b80511515825260208082015115159083015260408082015190830152606080820151908301526080808201516001600160a01b039081169184019190915260a0808301519084015260c09182015116910152565b61014081016157dc8287615779565b60e08201949094526101008101929092526001600160a01b031661012090910152919050565b81516001600160a01b031681526020808301519082015260408083015190820152606080830151908201526080808301519082015260a08281015161018083019161584f90840182615779565b5092915050565b60006101406158658388615779565b8560e08401528061010084015261587e81840186614bb9565b91505060018060a01b03831661012083015295945050505050565b60006101406158a88387615779565b60e08301949094525061010081018390526012928101929092527115195c9b5a5b985b081b9bdd08199bdd5b9960721b6101608301526001600160a01b03166101208201526101800191905056fea26469706673582212206d4c53773d9fed6493e50bd15d6276b96362c21ab57997281c5ef532f52db6e864736f6c634300081700330000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12da2646970667358221220636195c5f3dea6c00bf28e8165eac5fd0a6279c4a2c9491847a2033d1b9a3e1464736f6c63430008170033","sourceMap":"2767:6615:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4413:3746;;;:::i;:::-;;2170:134:55;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2939:133;;;:::i;2640:141::-;;;:::i;2456:178::-;;;:::i;:::-;;;;;;;:::i;2310:140::-;;;:::i;:::-;;;;;;;:::i;2787:146::-;;;:::i;1875:141::-;;;:::i;1819:584:48:-;;;:::i;:::-;;;3690:14:197;;3683:22;3665:41;;3653:2;3638:18;1819:584:48;3525:187:197;2022:142:55;;;:::i;1572:26:48:-;;;;;;;;;4413:3746:19;4510:21;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4491:16:19;:40;;-1:-1:-1;;;;;;4491:40:19;-1:-1:-1;;;;;4491:40:19;;;;;;;;;4541:54;;;-1:-1:-1;;;4541:54:19;;;;;3929:51:197;;;;3996:18;;;3989:30;4055:2;4035:18;;;4028:30;-1:-1:-1;;;4074:18:197;;;4067:45;-1:-1:-1;;;;;;;;;;;4541:8:19;;;4129:19:197;;4541:54:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4635:16:19;;4620:32;;-1:-1:-1;;;;;4635:16:19;;;;-1:-1:-1;4620:32:19;;-1:-1:-1;4620:32:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4620:32:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4606:11:19;:46;;-1:-1:-1;;;;;;4606:46:19;-1:-1:-1;;;;;4606:46:19;;;;;;;;;4662:44;;;-1:-1:-1;;;4662:44:19;;;;;4604:51:197;;;;4671:18;;;4664:30;4730:2;4710:18;;;4703:30;-1:-1:-1;;;4749:18:197;;;4742:40;-1:-1:-1;;;;;;;;;;;4662:8:19;;;4799:19:197;;4662:44:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4742:13:19;;4729:27;;-1:-1:-1;;;;;4742:13:19;;;;-1:-1:-1;4729:27:19;;-1:-1:-1;4729:27:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4729:27:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4717:9:19;:39;;-1:-1:-1;;;;;;4717:39:19;-1:-1:-1;;;;;4717:39:19;;;;;;;;;4766:40;;;-1:-1:-1;;;4766:40:19;;;;;5249:51:197;;;;5316:18;;;5309:30;5375:1;5355:18;;;5348:29;-1:-1:-1;;;5393:18:197;;;5386:38;-1:-1:-1;;;;;;;;;;;4766:8:19;;;5441:19:197;;4766:40:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4817:30;4850:29;4870:4;4877:1;4850:11;:29::i;:::-;4817:62;;4950:22;4913:61;;;;;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;4913:61:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4890:20:19;:84;;-1:-1:-1;;;;;;4890:84:19;-1:-1:-1;;;;;4890:84:19;;;;;;;;;4984:62;;;-1:-1:-1;;;4984:62:19;;;;;5913:51:197;;;;5980:18;;;5973:30;6039:2;6019:18;;;6012:30;-1:-1:-1;;;6058:18:197;;;6051:49;-1:-1:-1;;;;;;;;;;;4984:8:19;;;6117:19:197;;4984:62:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5095:16:19;;5119:11;;5138:20;;5166:13;;5072:113;;-1:-1:-1;;;;;5095:16:19;;;;-1:-1:-1;5119:11:19;;;;-1:-1:-1;5138:20:19;;;;5166:13;;5072:113;;;:::i;:::-;-1:-1:-1;;;;;6508:15:197;;;6490:34;;6560:15;;;6555:2;6540:18;;6533:43;6612:15;;;6607:2;6592:18;;6585:43;6664:15;;;6659:2;6644:18;;6637:43;6439:3;6424:19;5072:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5057:12:19;:128;;-1:-1:-1;;;;;;5057:128:19;-1:-1:-1;;;;;5057:128:19;;;;;;;;;5195:46;;;-1:-1:-1;;;5195:46:19;;;;;6903:51:197;;;;6970:18;;;6963:30;7029:2;7009:18;;;7002:30;-1:-1:-1;;;7048:18:197;;;7041:41;-1:-1:-1;;;;;;;;;;;5195:8:19;;;7099:19:197;;5195:46:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5315:12:19;;5282:46;;-1:-1:-1;;;;;5315:12:19;;;;-1:-1:-1;5282:46:19;;-1:-1:-1;5282:46:19;:::i;:::-;-1:-1:-1;;;;;4348:32:197;;;4330:51;;4318:2;4303:18;5282:46:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5249:30:19;:79;;-1:-1:-1;;;;;;5249:79:19;-1:-1:-1;;;;;5249:79:19;;;;;;5376:16;;5400:11;;5419:12;;5439:20;;5352:113;;5376:16;;;;5400:11;;;;5419:12;;;;5439:20;;5352:113;;;:::i;:::-;-1:-1:-1;;;;;6508:15:197;;;6490:34;;6560:15;;;6555:2;6540:18;;6533:43;6612:15;;;6607:2;6592:18;;6585:43;6664:15;;;6659:2;6644:18;;6637:43;6439:3;6424:19;5352:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5336:13:19;:129;;-1:-1:-1;;;;;;5336:129:19;-1:-1:-1;;;;;5336:129:19;;;;;;;;;5475:48;;;-1:-1:-1;;;5475:48:19;;;;;8135:51:197;;;;8202:18;;;8195:30;8261:2;8241:18;;;8234:30;-1:-1:-1;;;8280:18:197;;;8273:42;-1:-1:-1;;;;;;;;;;;5475:8:19;;;8332:19:197;;5475:48:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5569:16:19;;5587:11;;5600:12;;5551:62;;-1:-1:-1;;;;;5569:16:19;;;;-1:-1:-1;5587:11:19;;;;-1:-1:-1;5600:12:19;;;;5551:62;;;:::i;:::-;-1:-1:-1;;;;;8686:15:197;;;8668:34;;8738:15;;;8733:2;8718:18;;8711:43;8790:15;;;8785:2;8770:18;;8763:43;8618:2;8603:18;5551:62:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5534:14:19;:79;;-1:-1:-1;;;;;;5534:79:19;-1:-1:-1;;;;;5534:79:19;;;;;;;;;5623:50;;;-1:-1:-1;;;5623:50:19;;;;;9029:51:197;;;;9096:18;;;9089:30;9155:2;9135:18;;;9128:30;-1:-1:-1;;;9174:18:197;;;9167:43;-1:-1:-1;;;;;;;;;;;5623:8:19;;;9227:19:197;;5623:50:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5727:16:19;;5751:11;;5770:12;;5790:20;;5818:13;;5839:14;;5861:30;;5700:197;;-1:-1:-1;;;;;5727:16:19;;;;-1:-1:-1;5751:11:19;;;;-1:-1:-1;5770:12:19;;;;5790:20;;;;5818:13;;;;5839:14;;;;5861:30;;5700:197;;;:::i;:::-;-1:-1:-1;;;;;9806:15:197;;;9788:34;;9858:15;;;9853:2;9838:18;;9831:43;9910:15;;;9905:2;9890:18;;9883:43;9962:15;;;9957:2;9942:18;;9935:43;10015:15;;10009:3;9994:19;;9987:44;10068:15;;9768:3;10047:19;;10040:44;10121:15;;;10115:3;10100:19;;10093:44;9737:3;9722:19;5700:197:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5684:13:19;:213;;-1:-1:-1;;;;;;5684:213:19;-1:-1:-1;;;;;5684:213:19;;;;;;;;;5907:48;;;-1:-1:-1;;;5907:48:19;;;;;10360:51:197;;;;10427:18;;;10420:30;10486:2;10466:18;;;10459:30;-1:-1:-1;;;10505:18:197;;;10498:42;-1:-1:-1;;;;;;;;;;;5907:8:19;;;10557:19:197;;5907:48:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5975:13:19;;5966:23;;-1:-1:-1;;;5966:23:19;;-1:-1:-1;;;;;5975:13:19;;;5966:23;;;4330:51:197;-1:-1:-1;;;;;;;;;;;5966:8:19;-1:-1:-1;5966:8:19;;-1:-1:-1;4303:18:197;;5966:23:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5999:12:19;;6053:13;;5999:75;;-1:-1:-1;;;5999:75:19;;-1:-1:-1;;;;;6053:13:19;;;5999:75;;;10755:51:197;5999:12:19;10822:18:197;;;10815:50;5999:12:19;;;-1:-1:-1;5999:45:19;;-1:-1:-1;10728:18:197;;5999:75:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6161:12:19;;6181:20;;6209:9;;6111:113;;-1:-1:-1;;;;;6161:12:19;;;;-1:-1:-1;6181:20:19;;;;-1:-1:-1;6209:9:19;;;;6111:113;;;:::i;:::-;-1:-1:-1;;;;;8686:15:197;;;8668:34;;8738:15;;;8733:2;8718:18;;8711:43;8790:15;;;8785:2;8770:18;;8763:43;8618:2;8603:18;6111:113:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6085:23:19;:139;;-1:-1:-1;;;;;;6085:139:19;-1:-1:-1;;;;;6085:139:19;;;;;;;;;6234:84;;;-1:-1:-1;;;6234:84:19;;;;;11545:51:197;;;;11612:18;;;11605:30;11671:2;11651:18;;;11644:30;11710:34;11690:18;;;11683:62;-1:-1:-1;;;11761:19:197;;;11754:37;-1:-1:-1;;;;;;;;;;;6234:8:19;;;11808:19:197;;6234:84:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6344:17;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6329:12:19;:32;;-1:-1:-1;;;;;;6329:32:19;-1:-1:-1;;;;;6329:32:19;;;;;;;;;6433:18;;;-1:-1:-1;;;6433:18:19;;;;:16;;:18;;;;;;;;;;;;;;;6329:32;6433:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6459:16;;6483:11;;6502:12;;6522:14;;6544:9;;6569:23;;6601:13;;6396:224;;-1:-1:-1;;;;;6459:16:19;;;;6483:11;;;;6502:12;;;;6522:14;;;;6544:9;;;;6569:23;;;;6601:13;;;;6396:224;;;:::i;:::-;12477:25:197;;;-1:-1:-1;;;;;12576:15:197;;;12571:2;12556:18;;12549:43;12628:15;;;12623:2;12608:18;;12601:43;12680:15;;;12675:2;12660:18;;12653:43;12733:15;;;12727:3;12712:19;;12705:44;12786:15;;12529:3;12765:19;;12758:44;12839:15;;12833:3;12818:19;;12811:44;12892:15;12886:3;12871:19;;12864:44;12464:3;12449:19;6396:224:19;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6372:21:19;:248;;-1:-1:-1;;;;;;6372:248:19;-1:-1:-1;;;;;6372:248:19;;;;;;;;;6630:69;;;-1:-1:-1;;;6630:69:19;;;;;13131:51:197;;;;13198:18;;;13191:30;13257:2;13237:18;;;13230:30;13296:27;13276:18;;;13269:55;-1:-1:-1;;;;;;;;;;;6630:8:19;;;13341:19:197;;6630:69:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6726:21:19;;6710:10;:38;;6726:21;6710:38;;;;;6726:21;6710:38;;;;;;;;-1:-1:-1;;;;;;6710:38:19;-1:-1:-1;;;;;6726:21:19;;;6710:38;;;;;;;6778:53;;;;;;;;;;;;;;;-1:-1:-1;;;6778:53:19;;;;;;;6710:38;6778:53;;;;;;;;-1:-1:-1;6759:16:19;;-1:-1:-1;6759:16:19;;:72;;:16;:72;:::i;:::-;-1:-1:-1;6759:72:19;;;;;;;;;;6850:185;;;;;;;;;6893:2;6850:185;;;6917:15;6850:185;;;;;;6960:9;6850:185;;;;;;-1:-1:-1;6850:185:19;;;;;;;6842:5;:193;;;;;;;;;;;;;;-1:-1:-1;;;;;;6842:193:19;;;7058:802;;7116:168;;;;;7058:802;;;7116:168;;;;;;;;;;;;;;;7058:802;;7312:4;7058:802;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6842:193;7058:802;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;-1:-1:-1;7058:802:19;;;;;;-1:-1:-1;7058:802:19;;;;7046:9;:814;;-1:-1:-1;;7046:814:19;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7046:814:19;;;;;;;7914:12;;7906:32;;-1:-1:-1;;;7906:32:19;;-1:-1:-1;;;;;7914:12:19;;;7046:814;7906:32;;16285:51:197;7928:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7906:7:19;;;16258:18:197;;7906:32:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7956:13:19;;7948:33;;-1:-1:-1;;;7948:33:19;;-1:-1:-1;;;;;7956:13:19;;;7948:33;;;16285:51:197;7971:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7948:7:19;-1:-1:-1;7948:7:19;;-1:-1:-1;16258:18:197;;7948:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7999:7:19;;7991:27;;-1:-1:-1;;;7991:27:19;;-1:-1:-1;;;;;7999:7:19;;;7991:27;;;16285:51:197;8008:9:19;16352:18:197;;;16345:34;-1:-1:-1;;;;;;;;;;;7991:7:19;-1:-1:-1;7991:7:19;;-1:-1:-1;16258:18:197;;7991:27:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8038:13:19;;8029:39;;;-1:-1:-1;;;8029:39:19;;-1:-1:-1;;;;;8038:13:19;;;8029:39;;;16602:51:197;16669:18;;;16662:30;16728:2;16708:18;;;16701:30;-1:-1:-1;;;16747:18:197;;;16740:42;-1:-1:-1;;;;;;;;;;;8029:8:19;-1:-1:-1;8029:8:19;;-1:-1:-1;16799:19:197;;8029:39:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8087:12:19;;8078:37;;;-1:-1:-1;;;8078:37:19;;-1:-1:-1;;;;;8087:12:19;;;8078:37;;;17041:51:197;17108:18;;;17101:30;17167:2;17147:18;;;17140:30;-1:-1:-1;;;17186:18:197;;;17179:41;-1:-1:-1;;;;;;;;;;;8078:8:19;-1:-1:-1;8078:8:19;;-1:-1:-1;17237:19:197;;8078:37:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8134:7:19;;8125:27;;;-1:-1:-1;;;8125:27:19;;-1:-1:-1;;;;;8134:7:19;;;8125:27;;;17479:51:197;17546:18;;;17539:30;17605:1;17585:18;;;17578:29;-1:-1:-1;;;17623:18:197;;;17616:36;-1:-1:-1;;;;;;;;;;;8125:8:19;-1:-1:-1;8125:8:19;;-1:-1:-1;17669:19:197;;8125:27:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4445:3714;4413:3746::o;2170:134:55:-;2217:33;2281:16;2262:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2262:35:55;;;;;;;;;;;;;;;;;;;;;;;2170:134;:::o;2939:133::-;2985:33;3049:16;3030:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3030:35:55;;;;;;;;;;;;;;;;;;;;;;2939:133;:::o;2640:141::-;2688:35;2756:18;2735:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2735:39:55;;;;;;;;;;;;;;;;;;;;;;2640:141;:::o;2456:178::-;2512:48;2601:26;2572:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2572:55:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:178;:::o;2310:140::-;2358:34;2425:18;2404:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2787:146;2835:40;2908:18;2887:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2887:39:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1875:141;1924:34;1991:18;1970:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:48;1873:7;;1853:4;;1873:7;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;-1:-1:-1;;;;;;;;;;;2985:55:48;3066:16;1980:374;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:48;;;16285:51:197;;;-1:-1:-1;;;16352:18:197;;;16345:34;2196:43:48;;;;;;;;;16258:18:197;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;2022:142:55:-;2071:35;2139:18;2118:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2118:39:55;;;;;;;;;;;;;;;;;;;;;;2022:142;:::o;8302:1078:19:-;8379:16;8407:17;8438:6;8448:4;8438:14;8434:794;;8475:67;;-1:-1:-1;;;8475:67:19;;;19180:28:197;-1:-1:-1;;;19224:11:197;;;19217:36;-1:-1:-1;;;;;;19290:2:197;19286:15;;;19282:53;19269:11;;;19262:74;-1:-1:-1;;;19352:12:197;;;19345:37;19398:12;;8475:67:19;;;;;;;;;;;;;8468:74;;8434:794;;;8573:4;8563:6;:14;8559:669;;8600:68;;-1:-1:-1;;;8600:68:19;;;19658:28:197;-1:-1:-1;;;19702:11:197;;;19695:36;-1:-1:-1;;;;;;19768:2:197;19764:15;;;19760:53;19747:11;;;19740:74;19640:3;19848:16;;;-1:-1:-1;;;;;;19844:25:197;19830:12;;;19823:47;19886:12;;8600:68:19;19421:483:197;8559:669:19;8699:4;8689:6;:14;8685:543;;8726:82;;-1:-1:-1;;;8726:82:19;;;20172:28:197;-1:-1:-1;;;20216:11:197;;;20209:36;-1:-1:-1;;;;;;20282:2:197;20278:15;;;20274:53;20261:11;;;20254:74;-1:-1:-1;;;20344:12:197;;;20337:37;20154:3;20408:16;;;-1:-1:-1;;;;;;20404:25:197;20390:12;;;20383:47;20446:12;;8726:82:19;19909:555:197;8685:543:19;8839:6;8829;:16;8825:403;;8868:83;;-1:-1:-1;;;8868:83:19;;;20734:28:197;-1:-1:-1;;;20778:11:197;;;20771:36;-1:-1:-1;;;;;;20844:2:197;20840:15;;;20836:53;20823:11;;;20816:74;-1:-1:-1;;;20906:12:197;;;20899:37;-1:-1:-1;;;;;;20992:3:197;20970:16;;;20966:38;20952:12;;;20945:60;21021:12;;8868:83:19;20469:570:197;8825:403:19;8982:8;8972:6;:18;8968:260;;9013:83;;-1:-1:-1;;;9013:83:19;;;21309:28:197;-1:-1:-1;;;21353:11:197;;;21346:36;-1:-1:-1;;;;;;21419:2:197;21415:15;;;21411:53;21398:11;;;21391:74;-1:-1:-1;;;21481:12:197;;;21474:37;-1:-1:-1;;;;;;21567:3:197;21545:16;;;21541:41;21527:12;;;21520:63;21599:12;;9013:83:19;21044:573:197;8968:260:19;9134:83;;-1:-1:-1;;;9134:83:19;;;21887:28:197;-1:-1:-1;;;21931:11:197;;;21924:36;-1:-1:-1;;;;;;21997:2:197;21993:15;;;21989:53;21976:11;;;21969:74;-1:-1:-1;;;22059:12:197;;;22052:37;-1:-1:-1;;;;;;22145:3:197;22123:16;;;22119:43;22105:12;;;22098:65;22179:12;;9134:83:19;;;;;;;;;;;;9127:90;;8968:260;9252:15;;;;;;;9237:12;9316:15;;;9252;8302:1078;-1:-1:-1;;;8302:1078:19:o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:658:197:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:197;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:197;;14:658;-1:-1:-1;;;;;;14:658:197:o;677:1569::-;881:4;910:2;950;939:9;935:18;980:2;969:9;962:21;1003:6;1038;1032:13;1069:6;1061;1054:22;1095:2;1085:12;;1128:2;1117:9;1113:18;1106:25;;1190:2;1180:6;1177:1;1173:14;1162:9;1158:30;1154:39;1228:2;1220:6;1216:15;1249:1;1270;1280:937;1296:6;1291:3;1288:15;1280:937;;;1365:22;;;-1:-1:-1;;1361:36:197;1349:49;;1421:13;;1508:9;;-1:-1:-1;;;;;1504:35:197;1489:51;;1579:11;;1573:18;1611:15;;;1604:27;;;1692:19;;1461:15;;;1724:24;;;1814:21;;;;1859:1;;1782:2;1770:15;;;1873:236;1889:8;1884:3;1881:17;1873:236;;;1970:15;;-1:-1:-1;;;;;;1966:42:197;1952:57;;2078:17;;;;1917:1;1908:11;;;;;2035:14;;;;1873:236;;;-1:-1:-1;2195:12:197;;;;2132:5;-1:-1:-1;;;2160:15:197;;;;1322:1;1313:11;1280:937;;;-1:-1:-1;2234:6:197;;677:1569;-1:-1:-1;;;;;;;;;677:1569:197:o;2251:250::-;2336:1;2346:113;2360:6;2357:1;2354:13;2346:113;;;2436:11;;;2430:18;2417:11;;;2410:39;2382:2;2375:10;2346:113;;;-1:-1:-1;;2493:1:197;2475:16;;2468:27;2251:250::o;2506:1014::-;2668:4;2697:2;2737;2726:9;2722:18;2767:2;2756:9;2749:21;2790:6;2825;2819:13;2856:6;2848;2841:22;2894:2;2883:9;2879:18;2872:25;;2956:2;2946:6;2943:1;2939:14;2928:9;2924:30;2920:39;2906:53;;2994:2;2986:6;2982:15;3015:1;3025:466;3039:6;3036:1;3033:13;3025:466;;;3104:22;;;-1:-1:-1;;3100:36:197;3088:49;;3160:13;;3202:9;;3224:24;;;3261:74;3202:9;3309:15;;;3296:11;;;3261:74;:::i;:::-;3401:2;3378:17;-1:-1:-1;;3374:31:197;3362:44;;;;3358:53;;;-1:-1:-1;3469:12:197;;;;3434:15;;;;3061:1;3054:9;3025:466;;;-1:-1:-1;3508:6:197;;2506:1014;-1:-1:-1;;;;;;;2506:1014:197:o;11838:184::-;11908:6;11961:2;11949:9;11940:7;11936:23;11932:32;11929:52;;;11977:1;11974;11967:12;11929:52;-1:-1:-1;12000:16:197;;11838:184;-1:-1:-1;11838:184:197:o;13371:127::-;13432:10;13427:3;13423:20;13420:1;13413:31;13463:4;13460:1;13453:15;13487:4;13484:1;13477:15;13503:380;13582:1;13578:12;;;;13625;;;13646:61;;13700:4;13692:6;13688:17;13678:27;;13646:61;13753:2;13745:6;13742:14;13722:18;13719:38;13716:161;;13799:10;13794:3;13790:20;13787:1;13780:31;13834:4;13831:1;13824:15;13862:4;13859:1;13852:15;13716:161;;13503:380;;;:::o;14014:543::-;14116:2;14111:3;14108:11;14105:446;;;14152:1;14176:5;14173:1;14166:16;14220:4;14217:1;14207:18;14290:2;14278:10;14274:19;14271:1;14267:27;14261:4;14257:38;14326:4;14314:10;14311:20;14308:47;;;-1:-1:-1;14349:4:197;14308:47;14404:2;14399:3;14395:12;14392:1;14388:20;14382:4;14378:31;14368:41;;14459:82;14477:2;14470:5;14467:13;14459:82;;;14522:17;;;14503:1;14492:13;14459:82;;;14463:3;;;14105:446;14014:543;;;:::o;14733:1345::-;14859:3;14853:10;14886:18;14878:6;14875:30;14872:56;;;14908:18;;:::i;:::-;14937:97;15027:6;14987:38;15019:4;15013:11;14987:38;:::i;:::-;14981:4;14937:97;:::i;:::-;15089:4;;15146:2;15135:14;;15163:1;15158:663;;;;15865:1;15882:6;15879:89;;;-1:-1:-1;15934:19:197;;;15928:26;15879:89;-1:-1:-1;;14690:1:197;14686:11;;;14682:24;14678:29;14668:40;14714:1;14710:11;;;14665:57;15981:81;;15128:944;;15158:663;13961:1;13954:14;;;13998:4;13985:18;;-1:-1:-1;;15194:20:197;;;15312:236;15326:7;15323:1;15320:14;15312:236;;;15415:19;;;15409:26;15394:42;;15507:27;;;;15475:1;15463:14;;;;15342:19;;15312:236;;;15316:3;15576:6;15567:7;15564:19;15561:201;;;15637:19;;;15631:26;-1:-1:-1;;15720:1:197;15716:14;;;15732:3;15712:24;15708:37;15704:42;15689:58;15674:74;;15561:201;-1:-1:-1;;;;;15808:1:197;15792:14;;;15788:22;15775:36;;-1:-1:-1;14733:1345:197:o;17978:384::-;-1:-1:-1;;;;;;18163:33:197;;18151:46;;18220:13;;18133:3;;18242:74;18220:13;18305:1;18296:11;;18289:4;18277:17;;18242:74;:::i;:::-;18336:16;;;;18354:1;18332:24;;17978:384;-1:-1:-1;;;17978:384:197:o;18367:287::-;18496:3;18534:6;18528:13;18550:66;18609:6;18604:3;18597:4;18589:6;18585:17;18550:66;:::i;:::-;18632:16;;;;;18367:287;-1:-1:-1;;18367:287:197:o;18659:277::-;18726:6;18779:2;18767:9;18758:7;18754:23;18750:32;18747:52;;;18795:1;18792;18785:12;18747:52;18827:9;18821:16;18880:5;18873:13;18866:21;18859:5;18856:32;18846:60;;18902:1;18899;18892:12;18846:60;18925:5;18659:277;-1:-1:-1;;;18659:277:197:o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/forge-test/utils/TestBaseWorkflow.sol\":\"TestBaseWorkflow\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/forge-test/utils/AccessJBLib.sol\":{\"keccak256\":\"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20\",\"dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A\"]},\"contracts/forge-test/utils/TestBaseWorkflow.sol\":{\"keccak256\":\"0x8114830cd0ca4f36113eb68034e21835c59830eab46b637c82c154b942ada2af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b61cb8a481cfa67ddd906bc1129a0d5b1e982b85d2328af93994cd3fd1611de4\",\"dweb:/ipfs/QmTAoWyZCqZbhYGhLjKfw6T3boYUQ27NVbb7ifPPPgqUQS\"]},\"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol\":{\"keccak256\":\"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6\",\"dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]},\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b\",\"dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL\"]},\"lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4\",\"dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1\"]},\"lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a\",\"dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe\"]},\"lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c\",\"dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss\"]},\"lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26\",\"dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9\"]},\"lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140\",\"dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765\",\"dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/forge-std/src/safeconsole.sol\":{\"keccak256\":\"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae\",\"dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol\":{\"keccak256\":\"0x29a372a3721c8481dfb01b0506c9a27cc59fd7eb297cf06b6d21be710d7f44ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c8243c937a9a6b2e0f1606e459a98a72e6f297a378f7850d907e2d60b4c023\",\"dweb:/ipfs/QmUPJC5rfEbtvB7LLpFcdub6jCkTqybwcVuCmH5pAudwMT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol\":{\"keccak256\":\"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25\",\"dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x6f00b764c34a602b541917d75ec8b319bf7acf50664f39a9560a6fb7bdb8025f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b56414ae9707c7387f2bc6d2542ab5fb8b65ccdba84dd9556316137a7bec88a9\",\"dweb:/ipfs/Qmej4cvfidRM2WNTte7YD5ZBFXZxT1Hik22r9QqCKQEypE\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x2df0a5c2a17371ce249dae553a919521d9f3037ae397efb68aac726702097060\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3e0ffb10aad361a333f317677d14e066f0687c04e74571688f970fe181c866f\",\"dweb:/ipfs/QmcpXVD6eh1qtk8gD5etkA4LUydoDPzrXKyLTbwE92ZJBt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x3802f996edd2dee23ae544c84e1302f74fc16f5b2489946a4fdf3997776cf43e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab4827ce92908419f0aa58b3c3675a3dd4036239891c29ca89471506cd8106f8\",\"dweb:/ipfs/Qmb2LzEGFE4qB5HyHcoV7LBfvQYTu7snWsu4CTKxjfdWaQ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol\":{\"keccak256\":\"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff\",\"dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol\":{\"keccak256\":\"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a\",\"dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol\":{\"keccak256\":\"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204\",\"dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol\":{\"keccak256\":\"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84\",\"dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol\":{\"keccak256\":\"0xb0cde3ddcf06733537717094bb426d8817812ade5f5f594da1b3cc54cbfe9263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://690c34e2d30d49b421c8f3d796024cf23c62472c562205ede043fd8cbd6bb908\",\"dweb:/ipfs/QmQLiR7ZmpiXKCy8R6B7iL5iMqmxLWa13Q8E8urvMqX5oa\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol\":{\"keccak256\":\"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9\",\"dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol\":{\"keccak256\":\"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e\",\"dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol\":{\"keccak256\":\"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49\",\"dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol\":{\"keccak256\":\"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7\",\"dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol\":{\"keccak256\":\"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d\",\"dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBPayoutRedemptionPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0x31444dbdd4d29dda4d422027fd78a0421b08c0e12aff8dea715bdf0809bc43db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba29a0a78115ba455278d90a5e76cb7393cea3f9f79a7d5d86347e18ae81ac98\",\"dweb:/ipfs/QmPwsRKdvSaLiEWbBUQ27TvrgAegDvkrinFREtYYGvDPsc\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037\",\"dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol\":{\"keccak256\":\"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7\",\"dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBFeeType.sol\":{\"keccak256\":\"0x02418e9bd3cce5ccf5a76822909558c61672719767bffe16490256268b05cb22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24d241d25943a10291accfce0fa9d8a4ad1176237bef8e328a1e3b865ebfd89c\",\"dweb:/ipfs/QmcefASvSBZ9LWQwfZBxb2H2f4cK6PvMjkxKLtbZEkSAUK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBAllowanceTerminal3_1.sol\":{\"keccak256\":\"0x3d9f7edf01473dd1bf444c2c9c2cae93e5980e17134e77efd50ad1723fa66559\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3d22ea05d6c3b03b1ae23e3884345011a99c9ce4da042ed78284bbeb84361c7\",\"dweb:/ipfs/QmdGV3EMJaS9ZKQZZZkx9zWpV6FXohgXL3rKiMBjJ6ttdj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol\":{\"keccak256\":\"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275\",\"dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol\":{\"keccak256\":\"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de\",\"dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol\":{\"keccak256\":\"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00\",\"dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol\":{\"keccak256\":\"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690\",\"dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol\":{\"keccak256\":\"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd\",\"dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeGauge3_1.sol\":{\"keccak256\":\"0xcf64e4b203422b50c968e890e3cf8621b63014e59dc8be25f13884c316f95266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://923921c604ecb57d8b13cf7e9949aacbdd2d2c08850b69cb4ead73ab325f807b\",\"dweb:/ipfs/QmYTb18tsG5ZdLxBaGas8hnzUVE5AAcqaWDPwfTRFQJaPB\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeHoldingTerminal.sol\":{\"keccak256\":\"0xdda2332beec8a4f7f5ecd45a660b11796516933998b397c5d05ae639b5755454\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://856288123761e160d6ee659585155b7a136a4581b69eadcb12541b20ff2bdf84\",\"dweb:/ipfs/QmQSAHYQD6Q9UJwkBa638rEv8vj1CBZHQqYr1CGeCdfvQj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol\":{\"keccak256\":\"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97\",\"dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol\":{\"keccak256\":\"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42\",\"dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol\":{\"keccak256\":\"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0\",\"dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol\":{\"keccak256\":\"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8\",\"dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol\":{\"keccak256\":\"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf\",\"dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol\":{\"keccak256\":\"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840\",\"dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol\":{\"keccak256\":\"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d\",\"dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol\":{\"keccak256\":\"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a\",\"dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol\":{\"keccak256\":\"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e\",\"dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol\":{\"keccak256\":\"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c\",\"dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1.sol\":{\"keccak256\":\"0xa96558c3623b7a9e71df7a6034af14b9e3bbd34cdc02c9b36136eb1b4b88da00\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41472fcad5acdf751d386a7e85a0279cea3ab43c7eb1d9ba5352a671a9df502b\",\"dweb:/ipfs/QmUiRt1vxG9riG1yYs7Sdo1tK5W8TFUjkgWh95gJNvemEa\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1_1.sol\":{\"keccak256\":\"0xea9dc15d55a24e2b3cc2d3588eebbffc7f17d65ccc330bb0c83fddee600226b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2af25810bd12e836b7700fc3e205fc19b52cee33fb42b33b41b80af3fafbed6d\",\"dweb:/ipfs/QmQ2Rv291PvPqtUE3XVSEbF944j1957gxwfQPNEiwdJyJ9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutTerminal3_1.sol\":{\"keccak256\":\"0x2e0b8c37a451f1723296af656bd4982d4e5339ce76061eb63bb5f57b235bdc44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ed3a9a030a9233bfc68e526b1cd2be7f3a9c2f5952b731205326c859418608d\",\"dweb:/ipfs/QmWV59zh9uWCR7SeMLYT5xR87PhDCXYBY4PBrax9GCPj4o\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol\":{\"keccak256\":\"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a\",\"dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol\":{\"keccak256\":\"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516\",\"dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol\":{\"keccak256\":\"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176\",\"dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol\":{\"keccak256\":\"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e\",\"dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol\":{\"keccak256\":\"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b\",\"dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol\":{\"keccak256\":\"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c\",\"dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol\":{\"keccak256\":\"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592\",\"dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminalStore3_1_1.sol\":{\"keccak256\":\"0xf009c9fb787cda2a18805b9a9e2105c7f1309ade1eac3af229816cfd27ba1d64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2544779507da07b3d9a82a69621e3a21fb3709163524fec6f00c9da7304a258\",\"dweb:/ipfs/QmPuhceYQk5bTecSE1Ew9fdkeV7mSGo3RPA2d2iagCq6JU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol\":{\"keccak256\":\"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32\",\"dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol\":{\"keccak256\":\"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0\",\"dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol\":{\"keccak256\":\"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583\",\"dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol\":{\"keccak256\":\"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1\",\"dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol\":{\"keccak256\":\"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d\",\"dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol\":{\"keccak256\":\"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b\",\"dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol\":{\"keccak256\":\"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84\",\"dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol\":{\"keccak256\":\"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b\",\"dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005\",\"dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol\":{\"keccak256\":\"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d\",\"dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol\":{\"keccak256\":\"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a\",\"dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol\":{\"keccak256\":\"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124\",\"dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol\":{\"keccak256\":\"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b\",\"dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol\":{\"keccak256\":\"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5\",\"dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol\":{\"keccak256\":\"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475\",\"dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol\":{\"keccak256\":\"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef\",\"dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol\":{\"keccak256\":\"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d\",\"dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol\":{\"keccak256\":\"0xd105627d21718704db798df0b958e6223fb2d79854e72cda2bfa9eca0630c1f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75eab0d78ba15569a7c9b4e41b1d498553e293ad2992fde8eb035d8765517ef9\",\"dweb:/ipfs/QmSNnwf675qSSBKuctkiWEEPxi7DivECb36Pw5HwBB5nwo\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol\":{\"keccak256\":\"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f\",\"dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol\":{\"keccak256\":\"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6\",\"dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol\":{\"keccak256\":\"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520\",\"dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol\":{\"keccak256\":\"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1\",\"dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol\":{\"keccak256\":\"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99\",\"dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol\":{\"keccak256\":\"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e\",\"dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol\":{\"keccak256\":\"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe\",\"dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c\",\"dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol\":{\"keccak256\":\"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe\",\"dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol\":{\"keccak256\":\"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5\",\"dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol\":{\"keccak256\":\"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e\",\"dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol\":{\"keccak256\":\"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1\",\"dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol\":{\"keccak256\":\"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217\",\"dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol\":{\"keccak256\":\"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572\",\"dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2\"]},\"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol\":{\"keccak256\":\"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d\",\"dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34\",\"dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15\",\"dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a\",\"dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd\",\"dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a\",\"dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol\":{\"keccak256\":\"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1\",\"dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol\":{\"keccak256\":\"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81\",\"dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol\":{\"keccak256\":\"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd\",\"dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"node_modules/@paulrberg/contracts/math/PRBMath.sol\":{\"keccak256\":\"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47\",\"dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj\"]},\"node_modules/@prb/math/src/Common.sol\":{\"keccak256\":\"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039\",\"dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B\"]},\"node_modules/prb-math/contracts/PRBMath.sol\":{\"keccak256\":\"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b\",\"dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/forge-test/utils/TestBaseWorkflow.sol":"TestBaseWorkflow"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/forge-test/utils/AccessJBLib.sol":{"keccak256":"0xb2ef3fd823bddccb720bb59d7d1071005118c55349d36e215b49703551ad21a7","urls":["bzz-raw://b623c452d452a3d386ef82d7617ce504a90248fe42b7271d25dc9fe6ad207c20","dweb:/ipfs/QmcSya7w6jesExZrnTWw54uwL3M9x197Gco66jReAKc81A"],"license":"MIT"},"contracts/forge-test/utils/TestBaseWorkflow.sol":{"keccak256":"0x8114830cd0ca4f36113eb68034e21835c59830eab46b637c82c154b942ada2af","urls":["bzz-raw://b61cb8a481cfa67ddd906bc1129a0d5b1e982b85d2328af93994cd3fd1611de4","dweb:/ipfs/QmTAoWyZCqZbhYGhLjKfw6T3boYUQ27NVbb7ifPPPgqUQS"],"license":"MIT"},"contracts/structs/JBPayDataSourceFundingCycleMetadata.sol":{"keccak256":"0xfccdc4f3678e99acbe2259658586139caeb2c55ee6e1acbcca457d0291620279","urls":["bzz-raw://944ffb1e98644c99d1d43204c1c9f96904e2eb6cf35550301a8bcd79d7f06ef6","dweb:/ipfs/QmcVhVgKRGT6f9h2QH3Mqqvz54hsNzSyX4WXLS7gHof8pc"],"license":"MIT"},"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"},"lib/forge-std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib/forge-std/src/StdAssertions.sol":{"keccak256":"0x1a0dee4d8b2c81e9318e87dd85ef009467ebf7dba6575530d1fce94d34dbae60","urls":["bzz-raw://ddd790c86ddde1013d1f7a552a80168eacf2e9244077f96799180644ad523a5b","dweb:/ipfs/QmYinBFt9uEVFXP9ytT9CDoNpzWieQVgLWRFRNiypMzJaL"],"license":"MIT"},"lib/forge-std/src/StdChains.sol":{"keccak256":"0xc576f8b81bf19c853baa1fdc23ddc3b9fa1856d5749b01a4f99bed73db7d847d","urls":["bzz-raw://fad0b975990e50941e255397925be1695b1ec06c3649decdbf759f42e49638d4","dweb:/ipfs/QmeeRsbdgzUoPj1GWZZaoTsiEEuSGfjx7MpykgfxcMa1r1"],"license":"MIT"},"lib/forge-std/src/StdCheats.sol":{"keccak256":"0x2e1b4b99283c16efaf155f7e55ea357943cf6e61fc02aad060534349f63b6cd5","urls":["bzz-raw://d471a35903e8a367a145ca5b5955caf691c723fe1117c6dcffd928d9f8d7c95a","dweb:/ipfs/QmXGnFUGiX9APL8xit7NZQEYBoEL3wWyW1YyFoJQd2pGPe"],"license":"MIT"},"lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xf5762db8ef95099bbe77578cd9349511ed77f4dd63ec98cc6b7cd711447830c1","urls":["bzz-raw://a6b0360806a9804eac0f7e07492b5db9c4953c521dabb9a11b17dd610d5b804c","dweb:/ipfs/QmUFozSt3W7drBRdm1cdRow61EABqSLJtkvYZXWmoHUPss"],"license":"MIT"},"lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0x391a28a2e54aea51a6fb03a3a48035304ca4d24bc669ddf3d4c152c7162e514d","urls":["bzz-raw://475fd0d87ccb0fdc4418dea2babffb4adb4aafb817e61f7ef31c2303f10c6c26","dweb:/ipfs/QmQgcgtZxpkW6DRmbJszN1F8mU6zhaTZGdWWsj77yCuWN9"],"license":"MIT"},"lib/forge-std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib/forge-std/src/StdUtils.sol":{"keccak256":"0x8758c42ba9d9e46868b796e2330ac239006ede07bd438a4b36dd6f2c47d27dc1","urls":["bzz-raw://11f5752e0187b1e3631b875efdbe05d45929d05f1c1717105a9115d0a6628140","dweb:/ipfs/QmUKkx9jfsUvjyYBw45RvrW1hTFXDXi2Jv5tbHP86mnzpi"],"license":"MIT"},"lib/forge-std/src/Test.sol":{"keccak256":"0x39b1729d5868c8e94ab8af16751eb500a17fe3870dc627d2b7ddcd5df18d7ad0","urls":["bzz-raw://1568c82aff125cc4b0fc168be9d67ac313f469a3c7405c5493caecaaaecfb765","dweb:/ipfs/QmXByuZReJsdu1jDcxj1FcmpcUnzoBcqybn9kWgDAECWri"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"},"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/forge-std/src/safeconsole.sol":{"keccak256":"0xbaf41fdc6c54297e7cd8250e48b0f20eaac918e342a1028cef3f9a52ac086381","urls":["bzz-raw://a500ad81dea226f9910e6b50f99a9ff930105e393a692cbfb2185e4cdb4424ae","dweb:/ipfs/QmVbUQpXNMmMWRiy4FvBNczzq46BMGfUoBikvSHNiCxVTq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBController3_1.sol":{"keccak256":"0x29a372a3721c8481dfb01b0506c9a27cc59fd7eb297cf06b6d21be710d7f44ad","urls":["bzz-raw://d1c8243c937a9a6b2e0f1606e459a98a72e6f297a378f7850d907e2d60b4c023","dweb:/ipfs/QmUPJC5rfEbtvB7LLpFcdub6jCkTqybwcVuCmH5pAudwMT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBDirectory.sol":{"keccak256":"0xa3e918fbf071d5b8b25a4bd7899afd15504cd5a91b3602e57d7b876e839981fa","urls":["bzz-raw://88a45e3dc8417bcb55e098f8c5facc183cecb682a047fdf2ee432f88e71ffd25","dweb:/ipfs/QmV8LLhZnS1sg2Q5SP3sS4ig3CX4H5e5GhndiKaYuPBryW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBERC20PaymentTerminal3_1_1.sol":{"keccak256":"0x6f00b764c34a602b541917d75ec8b319bf7acf50664f39a9560a6fb7bdb8025f","urls":["bzz-raw://b56414ae9707c7387f2bc6d2542ab5fb8b65ccdba84dd9556316137a7bec88a9","dweb:/ipfs/Qmej4cvfidRM2WNTte7YD5ZBFXZxT1Hik22r9QqCKQEypE"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBETHPaymentTerminal3_1_1.sol":{"keccak256":"0x2df0a5c2a17371ce249dae553a919521d9f3037ae397efb68aac726702097060","urls":["bzz-raw://c3e0ffb10aad361a333f317677d14e066f0687c04e74571688f970fe181c866f","dweb:/ipfs/QmcpXVD6eh1qtk8gD5etkA4LUydoDPzrXKyLTbwE92ZJBt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundAccessConstraintsStore.sol":{"keccak256":"0x3802f996edd2dee23ae544c84e1302f74fc16f5b2489946a4fdf3997776cf43e","urls":["bzz-raw://ab4827ce92908419f0aa58b3c3675a3dd4036239891c29ca89471506cd8106f8","dweb:/ipfs/Qmb2LzEGFE4qB5HyHcoV7LBfvQYTu7snWsu4CTKxjfdWaQ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBFundingCycleStore.sol":{"keccak256":"0x4fa7276b3b9ebfada65b50c39e64e6e78b6dbc64fc53a01d44505b9e79091566","urls":["bzz-raw://b03664f3eb2227d9b30dfccd4d632e543ceff5b681d7e63b6cc5ae7f4d20b3ff","dweb:/ipfs/QmbRbqJMvoDW5wS3FyTATQjPxvuzGki4n1xjVEE3yscspY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBOperatorStore.sol":{"keccak256":"0x9fe73756af398e2fd02c1882c5c421373568e7bbdaa8a480e00147afc087a476","urls":["bzz-raw://0c10f666ea13ee2c8f31f2d2fb043f34ffdaa3da7a37d55b1d212ce5582a509a","dweb:/ipfs/QmX3Rt8EveNtmPCaWVqUd3H6ghfVK2FBKkP9UwuAVdShQL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBPrices.sol":{"keccak256":"0xe0276baa1b0e123c450c20b987b7244b45d7a3d2ecf14678d01d3522bafe7f57","urls":["bzz-raw://8cfff56de70571ab986afe3982b7b01c1b6ce08f13abda2bccc47c9daabcf204","dweb:/ipfs/QmUGHBmbVxcjCx4VaKA59gLNEb8hoYYYr4TaZ2xKjmiaDv"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBProjects.sol":{"keccak256":"0xaead108363cd1c46e4b74eba61e13fafd088c5d245848553769b5a36319d35db","urls":["bzz-raw://a7f1e9374dafcc3a200a7f26b42926bad9df112082774998bab31a9a99bafc84","dweb:/ipfs/QmZ6rJ43apkh9GowWePSyLbSJcaEpszW94iyt38iRYd6oR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSingleTokenPaymentTerminalStore3_1_1.sol":{"keccak256":"0xb0cde3ddcf06733537717094bb426d8817812ade5f5f594da1b3cc54cbfe9263","urls":["bzz-raw://690c34e2d30d49b421c8f3d796024cf23c62472c562205ede043fd8cbd6bb908","dweb:/ipfs/QmQLiR7ZmpiXKCy8R6B7iL5iMqmxLWa13Q8E8urvMqX5oa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBSplitsStore.sol":{"keccak256":"0x74bb3475b2a5855af3a49f2364b1c8f7d0401c3da4d36603a6ee10eb9a31f39f","urls":["bzz-raw://560ef23d0a3e79189c0a82963578d580f19dde2a793099ee4cec2c22b99409c9","dweb:/ipfs/QmfVF15Tvx2G5uxnaaQZXgVNbcGR491AN6zgubYra2aJU2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBToken.sol":{"keccak256":"0x430ba1b6e19550bce6a371e8c43bf20550656b47dd11460a1f16a25f246dc0a6","urls":["bzz-raw://e97c743f09a1c5a9ab8866f1dc25fd5e3505bffffc58e396d5f0a85c7dc2bf8e","dweb:/ipfs/QmSMsuEUr4vc76mtyeEwCr8Xx3rW3XWwTFss4QCs9w5eTG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/JBTokenStore.sol":{"keccak256":"0x58bfcb31f8910489146dbaccbb8574af6e4d5e7c3a86ffb16847ccfa81b90bf0","urls":["bzz-raw://cc42e104fc0cf37d2f4982853d548517234463ec7fc8f627814048cbdb817d49","dweb:/ipfs/QmXvegCnfu7EQFPHN3WHoLC2NULcy5KRbY7e7qitc7U5R8"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBControllerUtility.sol":{"keccak256":"0xf680f17d08916d8e52e42b9c18daee961480c5cd57831926f2cabc9da0592871","urls":["bzz-raw://7929081bdc0ebf1a1aa7ec5efa09fcc2c6190f322fa90d7bb4f0d3e2086cd0d7","dweb:/ipfs/QmQ4KCRjwvT9spXQbp3SSuxxxrAKRvq6hEWYzGppfQV7D2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBOperatable.sol":{"keccak256":"0xed3071b63f3ac427ffcd357a53be2675d405e94e40a7b1bc0475054005807e91","urls":["bzz-raw://863ff322425326c94dcd78390ba4a71e06aedbb75d695b75396c247a7c3c430d","dweb:/ipfs/QmayvC3ScEzb54M7TMDsChPgFeCmyKVtRKhZ9JUNFfoiSB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBPayoutRedemptionPaymentTerminal3_1_1.sol":{"keccak256":"0x31444dbdd4d29dda4d422027fd78a0421b08c0e12aff8dea715bdf0809bc43db","urls":["bzz-raw://ba29a0a78115ba455278d90a5e76cb7393cea3f9f79a7d5d86347e18ae81ac98","dweb:/ipfs/QmPwsRKdvSaLiEWbBUQ27TvrgAegDvkrinFREtYYGvDPsc"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/abstract/JBSingleTokenPaymentTerminal.sol":{"keccak256":"0x27bd0b9e8170f16bc1318d6dee16aa3273e7d8f6cb8b80d7d905d0dce93e307c","urls":["bzz-raw://c1b489b09d1ee0bf2e77fa0a7cca50d2a1b3a1bac4245ab3b0e619c441468037","dweb:/ipfs/Qmce3rTpZvhPX4ykNZr8HuUaafPN5fEsithR4GVeBjzDpd"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBBallotState.sol":{"keccak256":"0x891fcac63470398b3a11239da7feba6b07d640809fcefd2404303b823d7378f8","urls":["bzz-raw://6e6adfceaf284b669a8c1cbcf2da7f18ab31a2d1066f9db8bc914349e7401de7","dweb:/ipfs/QmXLHVRPPZdXUkgAHQbHUtEzAvCJk1P6rJ7wrwfTcfW6fw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/enums/JBFeeType.sol":{"keccak256":"0x02418e9bd3cce5ccf5a76822909558c61672719767bffe16490256268b05cb22","urls":["bzz-raw://24d241d25943a10291accfce0fa9d8a4ad1176237bef8e328a1e3b865ebfd89c","dweb:/ipfs/QmcefASvSBZ9LWQwfZBxb2H2f4cK6PvMjkxKLtbZEkSAUK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBAllowanceTerminal3_1.sol":{"keccak256":"0x3d9f7edf01473dd1bf444c2c9c2cae93e5980e17134e77efd50ad1723fa66559","urls":["bzz-raw://c3d22ea05d6c3b03b1ae23e3884345011a99c9ce4da042ed78284bbeb84361c7","dweb:/ipfs/QmdGV3EMJaS9ZKQZZZkx9zWpV6FXohgXL3rKiMBjJ6ttdj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController.sol":{"keccak256":"0x6ebcb31173eff32f16f2f1fa6979a9dad0d7fac51e34441fafffa5e097ad507f","urls":["bzz-raw://e4fb6514874b591d43baa0d83d5394f7f2c5a35e89bf2a0f630435cb35d87275","dweb:/ipfs/QmcuNSgRqn7o11BZhpynUaY1QMvvt8zFQSiayfVjdNDLLM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_0_1.sol":{"keccak256":"0xf64926bf7ab5850ea9b7ec27d92a021f02344a3fadb0396af80966ad08b3dd2b","urls":["bzz-raw://803da92446a210c66b1226ae88f13b185040ecbd53b292d363e60ac5abaf82de","dweb:/ipfs/Qmb9MWB9bnCakpjokXN9ncEAmVYLctabq3oVt8r8jF7YFW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBController3_1.sol":{"keccak256":"0xe09f3d0d670a40e5d66d3fddc8a63f51b8ccb24175ffbb703ba95496deb85bdb","urls":["bzz-raw://d03b8f7f8f5ba15f428b326fedce6cbcb507668c06dabc5bf2fe363ce0fccb00","dweb:/ipfs/QmfFZuGd8i25KcF9qSJpgBPPRRi8meBbrVT3sFMDN5p7CL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBControllerUtility.sol":{"keccak256":"0xfa8b10aa1c3fa6e462b5146f13b7c8b063fecac96116a32f5471180b3d201db3","urls":["bzz-raw://89a1d39a2bc7f60a471015f108706df26acf6ae73d01ffdd9fc08ed5d6894690","dweb:/ipfs/QmcaEyrrQo2nd5BecL66Ze2LgjqwRrzzSG3qm6W9515nbw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBDirectory.sol":{"keccak256":"0x490d5fe691ee7d9c9179fa19964de279882176513d92f3efc0aa98dc34799d1c","urls":["bzz-raw://0f75001d5c852ac60176b03461b6c07b43b451c3ab1c29fd3a48374e0b2fdcdd","dweb:/ipfs/QmQDbgYJjpNDNe2YJJGMF1jNcDxnLQJ2ZVxmmrbRv8KyS6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeGauge3_1.sol":{"keccak256":"0xcf64e4b203422b50c968e890e3cf8621b63014e59dc8be25f13884c316f95266","urls":["bzz-raw://923921c604ecb57d8b13cf7e9949aacbdd2d2c08850b69cb4ead73ab325f807b","dweb:/ipfs/QmYTb18tsG5ZdLxBaGas8hnzUVE5AAcqaWDPwfTRFQJaPB"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFeeHoldingTerminal.sol":{"keccak256":"0xdda2332beec8a4f7f5ecd45a660b11796516933998b397c5d05ae639b5755454","urls":["bzz-raw://856288123761e160d6ee659585155b7a136a4581b69eadcb12541b20ff2bdf84","dweb:/ipfs/QmQSAHYQD6Q9UJwkBa638rEv8vj1CBZHQqYr1CGeCdfvQj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundAccessConstraintsStore.sol":{"keccak256":"0x82e3daec501e6f4d27ad7b9ab67f449e3cd4ef83a75062cd8b6fbffc17ae634d","urls":["bzz-raw://4d6a24b2e2f5d497f003d556fca29662c2a84babd7f7c7a4abad66f8abb91f97","dweb:/ipfs/QmNVoDzqjJhGykP9ae6PDkZEKZ1xJikmDkYyzrgkkfhCuw"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleBallot.sol":{"keccak256":"0x729b4a700618f890e434d31ef9252e1cce9d0473fe7f8f070872df5b348bed23","urls":["bzz-raw://4ceabd16778c64ac0a61bf6f7e266cdbb31ebbc74291f147eb2bc1ea9c52fb42","dweb:/ipfs/QmbgQJWLzeHGhywhiFqmHAHM6ujohm38c43Pn9s6qQWRNx"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleDataSource3_1_1.sol":{"keccak256":"0xe216214090650d29af2577c7106076b8a5232de6df86035fd206602017b2b7d7","urls":["bzz-raw://1d03c6175d2de49216f04f7fb67709cd200e71651719a0d90bb8dd99462fb8d0","dweb:/ipfs/QmQmWRdqu2GbX4djt2NHbrjvsbe9WpETAPDLth5Po6buwz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBFundingCycleStore.sol":{"keccak256":"0x524350f6c6fcb45eaf927f4e6d13cd2f5029c2b858233bb9a338fe411ce34dab","urls":["bzz-raw://f04900543c6d11c225e1b14fc9a56d797f1d039764cdfeed6d7f65d696542ef8","dweb:/ipfs/QmQGTu7B4BRzq5uPDjQrPezmDdumPmiF5vp26SskkDzkvG"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBMigratable.sol":{"keccak256":"0xdee578477bbb7a66e9a1735e45a7795e95cfd374d85f55b61b3302476844c418","urls":["bzz-raw://2c2319ed0e7d1c7bfcbd5ae59423fc478d8391d2310625448e7509a4935c0acf","dweb:/ipfs/QmQiiJboCX56m9VvfGwuRK3qvVdt3Zfc4NgzY5tY4vSfGq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatable.sol":{"keccak256":"0xe083d0c1b181e5c38cf3f03f97dd782f913710bf8cc54411eb4b6e7ec4c5a0c8","urls":["bzz-raw://05179c1749c2fa1d1f80b02fb7e762b34056d5d5f6226ad572e7269513594840","dweb:/ipfs/QmPhpZsuUPXwFxm9tqmE2jF523MehApdRgVwz9WLpmQHHy"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBOperatorStore.sol":{"keccak256":"0xb6ce539d040601d7e4b1cec567c64d93e5b14d5fa249e04dd67cf222c4431678","urls":["bzz-raw://53e8191663b917b3b09e318cdd0863a26c22e65ebb7873a38ad0c5785776cc1d","dweb:/ipfs/QmYybeqPeJQjEtFUStsnALVUfVGoW5CwfCJAH7t7gN5Dho"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate.sol":{"keccak256":"0x2321bc8e990c5e2cb4236e0ca68e7e556306b6aa3ba10fa19ff018039d6d1a02","urls":["bzz-raw://2c1ef6a0cff76fe2738dfca4c586e0f4be0d5d2955ea48b669d2f5e650540b1a","dweb:/ipfs/QmScCMeyaHQMQDzBhyosGtYjk91KkRsFpnjUEj4z2xCGPz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayDelegate3_1_1.sol":{"keccak256":"0x9448d24cd9c559b44c468c6a76d850f6eaadf31446db903092a2f32503a67294","urls":["bzz-raw://34260a97d33ca38f39c1a94e3a009647d2f66ed72c05865a0123f1d8a143005e","dweb:/ipfs/QmZXcyCKyVZxLNdsCcYcLMt7SmyDCF3L3d1eB5jeBHpDHY"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPaymentTerminal.sol":{"keccak256":"0x273bc1fa373fac08e5635fce7d38fd92e9fabba353568b3f7a5be54c01fe4d27","urls":["bzz-raw://cc095a25121e0f665d8e4ef331a1e9c7e99017411bec3ac9a8bb76046340f77c","dweb:/ipfs/QmbfcURUEoP7mihobZ69VpHwDCZeuhiqPERM1z1mTJRZUT"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1.sol":{"keccak256":"0xa96558c3623b7a9e71df7a6034af14b9e3bbd34cdc02c9b36136eb1b4b88da00","urls":["bzz-raw://41472fcad5acdf751d386a7e85a0279cea3ab43c7eb1d9ba5352a671a9df502b","dweb:/ipfs/QmUiRt1vxG9riG1yYs7Sdo1tK5W8TFUjkgWh95gJNvemEa"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutRedemptionPaymentTerminal3_1_1.sol":{"keccak256":"0xea9dc15d55a24e2b3cc2d3588eebbffc7f17d65ccc330bb0c83fddee600226b5","urls":["bzz-raw://2af25810bd12e836b7700fc3e205fc19b52cee33fb42b33b41b80af3fafbed6d","dweb:/ipfs/QmQ2Rv291PvPqtUE3XVSEbF944j1957gxwfQPNEiwdJyJ9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPayoutTerminal3_1.sol":{"keccak256":"0x2e0b8c37a451f1723296af656bd4982d4e5339ce76061eb63bb5f57b235bdc44","urls":["bzz-raw://9ed3a9a030a9233bfc68e526b1cd2be7f3a9c2f5952b731205326c859418608d","dweb:/ipfs/QmWV59zh9uWCR7SeMLYT5xR87PhDCXYBY4PBrax9GCPj4o"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPriceFeed.sol":{"keccak256":"0x9328b2b52bc112641f3a6167c8cf242831a52c85016ce1310626bdc3489bded7","urls":["bzz-raw://5d13ad10c2022e3a212d4b4d25512723a4051f72b0fff50b4c648554efc2fa3a","dweb:/ipfs/QmR3jkBF9Sxp6dZb4EAQteeEhqKnb15g9wmmyERhs7HeoL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBPrices.sol":{"keccak256":"0xc1623499fa541b15891e27a59288e03360ce78c7933d28bf575b48b68ce4981c","urls":["bzz-raw://2cd406b5cec59fb96d2e51c47ef1c230ac558a4d80246f16c5c7a5d0246c4516","dweb:/ipfs/QmR2axNUT7KPLUhwBTspLnm1C7ZCwP9XeXkWyVc8c1DMfz"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBProjects.sol":{"keccak256":"0x00235f20975e6a9465ac921076c85125a3834e29893f93f93e287a89f9e6b915","urls":["bzz-raw://f5e2f3a47fe0d95439504b4c6e80b76e19301acfe1e2d080b2ea949fafd9c176","dweb:/ipfs/QmNSAJa8XHuDMrg88HJybBhoYUKRC9hQ6ku3C1Dak8Fntg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate.sol":{"keccak256":"0xd70f498197187982962b9e6a5b7572bb6b2c524228a267b01758f7e50a827387","urls":["bzz-raw://56a561020da9dd317aecec2461fda567912393804cd3e05ab605cabb6908e05e","dweb:/ipfs/QmR9yvjLnp3hChN3amj3g8mcefPhQxKNRqCbU1nQKtnLZ7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionDelegate3_1_1.sol":{"keccak256":"0x6034773b78e98902625563bd176a97267e729cb5205d25b06e8a2262b131c0d8","urls":["bzz-raw://de3546775e0add44520b7b767e05975dc162c73712e5dd43630a4f49a942590b","dweb:/ipfs/Qmb6Yz7y1Ux34jdkfweJKVw2tisE1ry4kg9whY3AbV6nNh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBRedemptionTerminal.sol":{"keccak256":"0x5e6bbbfe81a6cc151ca7e7ce603e4adb861ba8eb0bd4a35a9f12e29795b161f5","urls":["bzz-raw://643e5beb24449ad63d5cc57e3658691861b05d72c8466af4c8a2914882861a8c","dweb:/ipfs/QmWJv4Kng935phhQ7XM86299B4uaMvBHFsCEco9mYQQiSC"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminal.sol":{"keccak256":"0x8e00670c66dea368dc523615425c2a79fcee10ec3c3355bf94feb82638172b3f","urls":["bzz-raw://3b479867c09f38e0fba7660d99f971a2d8e1b1c0e46e83e71a8fd7c48f9c4592","dweb:/ipfs/QmVUHeZKaxxs6Esp8kgJUfjSsb1xUBEiLyePRHBRnHaKy7"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSingleTokenPaymentTerminalStore3_1_1.sol":{"keccak256":"0xf009c9fb787cda2a18805b9a9e2105c7f1309ade1eac3af229816cfd27ba1d64","urls":["bzz-raw://c2544779507da07b3d9a82a69621e3a21fb3709163524fec6f00c9da7304a258","dweb:/ipfs/QmPuhceYQk5bTecSE1Ew9fdkeV7mSGo3RPA2d2iagCq6JU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitAllocator.sol":{"keccak256":"0x1643b444409d91858eb86f67abf3d757d2deb3ccd7265eb8e68d6ffdac083de6","urls":["bzz-raw://4c9004fb8a2a80964dd7fd9c62457623948c34b10d9c30c32745232e78377f32","dweb:/ipfs/QmcMePdnc8xypV2y8PBgfVzLWdTLMY89vqPDcfVVGiUqfK"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBSplitsStore.sol":{"keccak256":"0x3ce0eb12f10282481a3bf86e62b368bcff254081088cfabb20353d60cfadbc7a","urls":["bzz-raw://31076aa49dc20a2f4c8cb4363e410ddb06ba93d03c4349599b84075e2822f1f0","dweb:/ipfs/QmP9YQxvpC2zpQKv4BDLwaT6VcZ5Zng8o4iUXbUHWAJ9u1"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBToken.sol":{"keccak256":"0xeefe58d140e4e13f255d5c7c5cdf5ba66dd00835f04015c446ff224f8ad14c34","urls":["bzz-raw://2e6d8e5f18acbf65c8ef3dfae5cd0f5c157f0bfd0ac36d022ebaa94cb463a583","dweb:/ipfs/QmWDRa5e2t8ggGsi428Mkv8rtWHjTkgE5GJRhMKq4YjCbg"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenStore.sol":{"keccak256":"0x4db7bb4fe824dc9bfbc997ea3e07f42be8900bcad4e0b991e726c23c2de84ba4","urls":["bzz-raw://adaa769b2c76c00e3026334ba15942357b0571d93b5f26dff0b121d418f803c1","dweb:/ipfs/QmXCpF6kuyvXxvn9fNYR6ts2cMnc1Mn2MByMYy8d7ga6cU"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/interfaces/IJBTokenUriResolver.sol":{"keccak256":"0xc7c9537184a1a36bc30874e5ac29b0fbccf45a99d40806837cfe30d6d9a1c84a","urls":["bzz-raw://073271efd14bd4aa04735252b095f11406d61f598b5e59c4127596c99079543d","dweb:/ipfs/QmdgeFg6emo3UGXdn8qXDs2dAeVoLpPjd84KoxyjgsFphr"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBConstants.sol":{"keccak256":"0x7f2741e86062c5019f51d7e1a7b192ec1880d7e15a9a1589362ae7424de3003b","urls":["bzz-raw://1e6c18402e4e04b0803f90bbc465feb468daef1160bf9c325e8f777f38f9761b","dweb:/ipfs/QmZPkwfnYoDEMehuwP5z3ikYU4e54ri1xBQurWfcCshkew"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBCurrencies.sol":{"keccak256":"0x7e417ff25c173608ee4fe6d9fc3dcd5e1458c78c889af12bac47b1189a436076","urls":["bzz-raw://92a96ba0dfa74f968db8d5f367c92a8c7e616c70cafab3b6d7f049e43b501e84","dweb:/ipfs/QmdJHS7yVcXjTzN82LjNZp77uzYZPL3951NWit4i36pN7Q"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFixedPointNumber.sol":{"keccak256":"0x18efac48269f3a3bd7e9a1c770776f950e0afa86769e6f8b128002c3b8c6742c","urls":["bzz-raw://35470671def0cc37ae881b4309ecc9de8dd55b45f2d94424992f81756cbccd9b","dweb:/ipfs/Qmf4D16xrCwtvDhHAtjs5U6H7kpXhiMVSp1gaVv5rQ7yNX"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBFundingCycleMetadataResolver.sol":{"keccak256":"0xedb0b93d5578ca5a21ab55f65274e441513bce982b04ffc76f26e627abfbbe0c","urls":["bzz-raw://e24973c08c0dce2677a1207244f74928e0d89fa92cce9b4dc0b18f405ca9e005","dweb:/ipfs/QmeLjGdZHzPEKLNUDz3ohWsNcp2gGMMk9pKTXYXLgPcuMt"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBGlobalFundingCycleMetadataResolver.sol":{"keccak256":"0x8a016001787db05e3bbd442db7eaa3f49f1d3a3210d2b5c6e52254a241f3b161","urls":["bzz-raw://04033d4e4a70e2819f6e8fd2c2da32e9628fa7bc3833ee85294932d1c4131e4d","dweb:/ipfs/QmUj69YzHw6NsxAqq5QHjVgVmZYeqnNBdeyasFqY9cYM79"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBOperations.sol":{"keccak256":"0x7f8e501e6890297f4015b1c27cebdb44fadbf21204bea1f3162f5388c060f690","urls":["bzz-raw://6827d04b543d9579e910703ffe4b97293cad258faab20c52dfb17b905a4b5e9a","dweb:/ipfs/QmUW4NQdubMEd71uAdo7VkDXgTdvmiV9CAMSjk9ozQBfz9"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBSplitsGroups.sol":{"keccak256":"0x4183db6087bd8db645fc3a0d3d8afb0d6356e003650793f63c301ebbbae47269","urls":["bzz-raw://0114af7edb6cdc38cd472fea4e88bb4766c78290ddf97323ee40a4554d541124","dweb:/ipfs/QmYmYmhSDRYKvxQoEBpaSabEiVrz9CV7A9dTCrXP3ZVNov"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/libraries/JBTokens.sol":{"keccak256":"0x9e724a7e65c6d6e01e7f0c1419d750307ed6ce8bc29bbd959e029bcdd4b4e479","urls":["bzz-raw://e9039e94584b5b1aec3b91706691bdd8d78cf2f12e22112be7bfbfe145ad9e2b","dweb:/ipfs/QmdLBkncsv4bY1vgPFe9A1YJ3ZDB6S9CCAPp7btWhHa2dk"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData.sol":{"keccak256":"0x235e117009bfb825d14c5433fa46f777fa512400df74e76290e869d4c3d8b26e","urls":["bzz-raw://7192af2914d823a2cd373e3f1891b93baeb209a404253649f7dcf11adb675cd5","dweb:/ipfs/QmemuCmvk5roww7TBmXpGg2L5fyLSTe6ePLrQ6XMRivpq6"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidPayData3_1_1.sol":{"keccak256":"0x2e659555149ff14c045b749b1d1a3156b8296ab08375ac2abec92afc43bf3acf","urls":["bzz-raw://77123eaa84b6b3fcbedbd9379c6e1182ee89d7c1f0e5b8db20d119964cd3e475","dweb:/ipfs/QmYJDDtxMEgF5evbxDrTmEPjqqhS1pDd3HWdVViPAx7bPD"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData.sol":{"keccak256":"0xee0c3728a39069f5a2a9b25c120739da5cae4c4e6fd0cae371a961a9d1367549","urls":["bzz-raw://a2c5917dbffce329dc06c07904ed63a6f4420e20a704765074a7b5c62790a4ef","dweb:/ipfs/Qma9E9MDgBzTsqhPmuR7JTu6Xfa6WNC8dLBBj15qJFJeQW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBDidRedeemData3_1_1.sol":{"keccak256":"0x23848d41aa179d16e9b7033befd3a855d43f6a009e24030c2ba1bb5b06cb3924","urls":["bzz-raw://3c86b3879ddb123e6911a78be5d15e3ebe3f50394009ff8eb6251d4d337d6f8d","dweb:/ipfs/Qma23jknbjhAgEroYiTqQaj6kAwoVHrGFfjNJzBeCuYmqj"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFee.sol":{"keccak256":"0xd105627d21718704db798df0b958e6223fb2d79854e72cda2bfa9eca0630c1f6","urls":["bzz-raw://75eab0d78ba15569a7c9b4e41b1d498553e293ad2992fde8eb035d8765517ef9","dweb:/ipfs/QmSNnwf675qSSBKuctkiWEEPxi7DivECb36Pw5HwBB5nwo"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundAccessConstraints.sol":{"keccak256":"0xbef975eb73e58c00eaaa7abbd449db545056b049907bb2034aefcdde10bcf11f","urls":["bzz-raw://acc1fc97d791704967811be4df56e8c35ce95f68196045521dcf7524eab2021f","dweb:/ipfs/QmSM1GTWNUeJ1HrhwQ7X9npXZuC59gfvQMXfsXVJESzaMs"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycle.sol":{"keccak256":"0x01d2ee9ae017694097985a08a36421b6801d96badd16e38c6085f3a5ac796ed1","urls":["bzz-raw://5b18199154a7975bb44f2c64541839451220acd33c3a25c025556695bdfcd4d6","dweb:/ipfs/QmW7rTHexjEwmvbgMAS5x2eNfikbVBtZqxPzB78777xFHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleData.sol":{"keccak256":"0x3cd9257969fdd54bee497b01be2c623e33c941306662002b3b88fa0ab8a27db5","urls":["bzz-raw://e2d2583b469a22ab24a575b24c6dc5d074fc0959908cb6fcb1fee0037e53e520","dweb:/ipfs/QmS3xWvnZTW5JwEP9qS2jUUZQGx97kVkM8brfy3NsDJEy2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBFundingCycleMetadata.sol":{"keccak256":"0x477bbd36c94da3f56fac6c8c60b2e2e3c5b8fc557a880b5359980bc556ccd300","urls":["bzz-raw://b0b5858872b0fb3ac81edcaaa69df55cd2cf6d4ec175142fd1aaa8d7fbed71d1","dweb:/ipfs/QmfRQatH7uCFQZWtQij7kPvoz5XfSbZt7QJuUX7Ms9ivZW"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGlobalFundingCycleMetadata.sol":{"keccak256":"0x5f95bce22550c69bb7b1ee17279d51415ae8bae10c5b759c8b88f0b0aba854ed","urls":["bzz-raw://b825a8be39f69c06d43be87bef14d1b9ab94902bccb536a970dccf0105d82e99","dweb:/ipfs/QmXEXqvH6bSx7x92rVSMshxqRVS5Rynrx59V1GsZsWQsxJ"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBGroupedSplits.sol":{"keccak256":"0x71fcdbff5cd055cee8d06b73568c44cedda8f5a2351e7d8ce9dd71d8a1f914a8","urls":["bzz-raw://5df45f11b5d3313ab25c068f4b0ed8a7c927f9a82eb1960036235e91d790cd3e","dweb:/ipfs/Qmdc97Eeer74yZXJNYXkPtynzgMUeXqtbZFDLA6qgFHdyq"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBOperatorData.sol":{"keccak256":"0x77fba183d08748c7b75a12425f987b1b48f6bbfec0284517ffaf261429b45a7c","urls":["bzz-raw://08c870518270a25e8854be56328013c04930c3a641517b097798c0f69ee79cfe","dweb:/ipfs/QmVRVX3D5LkuEhh9ctn95qPiAgJ2SpVtZrtUDYsBF9s2wR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayDelegateAllocation3_1_1.sol":{"keccak256":"0x8d87206a7015af9ec9e5fc059e39bfcea44aa007f8812213c6fd489d0a9c2e17","urls":["bzz-raw://e5c098a8f497ebc98372740f8ebbecc387e661069c08c66a7c5f21961fcec41c","dweb:/ipfs/QmcSraaXpge5a4AW4Xs4wBXN3s1cYSycj7cACxLApSWiQM"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBPayParamsData.sol":{"keccak256":"0xc7909dfe6de88faca33a47a588559c80e14d3d1256f2c17e13f5ea6e23ce8732","urls":["bzz-raw://d6c3b23f49411316c08b24805a964c8000f605ff632bf7c202fc2808937a8afe","dweb:/ipfs/QmeM9SvoNmhL2UFaeTUte1sPRccthhSfS4bqSzf3rpcrTh"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBProjectMetadata.sol":{"keccak256":"0x9545ea42927f3451c9d901a2f7ab7c1aeef3242e5ed2b75521a90225a5a0f891","urls":["bzz-raw://345e020cbe67914c3d804526db23c4f878eb2f106454644a8899fba0815941e5","dweb:/ipfs/Qmd8dJmVebmssCkEsHyytRNTy7KcbmggQ9vqD7i8NwWdHL"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedeemParamsData.sol":{"keccak256":"0x2eada17b425e75bfeffa786dc5b5ef13407b798cc1822597dd0d3389e67e9229","urls":["bzz-raw://5414600cba2385d23fba49dd082f349865f38c9963f09c8a4d778b0f7722473e","dweb:/ipfs/QmPQTxGae21ZqPgCaT8rNK3NaVpMwhMuk357XHGGds12JR"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBRedemptionDelegateAllocation3_1_1.sol":{"keccak256":"0x16d2b586f4591b0d18324f233b4d4a13c6dc687b5f2c5becadbedbbdc373cdc4","urls":["bzz-raw://a50138e2effb7d24a1a851dc83936e330e72021eeae17086b09a45aa2537bdb1","dweb:/ipfs/QmUPAQuydtw8UPdqutb9CFTwCKFbdCLLAQXyxk94eY5top"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplit.sol":{"keccak256":"0x7bf3f79f95cf6211dcdcf5af68ddc963f2304379ea50a5feaf27c645879fe3fe","urls":["bzz-raw://d6a9a86ded01128f50e75bffde831b3e33b4b1497a8392fc0d94f96ef49d6217","dweb:/ipfs/QmShPBn7juPHkyKfV1yQ95nqtW1YSWzecmo37SimFQVxso"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBSplitAllocationData.sol":{"keccak256":"0x85dcbcad02f315a1a3cc44140ffc77fdfbcafed7089eab55ffb66f1bebc2b40b","urls":["bzz-raw://6590d04009ea84209119f72dd0ae9ef1387198ee7fedd935cbbf4d193cb25572","dweb:/ipfs/QmTM9xCRvpASixJr2VqBmZaNHPbAw9KFhHnBgePoCsa1Y2"],"license":"MIT"},"node_modules/@jbx-protocol/juice-contracts-v3/contracts/structs/JBTokenAmount.sol":{"keccak256":"0x9317f1f47aef544de592a48a4b20fa3d54586d988c8bb7420b40076920ea200d","urls":["bzz-raw://2b65390899ff8ce51fd1ea2c8bb260b8da8d1b9693acb5ac44d0c153f32aaa7d","dweb:/ipfs/QmNv2UiAT1gWdW79xqav7F8M6ecwzbmf4opCuquni4Fg4d"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol":{"keccak256":"0xa535a5df777d44e945dd24aa43a11e44b024140fc340ad0dfe42acf4002aade1","urls":["bzz-raw://41319e7f621f2dc3733511332c4fd032f8e32ad2aa7fd6f665c19741d9941a34","dweb:/ipfs/QmcYR3bd862GD1Bc7jwrU9bGxrhUu5na1oP964bDCu2id1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xa56ca923f70c1748830700250b19c61b70db9a683516dc5e216694a50445d99c","urls":["bzz-raw://cac938788bc4be12101e59d45588b4e059579f4e61062e1cda8d6b06c0191b15","dweb:/ipfs/QmV2JKCyjTVH3rkWNrfdJRhAT7tZ3usAN2XcnD4h53Mvih"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0x36c00327e3f9afd929cc2721aaa111ab57eff78a630cc364b279ad576b899295","urls":["bzz-raw://f5bf927f4c8b71a5809be184c3107b915b0445ab2c4a33208331e5376692eb5a","dweb:/ipfs/QmVXirsCY1sf4kodhbL6w3NWZkeZeaMuQB7M6DBAdZNqFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x4e560f86662b6f72ab76122fff53317677154f14bac4a80dbd46a54172b3abfa","urls":["bzz-raw://ca5c2518d247417cb01164f04eff57b7e87b5346bc03478ada916f26117aa7fd","dweb:/ipfs/QmVgK66XGZCiH9x4mhqejKUTujtu68DyE6KrYi6MPuaHRJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca","urls":["bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd","dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xec63854014a5b4f2b3290ab9103a21bdf902a508d0f41a8573fea49e98bf571a","urls":["bzz-raw://bc5b5dc12fbc4002f282eaa7a5f06d8310ed62c1c77c5770f6283e058454c39a","dweb:/ipfs/Qme9rE2wS3yBuyJq9GgbmzbsBQsW2M2sVFqYYLw7bosGrv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol":{"keccak256":"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff","urls":["bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005","dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266","urls":["bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4","dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol":{"keccak256":"0xcff123b20aefb9514e523f287d76ef80e2698e1ef93b1832a9c771f75c89d1c2","urls":["bzz-raw://0ddd49b3f2ce68056fdb59826ba356b8d1b0d98e847c065f9b8d5d484133bcf1","dweb:/ipfs/QmPurnXbXb6RBVYhh3bFTvd9CwLKs4ZkhSAE2Az68iWrsP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9","urls":["bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146","dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/draft-ERC721Votes.sol":{"keccak256":"0x73fda7d6b96b657acbf36817a64ad875a601747798725b0aa68f8652f72dbe29","urls":["bzz-raw://0779655d6b2a1f83a8624a65139410525890fa6320f1bf84e2593ba255b9ef81","dweb:/ipfs/QmPDn1wdShJxaHUk3WQC2jD5drWoCerHoknTGNV6v1vA2T"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol":{"keccak256":"0x5a08ad61f4e82b8a3323562661a86fb10b10190848073fdc13d4ac43710ffba5","urls":["bzz-raw://6f7bb74cf88fd88daa34e118bc6e363381d05044f34f391d39a10c0c9dac3ebd","dweb:/ipfs/QmNbQ3v8v4zuDtg7VeLAbdhAm3tCzUodNoDZZ8ekmCHWZX"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"node_modules/@paulrberg/contracts/math/PRBMath.sol":{"keccak256":"0x42821345981bc0434a90ba2268a2f5278dfe9e38166981d72fc7f3b776a29495","urls":["bzz-raw://92f28eea1e22d4e7998617483eef42d89eb97b364414cf41041c86aa633d3b47","dweb:/ipfs/QmT5entVZFjbb3ZGZZvNAGqtwerCgwjCfN1Qmvf8jKPBXj"],"license":"Unlicense"},"node_modules/@prb/math/src/Common.sol":{"keccak256":"0x70b3a76443312b2c6c500996306a18e3d91e5d56fed0d898d98ca0bfb6225053","urls":["bzz-raw://be75b034b8c27e96b375e862528afb52a2d11e75c4a25918e10d7db31cdec039","dweb:/ipfs/QmQ4L3tvpDx2ophHRAW7Sc52QhVZzn4e5PKTgLwqt32F1B"],"license":"MIT"},"node_modules/prb-math/contracts/PRBMath.sol":{"keccak256":"0xed164c95012964f5e125b5d2b2d00471a4bdee4def618cd1fcf341d196011b61","urls":["bzz-raw://3ba3ad78675323279adfc09038eaa14f4cde3f3173e5d2d60b9c30bf7099aa7b","dweb:/ipfs/QmV56KGJZQG681hwd7JQDv3KjAa9JSGF88ShGx8YBCuvcR"],"license":"Unlicense"}},"version":1},"id":19} \ No newline at end of file diff --git a/out/Vm.sol/Vm.json b/out/Vm.sol/Vm.json index e6b2fe48..e73170cd 100644 --- a/out/Vm.sol/Vm.json +++ b/out/Vm.sol/Vm.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assume(bool)":"4c63e562","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","deal(address,uint256)":"c88a5e6d","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","difficulty(uint256)":"46cc92d9","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectRevert()":"f4844814","expectRevert(bytes)":"f28dceb3","expectRevert(bytes4)":"c31eb0e0","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getLabel(address)":"28a249b0","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","isPersistent(address)":"d92d8efd","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prevrandao(bytes32)":"3b925549","projectRoot()":"d930a0e6","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","resetNonce(address)":"1c72346d","resumeGasMetering()":"2bcd50e0","revertTo(uint256)":"44d7f0a4","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","sign(uint256,bytes32)":"e341eaa4","skip(bool)":"dd82d13e","snapshot()":"9711715a","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","stopBroadcast()":"76eadd36","stopPrank()":"90c5013b","store(address,bytes32,bytes32)":"70ca10bb","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","txGasPrice(uint256)":"48f50c0f","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"accesses","outputs":[{"internalType":"bytes32[]","name":"readSlots","type":"bytes32[]"},{"internalType":"bytes32[]","name":"writeSlots","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"addr","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"allowCheatcodes"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assume"},{"inputs":[{"internalType":"string","name":"char","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[{"internalType":"string","name":"char","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"newChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"chainId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"clearMockedCalls"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"closeFile"},{"inputs":[{"internalType":"address","name":"newCoinbase","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"coinbase"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"createDir"},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"newBalance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deal"},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"newDifficulty","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"difficulty"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes32[]","name":"defaultValue","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"int256[]","name":"defaultValue","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"defaultValue","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"defaultValue","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"defaultValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes[]","name":"defaultValue","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"uint256[]","name":"defaultValue","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"string[]","name":"defaultValue","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes","name":"defaultValue","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32","name":"defaultValue","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"int256","name":"defaultValue","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"address[]","name":"defaultValue","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"defaultValue","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bool[]","name":"defaultValue","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"newRuntimeBytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"etch"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemory"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemoryCall"},{"inputs":[{"internalType":"uint256","name":"newBasefee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"fee"},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"ffi","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"fsMetadata","outputs":[{"internalType":"struct VmSafe.FsMetadata","name":"metadata","type":"tuple","components":[{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"},{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"bool","name":"readOnly","type":"bool"},{"internalType":"uint256","name":"modified","type":"uint256"},{"internalType":"uint256","name":"accessed","type":"uint256"},{"internalType":"uint256","name":"created","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getCode","outputs":[{"internalType":"bytes","name":"creationBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployedCode","outputs":[{"internalType":"bytes","name":"runtimeBytecode","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"getLabel","outputs":[{"internalType":"string","name":"currentLabel","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getRecordedLogs","outputs":[{"internalType":"struct VmSafe.Log[]","name":"logs","type":"tuple[]","components":[{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"emitter","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isPersistent","outputs":[{"internalType":"bool","name":"persistent","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"newLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"label"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"load","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"},{"internalType":"address","name":"account2","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseAddress","outputs":[{"internalType":"address","name":"parsedValue","type":"address"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBool","outputs":[{"internalType":"bool","name":"parsedValue","type":"bool"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes","outputs":[{"internalType":"bytes","name":"parsedValue","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes32","outputs":[{"internalType":"bytes32","name":"parsedValue","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseInt","outputs":[{"internalType":"int256","name":"parsedValue","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseUint","outputs":[{"internalType":"uint256","name":"parsedValue","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseGasMetering"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"bytes32","name":"newPrevrandao","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"prevrandao"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectRoot","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"readCallers","outputs":[{"internalType":"enum VmSafe.CallerMode","name":"callerMode","type":"uint8"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"},{"internalType":"bool","name":"followLinks","type":"bool"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFile","outputs":[{"internalType":"string","name":"data","type":"string"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFileBinary","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readLine","outputs":[{"internalType":"string","name":"line","type":"string"}]},{"inputs":[{"internalType":"string","name":"linkPath","type":"string"}],"stateMutability":"view","type":"function","name":"readLink","outputs":[{"internalType":"string","name":"targetPath","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"record"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recordLogs"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rememberKey","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeDir"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeFile"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"resetNonce"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resumeGasMetering"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertTo","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"uint256","name":"newHeight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"roll"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"string","name":"rpcAlias","type":"string"}],"stateMutability":"view","type":"function","name":"rpcUrl","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrlStructs","outputs":[{"internalType":"struct VmSafe.Rpc[]","name":"urls","type":"tuple[]","components":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"url","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrls","outputs":[{"internalType":"string[2][]","name":"urls","type":"string[2][]"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"selectFork"},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address[]","name":"values","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes[]","name":"values","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string[]","name":"values","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setEnv"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonce"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonceUnsafe"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"skipTest","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"skip"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"snapshot","outputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopPrank"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"store"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"uint256","name":"newGasPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"txGasPrice"},{"inputs":[{"internalType":"uint256","name":"newTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"warp"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeFile"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"writeFileBinary"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeLine"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"activeFork()":{"notice":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Vm.sol":"Vm"},"libraries":{}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":43172,"exportedSymbols":{"Vm":[43171],"VmSafe":[42699]},"nodeType":"SourceUnit","src":"32:33276:62","nodes":[{"id":41646,"nodeType":"PragmaDirective","src":"32:31:62","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":41647,"nodeType":"PragmaDirective","src":"65:33:62","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":42699,"nodeType":"ContractDefinition","src":"571:21124:62","nodes":[{"id":41653,"nodeType":"EnumDefinition","src":"594:122:62","nodes":[],"canonicalName":"VmSafe.CallerMode","members":[{"id":41648,"name":"None","nameLocation":"620:4:62","nodeType":"EnumValue","src":"620:4:62"},{"id":41649,"name":"Broadcast","nameLocation":"634:9:62","nodeType":"EnumValue","src":"634:9:62"},{"id":41650,"name":"RecurrentBroadcast","nameLocation":"653:18:62","nodeType":"EnumValue","src":"653:18:62"},{"id":41651,"name":"Prank","nameLocation":"681:5:62","nodeType":"EnumValue","src":"681:5:62"},{"id":41652,"name":"RecurrentPrank","nameLocation":"696:14:62","nodeType":"EnumValue","src":"696:14:62"}],"name":"CallerMode","nameLocation":"599:10:62"},{"id":41661,"nodeType":"StructDefinition","src":"722:89:62","nodes":[],"canonicalName":"VmSafe.Log","members":[{"constant":false,"id":41656,"mutability":"mutable","name":"topics","nameLocation":"753:6:62","nodeType":"VariableDeclaration","scope":41661,"src":"743:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"743:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41655,"nodeType":"ArrayTypeName","src":"743:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":41658,"mutability":"mutable","name":"data","nameLocation":"775:4:62","nodeType":"VariableDeclaration","scope":41661,"src":"769:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":41657,"name":"bytes","nodeType":"ElementaryTypeName","src":"769:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":41660,"mutability":"mutable","name":"emitter","nameLocation":"797:7:62","nodeType":"VariableDeclaration","scope":41661,"src":"789:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41659,"name":"address","nodeType":"ElementaryTypeName","src":"789:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"729:3:62","scope":42699,"visibility":"public"},{"id":41666,"nodeType":"StructDefinition","src":"817:58:62","nodes":[],"canonicalName":"VmSafe.Rpc","members":[{"constant":false,"id":41663,"mutability":"mutable","name":"key","nameLocation":"845:3:62","nodeType":"VariableDeclaration","scope":41666,"src":"838:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41662,"name":"string","nodeType":"ElementaryTypeName","src":"838:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41665,"mutability":"mutable","name":"url","nameLocation":"865:3:62","nodeType":"VariableDeclaration","scope":41666,"src":"858:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41664,"name":"string","nodeType":"ElementaryTypeName","src":"858:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"824:3:62","scope":42699,"visibility":"public"},{"id":41677,"nodeType":"StructDefinition","src":"881:139:62","nodes":[],"canonicalName":"VmSafe.DirEntry","members":[{"constant":false,"id":41668,"mutability":"mutable","name":"errorMessage","nameLocation":"914:12:62","nodeType":"VariableDeclaration","scope":41677,"src":"907:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41667,"name":"string","nodeType":"ElementaryTypeName","src":"907:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41670,"mutability":"mutable","name":"path","nameLocation":"943:4:62","nodeType":"VariableDeclaration","scope":41677,"src":"936:11:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":41669,"name":"string","nodeType":"ElementaryTypeName","src":"936:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41672,"mutability":"mutable","name":"depth","nameLocation":"964:5:62","nodeType":"VariableDeclaration","scope":41677,"src":"957:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":41671,"name":"uint64","nodeType":"ElementaryTypeName","src":"957:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":41674,"mutability":"mutable","name":"isDir","nameLocation":"984:5:62","nodeType":"VariableDeclaration","scope":41677,"src":"979:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41673,"name":"bool","nodeType":"ElementaryTypeName","src":"979:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41676,"mutability":"mutable","name":"isSymlink","nameLocation":"1004:9:62","nodeType":"VariableDeclaration","scope":41677,"src":"999:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41675,"name":"bool","nodeType":"ElementaryTypeName","src":"999:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"888:8:62","scope":42699,"visibility":"public"},{"id":41692,"nodeType":"StructDefinition","src":"1026:193:62","nodes":[],"canonicalName":"VmSafe.FsMetadata","members":[{"constant":false,"id":41679,"mutability":"mutable","name":"isDir","nameLocation":"1059:5:62","nodeType":"VariableDeclaration","scope":41692,"src":"1054:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41678,"name":"bool","nodeType":"ElementaryTypeName","src":"1054:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41681,"mutability":"mutable","name":"isSymlink","nameLocation":"1079:9:62","nodeType":"VariableDeclaration","scope":41692,"src":"1074:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41680,"name":"bool","nodeType":"ElementaryTypeName","src":"1074:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41683,"mutability":"mutable","name":"length","nameLocation":"1106:6:62","nodeType":"VariableDeclaration","scope":41692,"src":"1098:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41682,"name":"uint256","nodeType":"ElementaryTypeName","src":"1098:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41685,"mutability":"mutable","name":"readOnly","nameLocation":"1127:8:62","nodeType":"VariableDeclaration","scope":41692,"src":"1122:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41684,"name":"bool","nodeType":"ElementaryTypeName","src":"1122:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":41687,"mutability":"mutable","name":"modified","nameLocation":"1153:8:62","nodeType":"VariableDeclaration","scope":41692,"src":"1145:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41686,"name":"uint256","nodeType":"ElementaryTypeName","src":"1145:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41689,"mutability":"mutable","name":"accessed","nameLocation":"1179:8:62","nodeType":"VariableDeclaration","scope":41692,"src":"1171:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41688,"name":"uint256","nodeType":"ElementaryTypeName","src":"1171:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41691,"mutability":"mutable","name":"created","nameLocation":"1205:7:62","nodeType":"VariableDeclaration","scope":41692,"src":"1197:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41690,"name":"uint256","nodeType":"ElementaryTypeName","src":"1197:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"1033:10:62","scope":42699,"visibility":"public"},{"id":41701,"nodeType":"FunctionDefinition","src":"1269:81:62","nodes":[],"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"1278:4:62","parameters":{"id":41697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41694,"mutability":"mutable","name":"target","nameLocation":"1291:6:62","nodeType":"VariableDeclaration","scope":41701,"src":"1283:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41693,"name":"address","nodeType":"ElementaryTypeName","src":"1283:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":41696,"mutability":"mutable","name":"slot","nameLocation":"1307:4:62","nodeType":"VariableDeclaration","scope":41701,"src":"1299:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41695,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1299:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1282:30:62"},"returnParameters":{"id":41700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41699,"mutability":"mutable","name":"data","nameLocation":"1344:4:62","nodeType":"VariableDeclaration","scope":41701,"src":"1336:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41698,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1336:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1335:14:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41714,"nodeType":"FunctionDefinition","src":"1373:104:62","nodes":[],"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"1382:4:62","parameters":{"id":41706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41703,"mutability":"mutable","name":"privateKey","nameLocation":"1395:10:62","nodeType":"VariableDeclaration","scope":41714,"src":"1387:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41702,"name":"uint256","nodeType":"ElementaryTypeName","src":"1387:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":41705,"mutability":"mutable","name":"digest","nameLocation":"1415:6:62","nodeType":"VariableDeclaration","scope":41714,"src":"1407:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41704,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1407:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1386:36:62"},"returnParameters":{"id":41713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41708,"mutability":"mutable","name":"v","nameLocation":"1452:1:62","nodeType":"VariableDeclaration","scope":41714,"src":"1446:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":41707,"name":"uint8","nodeType":"ElementaryTypeName","src":"1446:5:62","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":41710,"mutability":"mutable","name":"r","nameLocation":"1463:1:62","nodeType":"VariableDeclaration","scope":41714,"src":"1455:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41709,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1455:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":41712,"mutability":"mutable","name":"s","nameLocation":"1474:1:62","nodeType":"VariableDeclaration","scope":41714,"src":"1466:9:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41711,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1466:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1445:31:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":41721,"nodeType":"FunctionDefinition","src":"1530:74:62","nodes":[],"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"1539:4:62","parameters":{"id":41717,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41716,"mutability":"mutable","name":"privateKey","nameLocation":"1552:10:62","nodeType":"VariableDeclaration","scope":41721,"src":"1544:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41715,"name":"uint256","nodeType":"ElementaryTypeName","src":"1544:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1543:20:62"},"returnParameters":{"id":41720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41719,"mutability":"mutable","name":"keyAddr","nameLocation":"1595:7:62","nodeType":"VariableDeclaration","scope":41721,"src":"1587:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41718,"name":"address","nodeType":"ElementaryTypeName","src":"1587:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1586:17:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":41728,"nodeType":"FunctionDefinition","src":"1645:72:62","nodes":[],"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"1654:8:62","parameters":{"id":41724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41723,"mutability":"mutable","name":"account","nameLocation":"1671:7:62","nodeType":"VariableDeclaration","scope":41728,"src":"1663:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41722,"name":"address","nodeType":"ElementaryTypeName","src":"1663:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1662:17:62"},"returnParameters":{"id":41727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41726,"mutability":"mutable","name":"nonce","nameLocation":"1710:5:62","nodeType":"VariableDeclaration","scope":41728,"src":"1703:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":41725,"name":"uint64","nodeType":"ElementaryTypeName","src":"1703:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"1702:14:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41736,"nodeType":"FunctionDefinition","src":"1779:84:62","nodes":[],"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"1788:3:62","parameters":{"id":41732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41731,"mutability":"mutable","name":"commandInput","nameLocation":"1810:12:62","nodeType":"VariableDeclaration","scope":41736,"src":"1792:30:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":41729,"name":"string","nodeType":"ElementaryTypeName","src":"1792:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":41730,"nodeType":"ArrayTypeName","src":"1792:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"1791:32:62"},"returnParameters":{"id":41735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41734,"mutability":"mutable","name":"result","nameLocation":"1855:6:62","nodeType":"VariableDeclaration","scope":41736,"src":"1842:19:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41733,"name":"bytes","nodeType":"ElementaryTypeName","src":"1842:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1841:21:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41743,"nodeType":"FunctionDefinition","src":"1902:70:62","nodes":[],"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"1911:6:62","parameters":{"id":41741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41738,"mutability":"mutable","name":"name","nameLocation":"1934:4:62","nodeType":"VariableDeclaration","scope":41743,"src":"1918:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41737,"name":"string","nodeType":"ElementaryTypeName","src":"1918:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41740,"mutability":"mutable","name":"value","nameLocation":"1956:5:62","nodeType":"VariableDeclaration","scope":41743,"src":"1940:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41739,"name":"string","nodeType":"ElementaryTypeName","src":"1940:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1917:45:62"},"returnParameters":{"id":41742,"nodeType":"ParameterList","parameters":[],"src":"1971:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41750,"nodeType":"FunctionDefinition","src":"2031:74:62","nodes":[],"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"2040:7:62","parameters":{"id":41746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41745,"mutability":"mutable","name":"name","nameLocation":"2064:4:62","nodeType":"VariableDeclaration","scope":41750,"src":"2048:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41744,"name":"string","nodeType":"ElementaryTypeName","src":"2048:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2047:22:62"},"returnParameters":{"id":41749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41748,"mutability":"mutable","name":"value","nameLocation":"2098:5:62","nodeType":"VariableDeclaration","scope":41750,"src":"2093:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41747,"name":"bool","nodeType":"ElementaryTypeName","src":"2093:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2092:12:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41757,"nodeType":"FunctionDefinition","src":"2110:77:62","nodes":[],"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"2119:7:62","parameters":{"id":41753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41752,"mutability":"mutable","name":"name","nameLocation":"2143:4:62","nodeType":"VariableDeclaration","scope":41757,"src":"2127:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41751,"name":"string","nodeType":"ElementaryTypeName","src":"2127:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2126:22:62"},"returnParameters":{"id":41756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41755,"mutability":"mutable","name":"value","nameLocation":"2180:5:62","nodeType":"VariableDeclaration","scope":41757,"src":"2172:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41754,"name":"uint256","nodeType":"ElementaryTypeName","src":"2172:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2171:15:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41764,"nodeType":"FunctionDefinition","src":"2192:75:62","nodes":[],"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"2201:6:62","parameters":{"id":41760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41759,"mutability":"mutable","name":"name","nameLocation":"2224:4:62","nodeType":"VariableDeclaration","scope":41764,"src":"2208:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41758,"name":"string","nodeType":"ElementaryTypeName","src":"2208:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2207:22:62"},"returnParameters":{"id":41763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41762,"mutability":"mutable","name":"value","nameLocation":"2260:5:62","nodeType":"VariableDeclaration","scope":41764,"src":"2253:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":41761,"name":"int256","nodeType":"ElementaryTypeName","src":"2253:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2252:14:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41771,"nodeType":"FunctionDefinition","src":"2272:80:62","nodes":[],"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"2281:10:62","parameters":{"id":41767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41766,"mutability":"mutable","name":"name","nameLocation":"2308:4:62","nodeType":"VariableDeclaration","scope":41771,"src":"2292:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41765,"name":"string","nodeType":"ElementaryTypeName","src":"2292:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2291:22:62"},"returnParameters":{"id":41770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41769,"mutability":"mutable","name":"value","nameLocation":"2345:5:62","nodeType":"VariableDeclaration","scope":41771,"src":"2337:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41768,"name":"address","nodeType":"ElementaryTypeName","src":"2337:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2336:15:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41778,"nodeType":"FunctionDefinition","src":"2357:80:62","nodes":[],"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"2366:10:62","parameters":{"id":41774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41773,"mutability":"mutable","name":"name","nameLocation":"2393:4:62","nodeType":"VariableDeclaration","scope":41778,"src":"2377:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41772,"name":"string","nodeType":"ElementaryTypeName","src":"2377:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2376:22:62"},"returnParameters":{"id":41777,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41776,"mutability":"mutable","name":"value","nameLocation":"2430:5:62","nodeType":"VariableDeclaration","scope":41778,"src":"2422:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41775,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2422:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2421:15:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41785,"nodeType":"FunctionDefinition","src":"2442:85:62","nodes":[],"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"2451:9:62","parameters":{"id":41781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41780,"mutability":"mutable","name":"name","nameLocation":"2477:4:62","nodeType":"VariableDeclaration","scope":41785,"src":"2461:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41779,"name":"string","nodeType":"ElementaryTypeName","src":"2461:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2460:22:62"},"returnParameters":{"id":41784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41783,"mutability":"mutable","name":"value","nameLocation":"2520:5:62","nodeType":"VariableDeclaration","scope":41785,"src":"2506:19:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41782,"name":"string","nodeType":"ElementaryTypeName","src":"2506:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2505:21:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41792,"nodeType":"FunctionDefinition","src":"2532:83:62","nodes":[],"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"2541:8:62","parameters":{"id":41788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41787,"mutability":"mutable","name":"name","nameLocation":"2566:4:62","nodeType":"VariableDeclaration","scope":41792,"src":"2550:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41786,"name":"string","nodeType":"ElementaryTypeName","src":"2550:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2549:22:62"},"returnParameters":{"id":41791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41790,"mutability":"mutable","name":"value","nameLocation":"2608:5:62","nodeType":"VariableDeclaration","scope":41792,"src":"2595:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41789,"name":"bytes","nodeType":"ElementaryTypeName","src":"2595:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2594:20:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41802,"nodeType":"FunctionDefinition","src":"2665:106:62","nodes":[],"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"2674:7:62","parameters":{"id":41797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41794,"mutability":"mutable","name":"name","nameLocation":"2698:4:62","nodeType":"VariableDeclaration","scope":41802,"src":"2682:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41793,"name":"string","nodeType":"ElementaryTypeName","src":"2682:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41796,"mutability":"mutable","name":"delim","nameLocation":"2720:5:62","nodeType":"VariableDeclaration","scope":41802,"src":"2704:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41795,"name":"string","nodeType":"ElementaryTypeName","src":"2704:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2681:45:62"},"returnParameters":{"id":41801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41800,"mutability":"mutable","name":"value","nameLocation":"2764:5:62","nodeType":"VariableDeclaration","scope":41802,"src":"2750:19:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":41798,"name":"bool","nodeType":"ElementaryTypeName","src":"2750:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41799,"nodeType":"ArrayTypeName","src":"2750:6:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"2749:21:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41812,"nodeType":"FunctionDefinition","src":"2776:109:62","nodes":[],"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"2785:7:62","parameters":{"id":41807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41804,"mutability":"mutable","name":"name","nameLocation":"2809:4:62","nodeType":"VariableDeclaration","scope":41812,"src":"2793:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41803,"name":"string","nodeType":"ElementaryTypeName","src":"2793:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41806,"mutability":"mutable","name":"delim","nameLocation":"2831:5:62","nodeType":"VariableDeclaration","scope":41812,"src":"2815:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41805,"name":"string","nodeType":"ElementaryTypeName","src":"2815:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2792:45:62"},"returnParameters":{"id":41811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41810,"mutability":"mutable","name":"value","nameLocation":"2878:5:62","nodeType":"VariableDeclaration","scope":41812,"src":"2861:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":41808,"name":"uint256","nodeType":"ElementaryTypeName","src":"2861:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41809,"nodeType":"ArrayTypeName","src":"2861:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2860:24:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41822,"nodeType":"FunctionDefinition","src":"2890:107:62","nodes":[],"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"2899:6:62","parameters":{"id":41817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41814,"mutability":"mutable","name":"name","nameLocation":"2922:4:62","nodeType":"VariableDeclaration","scope":41822,"src":"2906:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41813,"name":"string","nodeType":"ElementaryTypeName","src":"2906:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41816,"mutability":"mutable","name":"delim","nameLocation":"2944:5:62","nodeType":"VariableDeclaration","scope":41822,"src":"2928:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41815,"name":"string","nodeType":"ElementaryTypeName","src":"2928:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2905:45:62"},"returnParameters":{"id":41821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41820,"mutability":"mutable","name":"value","nameLocation":"2990:5:62","nodeType":"VariableDeclaration","scope":41822,"src":"2974:21:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":41818,"name":"int256","nodeType":"ElementaryTypeName","src":"2974:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":41819,"nodeType":"ArrayTypeName","src":"2974:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"2973:23:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41832,"nodeType":"FunctionDefinition","src":"3002:112:62","nodes":[],"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"3011:10:62","parameters":{"id":41827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41824,"mutability":"mutable","name":"name","nameLocation":"3038:4:62","nodeType":"VariableDeclaration","scope":41832,"src":"3022:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41823,"name":"string","nodeType":"ElementaryTypeName","src":"3022:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41826,"mutability":"mutable","name":"delim","nameLocation":"3060:5:62","nodeType":"VariableDeclaration","scope":41832,"src":"3044:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41825,"name":"string","nodeType":"ElementaryTypeName","src":"3044:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3021:45:62"},"returnParameters":{"id":41831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41830,"mutability":"mutable","name":"value","nameLocation":"3107:5:62","nodeType":"VariableDeclaration","scope":41832,"src":"3090:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":41828,"name":"address","nodeType":"ElementaryTypeName","src":"3090:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41829,"nodeType":"ArrayTypeName","src":"3090:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"3089:24:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41842,"nodeType":"FunctionDefinition","src":"3119:112:62","nodes":[],"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"3128:10:62","parameters":{"id":41837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41834,"mutability":"mutable","name":"name","nameLocation":"3155:4:62","nodeType":"VariableDeclaration","scope":41842,"src":"3139:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41833,"name":"string","nodeType":"ElementaryTypeName","src":"3139:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41836,"mutability":"mutable","name":"delim","nameLocation":"3177:5:62","nodeType":"VariableDeclaration","scope":41842,"src":"3161:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41835,"name":"string","nodeType":"ElementaryTypeName","src":"3161:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3138:45:62"},"returnParameters":{"id":41841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41840,"mutability":"mutable","name":"value","nameLocation":"3224:5:62","nodeType":"VariableDeclaration","scope":41842,"src":"3207:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3207:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41839,"nodeType":"ArrayTypeName","src":"3207:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"3206:24:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41852,"nodeType":"FunctionDefinition","src":"3236:110:62","nodes":[],"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"3245:9:62","parameters":{"id":41847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41844,"mutability":"mutable","name":"name","nameLocation":"3271:4:62","nodeType":"VariableDeclaration","scope":41852,"src":"3255:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41843,"name":"string","nodeType":"ElementaryTypeName","src":"3255:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41846,"mutability":"mutable","name":"delim","nameLocation":"3293:5:62","nodeType":"VariableDeclaration","scope":41852,"src":"3277:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41845,"name":"string","nodeType":"ElementaryTypeName","src":"3277:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3254:45:62"},"returnParameters":{"id":41851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41850,"mutability":"mutable","name":"value","nameLocation":"3339:5:62","nodeType":"VariableDeclaration","scope":41852,"src":"3323:21:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":41848,"name":"string","nodeType":"ElementaryTypeName","src":"3323:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":41849,"nodeType":"ArrayTypeName","src":"3323:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"3322:23:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41862,"nodeType":"FunctionDefinition","src":"3351:108:62","nodes":[],"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"3360:8:62","parameters":{"id":41857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41854,"mutability":"mutable","name":"name","nameLocation":"3385:4:62","nodeType":"VariableDeclaration","scope":41862,"src":"3369:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41853,"name":"string","nodeType":"ElementaryTypeName","src":"3369:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41856,"mutability":"mutable","name":"delim","nameLocation":"3407:5:62","nodeType":"VariableDeclaration","scope":41862,"src":"3391:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41855,"name":"string","nodeType":"ElementaryTypeName","src":"3391:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3368:45:62"},"returnParameters":{"id":41861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41860,"mutability":"mutable","name":"value","nameLocation":"3452:5:62","nodeType":"VariableDeclaration","scope":41862,"src":"3437:20:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":41858,"name":"bytes","nodeType":"ElementaryTypeName","src":"3437:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":41859,"nodeType":"ArrayTypeName","src":"3437:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"3436:22:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":41871,"nodeType":"FunctionDefinition","src":"3517:86:62","nodes":[],"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3526:5:62","parameters":{"id":41867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41864,"mutability":"mutable","name":"name","nameLocation":"3548:4:62","nodeType":"VariableDeclaration","scope":41871,"src":"3532:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41863,"name":"string","nodeType":"ElementaryTypeName","src":"3532:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41866,"mutability":"mutable","name":"defaultValue","nameLocation":"3559:12:62","nodeType":"VariableDeclaration","scope":41871,"src":"3554:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41865,"name":"bool","nodeType":"ElementaryTypeName","src":"3554:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3531:41:62"},"returnParameters":{"id":41870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41869,"mutability":"mutable","name":"value","nameLocation":"3596:5:62","nodeType":"VariableDeclaration","scope":41871,"src":"3591:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":41868,"name":"bool","nodeType":"ElementaryTypeName","src":"3591:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3590:12:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41880,"nodeType":"FunctionDefinition","src":"3608:92:62","nodes":[],"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3617:5:62","parameters":{"id":41876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41873,"mutability":"mutable","name":"name","nameLocation":"3639:4:62","nodeType":"VariableDeclaration","scope":41880,"src":"3623:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41872,"name":"string","nodeType":"ElementaryTypeName","src":"3623:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41875,"mutability":"mutable","name":"defaultValue","nameLocation":"3653:12:62","nodeType":"VariableDeclaration","scope":41880,"src":"3645:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41874,"name":"uint256","nodeType":"ElementaryTypeName","src":"3645:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3622:44:62"},"returnParameters":{"id":41879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41878,"mutability":"mutable","name":"value","nameLocation":"3693:5:62","nodeType":"VariableDeclaration","scope":41880,"src":"3685:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":41877,"name":"uint256","nodeType":"ElementaryTypeName","src":"3685:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3684:15:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41889,"nodeType":"FunctionDefinition","src":"3705:90:62","nodes":[],"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3714:5:62","parameters":{"id":41885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41882,"mutability":"mutable","name":"name","nameLocation":"3736:4:62","nodeType":"VariableDeclaration","scope":41889,"src":"3720:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41881,"name":"string","nodeType":"ElementaryTypeName","src":"3720:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41884,"mutability":"mutable","name":"defaultValue","nameLocation":"3749:12:62","nodeType":"VariableDeclaration","scope":41889,"src":"3742:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":41883,"name":"int256","nodeType":"ElementaryTypeName","src":"3742:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3719:43:62"},"returnParameters":{"id":41888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41887,"mutability":"mutable","name":"value","nameLocation":"3788:5:62","nodeType":"VariableDeclaration","scope":41889,"src":"3781:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":41886,"name":"int256","nodeType":"ElementaryTypeName","src":"3781:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"3780:14:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41898,"nodeType":"FunctionDefinition","src":"3800:92:62","nodes":[],"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3809:5:62","parameters":{"id":41894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41891,"mutability":"mutable","name":"name","nameLocation":"3831:4:62","nodeType":"VariableDeclaration","scope":41898,"src":"3815:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41890,"name":"string","nodeType":"ElementaryTypeName","src":"3815:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41893,"mutability":"mutable","name":"defaultValue","nameLocation":"3845:12:62","nodeType":"VariableDeclaration","scope":41898,"src":"3837:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41892,"name":"address","nodeType":"ElementaryTypeName","src":"3837:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3814:44:62"},"returnParameters":{"id":41897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41896,"mutability":"mutable","name":"value","nameLocation":"3885:5:62","nodeType":"VariableDeclaration","scope":41898,"src":"3877:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":41895,"name":"address","nodeType":"ElementaryTypeName","src":"3877:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3876:15:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41907,"nodeType":"FunctionDefinition","src":"3897:92:62","nodes":[],"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"3906:5:62","parameters":{"id":41903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41900,"mutability":"mutable","name":"name","nameLocation":"3928:4:62","nodeType":"VariableDeclaration","scope":41907,"src":"3912:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41899,"name":"string","nodeType":"ElementaryTypeName","src":"3912:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41902,"mutability":"mutable","name":"defaultValue","nameLocation":"3942:12:62","nodeType":"VariableDeclaration","scope":41907,"src":"3934:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41901,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3934:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3911:44:62"},"returnParameters":{"id":41906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41905,"mutability":"mutable","name":"value","nameLocation":"3982:5:62","nodeType":"VariableDeclaration","scope":41907,"src":"3974:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":41904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3974:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3973:15:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41916,"nodeType":"FunctionDefinition","src":"3994:106:62","nodes":[],"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4003:5:62","parameters":{"id":41912,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41909,"mutability":"mutable","name":"name","nameLocation":"4025:4:62","nodeType":"VariableDeclaration","scope":41916,"src":"4009:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41908,"name":"string","nodeType":"ElementaryTypeName","src":"4009:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41911,"mutability":"mutable","name":"defaultValue","nameLocation":"4047:12:62","nodeType":"VariableDeclaration","scope":41916,"src":"4031:28:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41910,"name":"string","nodeType":"ElementaryTypeName","src":"4031:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4008:52:62"},"returnParameters":{"id":41915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41914,"mutability":"mutable","name":"value","nameLocation":"4093:5:62","nodeType":"VariableDeclaration","scope":41916,"src":"4079:19:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":41913,"name":"string","nodeType":"ElementaryTypeName","src":"4079:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4078:21:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41925,"nodeType":"FunctionDefinition","src":"4105:104:62","nodes":[],"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4114:5:62","parameters":{"id":41921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41918,"mutability":"mutable","name":"name","nameLocation":"4136:4:62","nodeType":"VariableDeclaration","scope":41925,"src":"4120:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41917,"name":"string","nodeType":"ElementaryTypeName","src":"4120:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41920,"mutability":"mutable","name":"defaultValue","nameLocation":"4157:12:62","nodeType":"VariableDeclaration","scope":41925,"src":"4142:27:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":41919,"name":"bytes","nodeType":"ElementaryTypeName","src":"4142:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4119:51:62"},"returnParameters":{"id":41924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41923,"mutability":"mutable","name":"value","nameLocation":"4202:5:62","nodeType":"VariableDeclaration","scope":41925,"src":"4189:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":41922,"name":"bytes","nodeType":"ElementaryTypeName","src":"4189:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4188:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41938,"nodeType":"FunctionDefinition","src":"4277:145:62","nodes":[],"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4286:5:62","parameters":{"id":41933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41927,"mutability":"mutable","name":"name","nameLocation":"4308:4:62","nodeType":"VariableDeclaration","scope":41938,"src":"4292:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41926,"name":"string","nodeType":"ElementaryTypeName","src":"4292:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41929,"mutability":"mutable","name":"delim","nameLocation":"4330:5:62","nodeType":"VariableDeclaration","scope":41938,"src":"4314:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41928,"name":"string","nodeType":"ElementaryTypeName","src":"4314:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41932,"mutability":"mutable","name":"defaultValue","nameLocation":"4353:12:62","nodeType":"VariableDeclaration","scope":41938,"src":"4337:28:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":41930,"name":"bool","nodeType":"ElementaryTypeName","src":"4337:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41931,"nodeType":"ArrayTypeName","src":"4337:6:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4291:75:62"},"returnParameters":{"id":41937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41936,"mutability":"mutable","name":"value","nameLocation":"4415:5:62","nodeType":"VariableDeclaration","scope":41938,"src":"4401:19:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":41934,"name":"bool","nodeType":"ElementaryTypeName","src":"4401:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":41935,"nodeType":"ArrayTypeName","src":"4401:6:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"4400:21:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41951,"nodeType":"FunctionDefinition","src":"4427:151:62","nodes":[],"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4436:5:62","parameters":{"id":41946,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41940,"mutability":"mutable","name":"name","nameLocation":"4458:4:62","nodeType":"VariableDeclaration","scope":41951,"src":"4442:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41939,"name":"string","nodeType":"ElementaryTypeName","src":"4442:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41942,"mutability":"mutable","name":"delim","nameLocation":"4480:5:62","nodeType":"VariableDeclaration","scope":41951,"src":"4464:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41941,"name":"string","nodeType":"ElementaryTypeName","src":"4464:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41945,"mutability":"mutable","name":"defaultValue","nameLocation":"4506:12:62","nodeType":"VariableDeclaration","scope":41951,"src":"4487:31:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":41943,"name":"uint256","nodeType":"ElementaryTypeName","src":"4487:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41944,"nodeType":"ArrayTypeName","src":"4487:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4441:78:62"},"returnParameters":{"id":41950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41949,"mutability":"mutable","name":"value","nameLocation":"4571:5:62","nodeType":"VariableDeclaration","scope":41951,"src":"4554:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":41947,"name":"uint256","nodeType":"ElementaryTypeName","src":"4554:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":41948,"nodeType":"ArrayTypeName","src":"4554:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"4553:24:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41964,"nodeType":"FunctionDefinition","src":"4583:149:62","nodes":[],"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4592:5:62","parameters":{"id":41959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41953,"mutability":"mutable","name":"name","nameLocation":"4614:4:62","nodeType":"VariableDeclaration","scope":41964,"src":"4598:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41952,"name":"string","nodeType":"ElementaryTypeName","src":"4598:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41955,"mutability":"mutable","name":"delim","nameLocation":"4636:5:62","nodeType":"VariableDeclaration","scope":41964,"src":"4620:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41954,"name":"string","nodeType":"ElementaryTypeName","src":"4620:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41958,"mutability":"mutable","name":"defaultValue","nameLocation":"4661:12:62","nodeType":"VariableDeclaration","scope":41964,"src":"4643:30:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":41956,"name":"int256","nodeType":"ElementaryTypeName","src":"4643:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":41957,"nodeType":"ArrayTypeName","src":"4643:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4597:77:62"},"returnParameters":{"id":41963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41962,"mutability":"mutable","name":"value","nameLocation":"4725:5:62","nodeType":"VariableDeclaration","scope":41964,"src":"4709:21:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":41960,"name":"int256","nodeType":"ElementaryTypeName","src":"4709:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":41961,"nodeType":"ArrayTypeName","src":"4709:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"4708:23:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41977,"nodeType":"FunctionDefinition","src":"4737:151:62","nodes":[],"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4746:5:62","parameters":{"id":41972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41966,"mutability":"mutable","name":"name","nameLocation":"4768:4:62","nodeType":"VariableDeclaration","scope":41977,"src":"4752:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41965,"name":"string","nodeType":"ElementaryTypeName","src":"4752:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41968,"mutability":"mutable","name":"delim","nameLocation":"4790:5:62","nodeType":"VariableDeclaration","scope":41977,"src":"4774:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41967,"name":"string","nodeType":"ElementaryTypeName","src":"4774:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41971,"mutability":"mutable","name":"defaultValue","nameLocation":"4816:12:62","nodeType":"VariableDeclaration","scope":41977,"src":"4797:31:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":41969,"name":"address","nodeType":"ElementaryTypeName","src":"4797:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41970,"nodeType":"ArrayTypeName","src":"4797:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4751:78:62"},"returnParameters":{"id":41976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41975,"mutability":"mutable","name":"value","nameLocation":"4881:5:62","nodeType":"VariableDeclaration","scope":41977,"src":"4864:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":41973,"name":"address","nodeType":"ElementaryTypeName","src":"4864:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":41974,"nodeType":"ArrayTypeName","src":"4864:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"4863:24:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":41990,"nodeType":"FunctionDefinition","src":"4893:151:62","nodes":[],"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"4902:5:62","parameters":{"id":41985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41979,"mutability":"mutable","name":"name","nameLocation":"4924:4:62","nodeType":"VariableDeclaration","scope":41990,"src":"4908:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41978,"name":"string","nodeType":"ElementaryTypeName","src":"4908:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41981,"mutability":"mutable","name":"delim","nameLocation":"4946:5:62","nodeType":"VariableDeclaration","scope":41990,"src":"4930:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41980,"name":"string","nodeType":"ElementaryTypeName","src":"4930:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41984,"mutability":"mutable","name":"defaultValue","nameLocation":"4972:12:62","nodeType":"VariableDeclaration","scope":41990,"src":"4953:31:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41982,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4953:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41983,"nodeType":"ArrayTypeName","src":"4953:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"4907:78:62"},"returnParameters":{"id":41989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41988,"mutability":"mutable","name":"value","nameLocation":"5037:5:62","nodeType":"VariableDeclaration","scope":41990,"src":"5020:22:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":41986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5020:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":41987,"nodeType":"ArrayTypeName","src":"5020:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5019:24:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42003,"nodeType":"FunctionDefinition","src":"5049:149:62","nodes":[],"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"5058:5:62","parameters":{"id":41998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":41992,"mutability":"mutable","name":"name","nameLocation":"5080:4:62","nodeType":"VariableDeclaration","scope":42003,"src":"5064:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41991,"name":"string","nodeType":"ElementaryTypeName","src":"5064:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41994,"mutability":"mutable","name":"delim","nameLocation":"5102:5:62","nodeType":"VariableDeclaration","scope":42003,"src":"5086:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":41993,"name":"string","nodeType":"ElementaryTypeName","src":"5086:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41997,"mutability":"mutable","name":"defaultValue","nameLocation":"5127:12:62","nodeType":"VariableDeclaration","scope":42003,"src":"5109:30:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":41995,"name":"string","nodeType":"ElementaryTypeName","src":"5109:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":41996,"nodeType":"ArrayTypeName","src":"5109:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5063:77:62"},"returnParameters":{"id":42002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42001,"mutability":"mutable","name":"value","nameLocation":"5191:5:62","nodeType":"VariableDeclaration","scope":42003,"src":"5175:21:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":41999,"name":"string","nodeType":"ElementaryTypeName","src":"5175:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":42000,"nodeType":"ArrayTypeName","src":"5175:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"5174:23:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42016,"nodeType":"FunctionDefinition","src":"5203:147:62","nodes":[],"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"5212:5:62","parameters":{"id":42011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42005,"mutability":"mutable","name":"name","nameLocation":"5234:4:62","nodeType":"VariableDeclaration","scope":42016,"src":"5218:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42004,"name":"string","nodeType":"ElementaryTypeName","src":"5218:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42007,"mutability":"mutable","name":"delim","nameLocation":"5256:5:62","nodeType":"VariableDeclaration","scope":42016,"src":"5240:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42006,"name":"string","nodeType":"ElementaryTypeName","src":"5240:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42010,"mutability":"mutable","name":"defaultValue","nameLocation":"5280:12:62","nodeType":"VariableDeclaration","scope":42016,"src":"5263:29:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":42008,"name":"bytes","nodeType":"ElementaryTypeName","src":"5263:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":42009,"nodeType":"ArrayTypeName","src":"5263:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5217:76:62"},"returnParameters":{"id":42015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42014,"mutability":"mutable","name":"value","nameLocation":"5343:5:62","nodeType":"VariableDeclaration","scope":42016,"src":"5328:20:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":42012,"name":"bytes","nodeType":"ElementaryTypeName","src":"5328:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":42013,"nodeType":"ArrayTypeName","src":"5328:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"5327:22:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42019,"nodeType":"FunctionDefinition","src":"5399:27:62","nodes":[],"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"5408:6:62","parameters":{"id":42017,"nodeType":"ParameterList","parameters":[],"src":"5414:2:62"},"returnParameters":{"id":42018,"nodeType":"ParameterList","parameters":[],"src":"5425:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42030,"nodeType":"FunctionDefinition","src":"5523:109:62","nodes":[],"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"5532:8:62","parameters":{"id":42022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42021,"mutability":"mutable","name":"target","nameLocation":"5549:6:62","nodeType":"VariableDeclaration","scope":42030,"src":"5541:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42020,"name":"address","nodeType":"ElementaryTypeName","src":"5541:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5540:16:62"},"returnParameters":{"id":42029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42025,"mutability":"mutable","name":"readSlots","nameLocation":"5592:9:62","nodeType":"VariableDeclaration","scope":42030,"src":"5575:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42023,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5575:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42024,"nodeType":"ArrayTypeName","src":"5575:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":42028,"mutability":"mutable","name":"writeSlots","nameLocation":"5620:10:62","nodeType":"VariableDeclaration","scope":42030,"src":"5603:27:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5603:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42027,"nodeType":"ArrayTypeName","src":"5603:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"5574:57:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42037,"nodeType":"FunctionDefinition","src":"5740:101:62","nodes":[],"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"5749:7:62","parameters":{"id":42033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42032,"mutability":"mutable","name":"artifactPath","nameLocation":"5773:12:62","nodeType":"VariableDeclaration","scope":42037,"src":"5757:28:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42031,"name":"string","nodeType":"ElementaryTypeName","src":"5757:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5756:30:62"},"returnParameters":{"id":42036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42035,"mutability":"mutable","name":"creationBytecode","nameLocation":"5823:16:62","nodeType":"VariableDeclaration","scope":42037,"src":"5810:29:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42034,"name":"bytes","nodeType":"ElementaryTypeName","src":"5810:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5809:31:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42044,"nodeType":"FunctionDefinition","src":"5949:108:62","nodes":[],"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"5958:15:62","parameters":{"id":42040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42039,"mutability":"mutable","name":"artifactPath","nameLocation":"5990:12:62","nodeType":"VariableDeclaration","scope":42044,"src":"5974:28:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42038,"name":"string","nodeType":"ElementaryTypeName","src":"5974:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5973:30:62"},"returnParameters":{"id":42043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42042,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"6040:15:62","nodeType":"VariableDeclaration","scope":42044,"src":"6027:28:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42041,"name":"bytes","nodeType":"ElementaryTypeName","src":"6027:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6026:30:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42051,"nodeType":"FunctionDefinition","src":"6102:67:62","nodes":[],"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"6111:5:62","parameters":{"id":42049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42046,"mutability":"mutable","name":"account","nameLocation":"6125:7:62","nodeType":"VariableDeclaration","scope":42051,"src":"6117:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42045,"name":"address","nodeType":"ElementaryTypeName","src":"6117:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42048,"mutability":"mutable","name":"newLabel","nameLocation":"6150:8:62","nodeType":"VariableDeclaration","scope":42051,"src":"6134:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42047,"name":"string","nodeType":"ElementaryTypeName","src":"6134:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6116:43:62"},"returnParameters":{"id":42050,"nodeType":"ParameterList","parameters":[],"src":"6168:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42058,"nodeType":"FunctionDefinition","src":"6222:81:62","nodes":[],"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"6231:8:62","parameters":{"id":42054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42053,"mutability":"mutable","name":"account","nameLocation":"6248:7:62","nodeType":"VariableDeclaration","scope":42058,"src":"6240:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42052,"name":"address","nodeType":"ElementaryTypeName","src":"6240:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6239:17:62"},"returnParameters":{"id":42057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42056,"mutability":"mutable","name":"currentLabel","nameLocation":"6289:12:62","nodeType":"VariableDeclaration","scope":42058,"src":"6275:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42055,"name":"string","nodeType":"ElementaryTypeName","src":"6275:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6274:28:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42061,"nodeType":"FunctionDefinition","src":"6470:30:62","nodes":[],"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6479:9:62","parameters":{"id":42059,"nodeType":"ParameterList","parameters":[],"src":"6488:2:62"},"returnParameters":{"id":42060,"nodeType":"ParameterList","parameters":[],"src":"6499:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42066,"nodeType":"FunctionDefinition","src":"6659:44:62","nodes":[],"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6668:9:62","parameters":{"id":42064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42063,"mutability":"mutable","name":"signer","nameLocation":"6686:6:62","nodeType":"VariableDeclaration","scope":42066,"src":"6678:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42062,"name":"address","nodeType":"ElementaryTypeName","src":"6678:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6677:16:62"},"returnParameters":{"id":42065,"nodeType":"ParameterList","parameters":[],"src":"6702:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42071,"nodeType":"FunctionDefinition","src":"6866:48:62","nodes":[],"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"6875:9:62","parameters":{"id":42069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42068,"mutability":"mutable","name":"privateKey","nameLocation":"6893:10:62","nodeType":"VariableDeclaration","scope":42071,"src":"6885:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42067,"name":"uint256","nodeType":"ElementaryTypeName","src":"6885:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6884:20:62"},"returnParameters":{"id":42070,"nodeType":"ParameterList","parameters":[],"src":"6913:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42074,"nodeType":"FunctionDefinition","src":"7087:35:62","nodes":[],"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"7096:14:62","parameters":{"id":42072,"nodeType":"ParameterList","parameters":[],"src":"7110:2:62"},"returnParameters":{"id":42073,"nodeType":"ParameterList","parameters":[],"src":"7121:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42079,"nodeType":"FunctionDefinition","src":"7273:49:62","nodes":[],"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"7282:14:62","parameters":{"id":42077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42076,"mutability":"mutable","name":"signer","nameLocation":"7305:6:62","nodeType":"VariableDeclaration","scope":42079,"src":"7297:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42075,"name":"address","nodeType":"ElementaryTypeName","src":"7297:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7296:16:62"},"returnParameters":{"id":42078,"nodeType":"ParameterList","parameters":[],"src":"7321:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42084,"nodeType":"FunctionDefinition","src":"7477:53:62","nodes":[],"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"7486:14:62","parameters":{"id":42082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42081,"mutability":"mutable","name":"privateKey","nameLocation":"7509:10:62","nodeType":"VariableDeclaration","scope":42084,"src":"7501:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42080,"name":"uint256","nodeType":"ElementaryTypeName","src":"7501:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7500:20:62"},"returnParameters":{"id":42083,"nodeType":"ParameterList","parameters":[],"src":"7529:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42087,"nodeType":"FunctionDefinition","src":"7580:34:62","nodes":[],"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"7589:13:62","parameters":{"id":42085,"nodeType":"ParameterList","parameters":[],"src":"7602:2:62"},"returnParameters":{"id":42086,"nodeType":"ParameterList","parameters":[],"src":"7613:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42092,"nodeType":"FunctionDefinition","src":"7669:66:62","nodes":[],"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"7678:11:62","parameters":{"id":42088,"nodeType":"ParameterList","parameters":[],"src":"7689:2:62"},"returnParameters":{"id":42091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42090,"mutability":"mutable","name":"path","nameLocation":"7729:4:62","nodeType":"VariableDeclaration","scope":42092,"src":"7715:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42089,"name":"string","nodeType":"ElementaryTypeName","src":"7715:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7714:20:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42099,"nodeType":"FunctionDefinition","src":"7831:83:62","nodes":[],"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"7840:8:62","parameters":{"id":42095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42094,"mutability":"mutable","name":"path","nameLocation":"7865:4:62","nodeType":"VariableDeclaration","scope":42099,"src":"7849:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42093,"name":"string","nodeType":"ElementaryTypeName","src":"7849:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7848:22:62"},"returnParameters":{"id":42098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42097,"mutability":"mutable","name":"data","nameLocation":"7908:4:62","nodeType":"VariableDeclaration","scope":42099,"src":"7894:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42096,"name":"string","nodeType":"ElementaryTypeName","src":"7894:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7893:20:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42106,"nodeType":"FunctionDefinition","src":"8010:88:62","nodes":[],"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"8019:14:62","parameters":{"id":42102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42101,"mutability":"mutable","name":"path","nameLocation":"8050:4:62","nodeType":"VariableDeclaration","scope":42106,"src":"8034:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42100,"name":"string","nodeType":"ElementaryTypeName","src":"8034:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8033:22:62"},"returnParameters":{"id":42105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42104,"mutability":"mutable","name":"data","nameLocation":"8092:4:62","nodeType":"VariableDeclaration","scope":42106,"src":"8079:17:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42103,"name":"bytes","nodeType":"ElementaryTypeName","src":"8079:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8078:19:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42113,"nodeType":"FunctionDefinition","src":"8145:83:62","nodes":[],"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"8154:8:62","parameters":{"id":42109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42108,"mutability":"mutable","name":"path","nameLocation":"8179:4:62","nodeType":"VariableDeclaration","scope":42113,"src":"8163:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42107,"name":"string","nodeType":"ElementaryTypeName","src":"8163:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8162:22:62"},"returnParameters":{"id":42112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42111,"mutability":"mutable","name":"line","nameLocation":"8222:4:62","nodeType":"VariableDeclaration","scope":42113,"src":"8208:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42110,"name":"string","nodeType":"ElementaryTypeName","src":"8208:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8207:20:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42120,"nodeType":"FunctionDefinition","src":"8394:72:62","nodes":[],"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"8403:9:62","parameters":{"id":42118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42115,"mutability":"mutable","name":"path","nameLocation":"8429:4:62","nodeType":"VariableDeclaration","scope":42120,"src":"8413:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42114,"name":"string","nodeType":"ElementaryTypeName","src":"8413:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42117,"mutability":"mutable","name":"data","nameLocation":"8451:4:62","nodeType":"VariableDeclaration","scope":42120,"src":"8435:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42116,"name":"string","nodeType":"ElementaryTypeName","src":"8435:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8412:44:62"},"returnParameters":{"id":42119,"nodeType":"ParameterList","parameters":[],"src":"8465:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42127,"nodeType":"FunctionDefinition","src":"8641:77:62","nodes":[],"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"8650:15:62","parameters":{"id":42125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42122,"mutability":"mutable","name":"path","nameLocation":"8682:4:62","nodeType":"VariableDeclaration","scope":42127,"src":"8666:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42121,"name":"string","nodeType":"ElementaryTypeName","src":"8666:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42124,"mutability":"mutable","name":"data","nameLocation":"8703:4:62","nodeType":"VariableDeclaration","scope":42127,"src":"8688:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42123,"name":"bytes","nodeType":"ElementaryTypeName","src":"8688:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"8665:43:62"},"returnParameters":{"id":42126,"nodeType":"ParameterList","parameters":[],"src":"8717:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42134,"nodeType":"FunctionDefinition","src":"8836:72:62","nodes":[],"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"8845:9:62","parameters":{"id":42132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42129,"mutability":"mutable","name":"path","nameLocation":"8871:4:62","nodeType":"VariableDeclaration","scope":42134,"src":"8855:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42128,"name":"string","nodeType":"ElementaryTypeName","src":"8855:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42131,"mutability":"mutable","name":"data","nameLocation":"8893:4:62","nodeType":"VariableDeclaration","scope":42134,"src":"8877:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42130,"name":"string","nodeType":"ElementaryTypeName","src":"8877:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8854:44:62"},"returnParameters":{"id":42133,"nodeType":"ParameterList","parameters":[],"src":"8907:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42139,"nodeType":"FunctionDefinition","src":"9067:50:62","nodes":[],"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"9076:9:62","parameters":{"id":42137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42136,"mutability":"mutable","name":"path","nameLocation":"9102:4:62","nodeType":"VariableDeclaration","scope":42139,"src":"9086:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42135,"name":"string","nodeType":"ElementaryTypeName","src":"9086:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9085:22:62"},"returnParameters":{"id":42138,"nodeType":"ParameterList","parameters":[],"src":"9116:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42144,"nodeType":"FunctionDefinition","src":"9443:51:62","nodes":[],"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"9452:10:62","parameters":{"id":42142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42141,"mutability":"mutable","name":"path","nameLocation":"9479:4:62","nodeType":"VariableDeclaration","scope":42144,"src":"9463:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42140,"name":"string","nodeType":"ElementaryTypeName","src":"9463:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9462:22:62"},"returnParameters":{"id":42143,"nodeType":"ParameterList","parameters":[],"src":"9493:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42151,"nodeType":"FunctionDefinition","src":"9892:66:62","nodes":[],"functionSelector":"168b64d3","implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"9901:9:62","parameters":{"id":42149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42146,"mutability":"mutable","name":"path","nameLocation":"9927:4:62","nodeType":"VariableDeclaration","scope":42151,"src":"9911:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42145,"name":"string","nodeType":"ElementaryTypeName","src":"9911:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42148,"mutability":"mutable","name":"recursive","nameLocation":"9938:9:62","nodeType":"VariableDeclaration","scope":42151,"src":"9933:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42147,"name":"bool","nodeType":"ElementaryTypeName","src":"9933:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9910:38:62"},"returnParameters":{"id":42150,"nodeType":"ParameterList","parameters":[],"src":"9957:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42158,"nodeType":"FunctionDefinition","src":"10340:66:62","nodes":[],"functionSelector":"45c62011","implemented":false,"kind":"function","modifiers":[],"name":"removeDir","nameLocation":"10349:9:62","parameters":{"id":42156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42153,"mutability":"mutable","name":"path","nameLocation":"10375:4:62","nodeType":"VariableDeclaration","scope":42158,"src":"10359:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42152,"name":"string","nodeType":"ElementaryTypeName","src":"10359:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42155,"mutability":"mutable","name":"recursive","nameLocation":"10386:9:62","nodeType":"VariableDeclaration","scope":42158,"src":"10381:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42154,"name":"bool","nodeType":"ElementaryTypeName","src":"10381:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10358:38:62"},"returnParameters":{"id":42157,"nodeType":"ParameterList","parameters":[],"src":"10405:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42167,"nodeType":"FunctionDefinition","src":"10653:89:62","nodes":[],"functionSelector":"c4bc59e0","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"10662:7:62","parameters":{"id":42161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42160,"mutability":"mutable","name":"path","nameLocation":"10686:4:62","nodeType":"VariableDeclaration","scope":42167,"src":"10670:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42159,"name":"string","nodeType":"ElementaryTypeName","src":"10670:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10669:22:62"},"returnParameters":{"id":42166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42165,"mutability":"mutable","name":"entries","nameLocation":"10733:7:62","nodeType":"VariableDeclaration","scope":42167,"src":"10715:25:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":42163,"nodeType":"UserDefinedTypeName","pathNode":{"id":42162,"name":"DirEntry","nameLocations":["10715:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":41677,"src":"10715:8:62"},"referencedDeclaration":41677,"src":"10715:8:62","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$41677_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":42164,"nodeType":"ArrayTypeName","src":"10715:10:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"10714:27:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42178,"nodeType":"FunctionDefinition","src":"10747:106:62","nodes":[],"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"10756:7:62","parameters":{"id":42172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42169,"mutability":"mutable","name":"path","nameLocation":"10780:4:62","nodeType":"VariableDeclaration","scope":42178,"src":"10764:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42168,"name":"string","nodeType":"ElementaryTypeName","src":"10764:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42171,"mutability":"mutable","name":"maxDepth","nameLocation":"10793:8:62","nodeType":"VariableDeclaration","scope":42178,"src":"10786:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42170,"name":"uint64","nodeType":"ElementaryTypeName","src":"10786:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"10763:39:62"},"returnParameters":{"id":42177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42176,"mutability":"mutable","name":"entries","nameLocation":"10844:7:62","nodeType":"VariableDeclaration","scope":42178,"src":"10826:25:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":42174,"nodeType":"UserDefinedTypeName","pathNode":{"id":42173,"name":"DirEntry","nameLocations":["10826:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":41677,"src":"10826:8:62"},"referencedDeclaration":41677,"src":"10826:8:62","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$41677_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":42175,"nodeType":"ArrayTypeName","src":"10826:10:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"10825:27:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42191,"nodeType":"FunctionDefinition","src":"10858:148:62","nodes":[],"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"10867:7:62","parameters":{"id":42185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42180,"mutability":"mutable","name":"path","nameLocation":"10891:4:62","nodeType":"VariableDeclaration","scope":42191,"src":"10875:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42179,"name":"string","nodeType":"ElementaryTypeName","src":"10875:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42182,"mutability":"mutable","name":"maxDepth","nameLocation":"10904:8:62","nodeType":"VariableDeclaration","scope":42191,"src":"10897:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42181,"name":"uint64","nodeType":"ElementaryTypeName","src":"10897:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42184,"mutability":"mutable","name":"followLinks","nameLocation":"10919:11:62","nodeType":"VariableDeclaration","scope":42191,"src":"10914:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42183,"name":"bool","nodeType":"ElementaryTypeName","src":"10914:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10874:57:62"},"returnParameters":{"id":42190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42189,"mutability":"mutable","name":"entries","nameLocation":"10997:7:62","nodeType":"VariableDeclaration","scope":42191,"src":"10979:25:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":42187,"nodeType":"UserDefinedTypeName","pathNode":{"id":42186,"name":"DirEntry","nameLocations":["10979:8:62"],"nodeType":"IdentifierPath","referencedDeclaration":41677,"src":"10979:8:62"},"referencedDeclaration":41677,"src":"10979:8:62","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$41677_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":42188,"nodeType":"ArrayTypeName","src":"10979:10:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$41677_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"10978:27:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42198,"nodeType":"FunctionDefinition","src":"11260:93:62","nodes":[],"functionSelector":"9f5684a2","implemented":false,"kind":"function","modifiers":[],"name":"readLink","nameLocation":"11269:8:62","parameters":{"id":42194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42193,"mutability":"mutable","name":"linkPath","nameLocation":"11294:8:62","nodeType":"VariableDeclaration","scope":42198,"src":"11278:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42192,"name":"string","nodeType":"ElementaryTypeName","src":"11278:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11277:26:62"},"returnParameters":{"id":42197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42196,"mutability":"mutable","name":"targetPath","nameLocation":"11341:10:62","nodeType":"VariableDeclaration","scope":42198,"src":"11327:24:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42195,"name":"string","nodeType":"ElementaryTypeName","src":"11327:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11326:26:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42206,"nodeType":"FunctionDefinition","src":"11450:93:62","nodes":[],"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"11459:10:62","parameters":{"id":42201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42200,"mutability":"mutable","name":"path","nameLocation":"11486:4:62","nodeType":"VariableDeclaration","scope":42206,"src":"11470:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42199,"name":"string","nodeType":"ElementaryTypeName","src":"11470:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11469:22:62"},"returnParameters":{"id":42205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42204,"mutability":"mutable","name":"metadata","nameLocation":"11533:8:62","nodeType":"VariableDeclaration","scope":42206,"src":"11515:26:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$41692_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":42203,"nodeType":"UserDefinedTypeName","pathNode":{"id":42202,"name":"FsMetadata","nameLocations":["11515:10:62"],"nodeType":"IdentifierPath","referencedDeclaration":41692,"src":"11515:10:62"},"referencedDeclaration":41692,"src":"11515:10:62","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$41692_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"11514:28:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42213,"nodeType":"FunctionDefinition","src":"11583:88:62","nodes":[],"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"11592:8:62","parameters":{"id":42209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42208,"mutability":"mutable","name":"value","nameLocation":"11609:5:62","nodeType":"VariableDeclaration","scope":42213,"src":"11601:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42207,"name":"address","nodeType":"ElementaryTypeName","src":"11601:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11600:15:62"},"returnParameters":{"id":42212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42211,"mutability":"mutable","name":"stringifiedValue","nameLocation":"11653:16:62","nodeType":"VariableDeclaration","scope":42213,"src":"11639:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42210,"name":"string","nodeType":"ElementaryTypeName","src":"11639:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11638:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42220,"nodeType":"FunctionDefinition","src":"11676:95:62","nodes":[],"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"11685:8:62","parameters":{"id":42216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42215,"mutability":"mutable","name":"value","nameLocation":"11709:5:62","nodeType":"VariableDeclaration","scope":42220,"src":"11694:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42214,"name":"bytes","nodeType":"ElementaryTypeName","src":"11694:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"11693:22:62"},"returnParameters":{"id":42219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42218,"mutability":"mutable","name":"stringifiedValue","nameLocation":"11753:16:62","nodeType":"VariableDeclaration","scope":42220,"src":"11739:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42217,"name":"string","nodeType":"ElementaryTypeName","src":"11739:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11738:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42227,"nodeType":"FunctionDefinition","src":"11776:88:62","nodes":[],"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"11785:8:62","parameters":{"id":42223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42222,"mutability":"mutable","name":"value","nameLocation":"11802:5:62","nodeType":"VariableDeclaration","scope":42227,"src":"11794:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42221,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11794:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"11793:15:62"},"returnParameters":{"id":42226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42225,"mutability":"mutable","name":"stringifiedValue","nameLocation":"11846:16:62","nodeType":"VariableDeclaration","scope":42227,"src":"11832:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42224,"name":"string","nodeType":"ElementaryTypeName","src":"11832:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11831:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42234,"nodeType":"FunctionDefinition","src":"11869:85:62","nodes":[],"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"11878:8:62","parameters":{"id":42230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42229,"mutability":"mutable","name":"value","nameLocation":"11892:5:62","nodeType":"VariableDeclaration","scope":42234,"src":"11887:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42228,"name":"bool","nodeType":"ElementaryTypeName","src":"11887:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11886:12:62"},"returnParameters":{"id":42233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42232,"mutability":"mutable","name":"stringifiedValue","nameLocation":"11936:16:62","nodeType":"VariableDeclaration","scope":42234,"src":"11922:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42231,"name":"string","nodeType":"ElementaryTypeName","src":"11922:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11921:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42241,"nodeType":"FunctionDefinition","src":"11959:88:62","nodes":[],"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"11968:8:62","parameters":{"id":42237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42236,"mutability":"mutable","name":"value","nameLocation":"11985:5:62","nodeType":"VariableDeclaration","scope":42241,"src":"11977:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42235,"name":"uint256","nodeType":"ElementaryTypeName","src":"11977:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11976:15:62"},"returnParameters":{"id":42240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42239,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12029:16:62","nodeType":"VariableDeclaration","scope":42241,"src":"12015:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42238,"name":"string","nodeType":"ElementaryTypeName","src":"12015:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12014:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42248,"nodeType":"FunctionDefinition","src":"12052:87:62","nodes":[],"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"12061:8:62","parameters":{"id":42244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42243,"mutability":"mutable","name":"value","nameLocation":"12077:5:62","nodeType":"VariableDeclaration","scope":42248,"src":"12070:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":42242,"name":"int256","nodeType":"ElementaryTypeName","src":"12070:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12069:14:62"},"returnParameters":{"id":42247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42246,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12121:16:62","nodeType":"VariableDeclaration","scope":42248,"src":"12107:30:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42245,"name":"string","nodeType":"ElementaryTypeName","src":"12107:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12106:32:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42255,"nodeType":"FunctionDefinition","src":"12180:103:62","nodes":[],"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"12189:10:62","parameters":{"id":42251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42250,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12216:16:62","nodeType":"VariableDeclaration","scope":42255,"src":"12200:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42249,"name":"string","nodeType":"ElementaryTypeName","src":"12200:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12199:34:62"},"returnParameters":{"id":42254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42253,"mutability":"mutable","name":"parsedValue","nameLocation":"12270:11:62","nodeType":"VariableDeclaration","scope":42255,"src":"12257:24:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42252,"name":"bytes","nodeType":"ElementaryTypeName","src":"12257:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"12256:26:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42262,"nodeType":"FunctionDefinition","src":"12288:100:62","nodes":[],"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"12297:12:62","parameters":{"id":42258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42257,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12326:16:62","nodeType":"VariableDeclaration","scope":42262,"src":"12310:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42256,"name":"string","nodeType":"ElementaryTypeName","src":"12310:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12309:34:62"},"returnParameters":{"id":42261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42260,"mutability":"mutable","name":"parsedValue","nameLocation":"12375:11:62","nodeType":"VariableDeclaration","scope":42262,"src":"12367:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42259,"name":"address","nodeType":"ElementaryTypeName","src":"12367:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12366:21:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42269,"nodeType":"FunctionDefinition","src":"12393:97:62","nodes":[],"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"12402:9:62","parameters":{"id":42265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42264,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12428:16:62","nodeType":"VariableDeclaration","scope":42269,"src":"12412:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42263,"name":"string","nodeType":"ElementaryTypeName","src":"12412:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12411:34:62"},"returnParameters":{"id":42268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42267,"mutability":"mutable","name":"parsedValue","nameLocation":"12477:11:62","nodeType":"VariableDeclaration","scope":42269,"src":"12469:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42266,"name":"uint256","nodeType":"ElementaryTypeName","src":"12469:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12468:21:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42276,"nodeType":"FunctionDefinition","src":"12495:95:62","nodes":[],"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"12504:8:62","parameters":{"id":42272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42271,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12529:16:62","nodeType":"VariableDeclaration","scope":42276,"src":"12513:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42270,"name":"string","nodeType":"ElementaryTypeName","src":"12513:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12512:34:62"},"returnParameters":{"id":42275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42274,"mutability":"mutable","name":"parsedValue","nameLocation":"12577:11:62","nodeType":"VariableDeclaration","scope":42276,"src":"12570:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":42273,"name":"int256","nodeType":"ElementaryTypeName","src":"12570:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12569:20:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42283,"nodeType":"FunctionDefinition","src":"12595:100:62","nodes":[],"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"12604:12:62","parameters":{"id":42279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42278,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12633:16:62","nodeType":"VariableDeclaration","scope":42283,"src":"12617:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42277,"name":"string","nodeType":"ElementaryTypeName","src":"12617:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12616:34:62"},"returnParameters":{"id":42282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42281,"mutability":"mutable","name":"parsedValue","nameLocation":"12682:11:62","nodeType":"VariableDeclaration","scope":42283,"src":"12674:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42280,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12674:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12673:21:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42290,"nodeType":"FunctionDefinition","src":"12700:94:62","nodes":[],"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"12709:9:62","parameters":{"id":42286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42285,"mutability":"mutable","name":"stringifiedValue","nameLocation":"12735:16:62","nodeType":"VariableDeclaration","scope":42290,"src":"12719:32:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42284,"name":"string","nodeType":"ElementaryTypeName","src":"12719:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12718:34:62"},"returnParameters":{"id":42289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42288,"mutability":"mutable","name":"parsedValue","nameLocation":"12781:11:62","nodeType":"VariableDeclaration","scope":42290,"src":"12776:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42287,"name":"bool","nodeType":"ElementaryTypeName","src":"12776:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12775:18:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42293,"nodeType":"FunctionDefinition","src":"12838:31:62","nodes":[],"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"12847:10:62","parameters":{"id":42291,"nodeType":"ParameterList","parameters":[],"src":"12857:2:62"},"returnParameters":{"id":42292,"nodeType":"ParameterList","parameters":[],"src":"12868:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42300,"nodeType":"FunctionDefinition","src":"12908:64:62","nodes":[],"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"12917:15:62","parameters":{"id":42294,"nodeType":"ParameterList","parameters":[],"src":"12932:2:62"},"returnParameters":{"id":42299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42298,"mutability":"mutable","name":"logs","nameLocation":"12966:4:62","nodeType":"VariableDeclaration","scope":42300,"src":"12953:17:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$41661_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":42296,"nodeType":"UserDefinedTypeName","pathNode":{"id":42295,"name":"Log","nameLocations":["12953:3:62"],"nodeType":"IdentifierPath","referencedDeclaration":41661,"src":"12953:3:62"},"referencedDeclaration":41661,"src":"12953:3:62","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$41661_storage_ptr","typeString":"struct VmSafe.Log"}},"id":42297,"nodeType":"ArrayTypeName","src":"12953:5:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$41661_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"12952:19:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42309,"nodeType":"FunctionDefinition","src":"13107:102:62","nodes":[],"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13116:9:62","parameters":{"id":42305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42302,"mutability":"mutable","name":"mnemonic","nameLocation":"13142:8:62","nodeType":"VariableDeclaration","scope":42309,"src":"13126:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42301,"name":"string","nodeType":"ElementaryTypeName","src":"13126:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42304,"mutability":"mutable","name":"index","nameLocation":"13159:5:62","nodeType":"VariableDeclaration","scope":42309,"src":"13152:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":42303,"name":"uint32","nodeType":"ElementaryTypeName","src":"13152:6:62","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13125:40:62"},"returnParameters":{"id":42308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42307,"mutability":"mutable","name":"privateKey","nameLocation":"13197:10:62","nodeType":"VariableDeclaration","scope":42309,"src":"13189:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42306,"name":"uint256","nodeType":"ElementaryTypeName","src":"13189:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13188:20:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42320,"nodeType":"FunctionDefinition","src":"13325:158:62","nodes":[],"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"13334:9:62","parameters":{"id":42316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42311,"mutability":"mutable","name":"mnemonic","nameLocation":"13360:8:62","nodeType":"VariableDeclaration","scope":42320,"src":"13344:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42310,"name":"string","nodeType":"ElementaryTypeName","src":"13344:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42313,"mutability":"mutable","name":"derivationPath","nameLocation":"13386:14:62","nodeType":"VariableDeclaration","scope":42320,"src":"13370:30:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42312,"name":"string","nodeType":"ElementaryTypeName","src":"13370:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42315,"mutability":"mutable","name":"index","nameLocation":"13409:5:62","nodeType":"VariableDeclaration","scope":42320,"src":"13402:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":42314,"name":"uint32","nodeType":"ElementaryTypeName","src":"13402:6:62","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"13343:72:62"},"returnParameters":{"id":42319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42318,"mutability":"mutable","name":"privateKey","nameLocation":"13471:10:62","nodeType":"VariableDeclaration","scope":42320,"src":"13463:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42317,"name":"uint256","nodeType":"ElementaryTypeName","src":"13463:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13462:20:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42327,"nodeType":"FunctionDefinition","src":"13564:76:62","nodes":[],"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"13573:11:62","parameters":{"id":42323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42322,"mutability":"mutable","name":"privateKey","nameLocation":"13593:10:62","nodeType":"VariableDeclaration","scope":42327,"src":"13585:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42321,"name":"uint256","nodeType":"ElementaryTypeName","src":"13585:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13584:20:62"},"returnParameters":{"id":42326,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42325,"mutability":"mutable","name":"keyAddr","nameLocation":"13631:7:62","nodeType":"VariableDeclaration","scope":42327,"src":"13623:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42324,"name":"address","nodeType":"ElementaryTypeName","src":"13623:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13622:17:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42336,"nodeType":"FunctionDefinition","src":"14673:114:62","nodes":[],"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"14682:9:62","parameters":{"id":42332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42329,"mutability":"mutable","name":"json","nameLocation":"14708:4:62","nodeType":"VariableDeclaration","scope":42336,"src":"14692:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42328,"name":"string","nodeType":"ElementaryTypeName","src":"14692:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42331,"mutability":"mutable","name":"key","nameLocation":"14730:3:62","nodeType":"VariableDeclaration","scope":42336,"src":"14714:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42330,"name":"string","nodeType":"ElementaryTypeName","src":"14714:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14691:43:62"},"returnParameters":{"id":42335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42334,"mutability":"mutable","name":"abiEncodedData","nameLocation":"14771:14:62","nodeType":"VariableDeclaration","scope":42336,"src":"14758:27:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42333,"name":"bytes","nodeType":"ElementaryTypeName","src":"14758:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14757:29:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42343,"nodeType":"FunctionDefinition","src":"14792:93:62","nodes":[],"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"14801:9:62","parameters":{"id":42339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42338,"mutability":"mutable","name":"json","nameLocation":"14827:4:62","nodeType":"VariableDeclaration","scope":42343,"src":"14811:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42337,"name":"string","nodeType":"ElementaryTypeName","src":"14811:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14810:22:62"},"returnParameters":{"id":42342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42341,"mutability":"mutable","name":"abiEncodedData","nameLocation":"14869:14:62","nodeType":"VariableDeclaration","scope":42343,"src":"14856:27:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42340,"name":"bytes","nodeType":"ElementaryTypeName","src":"14856:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14855:29:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42352,"nodeType":"FunctionDefinition","src":"15273:84:62","nodes":[],"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"15282:13:62","parameters":{"id":42348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42345,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42352,"src":"15296:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42344,"name":"string","nodeType":"ElementaryTypeName","src":"15296:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42347,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42352,"src":"15313:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42346,"name":"string","nodeType":"ElementaryTypeName","src":"15313:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15295:34:62"},"returnParameters":{"id":42351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42350,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42352,"src":"15348:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42349,"name":"uint256","nodeType":"ElementaryTypeName","src":"15348:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15347:9:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42362,"nodeType":"FunctionDefinition","src":"15362:98:62","nodes":[],"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"15371:18:62","parameters":{"id":42357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42354,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42362,"src":"15390:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42353,"name":"string","nodeType":"ElementaryTypeName","src":"15390:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42356,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42362,"src":"15407:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42355,"name":"string","nodeType":"ElementaryTypeName","src":"15407:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15389:34:62"},"returnParameters":{"id":42361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42360,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42362,"src":"15442:16:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":42358,"name":"uint256","nodeType":"ElementaryTypeName","src":"15442:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42359,"nodeType":"ArrayTypeName","src":"15442:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15441:18:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42371,"nodeType":"FunctionDefinition","src":"15465:82:62","nodes":[],"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"15474:12:62","parameters":{"id":42367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42364,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42371,"src":"15487:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42363,"name":"string","nodeType":"ElementaryTypeName","src":"15487:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42366,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42371,"src":"15504:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42365,"name":"string","nodeType":"ElementaryTypeName","src":"15504:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15486:34:62"},"returnParameters":{"id":42370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42371,"src":"15539:6:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":42368,"name":"int256","nodeType":"ElementaryTypeName","src":"15539:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"15538:8:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42381,"nodeType":"FunctionDefinition","src":"15552:96:62","nodes":[],"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"15561:17:62","parameters":{"id":42376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42373,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42381,"src":"15579:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42372,"name":"string","nodeType":"ElementaryTypeName","src":"15579:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42381,"src":"15596:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42374,"name":"string","nodeType":"ElementaryTypeName","src":"15596:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15578:34:62"},"returnParameters":{"id":42380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42379,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42381,"src":"15631:15:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":42377,"name":"int256","nodeType":"ElementaryTypeName","src":"15631:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":42378,"nodeType":"ArrayTypeName","src":"15631:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"15630:17:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42390,"nodeType":"FunctionDefinition","src":"15653:81:62","nodes":[],"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"15662:13:62","parameters":{"id":42386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42383,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42390,"src":"15676:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42382,"name":"string","nodeType":"ElementaryTypeName","src":"15676:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42385,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42390,"src":"15693:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42384,"name":"string","nodeType":"ElementaryTypeName","src":"15693:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15675:34:62"},"returnParameters":{"id":42389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42390,"src":"15728:4:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42387,"name":"bool","nodeType":"ElementaryTypeName","src":"15728:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15727:6:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42400,"nodeType":"FunctionDefinition","src":"15739:95:62","nodes":[],"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"15748:18:62","parameters":{"id":42395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42392,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42400,"src":"15767:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42391,"name":"string","nodeType":"ElementaryTypeName","src":"15767:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42394,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42400,"src":"15784:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42393,"name":"string","nodeType":"ElementaryTypeName","src":"15784:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15766:34:62"},"returnParameters":{"id":42399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42398,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42400,"src":"15819:13:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":42396,"name":"bool","nodeType":"ElementaryTypeName","src":"15819:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42397,"nodeType":"ArrayTypeName","src":"15819:6:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15818:15:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42409,"nodeType":"FunctionDefinition","src":"15839:87:62","nodes":[],"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"15848:16:62","parameters":{"id":42405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42402,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42409,"src":"15865:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42401,"name":"string","nodeType":"ElementaryTypeName","src":"15865:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42404,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42409,"src":"15882:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42403,"name":"string","nodeType":"ElementaryTypeName","src":"15882:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15864:34:62"},"returnParameters":{"id":42408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42407,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42409,"src":"15917:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42406,"name":"address","nodeType":"ElementaryTypeName","src":"15917:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15916:9:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42419,"nodeType":"FunctionDefinition","src":"15931:101:62","nodes":[],"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"15940:21:62","parameters":{"id":42414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42419,"src":"15962:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42410,"name":"string","nodeType":"ElementaryTypeName","src":"15962:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42413,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42419,"src":"15979:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42412,"name":"string","nodeType":"ElementaryTypeName","src":"15979:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15961:34:62"},"returnParameters":{"id":42418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42417,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42419,"src":"16014:16:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":42415,"name":"address","nodeType":"ElementaryTypeName","src":"16014:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42416,"nodeType":"ArrayTypeName","src":"16014:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"16013:18:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42428,"nodeType":"FunctionDefinition","src":"16037:92:62","nodes":[],"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"16046:15:62","parameters":{"id":42424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42421,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42428,"src":"16062:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42420,"name":"string","nodeType":"ElementaryTypeName","src":"16062:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42423,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42428,"src":"16079:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42422,"name":"string","nodeType":"ElementaryTypeName","src":"16079:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16061:34:62"},"returnParameters":{"id":42427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42428,"src":"16114:13:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42425,"name":"string","nodeType":"ElementaryTypeName","src":"16114:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16113:15:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42438,"nodeType":"FunctionDefinition","src":"16134:99:62","nodes":[],"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"16143:20:62","parameters":{"id":42433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42430,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42438,"src":"16164:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42429,"name":"string","nodeType":"ElementaryTypeName","src":"16164:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42438,"src":"16181:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42431,"name":"string","nodeType":"ElementaryTypeName","src":"16181:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16163:34:62"},"returnParameters":{"id":42437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42436,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42438,"src":"16216:15:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":42434,"name":"string","nodeType":"ElementaryTypeName","src":"16216:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":42435,"nodeType":"ArrayTypeName","src":"16216:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16215:17:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42447,"nodeType":"FunctionDefinition","src":"16238:90:62","nodes":[],"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"16247:14:62","parameters":{"id":42443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42440,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42447,"src":"16262:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42439,"name":"string","nodeType":"ElementaryTypeName","src":"16262:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42447,"src":"16279:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42441,"name":"string","nodeType":"ElementaryTypeName","src":"16279:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16261:34:62"},"returnParameters":{"id":42446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42445,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42447,"src":"16314:12:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":42444,"name":"bytes","nodeType":"ElementaryTypeName","src":"16314:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"16313:14:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42457,"nodeType":"FunctionDefinition","src":"16333:97:62","nodes":[],"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"16342:19:62","parameters":{"id":42452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42449,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42457,"src":"16362:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42448,"name":"string","nodeType":"ElementaryTypeName","src":"16362:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42451,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42457,"src":"16379:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42450,"name":"string","nodeType":"ElementaryTypeName","src":"16379:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16361:34:62"},"returnParameters":{"id":42456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42455,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42457,"src":"16414:14:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":42453,"name":"bytes","nodeType":"ElementaryTypeName","src":"16414:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":42454,"nodeType":"ArrayTypeName","src":"16414:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"16413:16:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42466,"nodeType":"FunctionDefinition","src":"16435:87:62","nodes":[],"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"16444:16:62","parameters":{"id":42462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42459,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42466,"src":"16461:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42458,"name":"string","nodeType":"ElementaryTypeName","src":"16461:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42461,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42466,"src":"16478:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42460,"name":"string","nodeType":"ElementaryTypeName","src":"16478:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16460:34:62"},"returnParameters":{"id":42465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42466,"src":"16513:7:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42463,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16513:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"16512:9:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42476,"nodeType":"FunctionDefinition","src":"16527:101:62","nodes":[],"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"16536:21:62","parameters":{"id":42471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42468,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42476,"src":"16558:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42467,"name":"string","nodeType":"ElementaryTypeName","src":"16558:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42470,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42476,"src":"16575:15:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42469,"name":"string","nodeType":"ElementaryTypeName","src":"16575:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16557:34:62"},"returnParameters":{"id":42475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42474,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":42476,"src":"16610:16:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"16610:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42473,"nodeType":"ArrayTypeName","src":"16610:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"16609:18:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42487,"nodeType":"FunctionDefinition","src":"16824:142:62","nodes":[],"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"16833:13:62","parameters":{"id":42483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42478,"mutability":"mutable","name":"objectKey","nameLocation":"16863:9:62","nodeType":"VariableDeclaration","scope":42487,"src":"16847:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42477,"name":"string","nodeType":"ElementaryTypeName","src":"16847:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42480,"mutability":"mutable","name":"valueKey","nameLocation":"16890:8:62","nodeType":"VariableDeclaration","scope":42487,"src":"16874:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42479,"name":"string","nodeType":"ElementaryTypeName","src":"16874:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42482,"mutability":"mutable","name":"value","nameLocation":"16905:5:62","nodeType":"VariableDeclaration","scope":42487,"src":"16900:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42481,"name":"bool","nodeType":"ElementaryTypeName","src":"16900:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16846:65:62"},"returnParameters":{"id":42486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42485,"mutability":"mutable","name":"json","nameLocation":"16960:4:62","nodeType":"VariableDeclaration","scope":42487,"src":"16946:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42484,"name":"string","nodeType":"ElementaryTypeName","src":"16946:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16945:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42498,"nodeType":"FunctionDefinition","src":"16971:145:62","nodes":[],"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"16980:13:62","parameters":{"id":42494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42489,"mutability":"mutable","name":"objectKey","nameLocation":"17010:9:62","nodeType":"VariableDeclaration","scope":42498,"src":"16994:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42488,"name":"string","nodeType":"ElementaryTypeName","src":"16994:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42491,"mutability":"mutable","name":"valueKey","nameLocation":"17037:8:62","nodeType":"VariableDeclaration","scope":42498,"src":"17021:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42490,"name":"string","nodeType":"ElementaryTypeName","src":"17021:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42493,"mutability":"mutable","name":"value","nameLocation":"17055:5:62","nodeType":"VariableDeclaration","scope":42498,"src":"17047:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42492,"name":"uint256","nodeType":"ElementaryTypeName","src":"17047:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16993:68:62"},"returnParameters":{"id":42497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42496,"mutability":"mutable","name":"json","nameLocation":"17110:4:62","nodeType":"VariableDeclaration","scope":42498,"src":"17096:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42495,"name":"string","nodeType":"ElementaryTypeName","src":"17096:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17095:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42509,"nodeType":"FunctionDefinition","src":"17121:143:62","nodes":[],"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"17130:12:62","parameters":{"id":42505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42500,"mutability":"mutable","name":"objectKey","nameLocation":"17159:9:62","nodeType":"VariableDeclaration","scope":42509,"src":"17143:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42499,"name":"string","nodeType":"ElementaryTypeName","src":"17143:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42502,"mutability":"mutable","name":"valueKey","nameLocation":"17186:8:62","nodeType":"VariableDeclaration","scope":42509,"src":"17170:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42501,"name":"string","nodeType":"ElementaryTypeName","src":"17170:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42504,"mutability":"mutable","name":"value","nameLocation":"17203:5:62","nodeType":"VariableDeclaration","scope":42509,"src":"17196:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":42503,"name":"int256","nodeType":"ElementaryTypeName","src":"17196:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"17142:67:62"},"returnParameters":{"id":42508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42507,"mutability":"mutable","name":"json","nameLocation":"17258:4:62","nodeType":"VariableDeclaration","scope":42509,"src":"17244:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42506,"name":"string","nodeType":"ElementaryTypeName","src":"17244:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17243:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42520,"nodeType":"FunctionDefinition","src":"17269:148:62","nodes":[],"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"17278:16:62","parameters":{"id":42516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42511,"mutability":"mutable","name":"objectKey","nameLocation":"17311:9:62","nodeType":"VariableDeclaration","scope":42520,"src":"17295:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42510,"name":"string","nodeType":"ElementaryTypeName","src":"17295:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42513,"mutability":"mutable","name":"valueKey","nameLocation":"17338:8:62","nodeType":"VariableDeclaration","scope":42520,"src":"17322:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42512,"name":"string","nodeType":"ElementaryTypeName","src":"17322:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42515,"mutability":"mutable","name":"value","nameLocation":"17356:5:62","nodeType":"VariableDeclaration","scope":42520,"src":"17348:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42514,"name":"address","nodeType":"ElementaryTypeName","src":"17348:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17294:68:62"},"returnParameters":{"id":42519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42518,"mutability":"mutable","name":"json","nameLocation":"17411:4:62","nodeType":"VariableDeclaration","scope":42520,"src":"17397:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42517,"name":"string","nodeType":"ElementaryTypeName","src":"17397:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17396:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42531,"nodeType":"FunctionDefinition","src":"17422:148:62","nodes":[],"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"17431:16:62","parameters":{"id":42527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42522,"mutability":"mutable","name":"objectKey","nameLocation":"17464:9:62","nodeType":"VariableDeclaration","scope":42531,"src":"17448:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42521,"name":"string","nodeType":"ElementaryTypeName","src":"17448:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42524,"mutability":"mutable","name":"valueKey","nameLocation":"17491:8:62","nodeType":"VariableDeclaration","scope":42531,"src":"17475:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42523,"name":"string","nodeType":"ElementaryTypeName","src":"17475:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42526,"mutability":"mutable","name":"value","nameLocation":"17509:5:62","nodeType":"VariableDeclaration","scope":42531,"src":"17501:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42525,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17501:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"17447:68:62"},"returnParameters":{"id":42530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42529,"mutability":"mutable","name":"json","nameLocation":"17564:4:62","nodeType":"VariableDeclaration","scope":42531,"src":"17550:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42528,"name":"string","nodeType":"ElementaryTypeName","src":"17550:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17549:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42542,"nodeType":"FunctionDefinition","src":"17575:155:62","nodes":[],"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"17584:15:62","parameters":{"id":42538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42533,"mutability":"mutable","name":"objectKey","nameLocation":"17616:9:62","nodeType":"VariableDeclaration","scope":42542,"src":"17600:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42532,"name":"string","nodeType":"ElementaryTypeName","src":"17600:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42535,"mutability":"mutable","name":"valueKey","nameLocation":"17643:8:62","nodeType":"VariableDeclaration","scope":42542,"src":"17627:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42534,"name":"string","nodeType":"ElementaryTypeName","src":"17627:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42537,"mutability":"mutable","name":"value","nameLocation":"17669:5:62","nodeType":"VariableDeclaration","scope":42542,"src":"17653:21:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42536,"name":"string","nodeType":"ElementaryTypeName","src":"17653:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17599:76:62"},"returnParameters":{"id":42541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42540,"mutability":"mutable","name":"json","nameLocation":"17724:4:62","nodeType":"VariableDeclaration","scope":42542,"src":"17710:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42539,"name":"string","nodeType":"ElementaryTypeName","src":"17710:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17709:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42553,"nodeType":"FunctionDefinition","src":"17735:153:62","nodes":[],"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"17744:14:62","parameters":{"id":42549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42544,"mutability":"mutable","name":"objectKey","nameLocation":"17775:9:62","nodeType":"VariableDeclaration","scope":42553,"src":"17759:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42543,"name":"string","nodeType":"ElementaryTypeName","src":"17759:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42546,"mutability":"mutable","name":"valueKey","nameLocation":"17802:8:62","nodeType":"VariableDeclaration","scope":42553,"src":"17786:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42545,"name":"string","nodeType":"ElementaryTypeName","src":"17786:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42548,"mutability":"mutable","name":"value","nameLocation":"17827:5:62","nodeType":"VariableDeclaration","scope":42553,"src":"17812:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42547,"name":"bytes","nodeType":"ElementaryTypeName","src":"17812:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"17758:75:62"},"returnParameters":{"id":42552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42551,"mutability":"mutable","name":"json","nameLocation":"17882:4:62","nodeType":"VariableDeclaration","scope":42553,"src":"17868:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42550,"name":"string","nodeType":"ElementaryTypeName","src":"17868:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17867:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42565,"nodeType":"FunctionDefinition","src":"17894:154:62","nodes":[],"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"17903:13:62","parameters":{"id":42561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42555,"mutability":"mutable","name":"objectKey","nameLocation":"17933:9:62","nodeType":"VariableDeclaration","scope":42565,"src":"17917:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42554,"name":"string","nodeType":"ElementaryTypeName","src":"17917:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42557,"mutability":"mutable","name":"valueKey","nameLocation":"17960:8:62","nodeType":"VariableDeclaration","scope":42565,"src":"17944:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42556,"name":"string","nodeType":"ElementaryTypeName","src":"17944:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42560,"mutability":"mutable","name":"values","nameLocation":"17986:6:62","nodeType":"VariableDeclaration","scope":42565,"src":"17970:22:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":42558,"name":"bool","nodeType":"ElementaryTypeName","src":"17970:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":42559,"nodeType":"ArrayTypeName","src":"17970:6:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"17916:77:62"},"returnParameters":{"id":42564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42563,"mutability":"mutable","name":"json","nameLocation":"18042:4:62","nodeType":"VariableDeclaration","scope":42565,"src":"18028:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42562,"name":"string","nodeType":"ElementaryTypeName","src":"18028:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18027:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42577,"nodeType":"FunctionDefinition","src":"18053:157:62","nodes":[],"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"18062:13:62","parameters":{"id":42573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42567,"mutability":"mutable","name":"objectKey","nameLocation":"18092:9:62","nodeType":"VariableDeclaration","scope":42577,"src":"18076:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42566,"name":"string","nodeType":"ElementaryTypeName","src":"18076:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42569,"mutability":"mutable","name":"valueKey","nameLocation":"18119:8:62","nodeType":"VariableDeclaration","scope":42577,"src":"18103:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42568,"name":"string","nodeType":"ElementaryTypeName","src":"18103:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42572,"mutability":"mutable","name":"values","nameLocation":"18148:6:62","nodeType":"VariableDeclaration","scope":42577,"src":"18129:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":42570,"name":"uint256","nodeType":"ElementaryTypeName","src":"18129:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":42571,"nodeType":"ArrayTypeName","src":"18129:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"18075:80:62"},"returnParameters":{"id":42576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42575,"mutability":"mutable","name":"json","nameLocation":"18204:4:62","nodeType":"VariableDeclaration","scope":42577,"src":"18190:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42574,"name":"string","nodeType":"ElementaryTypeName","src":"18190:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18189:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42589,"nodeType":"FunctionDefinition","src":"18215:155:62","nodes":[],"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"18224:12:62","parameters":{"id":42585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42579,"mutability":"mutable","name":"objectKey","nameLocation":"18253:9:62","nodeType":"VariableDeclaration","scope":42589,"src":"18237:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42578,"name":"string","nodeType":"ElementaryTypeName","src":"18237:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42581,"mutability":"mutable","name":"valueKey","nameLocation":"18280:8:62","nodeType":"VariableDeclaration","scope":42589,"src":"18264:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42580,"name":"string","nodeType":"ElementaryTypeName","src":"18264:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42584,"mutability":"mutable","name":"values","nameLocation":"18308:6:62","nodeType":"VariableDeclaration","scope":42589,"src":"18290:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":42582,"name":"int256","nodeType":"ElementaryTypeName","src":"18290:6:62","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":42583,"nodeType":"ArrayTypeName","src":"18290:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"18236:79:62"},"returnParameters":{"id":42588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42587,"mutability":"mutable","name":"json","nameLocation":"18364:4:62","nodeType":"VariableDeclaration","scope":42589,"src":"18350:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42586,"name":"string","nodeType":"ElementaryTypeName","src":"18350:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18349:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42601,"nodeType":"FunctionDefinition","src":"18375:160:62","nodes":[],"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"18384:16:62","parameters":{"id":42597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42591,"mutability":"mutable","name":"objectKey","nameLocation":"18417:9:62","nodeType":"VariableDeclaration","scope":42601,"src":"18401:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42590,"name":"string","nodeType":"ElementaryTypeName","src":"18401:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42593,"mutability":"mutable","name":"valueKey","nameLocation":"18444:8:62","nodeType":"VariableDeclaration","scope":42601,"src":"18428:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42592,"name":"string","nodeType":"ElementaryTypeName","src":"18428:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42596,"mutability":"mutable","name":"values","nameLocation":"18473:6:62","nodeType":"VariableDeclaration","scope":42601,"src":"18454:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":42594,"name":"address","nodeType":"ElementaryTypeName","src":"18454:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":42595,"nodeType":"ArrayTypeName","src":"18454:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"18400:80:62"},"returnParameters":{"id":42600,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42599,"mutability":"mutable","name":"json","nameLocation":"18529:4:62","nodeType":"VariableDeclaration","scope":42601,"src":"18515:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42598,"name":"string","nodeType":"ElementaryTypeName","src":"18515:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18514:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42613,"nodeType":"FunctionDefinition","src":"18540:160:62","nodes":[],"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"18549:16:62","parameters":{"id":42609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42603,"mutability":"mutable","name":"objectKey","nameLocation":"18582:9:62","nodeType":"VariableDeclaration","scope":42613,"src":"18566:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42602,"name":"string","nodeType":"ElementaryTypeName","src":"18566:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42605,"mutability":"mutable","name":"valueKey","nameLocation":"18609:8:62","nodeType":"VariableDeclaration","scope":42613,"src":"18593:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42604,"name":"string","nodeType":"ElementaryTypeName","src":"18593:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42608,"mutability":"mutable","name":"values","nameLocation":"18638:6:62","nodeType":"VariableDeclaration","scope":42613,"src":"18619:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":42606,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18619:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":42607,"nodeType":"ArrayTypeName","src":"18619:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"18565:80:62"},"returnParameters":{"id":42612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42611,"mutability":"mutable","name":"json","nameLocation":"18694:4:62","nodeType":"VariableDeclaration","scope":42613,"src":"18680:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42610,"name":"string","nodeType":"ElementaryTypeName","src":"18680:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18679:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42625,"nodeType":"FunctionDefinition","src":"18705:158:62","nodes":[],"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"18714:15:62","parameters":{"id":42621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42615,"mutability":"mutable","name":"objectKey","nameLocation":"18746:9:62","nodeType":"VariableDeclaration","scope":42625,"src":"18730:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42614,"name":"string","nodeType":"ElementaryTypeName","src":"18730:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42617,"mutability":"mutable","name":"valueKey","nameLocation":"18773:8:62","nodeType":"VariableDeclaration","scope":42625,"src":"18757:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42616,"name":"string","nodeType":"ElementaryTypeName","src":"18757:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42620,"mutability":"mutable","name":"values","nameLocation":"18801:6:62","nodeType":"VariableDeclaration","scope":42625,"src":"18783:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":42618,"name":"string","nodeType":"ElementaryTypeName","src":"18783:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":42619,"nodeType":"ArrayTypeName","src":"18783:8:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"18729:79:62"},"returnParameters":{"id":42624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42623,"mutability":"mutable","name":"json","nameLocation":"18857:4:62","nodeType":"VariableDeclaration","scope":42625,"src":"18843:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42622,"name":"string","nodeType":"ElementaryTypeName","src":"18843:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18842:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42637,"nodeType":"FunctionDefinition","src":"18868:156:62","nodes":[],"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"18877:14:62","parameters":{"id":42633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42627,"mutability":"mutable","name":"objectKey","nameLocation":"18908:9:62","nodeType":"VariableDeclaration","scope":42637,"src":"18892:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42626,"name":"string","nodeType":"ElementaryTypeName","src":"18892:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42629,"mutability":"mutable","name":"valueKey","nameLocation":"18935:8:62","nodeType":"VariableDeclaration","scope":42637,"src":"18919:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42628,"name":"string","nodeType":"ElementaryTypeName","src":"18919:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42632,"mutability":"mutable","name":"values","nameLocation":"18962:6:62","nodeType":"VariableDeclaration","scope":42637,"src":"18945:23:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":42630,"name":"bytes","nodeType":"ElementaryTypeName","src":"18945:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":42631,"nodeType":"ArrayTypeName","src":"18945:7:62","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"18891:78:62"},"returnParameters":{"id":42636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42635,"mutability":"mutable","name":"json","nameLocation":"19018:4:62","nodeType":"VariableDeclaration","scope":42637,"src":"19004:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42634,"name":"string","nodeType":"ElementaryTypeName","src":"19004:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19003:20:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42644,"nodeType":"FunctionDefinition","src":"20265:72:62","nodes":[],"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"20274:9:62","parameters":{"id":42642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42639,"mutability":"mutable","name":"json","nameLocation":"20300:4:62","nodeType":"VariableDeclaration","scope":42644,"src":"20284:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42638,"name":"string","nodeType":"ElementaryTypeName","src":"20284:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42641,"mutability":"mutable","name":"path","nameLocation":"20322:4:62","nodeType":"VariableDeclaration","scope":42644,"src":"20306:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42640,"name":"string","nodeType":"ElementaryTypeName","src":"20306:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20283:44:62"},"returnParameters":{"id":42643,"nodeType":"ParameterList","parameters":[],"src":"20336:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42653,"nodeType":"FunctionDefinition","src":"20558:98:62","nodes":[],"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"20567:9:62","parameters":{"id":42651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42646,"mutability":"mutable","name":"json","nameLocation":"20593:4:62","nodeType":"VariableDeclaration","scope":42653,"src":"20577:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42645,"name":"string","nodeType":"ElementaryTypeName","src":"20577:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42648,"mutability":"mutable","name":"path","nameLocation":"20615:4:62","nodeType":"VariableDeclaration","scope":42653,"src":"20599:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42647,"name":"string","nodeType":"ElementaryTypeName","src":"20599:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42650,"mutability":"mutable","name":"valueKey","nameLocation":"20637:8:62","nodeType":"VariableDeclaration","scope":42653,"src":"20621:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42649,"name":"string","nodeType":"ElementaryTypeName","src":"20621:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20576:70:62"},"returnParameters":{"id":42652,"nodeType":"ParameterList","parameters":[],"src":"20655:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42660,"nodeType":"FunctionDefinition","src":"20708:85:62","nodes":[],"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"20717:6:62","parameters":{"id":42656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42655,"mutability":"mutable","name":"rpcAlias","nameLocation":"20740:8:62","nodeType":"VariableDeclaration","scope":42660,"src":"20724:24:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42654,"name":"string","nodeType":"ElementaryTypeName","src":"20724:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20723:26:62"},"returnParameters":{"id":42659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42658,"mutability":"mutable","name":"json","nameLocation":"20787:4:62","nodeType":"VariableDeclaration","scope":42660,"src":"20773:18:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":42657,"name":"string","nodeType":"ElementaryTypeName","src":"20773:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20772:20:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42668,"nodeType":"FunctionDefinition","src":"20861:67:62","nodes":[],"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"20870:7:62","parameters":{"id":42661,"nodeType":"ParameterList","parameters":[],"src":"20877:2:62"},"returnParameters":{"id":42667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42666,"mutability":"mutable","name":"urls","nameLocation":"20922:4:62","nodeType":"VariableDeclaration","scope":42668,"src":"20903:23:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":42662,"name":"string","nodeType":"ElementaryTypeName","src":"20903:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":42664,"length":{"hexValue":"32","id":42663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"20910:1:62","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"20903:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":42665,"nodeType":"ArrayTypeName","src":"20903:11:62","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"20902:25:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42675,"nodeType":"FunctionDefinition","src":"20991:67:62","nodes":[],"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"21000:13:62","parameters":{"id":42669,"nodeType":"ParameterList","parameters":[],"src":"21013:2:62"},"returnParameters":{"id":42674,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42673,"mutability":"mutable","name":"urls","nameLocation":"21052:4:62","nodeType":"VariableDeclaration","scope":42675,"src":"21039:17:62","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$41666_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":42671,"nodeType":"UserDefinedTypeName","pathNode":{"id":42670,"name":"Rpc","nameLocations":["21039:3:62"],"nodeType":"IdentifierPath","referencedDeclaration":41666,"src":"21039:3:62"},"referencedDeclaration":41666,"src":"21039:3:62","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$41666_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":42672,"nodeType":"ArrayTypeName","src":"21039:5:62","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$41666_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"21038:19:62"},"scope":42699,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":42680,"nodeType":"FunctionDefinition","src":"21151:46:62","nodes":[],"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"21160:6:62","parameters":{"id":42678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42677,"mutability":"mutable","name":"condition","nameLocation":"21172:9:62","nodeType":"VariableDeclaration","scope":42680,"src":"21167:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42676,"name":"bool","nodeType":"ElementaryTypeName","src":"21167:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21166:16:62"},"returnParameters":{"id":42679,"nodeType":"ParameterList","parameters":[],"src":"21196:0:62"},"scope":42699,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":42683,"nodeType":"FunctionDefinition","src":"21286:37:62","nodes":[],"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"21295:16:62","parameters":{"id":42681,"nodeType":"ParameterList","parameters":[],"src":"21311:2:62"},"returnParameters":{"id":42682,"nodeType":"ParameterList","parameters":[],"src":"21322:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42686,"nodeType":"FunctionDefinition","src":"21411:38:62","nodes":[],"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"21420:17:62","parameters":{"id":42684,"nodeType":"ParameterList","parameters":[],"src":"21437:2:62"},"returnParameters":{"id":42685,"nodeType":"ParameterList","parameters":[],"src":"21448:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42691,"nodeType":"FunctionDefinition","src":"21508:51:62","nodes":[],"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"21517:10:62","parameters":{"id":42689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42688,"mutability":"mutable","name":"char","nameLocation":"21544:4:62","nodeType":"VariableDeclaration","scope":42691,"src":"21528:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42687,"name":"string","nodeType":"ElementaryTypeName","src":"21528:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21527:22:62"},"returnParameters":{"id":42690,"nodeType":"ParameterList","parameters":[],"src":"21558:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42698,"nodeType":"FunctionDefinition","src":"21630:63:62","nodes":[],"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"21639:10:62","parameters":{"id":42696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42693,"mutability":"mutable","name":"char","nameLocation":"21666:4:62","nodeType":"VariableDeclaration","scope":42698,"src":"21650:20:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":42692,"name":"string","nodeType":"ElementaryTypeName","src":"21650:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":42695,"mutability":"mutable","name":"value","nameLocation":"21677:5:62","nodeType":"VariableDeclaration","scope":42698,"src":"21672:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42694,"name":"bool","nodeType":"ElementaryTypeName","src":"21672:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21649:34:62"},"returnParameters":{"id":42697,"nodeType":"ParameterList","parameters":[],"src":"21692:0:62"},"scope":42699,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[42699],"name":"VmSafe","nameLocation":"581:6:62","scope":43172,"usedErrors":[],"usedEvents":[]},{"id":43171,"nodeType":"ContractDefinition","src":"21697:11610:62","nodes":[{"id":42706,"nodeType":"FunctionDefinition","src":"21754:45:62","nodes":[],"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"21763:4:62","parameters":{"id":42704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42703,"mutability":"mutable","name":"newTimestamp","nameLocation":"21776:12:62","nodeType":"VariableDeclaration","scope":42706,"src":"21768:20:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42702,"name":"uint256","nodeType":"ElementaryTypeName","src":"21768:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21767:22:62"},"returnParameters":{"id":42705,"nodeType":"ParameterList","parameters":[],"src":"21798:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42711,"nodeType":"FunctionDefinition","src":"21829:42:62","nodes":[],"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"21838:4:62","parameters":{"id":42709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42708,"mutability":"mutable","name":"newHeight","nameLocation":"21851:9:62","nodeType":"VariableDeclaration","scope":42711,"src":"21843:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42707,"name":"uint256","nodeType":"ElementaryTypeName","src":"21843:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21842:19:62"},"returnParameters":{"id":42710,"nodeType":"ParameterList","parameters":[],"src":"21870:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42716,"nodeType":"FunctionDefinition","src":"21902:42:62","nodes":[],"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"21911:3:62","parameters":{"id":42714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42713,"mutability":"mutable","name":"newBasefee","nameLocation":"21923:10:62","nodeType":"VariableDeclaration","scope":42716,"src":"21915:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42712,"name":"uint256","nodeType":"ElementaryTypeName","src":"21915:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21914:20:62"},"returnParameters":{"id":42715,"nodeType":"ParameterList","parameters":[],"src":"21943:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42721,"nodeType":"FunctionDefinition","src":"22120:52:62","nodes":[],"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"22129:10:62","parameters":{"id":42719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42718,"mutability":"mutable","name":"newDifficulty","nameLocation":"22148:13:62","nodeType":"VariableDeclaration","scope":42721,"src":"22140:21:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42717,"name":"uint256","nodeType":"ElementaryTypeName","src":"22140:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22139:23:62"},"returnParameters":{"id":42720,"nodeType":"ParameterList","parameters":[],"src":"22171:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42726,"nodeType":"FunctionDefinition","src":"22342:52:62","nodes":[],"functionSelector":"3b925549","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"22351:10:62","parameters":{"id":42724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42723,"mutability":"mutable","name":"newPrevrandao","nameLocation":"22370:13:62","nodeType":"VariableDeclaration","scope":42726,"src":"22362:21:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22362:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22361:23:62"},"returnParameters":{"id":42725,"nodeType":"ParameterList","parameters":[],"src":"22393:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42731,"nodeType":"FunctionDefinition","src":"22425:46:62","nodes":[],"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"22434:7:62","parameters":{"id":42729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42728,"mutability":"mutable","name":"newChainId","nameLocation":"22450:10:62","nodeType":"VariableDeclaration","scope":42731,"src":"22442:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42727,"name":"uint256","nodeType":"ElementaryTypeName","src":"22442:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22441:20:62"},"returnParameters":{"id":42730,"nodeType":"ParameterList","parameters":[],"src":"22470:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42736,"nodeType":"FunctionDefinition","src":"22500:50:62","nodes":[],"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"22509:10:62","parameters":{"id":42734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42733,"mutability":"mutable","name":"newGasPrice","nameLocation":"22528:11:62","nodeType":"VariableDeclaration","scope":42736,"src":"22520:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42732,"name":"uint256","nodeType":"ElementaryTypeName","src":"22520:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22519:21:62"},"returnParameters":{"id":42735,"nodeType":"ParameterList","parameters":[],"src":"22549:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42745,"nodeType":"FunctionDefinition","src":"22606:69:62","nodes":[],"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"22615:5:62","parameters":{"id":42743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42738,"mutability":"mutable","name":"target","nameLocation":"22629:6:62","nodeType":"VariableDeclaration","scope":42745,"src":"22621:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42737,"name":"address","nodeType":"ElementaryTypeName","src":"22621:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42740,"mutability":"mutable","name":"slot","nameLocation":"22645:4:62","nodeType":"VariableDeclaration","scope":42745,"src":"22637:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22637:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":42742,"mutability":"mutable","name":"value","nameLocation":"22659:5:62","nodeType":"VariableDeclaration","scope":42745,"src":"22651:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":42741,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22651:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22620:45:62"},"returnParameters":{"id":42744,"nodeType":"ParameterList","parameters":[],"src":"22674:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42752,"nodeType":"FunctionDefinition","src":"22770:61:62","nodes":[],"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"22779:8:62","parameters":{"id":42750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42747,"mutability":"mutable","name":"account","nameLocation":"22796:7:62","nodeType":"VariableDeclaration","scope":42752,"src":"22788:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42746,"name":"address","nodeType":"ElementaryTypeName","src":"22788:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42749,"mutability":"mutable","name":"newNonce","nameLocation":"22812:8:62","nodeType":"VariableDeclaration","scope":42752,"src":"22805:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42748,"name":"uint64","nodeType":"ElementaryTypeName","src":"22805:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"22787:34:62"},"returnParameters":{"id":42751,"nodeType":"ParameterList","parameters":[],"src":"22830:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42759,"nodeType":"FunctionDefinition","src":"22894:67:62","nodes":[],"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"22903:14:62","parameters":{"id":42757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42754,"mutability":"mutable","name":"account","nameLocation":"22926:7:62","nodeType":"VariableDeclaration","scope":42759,"src":"22918:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42753,"name":"address","nodeType":"ElementaryTypeName","src":"22918:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42756,"mutability":"mutable","name":"newNonce","nameLocation":"22942:8:62","nodeType":"VariableDeclaration","scope":42759,"src":"22935:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42755,"name":"uint64","nodeType":"ElementaryTypeName","src":"22935:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"22917:34:62"},"returnParameters":{"id":42758,"nodeType":"ParameterList","parameters":[],"src":"22960:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42764,"nodeType":"FunctionDefinition","src":"23046:46:62","nodes":[],"functionSelector":"1c72346d","implemented":false,"kind":"function","modifiers":[],"name":"resetNonce","nameLocation":"23055:10:62","parameters":{"id":42762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42761,"mutability":"mutable","name":"account","nameLocation":"23074:7:62","nodeType":"VariableDeclaration","scope":42764,"src":"23066:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42760,"name":"address","nodeType":"ElementaryTypeName","src":"23066:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23065:17:62"},"returnParameters":{"id":42763,"nodeType":"ParameterList","parameters":[],"src":"23091:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42769,"nodeType":"FunctionDefinition","src":"23162:43:62","nodes":[],"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"23171:5:62","parameters":{"id":42767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42766,"mutability":"mutable","name":"msgSender","nameLocation":"23185:9:62","nodeType":"VariableDeclaration","scope":42769,"src":"23177:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42765,"name":"address","nodeType":"ElementaryTypeName","src":"23177:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23176:19:62"},"returnParameters":{"id":42768,"nodeType":"ParameterList","parameters":[],"src":"23204:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42774,"nodeType":"FunctionDefinition","src":"23307:48:62","nodes":[],"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"23316:10:62","parameters":{"id":42772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42771,"mutability":"mutable","name":"msgSender","nameLocation":"23335:9:62","nodeType":"VariableDeclaration","scope":42774,"src":"23327:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42770,"name":"address","nodeType":"ElementaryTypeName","src":"23327:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23326:19:62"},"returnParameters":{"id":42773,"nodeType":"ParameterList","parameters":[],"src":"23354:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42781,"nodeType":"FunctionDefinition","src":"23467:61:62","nodes":[],"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"23476:5:62","parameters":{"id":42779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42776,"mutability":"mutable","name":"msgSender","nameLocation":"23490:9:62","nodeType":"VariableDeclaration","scope":42781,"src":"23482:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42775,"name":"address","nodeType":"ElementaryTypeName","src":"23482:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42778,"mutability":"mutable","name":"txOrigin","nameLocation":"23509:8:62","nodeType":"VariableDeclaration","scope":42781,"src":"23501:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42777,"name":"address","nodeType":"ElementaryTypeName","src":"23501:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23481:37:62"},"returnParameters":{"id":42780,"nodeType":"ParameterList","parameters":[],"src":"23527:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42788,"nodeType":"FunctionDefinition","src":"23672:66:62","nodes":[],"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"23681:10:62","parameters":{"id":42786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42783,"mutability":"mutable","name":"msgSender","nameLocation":"23700:9:62","nodeType":"VariableDeclaration","scope":42788,"src":"23692:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42782,"name":"address","nodeType":"ElementaryTypeName","src":"23692:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42785,"mutability":"mutable","name":"txOrigin","nameLocation":"23719:8:62","nodeType":"VariableDeclaration","scope":42788,"src":"23711:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42784,"name":"address","nodeType":"ElementaryTypeName","src":"23711:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23691:37:62"},"returnParameters":{"id":42787,"nodeType":"ParameterList","parameters":[],"src":"23737:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42791,"nodeType":"FunctionDefinition","src":"23808:30:62","nodes":[],"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"23817:9:62","parameters":{"id":42789,"nodeType":"ParameterList","parameters":[],"src":"23826:2:62"},"returnParameters":{"id":42790,"nodeType":"ParameterList","parameters":[],"src":"23837:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42801,"nodeType":"FunctionDefinition","src":"23963:101:62","nodes":[],"functionSelector":"4ad0bac9","implemented":false,"kind":"function","modifiers":[],"name":"readCallers","nameLocation":"23972:11:62","parameters":{"id":42792,"nodeType":"ParameterList","parameters":[],"src":"23983:2:62"},"returnParameters":{"id":42800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42795,"mutability":"mutable","name":"callerMode","nameLocation":"24015:10:62","nodeType":"VariableDeclaration","scope":42801,"src":"24004:21:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$41653","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":42794,"nodeType":"UserDefinedTypeName","pathNode":{"id":42793,"name":"CallerMode","nameLocations":["24004:10:62"],"nodeType":"IdentifierPath","referencedDeclaration":41653,"src":"24004:10:62"},"referencedDeclaration":41653,"src":"24004:10:62","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$41653","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":42797,"mutability":"mutable","name":"msgSender","nameLocation":"24035:9:62","nodeType":"VariableDeclaration","scope":42801,"src":"24027:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42796,"name":"address","nodeType":"ElementaryTypeName","src":"24027:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42799,"mutability":"mutable","name":"txOrigin","nameLocation":"24054:8:62","nodeType":"VariableDeclaration","scope":42801,"src":"24046:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42798,"name":"address","nodeType":"ElementaryTypeName","src":"24046:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24003:60:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42808,"nodeType":"FunctionDefinition","src":"24101:60:62","nodes":[],"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"24110:4:62","parameters":{"id":42806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42803,"mutability":"mutable","name":"account","nameLocation":"24123:7:62","nodeType":"VariableDeclaration","scope":42808,"src":"24115:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42802,"name":"address","nodeType":"ElementaryTypeName","src":"24115:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42805,"mutability":"mutable","name":"newBalance","nameLocation":"24140:10:62","nodeType":"VariableDeclaration","scope":42808,"src":"24132:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42804,"name":"uint256","nodeType":"ElementaryTypeName","src":"24132:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24114:37:62"},"returnParameters":{"id":42807,"nodeType":"ParameterList","parameters":[],"src":"24160:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42815,"nodeType":"FunctionDefinition","src":"24195:74:62","nodes":[],"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"24204:4:62","parameters":{"id":42813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42810,"mutability":"mutable","name":"target","nameLocation":"24217:6:62","nodeType":"VariableDeclaration","scope":42815,"src":"24209:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42809,"name":"address","nodeType":"ElementaryTypeName","src":"24209:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42812,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"24240:18:62","nodeType":"VariableDeclaration","scope":42815,"src":"24225:33:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42811,"name":"bytes","nodeType":"ElementaryTypeName","src":"24225:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24208:51:62"},"returnParameters":{"id":42814,"nodeType":"ParameterList","parameters":[],"src":"24268:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42820,"nodeType":"FunctionDefinition","src":"24345:38:62","nodes":[],"functionSelector":"dd82d13e","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"24354:4:62","parameters":{"id":42818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42817,"mutability":"mutable","name":"skipTest","nameLocation":"24364:8:62","nodeType":"VariableDeclaration","scope":42820,"src":"24359:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42816,"name":"bool","nodeType":"ElementaryTypeName","src":"24359:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24358:15:62"},"returnParameters":{"id":42819,"nodeType":"ParameterList","parameters":[],"src":"24382:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42825,"nodeType":"FunctionDefinition","src":"24425:58:62","nodes":[],"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"24434:12:62","parameters":{"id":42823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42822,"mutability":"mutable","name":"revertData","nameLocation":"24462:10:62","nodeType":"VariableDeclaration","scope":42825,"src":"24447:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42821,"name":"bytes","nodeType":"ElementaryTypeName","src":"24447:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24446:27:62"},"returnParameters":{"id":42824,"nodeType":"ParameterList","parameters":[],"src":"24482:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42830,"nodeType":"FunctionDefinition","src":"24488:50:62","nodes":[],"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"24497:12:62","parameters":{"id":42828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42827,"mutability":"mutable","name":"revertData","nameLocation":"24517:10:62","nodeType":"VariableDeclaration","scope":42830,"src":"24510:17:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":42826,"name":"bytes4","nodeType":"ElementaryTypeName","src":"24510:6:62","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"24509:19:62"},"returnParameters":{"id":42829,"nodeType":"ParameterList","parameters":[],"src":"24537:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42833,"nodeType":"FunctionDefinition","src":"24543:33:62","nodes":[],"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"24552:12:62","parameters":{"id":42831,"nodeType":"ParameterList","parameters":[],"src":"24564:2:62"},"returnParameters":{"id":42832,"nodeType":"ParameterList","parameters":[],"src":"24575:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42836,"nodeType":"FunctionDefinition","src":"24908:31:62","nodes":[],"functionSelector":"440ed10d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"24917:10:62","parameters":{"id":42834,"nodeType":"ParameterList","parameters":[],"src":"24927:2:62"},"returnParameters":{"id":42835,"nodeType":"ParameterList","parameters":[],"src":"24938:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42841,"nodeType":"FunctionDefinition","src":"24944:46:62","nodes":[],"functionSelector":"86b9620d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"24953:10:62","parameters":{"id":42839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42838,"mutability":"mutable","name":"emitter","nameLocation":"24972:7:62","nodeType":"VariableDeclaration","scope":42841,"src":"24964:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42837,"name":"address","nodeType":"ElementaryTypeName","src":"24964:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24963:17:62"},"returnParameters":{"id":42840,"nodeType":"ParameterList","parameters":[],"src":"24989:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42852,"nodeType":"FunctionDefinition","src":"25400:99:62","nodes":[],"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"25409:10:62","parameters":{"id":42850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42843,"mutability":"mutable","name":"checkTopic1","nameLocation":"25425:11:62","nodeType":"VariableDeclaration","scope":42852,"src":"25420:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42842,"name":"bool","nodeType":"ElementaryTypeName","src":"25420:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42845,"mutability":"mutable","name":"checkTopic2","nameLocation":"25443:11:62","nodeType":"VariableDeclaration","scope":42852,"src":"25438:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42844,"name":"bool","nodeType":"ElementaryTypeName","src":"25438:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42847,"mutability":"mutable","name":"checkTopic3","nameLocation":"25461:11:62","nodeType":"VariableDeclaration","scope":42852,"src":"25456:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42846,"name":"bool","nodeType":"ElementaryTypeName","src":"25456:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42849,"mutability":"mutable","name":"checkData","nameLocation":"25479:9:62","nodeType":"VariableDeclaration","scope":42852,"src":"25474:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42848,"name":"bool","nodeType":"ElementaryTypeName","src":"25474:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25419:70:62"},"returnParameters":{"id":42851,"nodeType":"ParameterList","parameters":[],"src":"25498:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42865,"nodeType":"FunctionDefinition","src":"25504:124:62","nodes":[],"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"25513:10:62","parameters":{"id":42863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42854,"mutability":"mutable","name":"checkTopic1","nameLocation":"25529:11:62","nodeType":"VariableDeclaration","scope":42865,"src":"25524:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42853,"name":"bool","nodeType":"ElementaryTypeName","src":"25524:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42856,"mutability":"mutable","name":"checkTopic2","nameLocation":"25547:11:62","nodeType":"VariableDeclaration","scope":42865,"src":"25542:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42855,"name":"bool","nodeType":"ElementaryTypeName","src":"25542:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42858,"mutability":"mutable","name":"checkTopic3","nameLocation":"25565:11:62","nodeType":"VariableDeclaration","scope":42865,"src":"25560:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42857,"name":"bool","nodeType":"ElementaryTypeName","src":"25560:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42860,"mutability":"mutable","name":"checkData","nameLocation":"25583:9:62","nodeType":"VariableDeclaration","scope":42865,"src":"25578:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":42859,"name":"bool","nodeType":"ElementaryTypeName","src":"25578:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":42862,"mutability":"mutable","name":"emitter","nameLocation":"25602:7:62","nodeType":"VariableDeclaration","scope":42865,"src":"25594:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42861,"name":"address","nodeType":"ElementaryTypeName","src":"25594:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25523:87:62"},"returnParameters":{"id":42864,"nodeType":"ParameterList","parameters":[],"src":"25627:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42874,"nodeType":"FunctionDefinition","src":"25884:91:62","nodes":[],"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"25893:8:62","parameters":{"id":42872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42867,"mutability":"mutable","name":"callee","nameLocation":"25910:6:62","nodeType":"VariableDeclaration","scope":42874,"src":"25902:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42866,"name":"address","nodeType":"ElementaryTypeName","src":"25902:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42869,"mutability":"mutable","name":"data","nameLocation":"25933:4:62","nodeType":"VariableDeclaration","scope":42874,"src":"25918:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42868,"name":"bytes","nodeType":"ElementaryTypeName","src":"25918:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42871,"mutability":"mutable","name":"returnData","nameLocation":"25954:10:62","nodeType":"VariableDeclaration","scope":42874,"src":"25939:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42870,"name":"bytes","nodeType":"ElementaryTypeName","src":"25939:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25901:64:62"},"returnParameters":{"id":42873,"nodeType":"ParameterList","parameters":[],"src":"25974:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42885,"nodeType":"FunctionDefinition","src":"26143:109:62","nodes":[],"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"26152:8:62","parameters":{"id":42883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42876,"mutability":"mutable","name":"callee","nameLocation":"26169:6:62","nodeType":"VariableDeclaration","scope":42885,"src":"26161:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42875,"name":"address","nodeType":"ElementaryTypeName","src":"26161:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42878,"mutability":"mutable","name":"msgValue","nameLocation":"26185:8:62","nodeType":"VariableDeclaration","scope":42885,"src":"26177:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42877,"name":"uint256","nodeType":"ElementaryTypeName","src":"26177:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42880,"mutability":"mutable","name":"data","nameLocation":"26210:4:62","nodeType":"VariableDeclaration","scope":42885,"src":"26195:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42879,"name":"bytes","nodeType":"ElementaryTypeName","src":"26195:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42882,"mutability":"mutable","name":"returnData","nameLocation":"26231:10:62","nodeType":"VariableDeclaration","scope":42885,"src":"26216:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42881,"name":"bytes","nodeType":"ElementaryTypeName","src":"26216:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26160:82:62"},"returnParameters":{"id":42884,"nodeType":"ParameterList","parameters":[],"src":"26251:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42894,"nodeType":"FunctionDefinition","src":"26321:97:62","nodes":[],"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"26330:14:62","parameters":{"id":42892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42887,"mutability":"mutable","name":"callee","nameLocation":"26353:6:62","nodeType":"VariableDeclaration","scope":42894,"src":"26345:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42886,"name":"address","nodeType":"ElementaryTypeName","src":"26345:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42889,"mutability":"mutable","name":"data","nameLocation":"26376:4:62","nodeType":"VariableDeclaration","scope":42894,"src":"26361:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42888,"name":"bytes","nodeType":"ElementaryTypeName","src":"26361:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42891,"mutability":"mutable","name":"revertData","nameLocation":"26397:10:62","nodeType":"VariableDeclaration","scope":42894,"src":"26382:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42890,"name":"bytes","nodeType":"ElementaryTypeName","src":"26382:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26344:64:62"},"returnParameters":{"id":42893,"nodeType":"ParameterList","parameters":[],"src":"26417:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42905,"nodeType":"FunctionDefinition","src":"26514:123:62","nodes":[],"functionSelector":"d23cd037","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"26523:14:62","parameters":{"id":42903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42896,"mutability":"mutable","name":"callee","nameLocation":"26546:6:62","nodeType":"VariableDeclaration","scope":42905,"src":"26538:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42895,"name":"address","nodeType":"ElementaryTypeName","src":"26538:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42898,"mutability":"mutable","name":"msgValue","nameLocation":"26562:8:62","nodeType":"VariableDeclaration","scope":42905,"src":"26554:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42897,"name":"uint256","nodeType":"ElementaryTypeName","src":"26554:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42900,"mutability":"mutable","name":"data","nameLocation":"26587:4:62","nodeType":"VariableDeclaration","scope":42905,"src":"26572:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42899,"name":"bytes","nodeType":"ElementaryTypeName","src":"26572:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42902,"mutability":"mutable","name":"revertData","nameLocation":"26608:10:62","nodeType":"VariableDeclaration","scope":42905,"src":"26593:25:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42901,"name":"bytes","nodeType":"ElementaryTypeName","src":"26593:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26537:82:62"},"returnParameters":{"id":42904,"nodeType":"ParameterList","parameters":[],"src":"26636:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42908,"nodeType":"FunctionDefinition","src":"26673:37:62","nodes":[],"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"26682:16:62","parameters":{"id":42906,"nodeType":"ParameterList","parameters":[],"src":"26698:2:62"},"returnParameters":{"id":42907,"nodeType":"ParameterList","parameters":[],"src":"26709:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42915,"nodeType":"FunctionDefinition","src":"26838:66:62","nodes":[],"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"26847:10:62","parameters":{"id":42913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42910,"mutability":"mutable","name":"callee","nameLocation":"26866:6:62","nodeType":"VariableDeclaration","scope":42915,"src":"26858:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42909,"name":"address","nodeType":"ElementaryTypeName","src":"26858:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42912,"mutability":"mutable","name":"data","nameLocation":"26889:4:62","nodeType":"VariableDeclaration","scope":42915,"src":"26874:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42911,"name":"bytes","nodeType":"ElementaryTypeName","src":"26874:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"26857:37:62"},"returnParameters":{"id":42914,"nodeType":"ParameterList","parameters":[],"src":"26903:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42924,"nodeType":"FunctionDefinition","src":"26989:80:62","nodes":[],"functionSelector":"c1adbbff","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"26998:10:62","parameters":{"id":42922,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42917,"mutability":"mutable","name":"callee","nameLocation":"27017:6:62","nodeType":"VariableDeclaration","scope":42924,"src":"27009:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42916,"name":"address","nodeType":"ElementaryTypeName","src":"27009:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42919,"mutability":"mutable","name":"data","nameLocation":"27040:4:62","nodeType":"VariableDeclaration","scope":42924,"src":"27025:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42918,"name":"bytes","nodeType":"ElementaryTypeName","src":"27025:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42921,"mutability":"mutable","name":"count","nameLocation":"27053:5:62","nodeType":"VariableDeclaration","scope":42924,"src":"27046:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42920,"name":"uint64","nodeType":"ElementaryTypeName","src":"27046:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"27008:51:62"},"returnParameters":{"id":42923,"nodeType":"ParameterList","parameters":[],"src":"27068:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42933,"nodeType":"FunctionDefinition","src":"27152:84:62","nodes":[],"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"27161:10:62","parameters":{"id":42931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42926,"mutability":"mutable","name":"callee","nameLocation":"27180:6:62","nodeType":"VariableDeclaration","scope":42933,"src":"27172:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42925,"name":"address","nodeType":"ElementaryTypeName","src":"27172:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42928,"mutability":"mutable","name":"msgValue","nameLocation":"27196:8:62","nodeType":"VariableDeclaration","scope":42933,"src":"27188:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42927,"name":"uint256","nodeType":"ElementaryTypeName","src":"27188:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42930,"mutability":"mutable","name":"data","nameLocation":"27221:4:62","nodeType":"VariableDeclaration","scope":42933,"src":"27206:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42929,"name":"bytes","nodeType":"ElementaryTypeName","src":"27206:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27171:55:62"},"returnParameters":{"id":42932,"nodeType":"ParameterList","parameters":[],"src":"27235:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42944,"nodeType":"FunctionDefinition","src":"27334:98:62","nodes":[],"functionSelector":"a2b1a1ae","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"27343:10:62","parameters":{"id":42942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42935,"mutability":"mutable","name":"callee","nameLocation":"27362:6:62","nodeType":"VariableDeclaration","scope":42944,"src":"27354:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42934,"name":"address","nodeType":"ElementaryTypeName","src":"27354:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42937,"mutability":"mutable","name":"msgValue","nameLocation":"27378:8:62","nodeType":"VariableDeclaration","scope":42944,"src":"27370:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42936,"name":"uint256","nodeType":"ElementaryTypeName","src":"27370:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42939,"mutability":"mutable","name":"data","nameLocation":"27403:4:62","nodeType":"VariableDeclaration","scope":42944,"src":"27388:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42938,"name":"bytes","nodeType":"ElementaryTypeName","src":"27388:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42941,"mutability":"mutable","name":"count","nameLocation":"27416:5:62","nodeType":"VariableDeclaration","scope":42944,"src":"27409:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42940,"name":"uint64","nodeType":"ElementaryTypeName","src":"27409:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"27353:69:62"},"returnParameters":{"id":42943,"nodeType":"ParameterList","parameters":[],"src":"27431:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42955,"nodeType":"FunctionDefinition","src":"27521:96:62","nodes":[],"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"27530:10:62","parameters":{"id":42953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42946,"mutability":"mutable","name":"callee","nameLocation":"27549:6:62","nodeType":"VariableDeclaration","scope":42955,"src":"27541:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42945,"name":"address","nodeType":"ElementaryTypeName","src":"27541:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42948,"mutability":"mutable","name":"msgValue","nameLocation":"27565:8:62","nodeType":"VariableDeclaration","scope":42955,"src":"27557:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42947,"name":"uint256","nodeType":"ElementaryTypeName","src":"27557:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42950,"mutability":"mutable","name":"gas","nameLocation":"27582:3:62","nodeType":"VariableDeclaration","scope":42955,"src":"27575:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42949,"name":"uint64","nodeType":"ElementaryTypeName","src":"27575:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42952,"mutability":"mutable","name":"data","nameLocation":"27602:4:62","nodeType":"VariableDeclaration","scope":42955,"src":"27587:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42951,"name":"bytes","nodeType":"ElementaryTypeName","src":"27587:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27540:67:62"},"returnParameters":{"id":42954,"nodeType":"ParameterList","parameters":[],"src":"27616:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42968,"nodeType":"FunctionDefinition","src":"27722:110:62","nodes":[],"functionSelector":"65b7b7cc","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"27731:10:62","parameters":{"id":42966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42957,"mutability":"mutable","name":"callee","nameLocation":"27750:6:62","nodeType":"VariableDeclaration","scope":42968,"src":"27742:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42956,"name":"address","nodeType":"ElementaryTypeName","src":"27742:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42959,"mutability":"mutable","name":"msgValue","nameLocation":"27766:8:62","nodeType":"VariableDeclaration","scope":42968,"src":"27758:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42958,"name":"uint256","nodeType":"ElementaryTypeName","src":"27758:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42961,"mutability":"mutable","name":"gas","nameLocation":"27783:3:62","nodeType":"VariableDeclaration","scope":42968,"src":"27776:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42960,"name":"uint64","nodeType":"ElementaryTypeName","src":"27776:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42963,"mutability":"mutable","name":"data","nameLocation":"27803:4:62","nodeType":"VariableDeclaration","scope":42968,"src":"27788:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42962,"name":"bytes","nodeType":"ElementaryTypeName","src":"27788:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42965,"mutability":"mutable","name":"count","nameLocation":"27816:5:62","nodeType":"VariableDeclaration","scope":42968,"src":"27809:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42964,"name":"uint64","nodeType":"ElementaryTypeName","src":"27809:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"27741:81:62"},"returnParameters":{"id":42967,"nodeType":"ParameterList","parameters":[],"src":"27831:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42979,"nodeType":"FunctionDefinition","src":"27946:105:62","nodes":[],"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"27955:16:62","parameters":{"id":42977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42970,"mutability":"mutable","name":"callee","nameLocation":"27980:6:62","nodeType":"VariableDeclaration","scope":42979,"src":"27972:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42969,"name":"address","nodeType":"ElementaryTypeName","src":"27972:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42972,"mutability":"mutable","name":"msgValue","nameLocation":"27996:8:62","nodeType":"VariableDeclaration","scope":42979,"src":"27988:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42971,"name":"uint256","nodeType":"ElementaryTypeName","src":"27988:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42974,"mutability":"mutable","name":"minGas","nameLocation":"28013:6:62","nodeType":"VariableDeclaration","scope":42979,"src":"28006:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42973,"name":"uint64","nodeType":"ElementaryTypeName","src":"28006:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42976,"mutability":"mutable","name":"data","nameLocation":"28036:4:62","nodeType":"VariableDeclaration","scope":42979,"src":"28021:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42975,"name":"bytes","nodeType":"ElementaryTypeName","src":"28021:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27971:70:62"},"returnParameters":{"id":42978,"nodeType":"ParameterList","parameters":[],"src":"28050:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42992,"nodeType":"FunctionDefinition","src":"28180:127:62","nodes":[],"functionSelector":"e13a1834","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"28189:16:62","parameters":{"id":42990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42981,"mutability":"mutable","name":"callee","nameLocation":"28214:6:62","nodeType":"VariableDeclaration","scope":42992,"src":"28206:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":42980,"name":"address","nodeType":"ElementaryTypeName","src":"28206:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":42983,"mutability":"mutable","name":"msgValue","nameLocation":"28230:8:62","nodeType":"VariableDeclaration","scope":42992,"src":"28222:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42982,"name":"uint256","nodeType":"ElementaryTypeName","src":"28222:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":42985,"mutability":"mutable","name":"minGas","nameLocation":"28247:6:62","nodeType":"VariableDeclaration","scope":42992,"src":"28240:13:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42984,"name":"uint64","nodeType":"ElementaryTypeName","src":"28240:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42987,"mutability":"mutable","name":"data","nameLocation":"28270:4:62","nodeType":"VariableDeclaration","scope":42992,"src":"28255:19:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":42986,"name":"bytes","nodeType":"ElementaryTypeName","src":"28255:5:62","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":42989,"mutability":"mutable","name":"count","nameLocation":"28283:5:62","nodeType":"VariableDeclaration","scope":42992,"src":"28276:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42988,"name":"uint64","nodeType":"ElementaryTypeName","src":"28276:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"28205:84:62"},"returnParameters":{"id":42991,"nodeType":"ParameterList","parameters":[],"src":"28306:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":42999,"nodeType":"FunctionDefinition","src":"28533:59:62","nodes":[],"functionSelector":"6d016688","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemory","nameLocation":"28542:16:62","parameters":{"id":42997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":42994,"mutability":"mutable","name":"min","nameLocation":"28566:3:62","nodeType":"VariableDeclaration","scope":42999,"src":"28559:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42993,"name":"uint64","nodeType":"ElementaryTypeName","src":"28559:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":42996,"mutability":"mutable","name":"max","nameLocation":"28578:3:62","nodeType":"VariableDeclaration","scope":42999,"src":"28571:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":42995,"name":"uint64","nodeType":"ElementaryTypeName","src":"28571:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"28558:24:62"},"returnParameters":{"id":42998,"nodeType":"ParameterList","parameters":[],"src":"28591:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43006,"nodeType":"FunctionDefinition","src":"28830:63:62","nodes":[],"functionSelector":"05838bf4","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemoryCall","nameLocation":"28839:20:62","parameters":{"id":43004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43001,"mutability":"mutable","name":"min","nameLocation":"28867:3:62","nodeType":"VariableDeclaration","scope":43006,"src":"28860:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":43000,"name":"uint64","nodeType":"ElementaryTypeName","src":"28860:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":43003,"mutability":"mutable","name":"max","nameLocation":"28879:3:62","nodeType":"VariableDeclaration","scope":43006,"src":"28872:10:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":43002,"name":"uint64","nodeType":"ElementaryTypeName","src":"28872:6:62","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"28859:24:62"},"returnParameters":{"id":43005,"nodeType":"ParameterList","parameters":[],"src":"28892:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43011,"nodeType":"FunctionDefinition","src":"28925:48:62","nodes":[],"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"28934:8:62","parameters":{"id":43009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43008,"mutability":"mutable","name":"newCoinbase","nameLocation":"28951:11:62","nodeType":"VariableDeclaration","scope":43011,"src":"28943:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43007,"name":"address","nodeType":"ElementaryTypeName","src":"28943:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28942:21:62"},"returnParameters":{"id":43010,"nodeType":"ParameterList","parameters":[],"src":"28972:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43016,"nodeType":"FunctionDefinition","src":"29123:58:62","nodes":[],"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"29132:8:62","parameters":{"id":43012,"nodeType":"ParameterList","parameters":[],"src":"29140:2:62"},"returnParameters":{"id":43015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43014,"mutability":"mutable","name":"snapshotId","nameLocation":"29169:10:62","nodeType":"VariableDeclaration","scope":43016,"src":"29161:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43013,"name":"uint256","nodeType":"ElementaryTypeName","src":"29161:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29160:20:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43023,"nodeType":"FunctionDefinition","src":"29373:70:62","nodes":[],"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"29382:8:62","parameters":{"id":43019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43018,"mutability":"mutable","name":"snapshotId","nameLocation":"29399:10:62","nodeType":"VariableDeclaration","scope":43023,"src":"29391:18:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43017,"name":"uint256","nodeType":"ElementaryTypeName","src":"29391:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29390:20:62"},"returnParameters":{"id":43022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43021,"mutability":"mutable","name":"success","nameLocation":"29434:7:62","nodeType":"VariableDeclaration","scope":43023,"src":"29429:12:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43020,"name":"bool","nodeType":"ElementaryTypeName","src":"29429:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29428:14:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43032,"nodeType":"FunctionDefinition","src":"29547:103:62","nodes":[],"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"29556:10:62","parameters":{"id":43028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43025,"mutability":"mutable","name":"urlOrAlias","nameLocation":"29583:10:62","nodeType":"VariableDeclaration","scope":43032,"src":"29567:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43024,"name":"string","nodeType":"ElementaryTypeName","src":"29567:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43027,"mutability":"mutable","name":"blockNumber","nameLocation":"29603:11:62","nodeType":"VariableDeclaration","scope":43032,"src":"29595:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43026,"name":"uint256","nodeType":"ElementaryTypeName","src":"29595:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29566:49:62"},"returnParameters":{"id":43031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43030,"mutability":"mutable","name":"forkId","nameLocation":"29642:6:62","nodeType":"VariableDeclaration","scope":43032,"src":"29634:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43029,"name":"uint256","nodeType":"ElementaryTypeName","src":"29634:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29633:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43039,"nodeType":"FunctionDefinition","src":"29767:82:62","nodes":[],"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"29776:10:62","parameters":{"id":43035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43034,"mutability":"mutable","name":"urlOrAlias","nameLocation":"29803:10:62","nodeType":"VariableDeclaration","scope":43039,"src":"29787:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43033,"name":"string","nodeType":"ElementaryTypeName","src":"29787:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29786:28:62"},"returnParameters":{"id":43038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43037,"mutability":"mutable","name":"forkId","nameLocation":"29841:6:62","nodeType":"VariableDeclaration","scope":43039,"src":"29833:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43036,"name":"uint256","nodeType":"ElementaryTypeName","src":"29833:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29832:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43048,"nodeType":"FunctionDefinition","src":"30070:98:62","nodes":[],"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"30079:10:62","parameters":{"id":43044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43041,"mutability":"mutable","name":"urlOrAlias","nameLocation":"30106:10:62","nodeType":"VariableDeclaration","scope":43048,"src":"30090:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43040,"name":"string","nodeType":"ElementaryTypeName","src":"30090:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43043,"mutability":"mutable","name":"txHash","nameLocation":"30126:6:62","nodeType":"VariableDeclaration","scope":43048,"src":"30118:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43042,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30118:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30089:44:62"},"returnParameters":{"id":43047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43046,"mutability":"mutable","name":"forkId","nameLocation":"30160:6:62","nodeType":"VariableDeclaration","scope":43048,"src":"30152:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43045,"name":"uint256","nodeType":"ElementaryTypeName","src":"30152:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30151:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43057,"nodeType":"FunctionDefinition","src":"30291:109:62","nodes":[],"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"30300:16:62","parameters":{"id":43053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43050,"mutability":"mutable","name":"urlOrAlias","nameLocation":"30333:10:62","nodeType":"VariableDeclaration","scope":43057,"src":"30317:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43049,"name":"string","nodeType":"ElementaryTypeName","src":"30317:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43052,"mutability":"mutable","name":"blockNumber","nameLocation":"30353:11:62","nodeType":"VariableDeclaration","scope":43057,"src":"30345:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43051,"name":"uint256","nodeType":"ElementaryTypeName","src":"30345:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30316:49:62"},"returnParameters":{"id":43056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43055,"mutability":"mutable","name":"forkId","nameLocation":"30392:6:62","nodeType":"VariableDeclaration","scope":43057,"src":"30384:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43054,"name":"uint256","nodeType":"ElementaryTypeName","src":"30384:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30383:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43066,"nodeType":"FunctionDefinition","src":"30634:104:62","nodes":[],"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"30643:16:62","parameters":{"id":43062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43059,"mutability":"mutable","name":"urlOrAlias","nameLocation":"30676:10:62","nodeType":"VariableDeclaration","scope":43066,"src":"30660:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43058,"name":"string","nodeType":"ElementaryTypeName","src":"30660:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43061,"mutability":"mutable","name":"txHash","nameLocation":"30696:6:62","nodeType":"VariableDeclaration","scope":43066,"src":"30688:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43060,"name":"bytes32","nodeType":"ElementaryTypeName","src":"30688:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"30659:44:62"},"returnParameters":{"id":43065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43064,"mutability":"mutable","name":"forkId","nameLocation":"30730:6:62","nodeType":"VariableDeclaration","scope":43066,"src":"30722:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43063,"name":"uint256","nodeType":"ElementaryTypeName","src":"30722:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30721:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43073,"nodeType":"FunctionDefinition","src":"30872:88:62","nodes":[],"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"30881:16:62","parameters":{"id":43069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43068,"mutability":"mutable","name":"urlOrAlias","nameLocation":"30914:10:62","nodeType":"VariableDeclaration","scope":43073,"src":"30898:26:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":43067,"name":"string","nodeType":"ElementaryTypeName","src":"30898:6:62","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30897:28:62"},"returnParameters":{"id":43072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43071,"mutability":"mutable","name":"forkId","nameLocation":"30952:6:62","nodeType":"VariableDeclaration","scope":43073,"src":"30944:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43070,"name":"uint256","nodeType":"ElementaryTypeName","src":"30944:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30943:16:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43078,"nodeType":"FunctionDefinition","src":"31071:45:62","nodes":[],"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"31080:10:62","parameters":{"id":43076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43075,"mutability":"mutable","name":"forkId","nameLocation":"31099:6:62","nodeType":"VariableDeclaration","scope":43078,"src":"31091:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43074,"name":"uint256","nodeType":"ElementaryTypeName","src":"31091:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31090:16:62"},"returnParameters":{"id":43077,"nodeType":"ParameterList","parameters":[],"src":"31115:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43084,"nodeType":"FunctionDefinition","src":"31222:61:62","nodes":[],"documentation":{"id":43079,"nodeType":"StructuredDocumentation","src":"31121:96:62","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"31231:10:62","parameters":{"id":43080,"nodeType":"ParameterList","parameters":[],"src":"31241:2:62"},"returnParameters":{"id":43083,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43082,"mutability":"mutable","name":"forkId","nameLocation":"31275:6:62","nodeType":"VariableDeclaration","scope":43084,"src":"31267:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43081,"name":"uint256","nodeType":"ElementaryTypeName","src":"31267:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31266:16:62"},"scope":43171,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43089,"nodeType":"FunctionDefinition","src":"31418:48:62","nodes":[],"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"31427:8:62","parameters":{"id":43087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43086,"mutability":"mutable","name":"blockNumber","nameLocation":"31444:11:62","nodeType":"VariableDeclaration","scope":43089,"src":"31436:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43085,"name":"uint256","nodeType":"ElementaryTypeName","src":"31436:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31435:21:62"},"returnParameters":{"id":43088,"nodeType":"ParameterList","parameters":[],"src":"31465:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43094,"nodeType":"FunctionDefinition","src":"31676:43:62","nodes":[],"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"31685:8:62","parameters":{"id":43092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43091,"mutability":"mutable","name":"txHash","nameLocation":"31702:6:62","nodeType":"VariableDeclaration","scope":43094,"src":"31694:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31694:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31693:16:62"},"returnParameters":{"id":43093,"nodeType":"ParameterList","parameters":[],"src":"31718:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43101,"nodeType":"FunctionDefinition","src":"31776:64:62","nodes":[],"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"31785:8:62","parameters":{"id":43099,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43096,"mutability":"mutable","name":"forkId","nameLocation":"31802:6:62","nodeType":"VariableDeclaration","scope":43101,"src":"31794:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43095,"name":"uint256","nodeType":"ElementaryTypeName","src":"31794:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43098,"mutability":"mutable","name":"blockNumber","nameLocation":"31818:11:62","nodeType":"VariableDeclaration","scope":43101,"src":"31810:19:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43097,"name":"uint256","nodeType":"ElementaryTypeName","src":"31810:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31793:37:62"},"returnParameters":{"id":43100,"nodeType":"ParameterList","parameters":[],"src":"31839:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43108,"nodeType":"FunctionDefinition","src":"31973:59:62","nodes":[],"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"31982:8:62","parameters":{"id":43106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43103,"mutability":"mutable","name":"forkId","nameLocation":"31999:6:62","nodeType":"VariableDeclaration","scope":43108,"src":"31991:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43102,"name":"uint256","nodeType":"ElementaryTypeName","src":"31991:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43105,"mutability":"mutable","name":"txHash","nameLocation":"32015:6:62","nodeType":"VariableDeclaration","scope":43108,"src":"32007:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"32007:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31990:32:62"},"returnParameters":{"id":43107,"nodeType":"ParameterList","parameters":[],"src":"32031:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43113,"nodeType":"FunctionDefinition","src":"32231:50:62","nodes":[],"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"32240:14:62","parameters":{"id":43111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43110,"mutability":"mutable","name":"account","nameLocation":"32263:7:62","nodeType":"VariableDeclaration","scope":43113,"src":"32255:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43109,"name":"address","nodeType":"ElementaryTypeName","src":"32255:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32254:17:62"},"returnParameters":{"id":43112,"nodeType":"ParameterList","parameters":[],"src":"32280:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43120,"nodeType":"FunctionDefinition","src":"32286:69:62","nodes":[],"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"32295:14:62","parameters":{"id":43118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43115,"mutability":"mutable","name":"account0","nameLocation":"32318:8:62","nodeType":"VariableDeclaration","scope":43120,"src":"32310:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43114,"name":"address","nodeType":"ElementaryTypeName","src":"32310:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43117,"mutability":"mutable","name":"account1","nameLocation":"32336:8:62","nodeType":"VariableDeclaration","scope":43120,"src":"32328:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43116,"name":"address","nodeType":"ElementaryTypeName","src":"32328:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32309:36:62"},"returnParameters":{"id":43119,"nodeType":"ParameterList","parameters":[],"src":"32354:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43129,"nodeType":"FunctionDefinition","src":"32360:87:62","nodes":[],"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"32369:14:62","parameters":{"id":43127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43122,"mutability":"mutable","name":"account0","nameLocation":"32392:8:62","nodeType":"VariableDeclaration","scope":43129,"src":"32384:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43121,"name":"address","nodeType":"ElementaryTypeName","src":"32384:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43124,"mutability":"mutable","name":"account1","nameLocation":"32410:8:62","nodeType":"VariableDeclaration","scope":43129,"src":"32402:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43123,"name":"address","nodeType":"ElementaryTypeName","src":"32402:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":43126,"mutability":"mutable","name":"account2","nameLocation":"32428:8:62","nodeType":"VariableDeclaration","scope":43129,"src":"32420:16:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43125,"name":"address","nodeType":"ElementaryTypeName","src":"32420:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32383:54:62"},"returnParameters":{"id":43128,"nodeType":"ParameterList","parameters":[],"src":"32446:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43135,"nodeType":"FunctionDefinition","src":"32452:62:62","nodes":[],"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"32461:14:62","parameters":{"id":43133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43132,"mutability":"mutable","name":"accounts","nameLocation":"32495:8:62","nodeType":"VariableDeclaration","scope":43135,"src":"32476:27:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43130,"name":"address","nodeType":"ElementaryTypeName","src":"32476:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43131,"nodeType":"ArrayTypeName","src":"32476:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"32475:29:62"},"returnParameters":{"id":43134,"nodeType":"ParameterList","parameters":[],"src":"32513:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43140,"nodeType":"FunctionDefinition","src":"32608:52:62","nodes":[],"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"32617:16:62","parameters":{"id":43138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43137,"mutability":"mutable","name":"account","nameLocation":"32642:7:62","nodeType":"VariableDeclaration","scope":43140,"src":"32634:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43136,"name":"address","nodeType":"ElementaryTypeName","src":"32634:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32633:17:62"},"returnParameters":{"id":43139,"nodeType":"ParameterList","parameters":[],"src":"32659:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43146,"nodeType":"FunctionDefinition","src":"32665:64:62","nodes":[],"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"32674:16:62","parameters":{"id":43144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43143,"mutability":"mutable","name":"accounts","nameLocation":"32710:8:62","nodeType":"VariableDeclaration","scope":43146,"src":"32691:27:62","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":43141,"name":"address","nodeType":"ElementaryTypeName","src":"32691:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":43142,"nodeType":"ArrayTypeName","src":"32691:9:62","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"32690:29:62"},"returnParameters":{"id":43145,"nodeType":"ParameterList","parameters":[],"src":"32728:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43153,"nodeType":"FunctionDefinition","src":"32793:79:62","nodes":[],"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"32802:12:62","parameters":{"id":43149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43148,"mutability":"mutable","name":"account","nameLocation":"32823:7:62","nodeType":"VariableDeclaration","scope":43153,"src":"32815:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43147,"name":"address","nodeType":"ElementaryTypeName","src":"32815:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32814:17:62"},"returnParameters":{"id":43152,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43151,"mutability":"mutable","name":"persistent","nameLocation":"32860:10:62","nodeType":"VariableDeclaration","scope":43153,"src":"32855:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43150,"name":"bool","nodeType":"ElementaryTypeName","src":"32855:4:62","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32854:17:62"},"scope":43171,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":43158,"nodeType":"FunctionDefinition","src":"32953:51:62","nodes":[],"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"32962:15:62","parameters":{"id":43156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43155,"mutability":"mutable","name":"account","nameLocation":"32986:7:62","nodeType":"VariableDeclaration","scope":43158,"src":"32978:15:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43154,"name":"address","nodeType":"ElementaryTypeName","src":"32978:7:62","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32977:17:62"},"returnParameters":{"id":43157,"nodeType":"ParameterList","parameters":[],"src":"33003:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43163,"nodeType":"FunctionDefinition","src":"33104:43:62","nodes":[],"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"33113:8:62","parameters":{"id":43161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43160,"mutability":"mutable","name":"txHash","nameLocation":"33130:6:62","nodeType":"VariableDeclaration","scope":43163,"src":"33122:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43159,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33122:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33121:16:62"},"returnParameters":{"id":43162,"nodeType":"ParameterList","parameters":[],"src":"33146:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":43170,"nodeType":"FunctionDefinition","src":"33246:59:62","nodes":[],"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"33255:8:62","parameters":{"id":43168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43165,"mutability":"mutable","name":"forkId","nameLocation":"33272:6:62","nodeType":"VariableDeclaration","scope":43170,"src":"33264:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43164,"name":"uint256","nodeType":"ElementaryTypeName","src":"33264:7:62","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43167,"mutability":"mutable","name":"txHash","nameLocation":"33288:6:62","nodeType":"VariableDeclaration","scope":43170,"src":"33280:14:62","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43166,"name":"bytes32","nodeType":"ElementaryTypeName","src":"33280:7:62","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"33263:32:62"},"returnParameters":{"id":43169,"nodeType":"ParameterList","parameters":[],"src":"33304:0:62"},"scope":43171,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":42700,"name":"VmSafe","nameLocations":["21713:6:62"],"nodeType":"IdentifierPath","referencedDeclaration":42699,"src":"21713:6:62"},"id":42701,"nodeType":"InheritanceSpecifier","src":"21713:6:62"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[43171,42699],"name":"Vm","nameLocation":"21707:2:62","scope":43172,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":62} \ No newline at end of file +{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"activeFork","inputs":[],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"allowCheatcodes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"chainId","inputs":[{"name":"newChainId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"clearMockedCalls","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coinbase","inputs":[{"name":"newCoinbase","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createSelectFork","inputs":[{"name":"urlOrAlias","type":"string","internalType":"string"}],"outputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deal","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newBalance","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"difficulty","inputs":[{"name":"newDifficulty","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"etch","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"newRuntimeBytecode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"gas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectCallMinGas","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"minGas","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"count","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"checkTopic1","type":"bool","internalType":"bool"},{"name":"checkTopic2","type":"bool","internalType":"bool"},{"name":"checkTopic3","type":"bool","internalType":"bool"},{"name":"checkData","type":"bool","internalType":"bool"},{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectEmit","inputs":[{"name":"emitter","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes4","internalType":"bytes4"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectRevert","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemory","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"expectSafeMemoryCall","inputs":[{"name":"min","type":"uint64","internalType":"uint64"},{"name":"max","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fee","inputs":[{"name":"newBasefee","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"isPersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"persistent","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"makePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"makePersistent","inputs":[{"name":"account0","type":"address","internalType":"address"},{"name":"account1","type":"address","internalType":"address"},{"name":"account2","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCall","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"returnData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"mockCallRevert","inputs":[{"name":"callee","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"revertData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonString","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"prevrandao","inputs":[{"name":"newPrevrandao","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readCallers","inputs":[],"outputs":[{"name":"callerMode","type":"uint8","internalType":"enum VmSafe.CallerMode"},{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revertTo","inputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokePersistent","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"roll","inputs":[{"name":"newHeight","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rollFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"selectFork","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNonceUnsafe","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newNonce","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"skip","inputs":[{"name":"skipTest","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"snapshot","inputs":[],"outputs":[{"name":"snapshotId","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startPrank","inputs":[{"name":"msgSender","type":"address","internalType":"address"},{"name":"txOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopPrank","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"store","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transact","inputs":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transact","inputs":[{"name":"txHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"txGasPrice","inputs":[{"name":"newGasPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"warp","inputs":[{"name":"newTimestamp","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","activeFork()":"2f103f22","addr(uint256)":"ffa18649","allowCheatcodes(address)":"ea060291","assume(bool)":"4c63e562","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","chainId(uint256)":"4049ddd2","clearMockedCalls()":"3fdf4e15","closeFile(string)":"48c3241f","coinbase(address)":"ff483c54","createDir(string,bool)":"168b64d3","createFork(string)":"31ba3498","createFork(string,bytes32)":"7ca29682","createFork(string,uint256)":"6ba3ba2b","createSelectFork(string)":"98680034","createSelectFork(string,bytes32)":"84d52b7a","createSelectFork(string,uint256)":"71ee464d","deal(address,uint256)":"c88a5e6d","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,uint32)":"6229498b","difficulty(uint256)":"46cc92d9","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","etch(address,bytes)":"b4d6c782","expectCall(address,bytes)":"bd6af434","expectCall(address,bytes,uint64)":"c1adbbff","expectCall(address,uint256,bytes)":"f30c7ba3","expectCall(address,uint256,bytes,uint64)":"a2b1a1ae","expectCall(address,uint256,uint64,bytes)":"23361207","expectCall(address,uint256,uint64,bytes,uint64)":"65b7b7cc","expectCallMinGas(address,uint256,uint64,bytes)":"08e4e116","expectCallMinGas(address,uint256,uint64,bytes,uint64)":"e13a1834","expectEmit()":"440ed10d","expectEmit(address)":"86b9620d","expectEmit(bool,bool,bool,bool)":"491cc7c2","expectEmit(bool,bool,bool,bool,address)":"81bad6f3","expectRevert()":"f4844814","expectRevert(bytes)":"f28dceb3","expectRevert(bytes4)":"c31eb0e0","expectSafeMemory(uint64,uint64)":"6d016688","expectSafeMemoryCall(uint64,uint64)":"05838bf4","fee(uint256)":"39b37ab0","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getLabel(address)":"28a249b0","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","isPersistent(address)":"d92d8efd","label(address,string)":"c657c718","load(address,bytes32)":"667f9d70","makePersistent(address)":"57e22dde","makePersistent(address,address)":"4074e0a8","makePersistent(address,address,address)":"efb77a75","makePersistent(address[])":"1d9e269e","mockCall(address,bytes,bytes)":"b96213e4","mockCall(address,uint256,bytes,bytes)":"81409b91","mockCallRevert(address,bytes,bytes)":"dbaad147","mockCallRevert(address,uint256,bytes,bytes)":"d23cd037","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","prank(address)":"ca669fa7","prank(address,address)":"47e50cce","prevrandao(bytes32)":"3b925549","projectRoot()":"d930a0e6","readCallers()":"4ad0bac9","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","resetNonce(address)":"1c72346d","resumeGasMetering()":"2bcd50e0","revertTo(uint256)":"44d7f0a4","revokePersistent(address)":"997a0222","revokePersistent(address[])":"3ce969e6","roll(uint256)":"1f7b4f30","rollFork(bytes32)":"0f29772b","rollFork(uint256)":"d9bbf3a1","rollFork(uint256,bytes32)":"f2830f7b","rollFork(uint256,uint256)":"d74c83a4","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","selectFork(uint256)":"9ebf6827","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","setEnv(string,string)":"3d5923ee","setNonce(address,uint64)":"f8e18b57","setNonceUnsafe(address,uint64)":"9b67b21c","sign(uint256,bytes32)":"e341eaa4","skip(bool)":"dd82d13e","snapshot()":"9711715a","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startPrank(address)":"06447d56","startPrank(address,address)":"45b56078","stopBroadcast()":"76eadd36","stopPrank()":"90c5013b","store(address,bytes32,bytes32)":"70ca10bb","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","transact(bytes32)":"be646da1","transact(uint256,bytes32)":"4d8abc4b","txGasPrice(uint256)":"48f50c0f","warp(uint256)":"e5d6bf02","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"allowCheatcodes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newChainId\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newCoinbase\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"urlOrAlias\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDifficulty\",\"type\":\"uint256\"}],\"name\":\"difficulty\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"newRuntimeBytecode\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"gas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"minGas\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint64\",\"name\":\"count\",\"type\":\"uint64\"}],\"name\":\"expectCallMinGas\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"checkTopic1\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic2\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkTopic3\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"checkData\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"revertData\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"min\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"max\",\"type\":\"uint64\"}],\"name\":\"expectSafeMemoryCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBasefee\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"persistent\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account1\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"account2\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callee\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"revertData\",\"type\":\"bytes\"}],\"name\":\"mockCallRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"newPrevrandao\",\"type\":\"bytes32\"}],\"name\":\"prevrandao\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"readCallers\",\"outputs\":[{\"internalType\":\"enum VmSafe.CallerMode\",\"name\":\"callerMode\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"resetNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newHeight\",\"type\":\"uint256\"}],\"name\":\"roll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"newNonce\",\"type\":\"uint64\"}],\"name\":\"setNonceUnsafe\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"skipTest\",\"type\":\"bool\"}],\"name\":\"skip\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"snapshotId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"msgSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"txOrigin\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"transact\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newGasPrice\",\"type\":\"uint256\"}],\"name\":\"txGasPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newTimestamp\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the identifier of the currently active fork. Reverts if no fork is currently active.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c\",\"dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"accesses","outputs":[{"internalType":"bytes32[]","name":"readSlots","type":"bytes32[]"},{"internalType":"bytes32[]","name":"writeSlots","type":"bytes32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"addr","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"allowCheatcodes"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assume"},{"inputs":[{"internalType":"string","name":"char","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[{"internalType":"string","name":"char","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"newChainId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"chainId"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"clearMockedCalls"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"closeFile"},{"inputs":[{"internalType":"address","name":"newCoinbase","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"coinbase"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"createDir"},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"urlOrAlias","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createSelectFork","outputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"newBalance","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deal"},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"newDifficulty","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"difficulty"},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes32[]","name":"defaultValue","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"int256[]","name":"defaultValue","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"defaultValue","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"defaultValue","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"defaultValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes[]","name":"defaultValue","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"uint256[]","name":"defaultValue","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"string[]","name":"defaultValue","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes","name":"defaultValue","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32","name":"defaultValue","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"int256","name":"defaultValue","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"address[]","name":"defaultValue","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"defaultValue","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bool[]","name":"defaultValue","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"envOr","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"newRuntimeBytecode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"etch"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"gas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint64","name":"minGas","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint64","name":"count","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectCallMinGas"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bool","name":"checkTopic1","type":"bool"},{"internalType":"bool","name":"checkTopic2","type":"bool"},{"internalType":"bool","name":"checkTopic3","type":"bool"},{"internalType":"bool","name":"checkData","type":"bool"},{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"address","name":"emitter","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"expectEmit"},{"inputs":[{"internalType":"bytes4","name":"revertData","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"expectRevert"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemory"},{"inputs":[{"internalType":"uint64","name":"min","type":"uint64"},{"internalType":"uint64","name":"max","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"expectSafeMemoryCall"},{"inputs":[{"internalType":"uint256","name":"newBasefee","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"fee"},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"ffi","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"fsMetadata","outputs":[{"internalType":"struct VmSafe.FsMetadata","name":"metadata","type":"tuple","components":[{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"},{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"bool","name":"readOnly","type":"bool"},{"internalType":"uint256","name":"modified","type":"uint256"},{"internalType":"uint256","name":"accessed","type":"uint256"},{"internalType":"uint256","name":"created","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getCode","outputs":[{"internalType":"bytes","name":"creationBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployedCode","outputs":[{"internalType":"bytes","name":"runtimeBytecode","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"getLabel","outputs":[{"internalType":"string","name":"currentLabel","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getRecordedLogs","outputs":[{"internalType":"struct VmSafe.Log[]","name":"logs","type":"tuple[]","components":[{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"emitter","type":"address"}]}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isPersistent","outputs":[{"internalType":"bool","name":"persistent","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"newLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"label"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"load","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"account0","type":"address"},{"internalType":"address","name":"account1","type":"address"},{"internalType":"address","name":"account2","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"makePersistent"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCall"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"address","name":"callee","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"revertData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"mockCallRevert"},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseAddress","outputs":[{"internalType":"address","name":"parsedValue","type":"address"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBool","outputs":[{"internalType":"bool","name":"parsedValue","type":"bool"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes","outputs":[{"internalType":"bytes","name":"parsedValue","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes32","outputs":[{"internalType":"bytes32","name":"parsedValue","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseInt","outputs":[{"internalType":"int256","name":"parsedValue","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"parseJsonUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseUint","outputs":[{"internalType":"uint256","name":"parsedValue","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseGasMetering"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"prank"},{"inputs":[{"internalType":"bytes32","name":"newPrevrandao","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"prevrandao"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectRoot","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"readCallers","outputs":[{"internalType":"enum VmSafe.CallerMode","name":"callerMode","type":"uint8"},{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"},{"internalType":"bool","name":"followLinks","type":"bool"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFile","outputs":[{"internalType":"string","name":"data","type":"string"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFileBinary","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readLine","outputs":[{"internalType":"string","name":"line","type":"string"}]},{"inputs":[{"internalType":"string","name":"linkPath","type":"string"}],"stateMutability":"view","type":"function","name":"readLink","outputs":[{"internalType":"string","name":"targetPath","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"record"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recordLogs"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rememberKey","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeDir"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeFile"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"resetNonce"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resumeGasMetering"},{"inputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"revertTo","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokePersistent"},{"inputs":[{"internalType":"uint256","name":"newHeight","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"roll"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"rollFork"},{"inputs":[{"internalType":"string","name":"rpcAlias","type":"string"}],"stateMutability":"view","type":"function","name":"rpcUrl","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrlStructs","outputs":[{"internalType":"struct VmSafe.Rpc[]","name":"urls","type":"tuple[]","components":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"url","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrls","outputs":[{"internalType":"string[2][]","name":"urls","type":"string[2][]"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"selectFork"},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address[]","name":"values","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes[]","name":"values","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string[]","name":"values","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setEnv"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonce"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint64","name":"newNonce","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setNonceUnsafe"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"bool","name":"skipTest","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"skip"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"snapshot","outputs":[{"internalType":"uint256","name":"snapshotId","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[{"internalType":"address","name":"msgSender","type":"address"},{"internalType":"address","name":"txOrigin","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startPrank"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopPrank"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"store"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"bytes32","name":"txHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"transact"},{"inputs":[{"internalType":"uint256","name":"newGasPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"txGasPrice"},{"inputs":[{"internalType":"uint256","name":"newTimestamp","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"warp"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeFile"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"writeFileBinary"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeLine"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"activeFork()":{"notice":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."}},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Vm.sol":"Vm"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0xb569d0b4398fad95f508fb854e832143edf69a897af4250f5f60fe195a2066c5","urls":["bzz-raw://84b722ada97ea7bb841cdc0fa556aa36a02ff2d380fa24f6dc0717a71c6d9c7c","dweb:/ipfs/QmfCH9Q4tvJhPM286GFsE4UCP4YncLpRu4Nwa2ZkHdRfbw"],"license":"MIT"}},"version":1},"id":62} \ No newline at end of file diff --git a/out/Votes.sol/Votes.json b/out/Votes.sol/Votes.json index a9f20f3c..8b802539 100644 --- a/out/Votes.sol/Votes.json +++ b/out/Votes.sol/Votes.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"BLOCK_NOT_YET_MINED","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"SIGNATURE_EXPIRED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"BLOCK_NOT_YET_MINED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SIGNATURE_EXPIRED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is a base abstract contract that tracks voting units, which are a measure of voting power that can be transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of \\\"representative\\\" that will pool delegated voting units from different accounts and can then use it to vote in decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. This contract is often combined with a token contract such that voting units correspond to token units. For an example, see {ERC721Votes}. The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the cost of this history tracking optional. When using this module the derived contract must implement {_getVotingUnits} (for example, make it return {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the previous example, it would be included in {ERC721-_beforeTokenTransfer}). _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/Votes.sol\":\"Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"BLOCK_NOT_YET_MINED"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"SIGNATURE_EXPIRED"},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined"},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined"},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/Votes.sol":"Votes"},"libraries":{}},"sources":{"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/abstract/Votes.sol","id":6269,"exportedSymbols":{"Checkpoints":[95554],"Votes":[6268]},"nodeType":"SourceUnit","src":"109:6199:7","nodes":[{"id":5938,"nodeType":"PragmaDirective","src":"109:23:7","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":5940,"nodeType":"ImportDirective","src":"134:76:7","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol","file":"@openzeppelin/contracts/utils/Checkpoints.sol","nameLocation":"-1:-1:-1","scope":6269,"sourceUnit":95555,"symbolAliases":[{"foreign":{"id":5939,"name":"Checkpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95554,"src":"143:11:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6268,"nodeType":"ContractDefinition","src":"1571:4736:7","nodes":[{"id":5945,"nodeType":"UsingForDirective","src":"1601:42:7","nodes":[],"global":false,"libraryName":{"id":5942,"name":"Checkpoints","nameLocations":["1607:11:7"],"nodeType":"IdentifierPath","referencedDeclaration":95554,"src":"1607:11:7"},"typeName":{"id":5944,"nodeType":"UserDefinedTypeName","pathNode":{"id":5943,"name":"Checkpoints.History","nameLocations":["1623:11:7","1635:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"1623:19:7"},"referencedDeclaration":94023,"src":"1623:19:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}}},{"id":5947,"nodeType":"ErrorDefinition","src":"1649:26:7","nodes":[],"errorSelector":"19319827","name":"SIGNATURE_EXPIRED","nameLocation":"1655:17:7","parameters":{"id":5946,"nodeType":"ParameterList","parameters":[],"src":"1672:2:7"}},{"id":5949,"nodeType":"ErrorDefinition","src":"1680:28:7","nodes":[],"errorSelector":"b6bc1360","name":"BLOCK_NOT_YET_MINED","nameLocation":"1686:19:7","parameters":{"id":5948,"nodeType":"ParameterList","parameters":[],"src":"1705:2:7"}},{"id":5951,"nodeType":"ErrorDefinition","src":"1713:16:7","nodes":[],"errorSelector":"7fcce2a9","name":"INVALID","nameLocation":"1719:7:7","parameters":{"id":5950,"nodeType":"ParameterList","parameters":[],"src":"1726:2:7"}},{"id":5960,"nodeType":"EventDefinition","src":"1811:107:7","nodes":[],"anonymous":false,"documentation":{"id":5952,"nodeType":"StructuredDocumentation","src":"1735:71:7","text":" @dev Emitted when an account changes their delegate."},"eventSelector":"3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f","name":"DelegateChanged","nameLocation":"1817:15:7","parameters":{"id":5959,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5954,"indexed":true,"mutability":"mutable","name":"delegator","nameLocation":"1849:9:7","nodeType":"VariableDeclaration","scope":5960,"src":"1833:25:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5953,"name":"address","nodeType":"ElementaryTypeName","src":"1833:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5956,"indexed":true,"mutability":"mutable","name":"fromDelegate","nameLocation":"1876:12:7","nodeType":"VariableDeclaration","scope":5960,"src":"1860:28:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5955,"name":"address","nodeType":"ElementaryTypeName","src":"1860:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5958,"indexed":true,"mutability":"mutable","name":"toDelegate","nameLocation":"1906:10:7","nodeType":"VariableDeclaration","scope":5960,"src":"1890:26:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5957,"name":"address","nodeType":"ElementaryTypeName","src":"1890:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1832:85:7"}},{"id":5969,"nodeType":"EventDefinition","src":"2053:98:7","nodes":[],"anonymous":false,"documentation":{"id":5961,"nodeType":"StructuredDocumentation","src":"1924:124:7","text":" @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes."},"eventSelector":"dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","name":"DelegateVotesChanged","nameLocation":"2059:20:7","parameters":{"id":5968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5963,"indexed":true,"mutability":"mutable","name":"delegate","nameLocation":"2096:8:7","nodeType":"VariableDeclaration","scope":5969,"src":"2080:24:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5962,"name":"address","nodeType":"ElementaryTypeName","src":"2080:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5965,"indexed":false,"mutability":"mutable","name":"previousBalance","nameLocation":"2114:15:7","nodeType":"VariableDeclaration","scope":5969,"src":"2106:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5964,"name":"uint256","nodeType":"ElementaryTypeName","src":"2106:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5967,"indexed":false,"mutability":"mutable","name":"newBalance","nameLocation":"2139:10:7","nodeType":"VariableDeclaration","scope":5969,"src":"2131:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5966,"name":"uint256","nodeType":"ElementaryTypeName","src":"2131:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2079:71:7"}},{"id":5973,"nodeType":"VariableDeclaration","src":"2157:47:7","nodes":[],"constant":false,"mutability":"mutable","name":"_delegation","nameLocation":"2193:11:7","scope":6268,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":5972,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":5970,"name":"address","nodeType":"ElementaryTypeName","src":"2165:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2157:27:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5971,"name":"address","nodeType":"ElementaryTypeName","src":"2176:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":5978,"nodeType":"VariableDeclaration","src":"2210:68:7","nodes":[],"constant":false,"mutability":"mutable","name":"_delegateCheckpoints","nameLocation":"2258:20:7","scope":6268,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History)"},"typeName":{"id":5977,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":5974,"name":"address","nodeType":"ElementaryTypeName","src":"2218:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2210:39:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5976,"nodeType":"UserDefinedTypeName","pathNode":{"id":5975,"name":"Checkpoints.History","nameLocations":["2229:11:7","2241:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"2229:19:7"},"referencedDeclaration":94023,"src":"2229:19:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}}},"visibility":"private"},{"id":5981,"nodeType":"VariableDeclaration","src":"2284:45:7","nodes":[],"constant":false,"mutability":"mutable","name":"_totalCheckpoints","nameLocation":"2312:17:7","scope":6268,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History"},"typeName":{"id":5980,"nodeType":"UserDefinedTypeName","pathNode":{"id":5979,"name":"Checkpoints.History","nameLocations":["2284:11:7","2296:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":94023,"src":"2284:19:7"},"referencedDeclaration":94023,"src":"2284:19:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage_ptr","typeString":"struct Checkpoints.History"}},"visibility":"private"},{"id":5996,"nodeType":"FunctionDefinition","src":"2420:135:7","nodes":[],"body":{"id":5995,"nodeType":"Block","src":"2493:62:7","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":5989,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5978,"src":"2510:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":5991,"indexExpression":{"id":5990,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5984,"src":"2531:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2510:29:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":5992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2540:6:7","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":94277,"src":"2510:36:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$94023_storage_ptr_$returns$_t_uint224_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":5993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2510:38:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":5988,"id":5994,"nodeType":"Return","src":"2503:45:7"}]},"documentation":{"id":5982,"nodeType":"StructuredDocumentation","src":"2336:79:7","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"2429:8:7","parameters":{"id":5985,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5984,"mutability":"mutable","name":"account","nameLocation":"2446:7:7","nodeType":"VariableDeclaration","scope":5996,"src":"2438:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5983,"name":"address","nodeType":"ElementaryTypeName","src":"2438:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2437:17:7"},"returnParameters":{"id":5988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5987,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5996,"src":"2484:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5986,"name":"uint256","nodeType":"ElementaryTypeName","src":"2484:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2483:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":6014,"nodeType":"FunctionDefinition","src":"2767:175:7","nodes":[],"body":{"id":6013,"nodeType":"Block","src":"2865:77:7","nodes":[],"statements":[{"expression":{"arguments":[{"id":6010,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6001,"src":"2923:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":6006,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5978,"src":"2882:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":6008,"indexExpression":{"id":6007,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5999,"src":"2903:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2882:29:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2912:10:7","memberName":"getAtBlock","nodeType":"MemberAccess","referencedDeclaration":94085,"src":"2882:40:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$94023_storage_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)"}},"id":6011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2882:53:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6005,"id":6012,"nodeType":"Return","src":"2875:60:7"}]},"documentation":{"id":5997,"nodeType":"StructuredDocumentation","src":"2561:201:7","text":" @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"3a46b1a8","implemented":true,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"2776:12:7","parameters":{"id":6002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5999,"mutability":"mutable","name":"account","nameLocation":"2797:7:7","nodeType":"VariableDeclaration","scope":6014,"src":"2789:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5998,"name":"address","nodeType":"ElementaryTypeName","src":"2789:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6001,"mutability":"mutable","name":"blockNumber","nameLocation":"2814:11:7","nodeType":"VariableDeclaration","scope":6014,"src":"2806:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6000,"name":"uint256","nodeType":"ElementaryTypeName","src":"2806:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2788:38:7"},"returnParameters":{"id":6005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6004,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6014,"src":"2856:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6003,"name":"uint256","nodeType":"ElementaryTypeName","src":"2856:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2855:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":6036,"nodeType":"FunctionDefinition","src":"3405:223:7","nodes":[],"body":{"id":6035,"nodeType":"Block","src":"3492:136:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6022,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6017,"src":"3506:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"expression":{"id":6023,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3521:5:7","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":6024,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3527:6:7","memberName":"number","nodeType":"MemberAccess","src":"3521:12:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3506:27:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6029,"nodeType":"IfStatement","src":"3502:61:7","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":6026,"name":"BLOCK_NOT_YET_MINED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5949,"src":"3542:19:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":6027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3542:21:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6028,"nodeType":"RevertStatement","src":"3535:28:7"}},{"expression":{"arguments":[{"id":6032,"name":"blockNumber","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6017,"src":"3609:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6030,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5981,"src":"3580:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6031,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3598:10:7","memberName":"getAtBlock","nodeType":"MemberAccess","referencedDeclaration":94085,"src":"3580:28:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$94023_storage_ptr_$_t_uint256_$returns$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,uint256) view returns (uint256)"}},"id":6033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3580:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6021,"id":6034,"nodeType":"Return","src":"3573:48:7"}]},"documentation":{"id":6015,"nodeType":"StructuredDocumentation","src":"2948:452:7","text":" @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote.\n Requirements:\n - `blockNumber` must have been already mined"},"functionSelector":"8e539e8c","implemented":true,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"3414:18:7","parameters":{"id":6018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6017,"mutability":"mutable","name":"blockNumber","nameLocation":"3441:11:7","nodeType":"VariableDeclaration","scope":6036,"src":"3433:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6016,"name":"uint256","nodeType":"ElementaryTypeName","src":"3433:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3432:21:7"},"returnParameters":{"id":6021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6020,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6036,"src":"3483:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6019,"name":"uint256","nodeType":"ElementaryTypeName","src":"3483:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3482:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":6047,"nodeType":"FunctionDefinition","src":"3705:117:7","nodes":[],"body":{"id":6046,"nodeType":"Block","src":"3772:50:7","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6042,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5981,"src":"3789:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3807:6:7","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":94277,"src":"3789:24:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_History_$94023_storage_ptr_$returns$_t_uint224_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer) view returns (uint224)"}},"id":6044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3789:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":6041,"id":6045,"nodeType":"Return","src":"3782:33:7"}]},"documentation":{"id":6037,"nodeType":"StructuredDocumentation","src":"3634:66:7","text":" @dev Returns the current total supply of votes."},"implemented":true,"kind":"function","modifiers":[],"name":"_getTotalSupply","nameLocation":"3714:15:7","parameters":{"id":6038,"nodeType":"ParameterList","parameters":[],"src":"3729:2:7"},"returnParameters":{"id":6041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6040,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6047,"src":"3763:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6039,"name":"uint256","nodeType":"ElementaryTypeName","src":"3763:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3762:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":6060,"nodeType":"FunctionDefinition","src":"3904:118:7","nodes":[],"body":{"id":6059,"nodeType":"Block","src":"3978:44:7","nodes":[],"statements":[{"expression":{"baseExpression":{"id":6055,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5973,"src":"3995:11:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":6057,"indexExpression":{"id":6056,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6050,"src":"4007:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3995:20:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":6054,"id":6058,"nodeType":"Return","src":"3988:27:7"}]},"documentation":{"id":6048,"nodeType":"StructuredDocumentation","src":"3828:71:7","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","implemented":true,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"3913:9:7","parameters":{"id":6051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6050,"mutability":"mutable","name":"account","nameLocation":"3931:7:7","nodeType":"VariableDeclaration","scope":6060,"src":"3923:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6049,"name":"address","nodeType":"ElementaryTypeName","src":"3923:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3922:17:7"},"returnParameters":{"id":6054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6053,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6060,"src":"3969:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6052,"name":"address","nodeType":"ElementaryTypeName","src":"3969:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3968:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":6073,"nodeType":"FunctionDefinition","src":"4104:101:7","nodes":[],"body":{"id":6072,"nodeType":"Block","src":"4156:49:7","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":6067,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4176:3:7","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4180:6:7","memberName":"sender","nodeType":"MemberAccess","src":"4176:10:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6069,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6063,"src":"4188:9:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6066,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6108,"src":"4166:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":6070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4166:32:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6071,"nodeType":"ExpressionStatement","src":"4166:32:7"}]},"documentation":{"id":6061,"nodeType":"StructuredDocumentation","src":"4028:71:7","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","implemented":true,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"4113:8:7","parameters":{"id":6064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6063,"mutability":"mutable","name":"delegatee","nameLocation":"4130:9:7","nodeType":"VariableDeclaration","scope":6073,"src":"4122:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6062,"name":"address","nodeType":"ElementaryTypeName","src":"4122:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4121:19:7"},"returnParameters":{"id":6065,"nodeType":"ParameterList","parameters":[],"src":"4156:0:7"},"scope":6268,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":6108,"nodeType":"FunctionDefinition","src":"4369:313:7","nodes":[],"body":{"id":6107,"nodeType":"Block","src":"4441:241:7","nodes":[],"statements":[{"assignments":[6082],"declarations":[{"constant":false,"id":6082,"mutability":"mutable","name":"oldDelegate","nameLocation":"4459:11:7","nodeType":"VariableDeclaration","scope":6107,"src":"4451:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6081,"name":"address","nodeType":"ElementaryTypeName","src":"4451:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":6086,"initialValue":{"arguments":[{"id":6084,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6076,"src":"4483:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6083,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"4473:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":6085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4473:18:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4451:40:7"},{"expression":{"id":6091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":6087,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5973,"src":"4501:11:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":6089,"indexExpression":{"id":6088,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6076,"src":"4513:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4501:20:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":6090,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6078,"src":"4524:9:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4501:32:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6092,"nodeType":"ExpressionStatement","src":"4501:32:7"},{"eventCall":{"arguments":[{"id":6094,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6076,"src":"4565:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6095,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6082,"src":"4574:11:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6096,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6078,"src":"4587:9:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6093,"name":"DelegateChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5960,"src":"4549:15:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":6097,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4549:48:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6098,"nodeType":"EmitStatement","src":"4544:53:7"},{"expression":{"arguments":[{"id":6100,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6082,"src":"4626:11:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6101,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6078,"src":"4639:9:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":6103,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6076,"src":"4666:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6102,"name":"_getVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6267,"src":"4650:15:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":6104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4650:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6099,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6231,"src":"4607:18:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":6105,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4607:68:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6106,"nodeType":"ExpressionStatement","src":"4607:68:7"}]},"documentation":{"id":6074,"nodeType":"StructuredDocumentation","src":"4211:153:7","text":" @dev Delegate all of `account`'s voting units to `delegatee`.\n Emits events {DelegateChanged} and {DelegateVotesChanged}."},"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"4378:9:7","parameters":{"id":6079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6076,"mutability":"mutable","name":"account","nameLocation":"4396:7:7","nodeType":"VariableDeclaration","scope":6108,"src":"4388:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6075,"name":"address","nodeType":"ElementaryTypeName","src":"4388:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6078,"mutability":"mutable","name":"delegatee","nameLocation":"4413:9:7","nodeType":"VariableDeclaration","scope":6108,"src":"4405:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6077,"name":"address","nodeType":"ElementaryTypeName","src":"4405:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4387:36:7"},"returnParameters":{"id":6080,"nodeType":"ParameterList","parameters":[],"src":"4441:0:7"},"scope":6268,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6159,"nodeType":"FunctionDefinition","src":"4916:355:7","nodes":[],"body":{"id":6158,"nodeType":"Block","src":"5005:266:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6118,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6111,"src":"5019:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":6121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5035:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":6120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5027:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6119,"name":"address","nodeType":"ElementaryTypeName","src":"5027:7:7","typeDescriptions":{}}},"id":6122,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5027:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5019:18:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6132,"nodeType":"IfStatement","src":"5015:85:7","trueBody":{"id":6131,"nodeType":"Block","src":"5039:61:7","statements":[{"expression":{"arguments":[{"id":6127,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6245,"src":"5076:4:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":6128,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6115,"src":"5082:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6124,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5981,"src":"5053:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6126,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5071:4:7","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":94247,"src":"5053:22:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$94023_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":6129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5053:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":6130,"nodeType":"ExpressionStatement","src":"5053:36:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6133,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5113:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":6136,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5127:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":6135,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5119:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6134,"name":"address","nodeType":"ElementaryTypeName","src":"5119:7:7","typeDescriptions":{}}},"id":6137,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5119:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5113:16:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6147,"nodeType":"IfStatement","src":"5109:88:7","trueBody":{"id":6146,"nodeType":"Block","src":"5131:66:7","statements":[{"expression":{"arguments":[{"id":6142,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6259,"src":"5168:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":6143,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6115,"src":"5179:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":6139,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5981,"src":"5145:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6141,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5163:4:7","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":94247,"src":"5145:22:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$94023_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":6144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5145:41:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"id":6145,"nodeType":"ExpressionStatement","src":"5145:41:7"}]}},{"expression":{"arguments":[{"arguments":[{"id":6150,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6111,"src":"5235:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6149,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"5225:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":6151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5225:15:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":6153,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6113,"src":"5252:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6152,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6060,"src":"5242:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":6154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5242:13:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6155,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6115,"src":"5257:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6148,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6231,"src":"5206:18:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":6156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5206:58:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6157,"nodeType":"ExpressionStatement","src":"5206:58:7"}]},"documentation":{"id":6109,"nodeType":"StructuredDocumentation","src":"4688:223:7","text":" @dev Transfers, mints, or burns voting units. To register a mint, `from` should be zero. To register a burn, `to`\n should be zero. Total supply of voting units will be adjusted with mints and burns."},"implemented":true,"kind":"function","modifiers":[],"name":"_transferVotingUnits","nameLocation":"4925:20:7","parameters":{"id":6116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6111,"mutability":"mutable","name":"from","nameLocation":"4954:4:7","nodeType":"VariableDeclaration","scope":6159,"src":"4946:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6110,"name":"address","nodeType":"ElementaryTypeName","src":"4946:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6113,"mutability":"mutable","name":"to","nameLocation":"4968:2:7","nodeType":"VariableDeclaration","scope":6159,"src":"4960:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6112,"name":"address","nodeType":"ElementaryTypeName","src":"4960:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6115,"mutability":"mutable","name":"amount","nameLocation":"4980:6:7","nodeType":"VariableDeclaration","scope":6159,"src":"4972:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6114,"name":"uint256","nodeType":"ElementaryTypeName","src":"4972:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4945:42:7"},"returnParameters":{"id":6117,"nodeType":"ParameterList","parameters":[],"src":"5005:0:7"},"scope":6268,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":6231,"nodeType":"FunctionDefinition","src":"5357:580:7","nodes":[],"body":{"id":6230,"nodeType":"Block","src":"5435:502:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6169,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6162,"src":"5449:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":6170,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6164,"src":"5457:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5449:10:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6172,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"5463:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":6173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5472:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5463:10:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5449:24:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6229,"nodeType":"IfStatement","src":"5445:486:7","trueBody":{"id":6228,"nodeType":"Block","src":"5475:456:7","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6181,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6176,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6162,"src":"5493:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5509:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":6178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5501:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6177,"name":"address","nodeType":"ElementaryTypeName","src":"5501:7:7","typeDescriptions":{}}},"id":6180,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5501:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5493:18:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6201,"nodeType":"IfStatement","src":"5489:215:7","trueBody":{"id":6200,"nodeType":"Block","src":"5513:191:7","statements":[{"assignments":[6183,6185],"declarations":[{"constant":false,"id":6183,"mutability":"mutable","name":"oldValue","nameLocation":"5540:8:7","nodeType":"VariableDeclaration","scope":6200,"src":"5532:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6182,"name":"uint256","nodeType":"ElementaryTypeName","src":"5532:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6185,"mutability":"mutable","name":"newValue","nameLocation":"5558:8:7","nodeType":"VariableDeclaration","scope":6200,"src":"5550:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6184,"name":"uint256","nodeType":"ElementaryTypeName","src":"5550:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6193,"initialValue":{"arguments":[{"id":6190,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6259,"src":"5602:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":6191,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"5613:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":6186,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5978,"src":"5570:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":6188,"indexExpression":{"id":6187,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6162,"src":"5591:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5570:26:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6189,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5597:4:7","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":94247,"src":"5570:31:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$94023_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":6192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5570:50:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5531:89:7"},{"eventCall":{"arguments":[{"id":6195,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6162,"src":"5664:4:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6196,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6183,"src":"5670:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6197,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6185,"src":"5680:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6194,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5969,"src":"5643:20:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":6198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5643:46:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6199,"nodeType":"EmitStatement","src":"5638:51:7"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6202,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6164,"src":"5721:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5735:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":6204,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5727:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6203,"name":"address","nodeType":"ElementaryTypeName","src":"5727:7:7","typeDescriptions":{}}},"id":6206,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5727:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5721:16:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6227,"nodeType":"IfStatement","src":"5717:204:7","trueBody":{"id":6226,"nodeType":"Block","src":"5739:182:7","statements":[{"assignments":[6209,6211],"declarations":[{"constant":false,"id":6209,"mutability":"mutable","name":"oldValue","nameLocation":"5766:8:7","nodeType":"VariableDeclaration","scope":6226,"src":"5758:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6208,"name":"uint256","nodeType":"ElementaryTypeName","src":"5758:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6211,"mutability":"mutable","name":"newValue","nameLocation":"5784:8:7","nodeType":"VariableDeclaration","scope":6226,"src":"5776:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6210,"name":"uint256","nodeType":"ElementaryTypeName","src":"5776:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6219,"initialValue":{"arguments":[{"id":6216,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6245,"src":"5826:4:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"}},{"id":6217,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6166,"src":"5832:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) pure returns (uint256)"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"baseExpression":{"id":6212,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5978,"src":"5796:20:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_History_$94023_storage_$","typeString":"mapping(address => struct Checkpoints.History storage ref)"}},"id":6214,"indexExpression":{"id":6213,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6164,"src":"5817:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5796:24:7","typeDescriptions":{"typeIdentifier":"t_struct$_History_$94023_storage","typeString":"struct Checkpoints.History storage ref"}},"id":6215,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5821:4:7","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":94247,"src":"5796:29:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_History_$94023_storage_ptr_$_t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$_$_t_uint256_$returns$_t_uint256_$_t_uint256_$attached_to$_t_struct$_History_$94023_storage_ptr_$","typeString":"function (struct Checkpoints.History storage pointer,function (uint256,uint256) view returns (uint256),uint256) returns (uint256,uint256)"}},"id":6218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5796:43:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"5757:82:7"},{"eventCall":{"arguments":[{"id":6221,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6164,"src":"5883:2:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6222,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6209,"src":"5887:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":6223,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6211,"src":"5897:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6220,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5969,"src":"5862:20:7","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":6224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5862:44:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6225,"nodeType":"EmitStatement","src":"5857:49:7"}]}}]}}]},"documentation":{"id":6160,"nodeType":"StructuredDocumentation","src":"5277:75:7","text":" @dev Moves delegated votes from one delegate to another."},"implemented":true,"kind":"function","modifiers":[],"name":"_moveDelegateVotes","nameLocation":"5366:18:7","parameters":{"id":6167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6162,"mutability":"mutable","name":"from","nameLocation":"5393:4:7","nodeType":"VariableDeclaration","scope":6231,"src":"5385:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6161,"name":"address","nodeType":"ElementaryTypeName","src":"5385:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6164,"mutability":"mutable","name":"to","nameLocation":"5407:2:7","nodeType":"VariableDeclaration","scope":6231,"src":"5399:10:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6163,"name":"address","nodeType":"ElementaryTypeName","src":"5399:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6166,"mutability":"mutable","name":"amount","nameLocation":"5419:6:7","nodeType":"VariableDeclaration","scope":6231,"src":"5411:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6165,"name":"uint256","nodeType":"ElementaryTypeName","src":"5411:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5384:42:7"},"returnParameters":{"id":6168,"nodeType":"ParameterList","parameters":[],"src":"5435:0:7"},"scope":6268,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":6245,"nodeType":"FunctionDefinition","src":"5943:97:7","nodes":[],"body":{"id":6244,"nodeType":"Block","src":"6011:29:7","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6242,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6240,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6233,"src":"6028:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":6241,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6235,"src":"6032:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6028:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6239,"id":6243,"nodeType":"Return","src":"6021:12:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"5952:4:7","parameters":{"id":6236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6233,"mutability":"mutable","name":"a","nameLocation":"5965:1:7","nodeType":"VariableDeclaration","scope":6245,"src":"5957:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6232,"name":"uint256","nodeType":"ElementaryTypeName","src":"5957:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6235,"mutability":"mutable","name":"b","nameLocation":"5976:1:7","nodeType":"VariableDeclaration","scope":6245,"src":"5968:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6234,"name":"uint256","nodeType":"ElementaryTypeName","src":"5968:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5956:22:7"},"returnParameters":{"id":6239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6238,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6245,"src":"6002:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6237,"name":"uint256","nodeType":"ElementaryTypeName","src":"6002:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6001:9:7"},"scope":6268,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":6259,"nodeType":"FunctionDefinition","src":"6046:102:7","nodes":[],"body":{"id":6258,"nodeType":"Block","src":"6119:29:7","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6254,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6247,"src":"6136:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":6255,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6249,"src":"6140:1:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6136:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":6253,"id":6257,"nodeType":"Return","src":"6129:12:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_subtract","nameLocation":"6055:9:7","parameters":{"id":6250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6247,"mutability":"mutable","name":"a","nameLocation":"6073:1:7","nodeType":"VariableDeclaration","scope":6259,"src":"6065:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6246,"name":"uint256","nodeType":"ElementaryTypeName","src":"6065:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":6249,"mutability":"mutable","name":"b","nameLocation":"6084:1:7","nodeType":"VariableDeclaration","scope":6259,"src":"6076:9:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6248,"name":"uint256","nodeType":"ElementaryTypeName","src":"6076:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6064:22:7"},"returnParameters":{"id":6253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6252,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6259,"src":"6110:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6251,"name":"uint256","nodeType":"ElementaryTypeName","src":"6110:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6109:9:7"},"scope":6268,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":6267,"nodeType":"FunctionDefinition","src":"6231:74:7","nodes":[],"documentation":{"id":6260,"nodeType":"StructuredDocumentation","src":"6154:72:7","text":" @dev Must return the voting units held by an account."},"implemented":false,"kind":"function","modifiers":[],"name":"_getVotingUnits","nameLocation":"6240:15:7","parameters":{"id":6263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6262,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6267,"src":"6256:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6261,"name":"address","nodeType":"ElementaryTypeName","src":"6256:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6255:9:7"},"returnParameters":{"id":6266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6265,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6267,"src":"6296:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6264,"name":"uint256","nodeType":"ElementaryTypeName","src":"6296:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6295:9:7"},"scope":6268,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[],"canonicalName":"Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":5941,"nodeType":"StructuredDocumentation","src":"212:1358:7","text":" @dev This is a base abstract contract that tracks voting units, which are a measure of voting power that can be\n transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of\n \"representative\" that will pool delegated voting units from different accounts and can then use it to vote in\n decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to\n delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative.\n This contract is often combined with a token contract such that voting units correspond to token units. For an\n example, see {ERC721Votes}.\n The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed\n at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the\n cost of this history tracking optional.\n When using this module the derived contract must implement {_getVotingUnits} (for example, make it return\n {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the\n previous example, it would be included in {ERC721-_beforeTokenTransfer}).\n _Available since v4.5._"},"fullyImplemented":false,"internalFunctionIDs":{"6245":1,"6259":2},"linearizedBaseContracts":[6268],"name":"Votes","nameLocation":"1589:5:7","scope":6269,"usedErrors":[5947,5949,5951],"usedEvents":[5960,5969]}],"license":"MIT"},"id":7} \ No newline at end of file +{"abi":[{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"blockNumber","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"BLOCK_NOT_YET_MINED","inputs":[]},{"type":"error","name":"INVALID","inputs":[]},{"type":"error","name":"SIGNATURE_EXPIRED","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"delegate(address)":"5c19a95c","delegates(address)":"587cde1e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"BLOCK_NOT_YET_MINED\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"INVALID\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SIGNATURE_EXPIRED\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is a base abstract contract that tracks voting units, which are a measure of voting power that can be transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of \\\"representative\\\" that will pool delegated voting units from different accounts and can then use it to vote in decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. This contract is often combined with a token contract such that voting units correspond to token units. For an example, see {ERC721Votes}. The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the cost of this history tracking optional. When using this module the derived contract must implement {_getVotingUnits} (for example, make it return {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the previous example, it would be included in {ERC721-_beforeTokenTransfer}). _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"}},\"kind\":\"dev\",\"methods\":{\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/abstract/Votes.sol\":\"Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"contracts/abstract/Votes.sol\":{\"keccak256\":\"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07\",\"dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"BLOCK_NOT_YET_MINED"},{"inputs":[],"type":"error","name":"INVALID"},{"inputs":[],"type":"error","name":"SIGNATURE_EXPIRED"},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at the end of a past block (`blockNumber`). NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `blockNumber` must have been already mined"},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at the end of a past block (`blockNumber`). Requirements: - `blockNumber` must have been already mined"},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/abstract/Votes.sol":"Votes"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/abstract/Votes.sol":{"keccak256":"0x3e8f15b1480038b7eb29eb6356ef9c0dd19189f9554e4ae5148393bc4a9f1358","urls":["bzz-raw://24b561c9f292bbb0de24e72970ace280601eb29a8600a8267bfff2435ed38d07","dweb:/ipfs/QmUvYc4mMCXy6UMDiDZNetokXYjPiQBx7NUmPGz4XUW4c1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"}},"version":1},"id":7} \ No newline at end of file diff --git a/out/console.sol/console.json b/out/console.sol/console.json index 3e91dd6a..3ec3e06c 100644 --- a/out/console.sol/console.json +++ b/out/console.sol/console.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220176a6d39416f950cf8c6a6b8cf8e512f4bebea83bb653f9be3b294413d382bd964736f6c63430008170033","sourceMap":"66:66622:63:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:66622:63;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220176a6d39416f950cf8c6a6b8cf8e512f4bebea83bb653f9be3b294413d382bd964736f6c63430008170033","sourceMap":"66:66622:63:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/console.sol":"console"},"libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"lib/forge-std/src/console.sol","id":51236,"exportedSymbols":{"console":[51235]},"nodeType":"SourceUnit","src":"32:66656:63","nodes":[{"id":43173,"nodeType":"PragmaDirective","src":"32:32:63","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":51235,"nodeType":"ContractDefinition","src":"66:66622:63","nodes":[{"id":43179,"nodeType":"VariableDeclaration","src":"88:86:63","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"105:15:63","scope":51235,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43174,"name":"address","nodeType":"ElementaryTypeName","src":"88:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":43177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"131:42:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":43176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"123:7:63","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":43175,"name":"address","nodeType":"ElementaryTypeName","src":"123:7:63","typeDescriptions":{}}},"id":43178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"123:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":43195,"nodeType":"FunctionDefinition","src":"181:376:63","nodes":[],"body":{"id":43194,"nodeType":"Block","src":"241:316:63","nodes":[],"statements":[{"assignments":[43185],"declarations":[{"constant":false,"id":43185,"mutability":"mutable","name":"payloadLength","nameLocation":"259:13:63","nodeType":"VariableDeclaration","scope":43194,"src":"251:21:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43184,"name":"uint256","nodeType":"ElementaryTypeName","src":"251:7:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":43188,"initialValue":{"expression":{"id":43186,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43181,"src":"275:7:63","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":43187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"283:6:63","memberName":"length","nodeType":"MemberAccess","src":"275:14:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"251:38:63"},{"assignments":[43190],"declarations":[{"constant":false,"id":43190,"mutability":"mutable","name":"consoleAddress","nameLocation":"307:14:63","nodeType":"VariableDeclaration","scope":43194,"src":"299:22:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43189,"name":"address","nodeType":"ElementaryTypeName","src":"299:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":43192,"initialValue":{"id":43191,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43179,"src":"324:15:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"299:40:63"},{"AST":{"nativeSrc":"401:150:63","nodeType":"YulBlock","src":"401:150:63","statements":[{"nativeSrc":"415:36:63","nodeType":"YulVariableDeclaration","src":"415:36:63","value":{"arguments":[{"name":"payload","nativeSrc":"439:7:63","nodeType":"YulIdentifier","src":"439:7:63"},{"kind":"number","nativeSrc":"448:2:63","nodeType":"YulLiteral","src":"448:2:63","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"435:3:63","nodeType":"YulIdentifier","src":"435:3:63"},"nativeSrc":"435:16:63","nodeType":"YulFunctionCall","src":"435:16:63"},"variables":[{"name":"payloadStart","nativeSrc":"419:12:63","nodeType":"YulTypedName","src":"419:12:63","type":""}]},{"nativeSrc":"464:77:63","nodeType":"YulVariableDeclaration","src":"464:77:63","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"484:3:63","nodeType":"YulIdentifier","src":"484:3:63"},"nativeSrc":"484:5:63","nodeType":"YulFunctionCall","src":"484:5:63"},{"name":"consoleAddress","nativeSrc":"491:14:63","nodeType":"YulIdentifier","src":"491:14:63"},{"name":"payloadStart","nativeSrc":"507:12:63","nodeType":"YulIdentifier","src":"507:12:63"},{"name":"payloadLength","nativeSrc":"521:13:63","nodeType":"YulIdentifier","src":"521:13:63"},{"kind":"number","nativeSrc":"536:1:63","nodeType":"YulLiteral","src":"536:1:63","type":"","value":"0"},{"kind":"number","nativeSrc":"539:1:63","nodeType":"YulLiteral","src":"539:1:63","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"473:10:63","nodeType":"YulIdentifier","src":"473:10:63"},"nativeSrc":"473:68:63","nodeType":"YulFunctionCall","src":"473:68:63"},"variables":[{"name":"r","nativeSrc":"468:1:63","nodeType":"YulTypedName","src":"468:1:63","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":43190,"isOffset":false,"isSlot":false,"src":"491:14:63","valueSize":1},{"declaration":43181,"isOffset":false,"isSlot":false,"src":"439:7:63","valueSize":1},{"declaration":43185,"isOffset":false,"isSlot":false,"src":"521:13:63","valueSize":1}],"id":43193,"nodeType":"InlineAssembly","src":"392:159:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"190:15:63","parameters":{"id":43182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43181,"mutability":"mutable","name":"payload","nameLocation":"219:7:63","nodeType":"VariableDeclaration","scope":43195,"src":"206:20:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43180,"name":"bytes","nodeType":"ElementaryTypeName","src":"206:5:63","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"205:22:63"},"returnParameters":{"id":43183,"nodeType":"ParameterList","parameters":[],"src":"241:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":43206,"nodeType":"FunctionDefinition","src":"563:95:63","nodes":[],"body":{"id":43205,"nodeType":"Block","src":"592:66:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":43201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"642:7:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":43199,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"618:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"622:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"618:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"618:32:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43198,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"602:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"602:49:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43204,"nodeType":"ExpressionStatement","src":"602:49:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"572:3:63","parameters":{"id":43196,"nodeType":"ParameterList","parameters":[],"src":"575:2:63"},"returnParameters":{"id":43197,"nodeType":"ParameterList","parameters":[],"src":"592:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43220,"nodeType":"FunctionDefinition","src":"664:111:63","nodes":[],"body":{"id":43219,"nodeType":"Block","src":"702:73:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7429","id":43214,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"752:10:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},"value":"log(int)"},{"id":43215,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43208,"src":"764:2:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e","typeString":"literal_string \"log(int)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":43212,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"728:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43213,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"732:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"728:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:39:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43211,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"712:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"712:56:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43218,"nodeType":"ExpressionStatement","src":"712:56:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"673:6:63","parameters":{"id":43209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43208,"mutability":"mutable","name":"p0","nameLocation":"684:2:63","nodeType":"VariableDeclaration","scope":43220,"src":"680:6:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":43207,"name":"int","nodeType":"ElementaryTypeName","src":"680:3:63","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"679:8:63"},"returnParameters":{"id":43210,"nodeType":"ParameterList","parameters":[],"src":"702:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43234,"nodeType":"FunctionDefinition","src":"781:114:63","nodes":[],"body":{"id":43233,"nodeType":"Block","src":"821:74:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":43228,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"871:11:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":43229,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43222,"src":"884:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43226,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"847:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43227,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"851:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"847:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"847:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43225,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"831:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"831:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43232,"nodeType":"ExpressionStatement","src":"831:57:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"790:7:63","parameters":{"id":43223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43222,"mutability":"mutable","name":"p0","nameLocation":"803:2:63","nodeType":"VariableDeclaration","scope":43234,"src":"798:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43221,"name":"uint","nodeType":"ElementaryTypeName","src":"798:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"797:9:63"},"returnParameters":{"id":43224,"nodeType":"ParameterList","parameters":[],"src":"821:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43248,"nodeType":"FunctionDefinition","src":"901:127:63","nodes":[],"body":{"id":43247,"nodeType":"Block","src":"952:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":43242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1002:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":43243,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43236,"src":"1017:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"978:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"982:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"978:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"978:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43239,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"962:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"962:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43246,"nodeType":"ExpressionStatement","src":"962:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"910:9:63","parameters":{"id":43237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43236,"mutability":"mutable","name":"p0","nameLocation":"934:2:63","nodeType":"VariableDeclaration","scope":43248,"src":"920:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43235,"name":"string","nodeType":"ElementaryTypeName","src":"920:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"919:18:63"},"returnParameters":{"id":43238,"nodeType":"ParameterList","parameters":[],"src":"952:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43262,"nodeType":"FunctionDefinition","src":"1034:114:63","nodes":[],"body":{"id":43261,"nodeType":"Block","src":"1074:74:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":43256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1124:11:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":43257,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43250,"src":"1137:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":43254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1100:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1104:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1100:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1100:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1084:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43259,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1084:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43260,"nodeType":"ExpressionStatement","src":"1084:57:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1043:7:63","parameters":{"id":43251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43250,"mutability":"mutable","name":"p0","nameLocation":"1056:2:63","nodeType":"VariableDeclaration","scope":43262,"src":"1051:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43249,"name":"bool","nodeType":"ElementaryTypeName","src":"1051:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1050:9:63"},"returnParameters":{"id":43252,"nodeType":"ParameterList","parameters":[],"src":"1074:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43276,"nodeType":"FunctionDefinition","src":"1154:123:63","nodes":[],"body":{"id":43275,"nodeType":"Block","src":"1200:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":43270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1250:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":43271,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43264,"src":"1266:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1226:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1230:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1226:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1226:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1210:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1210:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43274,"nodeType":"ExpressionStatement","src":"1210:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"1163:10:63","parameters":{"id":43265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43264,"mutability":"mutable","name":"p0","nameLocation":"1182:2:63","nodeType":"VariableDeclaration","scope":43276,"src":"1174:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43263,"name":"address","nodeType":"ElementaryTypeName","src":"1174:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1173:12:63"},"returnParameters":{"id":43266,"nodeType":"ParameterList","parameters":[],"src":"1200:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43290,"nodeType":"FunctionDefinition","src":"1283:124:63","nodes":[],"body":{"id":43289,"nodeType":"Block","src":"1332:75:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":43284,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1382:12:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":43285,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43278,"src":"1396:2:63","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":43282,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1358:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1362:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1358:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1358:41:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43281,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1342:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1342:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43288,"nodeType":"ExpressionStatement","src":"1342:58:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"1292:8:63","parameters":{"id":43279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43278,"mutability":"mutable","name":"p0","nameLocation":"1314:2:63","nodeType":"VariableDeclaration","scope":43290,"src":"1301:15:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":43277,"name":"bytes","nodeType":"ElementaryTypeName","src":"1301:5:63","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1300:17:63"},"returnParameters":{"id":43280,"nodeType":"ParameterList","parameters":[],"src":"1332:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43304,"nodeType":"FunctionDefinition","src":"1413:120:63","nodes":[],"body":{"id":43303,"nodeType":"Block","src":"1457:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":43298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1507:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":43299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43292,"src":"1522:2:63","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":43296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1483:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1487:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1483:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43300,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1483:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1467:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1467:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43302,"nodeType":"ExpressionStatement","src":"1467:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"1422:9:63","parameters":{"id":43293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43292,"mutability":"mutable","name":"p0","nameLocation":"1439:2:63","nodeType":"VariableDeclaration","scope":43304,"src":"1432:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":43291,"name":"bytes1","nodeType":"ElementaryTypeName","src":"1432:6:63","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"1431:11:63"},"returnParameters":{"id":43294,"nodeType":"ParameterList","parameters":[],"src":"1457:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43318,"nodeType":"FunctionDefinition","src":"1539:120:63","nodes":[],"body":{"id":43317,"nodeType":"Block","src":"1583:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":43312,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1633:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":43313,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43306,"src":"1648:2:63","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":43310,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1609:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43311,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1613:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1609:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1609:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43309,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1593:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1593:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43316,"nodeType":"ExpressionStatement","src":"1593:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"1548:9:63","parameters":{"id":43307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43306,"mutability":"mutable","name":"p0","nameLocation":"1565:2:63","nodeType":"VariableDeclaration","scope":43318,"src":"1558:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":43305,"name":"bytes2","nodeType":"ElementaryTypeName","src":"1558:6:63","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"1557:11:63"},"returnParameters":{"id":43308,"nodeType":"ParameterList","parameters":[],"src":"1583:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43332,"nodeType":"FunctionDefinition","src":"1665:120:63","nodes":[],"body":{"id":43331,"nodeType":"Block","src":"1709:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":43326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1759:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":43327,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43320,"src":"1774:2:63","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":43324,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1735:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1739:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1735:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1735:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43323,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1719:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1719:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43330,"nodeType":"ExpressionStatement","src":"1719:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"1674:9:63","parameters":{"id":43321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43320,"mutability":"mutable","name":"p0","nameLocation":"1691:2:63","nodeType":"VariableDeclaration","scope":43332,"src":"1684:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":43319,"name":"bytes3","nodeType":"ElementaryTypeName","src":"1684:6:63","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"1683:11:63"},"returnParameters":{"id":43322,"nodeType":"ParameterList","parameters":[],"src":"1709:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43346,"nodeType":"FunctionDefinition","src":"1791:120:63","nodes":[],"body":{"id":43345,"nodeType":"Block","src":"1835:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":43340,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1885:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":43341,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43334,"src":"1900:2:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":43338,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1861:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43339,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1865:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1861:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1861:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43337,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1845:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1845:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43344,"nodeType":"ExpressionStatement","src":"1845:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"1800:9:63","parameters":{"id":43335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43334,"mutability":"mutable","name":"p0","nameLocation":"1817:2:63","nodeType":"VariableDeclaration","scope":43346,"src":"1810:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":43333,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1810:6:63","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1809:11:63"},"returnParameters":{"id":43336,"nodeType":"ParameterList","parameters":[],"src":"1835:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43360,"nodeType":"FunctionDefinition","src":"1917:120:63","nodes":[],"body":{"id":43359,"nodeType":"Block","src":"1961:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":43354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2011:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":43355,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43348,"src":"2026:2:63","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":43352,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1987:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43353,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1991:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1987:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1987:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43351,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"1971:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1971:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43358,"nodeType":"ExpressionStatement","src":"1971:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"1926:9:63","parameters":{"id":43349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43348,"mutability":"mutable","name":"p0","nameLocation":"1943:2:63","nodeType":"VariableDeclaration","scope":43360,"src":"1936:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":43347,"name":"bytes5","nodeType":"ElementaryTypeName","src":"1936:6:63","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"1935:11:63"},"returnParameters":{"id":43350,"nodeType":"ParameterList","parameters":[],"src":"1961:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43374,"nodeType":"FunctionDefinition","src":"2043:120:63","nodes":[],"body":{"id":43373,"nodeType":"Block","src":"2087:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":43368,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2137:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":43369,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43362,"src":"2152:2:63","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":43366,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2113:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43367,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2117:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2113:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2113:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43365,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2097:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2097:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43372,"nodeType":"ExpressionStatement","src":"2097:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2052:9:63","parameters":{"id":43363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43362,"mutability":"mutable","name":"p0","nameLocation":"2069:2:63","nodeType":"VariableDeclaration","scope":43374,"src":"2062:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":43361,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2062:6:63","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2061:11:63"},"returnParameters":{"id":43364,"nodeType":"ParameterList","parameters":[],"src":"2087:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43388,"nodeType":"FunctionDefinition","src":"2169:120:63","nodes":[],"body":{"id":43387,"nodeType":"Block","src":"2213:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":43382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2263:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":43383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43376,"src":"2278:2:63","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":43380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2239:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2243:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2239:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2239:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2223:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2223:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43386,"nodeType":"ExpressionStatement","src":"2223:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"2178:9:63","parameters":{"id":43377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43376,"mutability":"mutable","name":"p0","nameLocation":"2195:2:63","nodeType":"VariableDeclaration","scope":43388,"src":"2188:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":43375,"name":"bytes7","nodeType":"ElementaryTypeName","src":"2188:6:63","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"2187:11:63"},"returnParameters":{"id":43378,"nodeType":"ParameterList","parameters":[],"src":"2213:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43402,"nodeType":"FunctionDefinition","src":"2295:120:63","nodes":[],"body":{"id":43401,"nodeType":"Block","src":"2339:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":43396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2389:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":43397,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43390,"src":"2404:2:63","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":43394,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2365:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2369:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2365:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2365:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43393,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2349:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2349:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43400,"nodeType":"ExpressionStatement","src":"2349:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"2304:9:63","parameters":{"id":43391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43390,"mutability":"mutable","name":"p0","nameLocation":"2321:2:63","nodeType":"VariableDeclaration","scope":43402,"src":"2314:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":43389,"name":"bytes8","nodeType":"ElementaryTypeName","src":"2314:6:63","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"2313:11:63"},"returnParameters":{"id":43392,"nodeType":"ParameterList","parameters":[],"src":"2339:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43416,"nodeType":"FunctionDefinition","src":"2421:120:63","nodes":[],"body":{"id":43415,"nodeType":"Block","src":"2465:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":43410,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2515:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":43411,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43404,"src":"2530:2:63","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":43408,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2491:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2495:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2491:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2491:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43407,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2475:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2475:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43414,"nodeType":"ExpressionStatement","src":"2475:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"2430:9:63","parameters":{"id":43405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43404,"mutability":"mutable","name":"p0","nameLocation":"2447:2:63","nodeType":"VariableDeclaration","scope":43416,"src":"2440:9:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":43403,"name":"bytes9","nodeType":"ElementaryTypeName","src":"2440:6:63","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"2439:11:63"},"returnParameters":{"id":43406,"nodeType":"ParameterList","parameters":[],"src":"2465:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43430,"nodeType":"FunctionDefinition","src":"2547:123:63","nodes":[],"body":{"id":43429,"nodeType":"Block","src":"2593:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":43424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2643:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":43425,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43418,"src":"2659:2:63","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":43422,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2619:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43423,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2623:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2619:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2619:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43421,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2603:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2603:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43428,"nodeType":"ExpressionStatement","src":"2603:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"2556:10:63","parameters":{"id":43419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43418,"mutability":"mutable","name":"p0","nameLocation":"2575:2:63","nodeType":"VariableDeclaration","scope":43430,"src":"2567:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":43417,"name":"bytes10","nodeType":"ElementaryTypeName","src":"2567:7:63","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"2566:12:63"},"returnParameters":{"id":43420,"nodeType":"ParameterList","parameters":[],"src":"2593:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43444,"nodeType":"FunctionDefinition","src":"2676:123:63","nodes":[],"body":{"id":43443,"nodeType":"Block","src":"2722:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":43438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2772:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":43439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43432,"src":"2788:2:63","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":43436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2748:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2752:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2748:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2748:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2732:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43441,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2732:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43442,"nodeType":"ExpressionStatement","src":"2732:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"2685:10:63","parameters":{"id":43433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43432,"mutability":"mutable","name":"p0","nameLocation":"2704:2:63","nodeType":"VariableDeclaration","scope":43444,"src":"2696:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":43431,"name":"bytes11","nodeType":"ElementaryTypeName","src":"2696:7:63","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"2695:12:63"},"returnParameters":{"id":43434,"nodeType":"ParameterList","parameters":[],"src":"2722:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43458,"nodeType":"FunctionDefinition","src":"2805:123:63","nodes":[],"body":{"id":43457,"nodeType":"Block","src":"2851:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":43452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2901:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":43453,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43446,"src":"2917:2:63","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":43450,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2877:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2881:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2877:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2877:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43449,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2861:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43455,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2861:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43456,"nodeType":"ExpressionStatement","src":"2861:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"2814:10:63","parameters":{"id":43447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43446,"mutability":"mutable","name":"p0","nameLocation":"2833:2:63","nodeType":"VariableDeclaration","scope":43458,"src":"2825:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":43445,"name":"bytes12","nodeType":"ElementaryTypeName","src":"2825:7:63","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"2824:12:63"},"returnParameters":{"id":43448,"nodeType":"ParameterList","parameters":[],"src":"2851:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43472,"nodeType":"FunctionDefinition","src":"2934:123:63","nodes":[],"body":{"id":43471,"nodeType":"Block","src":"2980:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":43466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3030:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":43467,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43460,"src":"3046:2:63","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":43464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3006:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3010:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3006:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3006:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"2990:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2990:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43470,"nodeType":"ExpressionStatement","src":"2990:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"2943:10:63","parameters":{"id":43461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43460,"mutability":"mutable","name":"p0","nameLocation":"2962:2:63","nodeType":"VariableDeclaration","scope":43472,"src":"2954:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":43459,"name":"bytes13","nodeType":"ElementaryTypeName","src":"2954:7:63","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"2953:12:63"},"returnParameters":{"id":43462,"nodeType":"ParameterList","parameters":[],"src":"2980:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43486,"nodeType":"FunctionDefinition","src":"3063:123:63","nodes":[],"body":{"id":43485,"nodeType":"Block","src":"3109:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":43480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3159:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":43481,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43474,"src":"3175:2:63","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":43478,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3135:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43479,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3139:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3135:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3135:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43477,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3119:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3119:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43484,"nodeType":"ExpressionStatement","src":"3119:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3072:10:63","parameters":{"id":43475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43474,"mutability":"mutable","name":"p0","nameLocation":"3091:2:63","nodeType":"VariableDeclaration","scope":43486,"src":"3083:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":43473,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3083:7:63","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3082:12:63"},"returnParameters":{"id":43476,"nodeType":"ParameterList","parameters":[],"src":"3109:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43500,"nodeType":"FunctionDefinition","src":"3192:123:63","nodes":[],"body":{"id":43499,"nodeType":"Block","src":"3238:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":43494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3288:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":43495,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43488,"src":"3304:2:63","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":43492,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3264:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3268:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3264:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3264:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43491,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3248:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3248:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43498,"nodeType":"ExpressionStatement","src":"3248:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"3201:10:63","parameters":{"id":43489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43488,"mutability":"mutable","name":"p0","nameLocation":"3220:2:63","nodeType":"VariableDeclaration","scope":43500,"src":"3212:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":43487,"name":"bytes15","nodeType":"ElementaryTypeName","src":"3212:7:63","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"3211:12:63"},"returnParameters":{"id":43490,"nodeType":"ParameterList","parameters":[],"src":"3238:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43514,"nodeType":"FunctionDefinition","src":"3321:123:63","nodes":[],"body":{"id":43513,"nodeType":"Block","src":"3367:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":43508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3417:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":43509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43502,"src":"3433:2:63","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":43506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3393:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3397:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3393:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43510,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3393:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3377:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43512,"nodeType":"ExpressionStatement","src":"3377:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"3330:10:63","parameters":{"id":43503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43502,"mutability":"mutable","name":"p0","nameLocation":"3349:2:63","nodeType":"VariableDeclaration","scope":43514,"src":"3341:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":43501,"name":"bytes16","nodeType":"ElementaryTypeName","src":"3341:7:63","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"3340:12:63"},"returnParameters":{"id":43504,"nodeType":"ParameterList","parameters":[],"src":"3367:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43528,"nodeType":"FunctionDefinition","src":"3450:123:63","nodes":[],"body":{"id":43527,"nodeType":"Block","src":"3496:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":43522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3546:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":43523,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43516,"src":"3562:2:63","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":43520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3522:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3526:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3522:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3522:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3506:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3506:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43526,"nodeType":"ExpressionStatement","src":"3506:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"3459:10:63","parameters":{"id":43517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43516,"mutability":"mutable","name":"p0","nameLocation":"3478:2:63","nodeType":"VariableDeclaration","scope":43528,"src":"3470:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":43515,"name":"bytes17","nodeType":"ElementaryTypeName","src":"3470:7:63","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"3469:12:63"},"returnParameters":{"id":43518,"nodeType":"ParameterList","parameters":[],"src":"3496:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43542,"nodeType":"FunctionDefinition","src":"3579:123:63","nodes":[],"body":{"id":43541,"nodeType":"Block","src":"3625:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":43536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3675:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":43537,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43530,"src":"3691:2:63","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":43534,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3651:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3655:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3651:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3651:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43533,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3635:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3635:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43540,"nodeType":"ExpressionStatement","src":"3635:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"3588:10:63","parameters":{"id":43531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43530,"mutability":"mutable","name":"p0","nameLocation":"3607:2:63","nodeType":"VariableDeclaration","scope":43542,"src":"3599:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":43529,"name":"bytes18","nodeType":"ElementaryTypeName","src":"3599:7:63","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"3598:12:63"},"returnParameters":{"id":43532,"nodeType":"ParameterList","parameters":[],"src":"3625:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43556,"nodeType":"FunctionDefinition","src":"3708:123:63","nodes":[],"body":{"id":43555,"nodeType":"Block","src":"3754:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":43550,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3804:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":43551,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43544,"src":"3820:2:63","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":43548,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3780:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43549,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3784:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3780:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3780:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43547,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3764:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3764:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43554,"nodeType":"ExpressionStatement","src":"3764:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"3717:10:63","parameters":{"id":43545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43544,"mutability":"mutable","name":"p0","nameLocation":"3736:2:63","nodeType":"VariableDeclaration","scope":43556,"src":"3728:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":43543,"name":"bytes19","nodeType":"ElementaryTypeName","src":"3728:7:63","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"3727:12:63"},"returnParameters":{"id":43546,"nodeType":"ParameterList","parameters":[],"src":"3754:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43570,"nodeType":"FunctionDefinition","src":"3837:123:63","nodes":[],"body":{"id":43569,"nodeType":"Block","src":"3883:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":43564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3933:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":43565,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43558,"src":"3949:2:63","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":43562,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3909:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43563,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3913:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3909:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43566,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3909:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43561,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"3893:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3893:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43568,"nodeType":"ExpressionStatement","src":"3893:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"3846:10:63","parameters":{"id":43559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43558,"mutability":"mutable","name":"p0","nameLocation":"3865:2:63","nodeType":"VariableDeclaration","scope":43570,"src":"3857:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":43557,"name":"bytes20","nodeType":"ElementaryTypeName","src":"3857:7:63","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"3856:12:63"},"returnParameters":{"id":43560,"nodeType":"ParameterList","parameters":[],"src":"3883:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43584,"nodeType":"FunctionDefinition","src":"3966:123:63","nodes":[],"body":{"id":43583,"nodeType":"Block","src":"4012:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":43578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4062:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":43579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43572,"src":"4078:2:63","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":43576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4038:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4042:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4038:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4038:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4022:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4022:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43582,"nodeType":"ExpressionStatement","src":"4022:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"3975:10:63","parameters":{"id":43573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43572,"mutability":"mutable","name":"p0","nameLocation":"3994:2:63","nodeType":"VariableDeclaration","scope":43584,"src":"3986:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":43571,"name":"bytes21","nodeType":"ElementaryTypeName","src":"3986:7:63","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"3985:12:63"},"returnParameters":{"id":43574,"nodeType":"ParameterList","parameters":[],"src":"4012:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43598,"nodeType":"FunctionDefinition","src":"4095:123:63","nodes":[],"body":{"id":43597,"nodeType":"Block","src":"4141:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":43592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4191:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":43593,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43586,"src":"4207:2:63","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":43590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4167:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4171:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4167:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4167:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43589,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4151:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4151:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43596,"nodeType":"ExpressionStatement","src":"4151:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4104:10:63","parameters":{"id":43587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43586,"mutability":"mutable","name":"p0","nameLocation":"4123:2:63","nodeType":"VariableDeclaration","scope":43598,"src":"4115:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":43585,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4115:7:63","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4114:12:63"},"returnParameters":{"id":43588,"nodeType":"ParameterList","parameters":[],"src":"4141:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43612,"nodeType":"FunctionDefinition","src":"4224:123:63","nodes":[],"body":{"id":43611,"nodeType":"Block","src":"4270:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":43606,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4320:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":43607,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43600,"src":"4336:2:63","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":43604,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4296:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43605,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4300:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4296:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4296:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43603,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4280:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4280:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43610,"nodeType":"ExpressionStatement","src":"4280:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"4233:10:63","parameters":{"id":43601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43600,"mutability":"mutable","name":"p0","nameLocation":"4252:2:63","nodeType":"VariableDeclaration","scope":43612,"src":"4244:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":43599,"name":"bytes23","nodeType":"ElementaryTypeName","src":"4244:7:63","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"4243:12:63"},"returnParameters":{"id":43602,"nodeType":"ParameterList","parameters":[],"src":"4270:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43626,"nodeType":"FunctionDefinition","src":"4353:123:63","nodes":[],"body":{"id":43625,"nodeType":"Block","src":"4399:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":43620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4449:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":43621,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43614,"src":"4465:2:63","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":43618,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4425:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4429:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4425:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4425:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43617,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4409:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4409:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43624,"nodeType":"ExpressionStatement","src":"4409:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"4362:10:63","parameters":{"id":43615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43614,"mutability":"mutable","name":"p0","nameLocation":"4381:2:63","nodeType":"VariableDeclaration","scope":43626,"src":"4373:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":43613,"name":"bytes24","nodeType":"ElementaryTypeName","src":"4373:7:63","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"4372:12:63"},"returnParameters":{"id":43616,"nodeType":"ParameterList","parameters":[],"src":"4399:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43640,"nodeType":"FunctionDefinition","src":"4482:123:63","nodes":[],"body":{"id":43639,"nodeType":"Block","src":"4528:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":43634,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4578:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":43635,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43628,"src":"4594:2:63","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":43632,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4554:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43633,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4558:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4554:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4554:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43631,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4538:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4538:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43638,"nodeType":"ExpressionStatement","src":"4538:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"4491:10:63","parameters":{"id":43629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43628,"mutability":"mutable","name":"p0","nameLocation":"4510:2:63","nodeType":"VariableDeclaration","scope":43640,"src":"4502:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":43627,"name":"bytes25","nodeType":"ElementaryTypeName","src":"4502:7:63","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"4501:12:63"},"returnParameters":{"id":43630,"nodeType":"ParameterList","parameters":[],"src":"4528:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43654,"nodeType":"FunctionDefinition","src":"4611:123:63","nodes":[],"body":{"id":43653,"nodeType":"Block","src":"4657:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":43648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4707:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":43649,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43642,"src":"4723:2:63","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":43646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4683:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4687:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4683:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4683:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4667:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4667:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43652,"nodeType":"ExpressionStatement","src":"4667:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"4620:10:63","parameters":{"id":43643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43642,"mutability":"mutable","name":"p0","nameLocation":"4639:2:63","nodeType":"VariableDeclaration","scope":43654,"src":"4631:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":43641,"name":"bytes26","nodeType":"ElementaryTypeName","src":"4631:7:63","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"4630:12:63"},"returnParameters":{"id":43644,"nodeType":"ParameterList","parameters":[],"src":"4657:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43668,"nodeType":"FunctionDefinition","src":"4740:123:63","nodes":[],"body":{"id":43667,"nodeType":"Block","src":"4786:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":43662,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":43663,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43656,"src":"4852:2:63","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":43660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4812:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4816:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4812:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4812:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43659,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4796:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4796:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43666,"nodeType":"ExpressionStatement","src":"4796:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"4749:10:63","parameters":{"id":43657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43656,"mutability":"mutable","name":"p0","nameLocation":"4768:2:63","nodeType":"VariableDeclaration","scope":43668,"src":"4760:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":43655,"name":"bytes27","nodeType":"ElementaryTypeName","src":"4760:7:63","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"4759:12:63"},"returnParameters":{"id":43658,"nodeType":"ParameterList","parameters":[],"src":"4786:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43682,"nodeType":"FunctionDefinition","src":"4869:123:63","nodes":[],"body":{"id":43681,"nodeType":"Block","src":"4915:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":43676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4965:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":43677,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43670,"src":"4981:2:63","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":43674,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4941:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43675,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4945:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4941:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4941:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43673,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"4925:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4925:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43680,"nodeType":"ExpressionStatement","src":"4925:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"4878:10:63","parameters":{"id":43671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43670,"mutability":"mutable","name":"p0","nameLocation":"4897:2:63","nodeType":"VariableDeclaration","scope":43682,"src":"4889:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":43669,"name":"bytes28","nodeType":"ElementaryTypeName","src":"4889:7:63","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"4888:12:63"},"returnParameters":{"id":43672,"nodeType":"ParameterList","parameters":[],"src":"4915:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43696,"nodeType":"FunctionDefinition","src":"4998:123:63","nodes":[],"body":{"id":43695,"nodeType":"Block","src":"5044:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":43690,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5094:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":43691,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43684,"src":"5110:2:63","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":43688,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5070:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43689,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5074:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5070:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43692,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5070:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43687,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5054:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5054:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43694,"nodeType":"ExpressionStatement","src":"5054:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5007:10:63","parameters":{"id":43685,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43684,"mutability":"mutable","name":"p0","nameLocation":"5026:2:63","nodeType":"VariableDeclaration","scope":43696,"src":"5018:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":43683,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5018:7:63","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5017:12:63"},"returnParameters":{"id":43686,"nodeType":"ParameterList","parameters":[],"src":"5044:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43710,"nodeType":"FunctionDefinition","src":"5127:123:63","nodes":[],"body":{"id":43709,"nodeType":"Block","src":"5173:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":43704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5223:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":43705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43698,"src":"5239:2:63","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":43702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5199:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5203:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5199:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5199:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5183:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5183:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43708,"nodeType":"ExpressionStatement","src":"5183:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5136:10:63","parameters":{"id":43699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43698,"mutability":"mutable","name":"p0","nameLocation":"5155:2:63","nodeType":"VariableDeclaration","scope":43710,"src":"5147:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":43697,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5147:7:63","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5146:12:63"},"returnParameters":{"id":43700,"nodeType":"ParameterList","parameters":[],"src":"5173:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43724,"nodeType":"FunctionDefinition","src":"5256:123:63","nodes":[],"body":{"id":43723,"nodeType":"Block","src":"5302:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":43718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5352:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":43719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43712,"src":"5368:2:63","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":43716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5328:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5332:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5328:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5328:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5312:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5312:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43722,"nodeType":"ExpressionStatement","src":"5312:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"5265:10:63","parameters":{"id":43713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43712,"mutability":"mutable","name":"p0","nameLocation":"5284:2:63","nodeType":"VariableDeclaration","scope":43724,"src":"5276:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":43711,"name":"bytes31","nodeType":"ElementaryTypeName","src":"5276:7:63","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"5275:12:63"},"returnParameters":{"id":43714,"nodeType":"ParameterList","parameters":[],"src":"5302:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43738,"nodeType":"FunctionDefinition","src":"5385:123:63","nodes":[],"body":{"id":43737,"nodeType":"Block","src":"5431:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":43732,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5481:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":43733,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43726,"src":"5497:2:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":43730,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5457:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43731,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5461:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5457:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5457:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43729,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5441:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5441:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43736,"nodeType":"ExpressionStatement","src":"5441:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"5394:10:63","parameters":{"id":43727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43726,"mutability":"mutable","name":"p0","nameLocation":"5413:2:63","nodeType":"VariableDeclaration","scope":43738,"src":"5405:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":43725,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5405:7:63","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5404:12:63"},"returnParameters":{"id":43728,"nodeType":"ParameterList","parameters":[],"src":"5431:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43752,"nodeType":"FunctionDefinition","src":"5514:110:63","nodes":[],"body":{"id":43751,"nodeType":"Block","src":"5550:74:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7429","id":43746,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5600:11:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},"value":"log(uint)"},{"id":43747,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43740,"src":"5613:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984","typeString":"literal_string \"log(uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43744,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5576:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43745,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5580:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5576:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5576:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43743,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5560:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5560:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43750,"nodeType":"ExpressionStatement","src":"5560:57:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5523:3:63","parameters":{"id":43741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43740,"mutability":"mutable","name":"p0","nameLocation":"5532:2:63","nodeType":"VariableDeclaration","scope":43752,"src":"5527:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43739,"name":"uint","nodeType":"ElementaryTypeName","src":"5527:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5526:9:63"},"returnParameters":{"id":43742,"nodeType":"ParameterList","parameters":[],"src":"5550:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43766,"nodeType":"FunctionDefinition","src":"5630:121:63","nodes":[],"body":{"id":43765,"nodeType":"Block","src":"5675:76:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":43760,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5725:13:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":43761,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43754,"src":"5740:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43758,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5701:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43759,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5705:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5701:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5701:42:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43757,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5685:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5685:59:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43764,"nodeType":"ExpressionStatement","src":"5685:59:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5639:3:63","parameters":{"id":43755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43754,"mutability":"mutable","name":"p0","nameLocation":"5657:2:63","nodeType":"VariableDeclaration","scope":43766,"src":"5643:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43753,"name":"string","nodeType":"ElementaryTypeName","src":"5643:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5642:18:63"},"returnParameters":{"id":43756,"nodeType":"ParameterList","parameters":[],"src":"5675:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43780,"nodeType":"FunctionDefinition","src":"5757:110:63","nodes":[],"body":{"id":43779,"nodeType":"Block","src":"5793:74:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":43774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5843:11:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":43775,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43768,"src":"5856:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":43772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5819:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5823:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5819:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43776,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5819:40:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5803:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43777,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5803:57:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43778,"nodeType":"ExpressionStatement","src":"5803:57:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5766:3:63","parameters":{"id":43769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43768,"mutability":"mutable","name":"p0","nameLocation":"5775:2:63","nodeType":"VariableDeclaration","scope":43780,"src":"5770:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43767,"name":"bool","nodeType":"ElementaryTypeName","src":"5770:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5769:9:63"},"returnParameters":{"id":43770,"nodeType":"ParameterList","parameters":[],"src":"5793:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43794,"nodeType":"FunctionDefinition","src":"5873:116:63","nodes":[],"body":{"id":43793,"nodeType":"Block","src":"5912:77:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":43788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5962:14:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":43789,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43782,"src":"5978:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5938:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5942:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5938:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5938:43:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"5922:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5922:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43792,"nodeType":"ExpressionStatement","src":"5922:60:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"5882:3:63","parameters":{"id":43783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43782,"mutability":"mutable","name":"p0","nameLocation":"5894:2:63","nodeType":"VariableDeclaration","scope":43794,"src":"5886:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43781,"name":"address","nodeType":"ElementaryTypeName","src":"5886:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5885:12:63"},"returnParameters":{"id":43784,"nodeType":"ParameterList","parameters":[],"src":"5912:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43811,"nodeType":"FunctionDefinition","src":"5995:128:63","nodes":[],"body":{"id":43810,"nodeType":"Block","src":"6040:83:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e7429","id":43804,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6090:16:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},"value":"log(uint,uint)"},{"id":43805,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43796,"src":"6108:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43806,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43798,"src":"6112:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32","typeString":"literal_string \"log(uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43802,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6066:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43803,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6070:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6066:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6066:49:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43801,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6050:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6050:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43809,"nodeType":"ExpressionStatement","src":"6050:66:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6004:3:63","parameters":{"id":43799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43796,"mutability":"mutable","name":"p0","nameLocation":"6013:2:63","nodeType":"VariableDeclaration","scope":43811,"src":"6008:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43795,"name":"uint","nodeType":"ElementaryTypeName","src":"6008:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43798,"mutability":"mutable","name":"p1","nameLocation":"6022:2:63","nodeType":"VariableDeclaration","scope":43811,"src":"6017:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43797,"name":"uint","nodeType":"ElementaryTypeName","src":"6017:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6007:18:63"},"returnParameters":{"id":43800,"nodeType":"ParameterList","parameters":[],"src":"6040:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43828,"nodeType":"FunctionDefinition","src":"6129:139:63","nodes":[],"body":{"id":43827,"nodeType":"Block","src":"6183:85:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e6729","id":43821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6233:18:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},"value":"log(uint,string)"},{"id":43822,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43813,"src":"6253:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43823,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43815,"src":"6257:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8","typeString":"literal_string \"log(uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6209:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6213:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6209:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6209:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43818,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6193:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6193:68:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43826,"nodeType":"ExpressionStatement","src":"6193:68:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6138:3:63","parameters":{"id":43816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43813,"mutability":"mutable","name":"p0","nameLocation":"6147:2:63","nodeType":"VariableDeclaration","scope":43828,"src":"6142:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43812,"name":"uint","nodeType":"ElementaryTypeName","src":"6142:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43815,"mutability":"mutable","name":"p1","nameLocation":"6165:2:63","nodeType":"VariableDeclaration","scope":43828,"src":"6151:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43814,"name":"string","nodeType":"ElementaryTypeName","src":"6151:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6141:27:63"},"returnParameters":{"id":43817,"nodeType":"ParameterList","parameters":[],"src":"6183:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43845,"nodeType":"FunctionDefinition","src":"6274:128:63","nodes":[],"body":{"id":43844,"nodeType":"Block","src":"6319:83:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c29","id":43838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6369:16:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},"value":"log(uint,bool)"},{"id":43839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43830,"src":"6387:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43832,"src":"6391:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172","typeString":"literal_string \"log(uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":43836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6345:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6349:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6345:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6345:49:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6329:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6329:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43843,"nodeType":"ExpressionStatement","src":"6329:66:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6283:3:63","parameters":{"id":43833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43830,"mutability":"mutable","name":"p0","nameLocation":"6292:2:63","nodeType":"VariableDeclaration","scope":43845,"src":"6287:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43829,"name":"uint","nodeType":"ElementaryTypeName","src":"6287:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43832,"mutability":"mutable","name":"p1","nameLocation":"6301:2:63","nodeType":"VariableDeclaration","scope":43845,"src":"6296:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43831,"name":"bool","nodeType":"ElementaryTypeName","src":"6296:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6286:18:63"},"returnParameters":{"id":43834,"nodeType":"ParameterList","parameters":[],"src":"6319:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43862,"nodeType":"FunctionDefinition","src":"6408:134:63","nodes":[],"body":{"id":43861,"nodeType":"Block","src":"6456:86:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c6164647265737329","id":43855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6506:19:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},"value":"log(uint,address)"},{"id":43856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43847,"src":"6527:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":43857,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43849,"src":"6531:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2","typeString":"literal_string \"log(uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6482:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6486:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6482:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6482:52:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6466:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6466:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43860,"nodeType":"ExpressionStatement","src":"6466:69:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6417:3:63","parameters":{"id":43850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43847,"mutability":"mutable","name":"p0","nameLocation":"6426:2:63","nodeType":"VariableDeclaration","scope":43862,"src":"6421:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43846,"name":"uint","nodeType":"ElementaryTypeName","src":"6421:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":43849,"mutability":"mutable","name":"p1","nameLocation":"6438:2:63","nodeType":"VariableDeclaration","scope":43862,"src":"6430:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43848,"name":"address","nodeType":"ElementaryTypeName","src":"6430:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6420:21:63"},"returnParameters":{"id":43851,"nodeType":"ParameterList","parameters":[],"src":"6456:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43879,"nodeType":"FunctionDefinition","src":"6548:139:63","nodes":[],"body":{"id":43878,"nodeType":"Block","src":"6602:85:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7429","id":43872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6652:18:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},"value":"log(string,uint)"},{"id":43873,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43864,"src":"6672:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43874,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43866,"src":"6676:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd","typeString":"literal_string \"log(string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43870,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6628:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43871,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6632:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6628:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6628:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43869,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6612:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6612:68:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43877,"nodeType":"ExpressionStatement","src":"6612:68:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6557:3:63","parameters":{"id":43867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43864,"mutability":"mutable","name":"p0","nameLocation":"6575:2:63","nodeType":"VariableDeclaration","scope":43879,"src":"6561:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43863,"name":"string","nodeType":"ElementaryTypeName","src":"6561:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43866,"mutability":"mutable","name":"p1","nameLocation":"6584:2:63","nodeType":"VariableDeclaration","scope":43879,"src":"6579:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43865,"name":"uint","nodeType":"ElementaryTypeName","src":"6579:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6560:27:63"},"returnParameters":{"id":43868,"nodeType":"ParameterList","parameters":[],"src":"6602:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43896,"nodeType":"FunctionDefinition","src":"6693:150:63","nodes":[],"body":{"id":43895,"nodeType":"Block","src":"6756:87:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":43889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6806:20:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":43890,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43881,"src":"6828:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43891,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43883,"src":"6832:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6782:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6786:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6782:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6782:53:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43886,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6766:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6766:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43894,"nodeType":"ExpressionStatement","src":"6766:70:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6702:3:63","parameters":{"id":43884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43881,"mutability":"mutable","name":"p0","nameLocation":"6720:2:63","nodeType":"VariableDeclaration","scope":43896,"src":"6706:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43880,"name":"string","nodeType":"ElementaryTypeName","src":"6706:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43883,"mutability":"mutable","name":"p1","nameLocation":"6738:2:63","nodeType":"VariableDeclaration","scope":43896,"src":"6724:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43882,"name":"string","nodeType":"ElementaryTypeName","src":"6724:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6705:36:63"},"returnParameters":{"id":43885,"nodeType":"ParameterList","parameters":[],"src":"6756:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43913,"nodeType":"FunctionDefinition","src":"6849:139:63","nodes":[],"body":{"id":43912,"nodeType":"Block","src":"6903:85:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":43906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6953:18:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":43907,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43898,"src":"6973:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43908,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43900,"src":"6977:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":43904,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6929:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43905,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6933:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6929:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6929:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43903,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"6913:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6913:68:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43911,"nodeType":"ExpressionStatement","src":"6913:68:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6858:3:63","parameters":{"id":43901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43898,"mutability":"mutable","name":"p0","nameLocation":"6876:2:63","nodeType":"VariableDeclaration","scope":43913,"src":"6862:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43897,"name":"string","nodeType":"ElementaryTypeName","src":"6862:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43900,"mutability":"mutable","name":"p1","nameLocation":"6885:2:63","nodeType":"VariableDeclaration","scope":43913,"src":"6880:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43899,"name":"bool","nodeType":"ElementaryTypeName","src":"6880:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6861:27:63"},"returnParameters":{"id":43902,"nodeType":"ParameterList","parameters":[],"src":"6903:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43930,"nodeType":"FunctionDefinition","src":"6994:145:63","nodes":[],"body":{"id":43929,"nodeType":"Block","src":"7051:88:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":43923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7101:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":43924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43915,"src":"7124:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":43925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43917,"src":"7128:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7077:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7081:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7077:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7077:54:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7061:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43928,"nodeType":"ExpressionStatement","src":"7061:71:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7003:3:63","parameters":{"id":43918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43915,"mutability":"mutable","name":"p0","nameLocation":"7021:2:63","nodeType":"VariableDeclaration","scope":43930,"src":"7007:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43914,"name":"string","nodeType":"ElementaryTypeName","src":"7007:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43917,"mutability":"mutable","name":"p1","nameLocation":"7033:2:63","nodeType":"VariableDeclaration","scope":43930,"src":"7025:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43916,"name":"address","nodeType":"ElementaryTypeName","src":"7025:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7006:30:63"},"returnParameters":{"id":43919,"nodeType":"ParameterList","parameters":[],"src":"7051:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43947,"nodeType":"FunctionDefinition","src":"7145:128:63","nodes":[],"body":{"id":43946,"nodeType":"Block","src":"7190:83:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7429","id":43940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7240:16:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},"value":"log(bool,uint)"},{"id":43941,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43932,"src":"7258:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43942,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43934,"src":"7262:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299","typeString":"literal_string \"log(bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":43938,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7216:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43939,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7220:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7216:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7216:49:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43937,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7200:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7200:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43945,"nodeType":"ExpressionStatement","src":"7200:66:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7154:3:63","parameters":{"id":43935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43932,"mutability":"mutable","name":"p0","nameLocation":"7163:2:63","nodeType":"VariableDeclaration","scope":43947,"src":"7158:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43931,"name":"bool","nodeType":"ElementaryTypeName","src":"7158:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43934,"mutability":"mutable","name":"p1","nameLocation":"7172:2:63","nodeType":"VariableDeclaration","scope":43947,"src":"7167:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43933,"name":"uint","nodeType":"ElementaryTypeName","src":"7167:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7157:18:63"},"returnParameters":{"id":43936,"nodeType":"ParameterList","parameters":[],"src":"7190:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43964,"nodeType":"FunctionDefinition","src":"7279:139:63","nodes":[],"body":{"id":43963,"nodeType":"Block","src":"7333:85:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":43957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7383:18:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":43958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43949,"src":"7403:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43951,"src":"7407:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":43955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7359:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7363:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7359:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7359:51:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7343:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7343:68:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43962,"nodeType":"ExpressionStatement","src":"7343:68:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7288:3:63","parameters":{"id":43952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43949,"mutability":"mutable","name":"p0","nameLocation":"7297:2:63","nodeType":"VariableDeclaration","scope":43964,"src":"7292:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43948,"name":"bool","nodeType":"ElementaryTypeName","src":"7292:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43951,"mutability":"mutable","name":"p1","nameLocation":"7315:2:63","nodeType":"VariableDeclaration","scope":43964,"src":"7301:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":43950,"name":"string","nodeType":"ElementaryTypeName","src":"7301:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7291:27:63"},"returnParameters":{"id":43953,"nodeType":"ParameterList","parameters":[],"src":"7333:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43981,"nodeType":"FunctionDefinition","src":"7424:128:63","nodes":[],"body":{"id":43980,"nodeType":"Block","src":"7469:83:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":43974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7519:16:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":43975,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43966,"src":"7537:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43976,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43968,"src":"7541:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":43972,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7495:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43973,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7499:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7495:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7495:49:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43971,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7479:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7479:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43979,"nodeType":"ExpressionStatement","src":"7479:66:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7433:3:63","parameters":{"id":43969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43966,"mutability":"mutable","name":"p0","nameLocation":"7442:2:63","nodeType":"VariableDeclaration","scope":43981,"src":"7437:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43965,"name":"bool","nodeType":"ElementaryTypeName","src":"7437:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43968,"mutability":"mutable","name":"p1","nameLocation":"7451:2:63","nodeType":"VariableDeclaration","scope":43981,"src":"7446:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43967,"name":"bool","nodeType":"ElementaryTypeName","src":"7446:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7436:18:63"},"returnParameters":{"id":43970,"nodeType":"ParameterList","parameters":[],"src":"7469:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":43998,"nodeType":"FunctionDefinition","src":"7558:134:63","nodes":[],"body":{"id":43997,"nodeType":"Block","src":"7606:86:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":43991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7656:19:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":43992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43983,"src":"7677:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":43993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43985,"src":"7681:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":43989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7632:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":43990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7636:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7632:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":43994,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7632:52:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":43988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7616:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":43995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7616:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":43996,"nodeType":"ExpressionStatement","src":"7616:69:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7567:3:63","parameters":{"id":43986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":43983,"mutability":"mutable","name":"p0","nameLocation":"7576:2:63","nodeType":"VariableDeclaration","scope":43998,"src":"7571:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":43982,"name":"bool","nodeType":"ElementaryTypeName","src":"7571:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":43985,"mutability":"mutable","name":"p1","nameLocation":"7588:2:63","nodeType":"VariableDeclaration","scope":43998,"src":"7580:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43984,"name":"address","nodeType":"ElementaryTypeName","src":"7580:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7570:21:63"},"returnParameters":{"id":43987,"nodeType":"ParameterList","parameters":[],"src":"7606:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44015,"nodeType":"FunctionDefinition","src":"7698:134:63","nodes":[],"body":{"id":44014,"nodeType":"Block","src":"7746:86:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7429","id":44008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7796:19:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},"value":"log(address,uint)"},{"id":44009,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44000,"src":"7817:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44010,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44002,"src":"7821:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133","typeString":"literal_string \"log(address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44006,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7772:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7776:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7772:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7772:52:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44005,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7756:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7756:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44013,"nodeType":"ExpressionStatement","src":"7756:69:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7707:3:63","parameters":{"id":44003,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44000,"mutability":"mutable","name":"p0","nameLocation":"7719:2:63","nodeType":"VariableDeclaration","scope":44015,"src":"7711:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":43999,"name":"address","nodeType":"ElementaryTypeName","src":"7711:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44002,"mutability":"mutable","name":"p1","nameLocation":"7728:2:63","nodeType":"VariableDeclaration","scope":44015,"src":"7723:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44001,"name":"uint","nodeType":"ElementaryTypeName","src":"7723:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7710:21:63"},"returnParameters":{"id":44004,"nodeType":"ParameterList","parameters":[],"src":"7746:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44032,"nodeType":"FunctionDefinition","src":"7838:145:63","nodes":[],"body":{"id":44031,"nodeType":"Block","src":"7895:88:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":44025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7945:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":44026,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44017,"src":"7968:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44027,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44019,"src":"7972:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44023,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7921:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44024,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7925:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7921:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7921:54:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44022,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"7905:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7905:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44030,"nodeType":"ExpressionStatement","src":"7905:71:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7847:3:63","parameters":{"id":44020,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44017,"mutability":"mutable","name":"p0","nameLocation":"7859:2:63","nodeType":"VariableDeclaration","scope":44032,"src":"7851:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44016,"name":"address","nodeType":"ElementaryTypeName","src":"7851:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44019,"mutability":"mutable","name":"p1","nameLocation":"7877:2:63","nodeType":"VariableDeclaration","scope":44032,"src":"7863:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44018,"name":"string","nodeType":"ElementaryTypeName","src":"7863:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7850:30:63"},"returnParameters":{"id":44021,"nodeType":"ParameterList","parameters":[],"src":"7895:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44049,"nodeType":"FunctionDefinition","src":"7989:134:63","nodes":[],"body":{"id":44048,"nodeType":"Block","src":"8037:86:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":44042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8087:19:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":44043,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44034,"src":"8108:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44044,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44036,"src":"8112:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44040,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8063:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44041,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8067:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8063:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8063:52:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44039,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8047:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8047:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44047,"nodeType":"ExpressionStatement","src":"8047:69:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7998:3:63","parameters":{"id":44037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44034,"mutability":"mutable","name":"p0","nameLocation":"8010:2:63","nodeType":"VariableDeclaration","scope":44049,"src":"8002:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44033,"name":"address","nodeType":"ElementaryTypeName","src":"8002:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44036,"mutability":"mutable","name":"p1","nameLocation":"8019:2:63","nodeType":"VariableDeclaration","scope":44049,"src":"8014:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44035,"name":"bool","nodeType":"ElementaryTypeName","src":"8014:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8001:21:63"},"returnParameters":{"id":44038,"nodeType":"ParameterList","parameters":[],"src":"8037:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44066,"nodeType":"FunctionDefinition","src":"8129:140:63","nodes":[],"body":{"id":44065,"nodeType":"Block","src":"8180:89:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":44059,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8230:22:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":44060,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44051,"src":"8254:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44061,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44053,"src":"8258:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44057,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8206:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44058,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8210:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8206:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8206:55:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44056,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8190:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8190:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44064,"nodeType":"ExpressionStatement","src":"8190:72:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8138:3:63","parameters":{"id":44054,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44051,"mutability":"mutable","name":"p0","nameLocation":"8150:2:63","nodeType":"VariableDeclaration","scope":44066,"src":"8142:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44050,"name":"address","nodeType":"ElementaryTypeName","src":"8142:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44053,"mutability":"mutable","name":"p1","nameLocation":"8162:2:63","nodeType":"VariableDeclaration","scope":44066,"src":"8154:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44052,"name":"address","nodeType":"ElementaryTypeName","src":"8154:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8141:24:63"},"returnParameters":{"id":44055,"nodeType":"ParameterList","parameters":[],"src":"8180:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44086,"nodeType":"FunctionDefinition","src":"8275:146:63","nodes":[],"body":{"id":44085,"nodeType":"Block","src":"8329:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e7429","id":44078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8379:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},"value":"log(uint,uint,uint)"},{"id":44079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44068,"src":"8402:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44070,"src":"8406:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44072,"src":"8410:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17","typeString":"literal_string \"log(uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8355:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8359:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8355:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8355:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8339:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8339:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44084,"nodeType":"ExpressionStatement","src":"8339:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8284:3:63","parameters":{"id":44073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44068,"mutability":"mutable","name":"p0","nameLocation":"8293:2:63","nodeType":"VariableDeclaration","scope":44086,"src":"8288:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44067,"name":"uint","nodeType":"ElementaryTypeName","src":"8288:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44070,"mutability":"mutable","name":"p1","nameLocation":"8302:2:63","nodeType":"VariableDeclaration","scope":44086,"src":"8297:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44069,"name":"uint","nodeType":"ElementaryTypeName","src":"8297:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44072,"mutability":"mutable","name":"p2","nameLocation":"8311:2:63","nodeType":"VariableDeclaration","scope":44086,"src":"8306:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44071,"name":"uint","nodeType":"ElementaryTypeName","src":"8306:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8287:27:63"},"returnParameters":{"id":44074,"nodeType":"ParameterList","parameters":[],"src":"8329:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44106,"nodeType":"FunctionDefinition","src":"8427:157:63","nodes":[],"body":{"id":44105,"nodeType":"Block","src":"8490:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e6729","id":44098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8540:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},"value":"log(uint,uint,string)"},{"id":44099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44088,"src":"8565:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44090,"src":"8569:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44092,"src":"8573:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699","typeString":"literal_string \"log(uint,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8516:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8520:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8516:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8516:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8500:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8500:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44104,"nodeType":"ExpressionStatement","src":"8500:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8436:3:63","parameters":{"id":44093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44088,"mutability":"mutable","name":"p0","nameLocation":"8445:2:63","nodeType":"VariableDeclaration","scope":44106,"src":"8440:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44087,"name":"uint","nodeType":"ElementaryTypeName","src":"8440:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44090,"mutability":"mutable","name":"p1","nameLocation":"8454:2:63","nodeType":"VariableDeclaration","scope":44106,"src":"8449:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44089,"name":"uint","nodeType":"ElementaryTypeName","src":"8449:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44092,"mutability":"mutable","name":"p2","nameLocation":"8472:2:63","nodeType":"VariableDeclaration","scope":44106,"src":"8458:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44091,"name":"string","nodeType":"ElementaryTypeName","src":"8458:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8439:36:63"},"returnParameters":{"id":44094,"nodeType":"ParameterList","parameters":[],"src":"8490:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44126,"nodeType":"FunctionDefinition","src":"8590:146:63","nodes":[],"body":{"id":44125,"nodeType":"Block","src":"8644:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c29","id":44118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8694:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},"value":"log(uint,uint,bool)"},{"id":44119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44108,"src":"8717:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44110,"src":"8721:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44112,"src":"8725:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8","typeString":"literal_string \"log(uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8670:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8674:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8670:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8670:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8654:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44124,"nodeType":"ExpressionStatement","src":"8654:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8599:3:63","parameters":{"id":44113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44108,"mutability":"mutable","name":"p0","nameLocation":"8608:2:63","nodeType":"VariableDeclaration","scope":44126,"src":"8603:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44107,"name":"uint","nodeType":"ElementaryTypeName","src":"8603:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44110,"mutability":"mutable","name":"p1","nameLocation":"8617:2:63","nodeType":"VariableDeclaration","scope":44126,"src":"8612:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44109,"name":"uint","nodeType":"ElementaryTypeName","src":"8612:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44112,"mutability":"mutable","name":"p2","nameLocation":"8626:2:63","nodeType":"VariableDeclaration","scope":44126,"src":"8621:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44111,"name":"bool","nodeType":"ElementaryTypeName","src":"8621:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8602:27:63"},"returnParameters":{"id":44114,"nodeType":"ParameterList","parameters":[],"src":"8644:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44146,"nodeType":"FunctionDefinition","src":"8742:152:63","nodes":[],"body":{"id":44145,"nodeType":"Block","src":"8799:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c6164647265737329","id":44138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8849:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},"value":"log(uint,uint,address)"},{"id":44139,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44128,"src":"8875:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44140,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44130,"src":"8879:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44141,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44132,"src":"8883:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616","typeString":"literal_string \"log(uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8825:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8829:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8825:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8825:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44135,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8809:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8809:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44144,"nodeType":"ExpressionStatement","src":"8809:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8751:3:63","parameters":{"id":44133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44128,"mutability":"mutable","name":"p0","nameLocation":"8760:2:63","nodeType":"VariableDeclaration","scope":44146,"src":"8755:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44127,"name":"uint","nodeType":"ElementaryTypeName","src":"8755:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44130,"mutability":"mutable","name":"p1","nameLocation":"8769:2:63","nodeType":"VariableDeclaration","scope":44146,"src":"8764:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44129,"name":"uint","nodeType":"ElementaryTypeName","src":"8764:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44132,"mutability":"mutable","name":"p2","nameLocation":"8781:2:63","nodeType":"VariableDeclaration","scope":44146,"src":"8773:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44131,"name":"address","nodeType":"ElementaryTypeName","src":"8773:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8754:30:63"},"returnParameters":{"id":44134,"nodeType":"ParameterList","parameters":[],"src":"8799:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44166,"nodeType":"FunctionDefinition","src":"8900:157:63","nodes":[],"body":{"id":44165,"nodeType":"Block","src":"8963:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e7429","id":44158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9013:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},"value":"log(uint,string,uint)"},{"id":44159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44148,"src":"9038:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44150,"src":"9042:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44152,"src":"9046:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd","typeString":"literal_string \"log(uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8989:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8993:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8989:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8989:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"8973:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8973:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44164,"nodeType":"ExpressionStatement","src":"8973:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8909:3:63","parameters":{"id":44153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44148,"mutability":"mutable","name":"p0","nameLocation":"8918:2:63","nodeType":"VariableDeclaration","scope":44166,"src":"8913:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44147,"name":"uint","nodeType":"ElementaryTypeName","src":"8913:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44150,"mutability":"mutable","name":"p1","nameLocation":"8936:2:63","nodeType":"VariableDeclaration","scope":44166,"src":"8922:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44149,"name":"string","nodeType":"ElementaryTypeName","src":"8922:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44152,"mutability":"mutable","name":"p2","nameLocation":"8945:2:63","nodeType":"VariableDeclaration","scope":44166,"src":"8940:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44151,"name":"uint","nodeType":"ElementaryTypeName","src":"8940:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8912:36:63"},"returnParameters":{"id":44154,"nodeType":"ParameterList","parameters":[],"src":"8963:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44186,"nodeType":"FunctionDefinition","src":"9063:168:63","nodes":[],"body":{"id":44185,"nodeType":"Block","src":"9135:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e6729","id":44178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9185:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},"value":"log(uint,string,string)"},{"id":44179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44168,"src":"9212:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44170,"src":"9216:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44172,"src":"9220:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65","typeString":"literal_string \"log(uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9161:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9165:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9161:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9161:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9145:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9145:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44184,"nodeType":"ExpressionStatement","src":"9145:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9072:3:63","parameters":{"id":44173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44168,"mutability":"mutable","name":"p0","nameLocation":"9081:2:63","nodeType":"VariableDeclaration","scope":44186,"src":"9076:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44167,"name":"uint","nodeType":"ElementaryTypeName","src":"9076:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44170,"mutability":"mutable","name":"p1","nameLocation":"9099:2:63","nodeType":"VariableDeclaration","scope":44186,"src":"9085:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44169,"name":"string","nodeType":"ElementaryTypeName","src":"9085:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44172,"mutability":"mutable","name":"p2","nameLocation":"9117:2:63","nodeType":"VariableDeclaration","scope":44186,"src":"9103:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44171,"name":"string","nodeType":"ElementaryTypeName","src":"9103:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9075:45:63"},"returnParameters":{"id":44174,"nodeType":"ParameterList","parameters":[],"src":"9135:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44206,"nodeType":"FunctionDefinition","src":"9237:157:63","nodes":[],"body":{"id":44205,"nodeType":"Block","src":"9300:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c29","id":44198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9350:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},"value":"log(uint,string,bool)"},{"id":44199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44188,"src":"9375:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44190,"src":"9379:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44192,"src":"9383:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485","typeString":"literal_string \"log(uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9326:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9330:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9326:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9326:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9310:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9310:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44204,"nodeType":"ExpressionStatement","src":"9310:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9246:3:63","parameters":{"id":44193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44188,"mutability":"mutable","name":"p0","nameLocation":"9255:2:63","nodeType":"VariableDeclaration","scope":44206,"src":"9250:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44187,"name":"uint","nodeType":"ElementaryTypeName","src":"9250:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44190,"mutability":"mutable","name":"p1","nameLocation":"9273:2:63","nodeType":"VariableDeclaration","scope":44206,"src":"9259:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44189,"name":"string","nodeType":"ElementaryTypeName","src":"9259:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44192,"mutability":"mutable","name":"p2","nameLocation":"9282:2:63","nodeType":"VariableDeclaration","scope":44206,"src":"9277:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44191,"name":"bool","nodeType":"ElementaryTypeName","src":"9277:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9249:36:63"},"returnParameters":{"id":44194,"nodeType":"ParameterList","parameters":[],"src":"9300:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44226,"nodeType":"FunctionDefinition","src":"9400:163:63","nodes":[],"body":{"id":44225,"nodeType":"Block","src":"9466:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c6164647265737329","id":44218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9516:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},"value":"log(uint,string,address)"},{"id":44219,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44208,"src":"9544:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44220,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44210,"src":"9548:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44221,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44212,"src":"9552:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac","typeString":"literal_string \"log(uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44216,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9492:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9496:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9492:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9492:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9476:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9476:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44224,"nodeType":"ExpressionStatement","src":"9476:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9409:3:63","parameters":{"id":44213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44208,"mutability":"mutable","name":"p0","nameLocation":"9418:2:63","nodeType":"VariableDeclaration","scope":44226,"src":"9413:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44207,"name":"uint","nodeType":"ElementaryTypeName","src":"9413:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44210,"mutability":"mutable","name":"p1","nameLocation":"9436:2:63","nodeType":"VariableDeclaration","scope":44226,"src":"9422:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44209,"name":"string","nodeType":"ElementaryTypeName","src":"9422:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44212,"mutability":"mutable","name":"p2","nameLocation":"9448:2:63","nodeType":"VariableDeclaration","scope":44226,"src":"9440:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44211,"name":"address","nodeType":"ElementaryTypeName","src":"9440:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9412:39:63"},"returnParameters":{"id":44214,"nodeType":"ParameterList","parameters":[],"src":"9466:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44246,"nodeType":"FunctionDefinition","src":"9569:146:63","nodes":[],"body":{"id":44245,"nodeType":"Block","src":"9623:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e7429","id":44238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},"value":"log(uint,bool,uint)"},{"id":44239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44228,"src":"9696:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44230,"src":"9700:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44232,"src":"9704:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6","typeString":"literal_string \"log(uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9649:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9653:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9649:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9649:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9633:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9633:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44244,"nodeType":"ExpressionStatement","src":"9633:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9578:3:63","parameters":{"id":44233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44228,"mutability":"mutable","name":"p0","nameLocation":"9587:2:63","nodeType":"VariableDeclaration","scope":44246,"src":"9582:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44227,"name":"uint","nodeType":"ElementaryTypeName","src":"9582:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44230,"mutability":"mutable","name":"p1","nameLocation":"9596:2:63","nodeType":"VariableDeclaration","scope":44246,"src":"9591:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44229,"name":"bool","nodeType":"ElementaryTypeName","src":"9591:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44232,"mutability":"mutable","name":"p2","nameLocation":"9605:2:63","nodeType":"VariableDeclaration","scope":44246,"src":"9600:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44231,"name":"uint","nodeType":"ElementaryTypeName","src":"9600:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9581:27:63"},"returnParameters":{"id":44234,"nodeType":"ParameterList","parameters":[],"src":"9623:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44266,"nodeType":"FunctionDefinition","src":"9721:157:63","nodes":[],"body":{"id":44265,"nodeType":"Block","src":"9784:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e6729","id":44258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9834:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},"value":"log(uint,bool,string)"},{"id":44259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44248,"src":"9859:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44250,"src":"9863:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44252,"src":"9867:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82","typeString":"literal_string \"log(uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9810:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9814:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9810:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9810:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9794:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9794:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44264,"nodeType":"ExpressionStatement","src":"9794:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9730:3:63","parameters":{"id":44253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44248,"mutability":"mutable","name":"p0","nameLocation":"9739:2:63","nodeType":"VariableDeclaration","scope":44266,"src":"9734:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44247,"name":"uint","nodeType":"ElementaryTypeName","src":"9734:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44250,"mutability":"mutable","name":"p1","nameLocation":"9748:2:63","nodeType":"VariableDeclaration","scope":44266,"src":"9743:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44249,"name":"bool","nodeType":"ElementaryTypeName","src":"9743:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44252,"mutability":"mutable","name":"p2","nameLocation":"9766:2:63","nodeType":"VariableDeclaration","scope":44266,"src":"9752:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44251,"name":"string","nodeType":"ElementaryTypeName","src":"9752:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9733:36:63"},"returnParameters":{"id":44254,"nodeType":"ParameterList","parameters":[],"src":"9784:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44286,"nodeType":"FunctionDefinition","src":"9884:146:63","nodes":[],"body":{"id":44285,"nodeType":"Block","src":"9938:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c29","id":44278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9988:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},"value":"log(uint,bool,bool)"},{"id":44279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44268,"src":"10011:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44270,"src":"10015:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44272,"src":"10019:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971","typeString":"literal_string \"log(uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9964:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9968:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9964:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9964:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"9948:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9948:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44284,"nodeType":"ExpressionStatement","src":"9948:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9893:3:63","parameters":{"id":44273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44268,"mutability":"mutable","name":"p0","nameLocation":"9902:2:63","nodeType":"VariableDeclaration","scope":44286,"src":"9897:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44267,"name":"uint","nodeType":"ElementaryTypeName","src":"9897:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44270,"mutability":"mutable","name":"p1","nameLocation":"9911:2:63","nodeType":"VariableDeclaration","scope":44286,"src":"9906:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44269,"name":"bool","nodeType":"ElementaryTypeName","src":"9906:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44272,"mutability":"mutable","name":"p2","nameLocation":"9920:2:63","nodeType":"VariableDeclaration","scope":44286,"src":"9915:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44271,"name":"bool","nodeType":"ElementaryTypeName","src":"9915:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9896:27:63"},"returnParameters":{"id":44274,"nodeType":"ParameterList","parameters":[],"src":"9938:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44306,"nodeType":"FunctionDefinition","src":"10036:152:63","nodes":[],"body":{"id":44305,"nodeType":"Block","src":"10093:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c6164647265737329","id":44298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10143:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},"value":"log(uint,bool,address)"},{"id":44299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44288,"src":"10169:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44300,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44290,"src":"10173:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44301,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44292,"src":"10177:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2","typeString":"literal_string \"log(uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10119:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10123:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10119:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10119:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10103:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10103:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44304,"nodeType":"ExpressionStatement","src":"10103:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10045:3:63","parameters":{"id":44293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44288,"mutability":"mutable","name":"p0","nameLocation":"10054:2:63","nodeType":"VariableDeclaration","scope":44306,"src":"10049:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44287,"name":"uint","nodeType":"ElementaryTypeName","src":"10049:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44290,"mutability":"mutable","name":"p1","nameLocation":"10063:2:63","nodeType":"VariableDeclaration","scope":44306,"src":"10058:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44289,"name":"bool","nodeType":"ElementaryTypeName","src":"10058:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44292,"mutability":"mutable","name":"p2","nameLocation":"10075:2:63","nodeType":"VariableDeclaration","scope":44306,"src":"10067:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44291,"name":"address","nodeType":"ElementaryTypeName","src":"10067:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10048:30:63"},"returnParameters":{"id":44294,"nodeType":"ParameterList","parameters":[],"src":"10093:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44326,"nodeType":"FunctionDefinition","src":"10194:152:63","nodes":[],"body":{"id":44325,"nodeType":"Block","src":"10251:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e7429","id":44318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10301:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},"value":"log(uint,address,uint)"},{"id":44319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44308,"src":"10327:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44310,"src":"10331:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44312,"src":"10335:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617","typeString":"literal_string \"log(uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10277:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10281:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10277:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10277:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10261:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10261:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44324,"nodeType":"ExpressionStatement","src":"10261:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10203:3:63","parameters":{"id":44313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44308,"mutability":"mutable","name":"p0","nameLocation":"10212:2:63","nodeType":"VariableDeclaration","scope":44326,"src":"10207:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44307,"name":"uint","nodeType":"ElementaryTypeName","src":"10207:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44310,"mutability":"mutable","name":"p1","nameLocation":"10224:2:63","nodeType":"VariableDeclaration","scope":44326,"src":"10216:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44309,"name":"address","nodeType":"ElementaryTypeName","src":"10216:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44312,"mutability":"mutable","name":"p2","nameLocation":"10233:2:63","nodeType":"VariableDeclaration","scope":44326,"src":"10228:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44311,"name":"uint","nodeType":"ElementaryTypeName","src":"10228:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10206:30:63"},"returnParameters":{"id":44314,"nodeType":"ParameterList","parameters":[],"src":"10251:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44346,"nodeType":"FunctionDefinition","src":"10352:163:63","nodes":[],"body":{"id":44345,"nodeType":"Block","src":"10418:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e6729","id":44338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10468:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},"value":"log(uint,address,string)"},{"id":44339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44328,"src":"10496:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44330,"src":"10500:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44332,"src":"10504:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed","typeString":"literal_string \"log(uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10444:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10448:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10444:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10444:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10428:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10428:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44344,"nodeType":"ExpressionStatement","src":"10428:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10361:3:63","parameters":{"id":44333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44328,"mutability":"mutable","name":"p0","nameLocation":"10370:2:63","nodeType":"VariableDeclaration","scope":44346,"src":"10365:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44327,"name":"uint","nodeType":"ElementaryTypeName","src":"10365:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44330,"mutability":"mutable","name":"p1","nameLocation":"10382:2:63","nodeType":"VariableDeclaration","scope":44346,"src":"10374:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44329,"name":"address","nodeType":"ElementaryTypeName","src":"10374:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44332,"mutability":"mutable","name":"p2","nameLocation":"10400:2:63","nodeType":"VariableDeclaration","scope":44346,"src":"10386:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44331,"name":"string","nodeType":"ElementaryTypeName","src":"10386:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10364:39:63"},"returnParameters":{"id":44334,"nodeType":"ParameterList","parameters":[],"src":"10418:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44366,"nodeType":"FunctionDefinition","src":"10521:152:63","nodes":[],"body":{"id":44365,"nodeType":"Block","src":"10578:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c29","id":44358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10628:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},"value":"log(uint,address,bool)"},{"id":44359,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44348,"src":"10654:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44360,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44350,"src":"10658:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44361,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44352,"src":"10662:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80","typeString":"literal_string \"log(uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10604:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10608:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10604:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44362,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10604:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44355,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10588:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10588:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44364,"nodeType":"ExpressionStatement","src":"10588:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10530:3:63","parameters":{"id":44353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44348,"mutability":"mutable","name":"p0","nameLocation":"10539:2:63","nodeType":"VariableDeclaration","scope":44366,"src":"10534:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44347,"name":"uint","nodeType":"ElementaryTypeName","src":"10534:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44350,"mutability":"mutable","name":"p1","nameLocation":"10551:2:63","nodeType":"VariableDeclaration","scope":44366,"src":"10543:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44349,"name":"address","nodeType":"ElementaryTypeName","src":"10543:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44352,"mutability":"mutable","name":"p2","nameLocation":"10560:2:63","nodeType":"VariableDeclaration","scope":44366,"src":"10555:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44351,"name":"bool","nodeType":"ElementaryTypeName","src":"10555:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10533:30:63"},"returnParameters":{"id":44354,"nodeType":"ParameterList","parameters":[],"src":"10578:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44386,"nodeType":"FunctionDefinition","src":"10679:158:63","nodes":[],"body":{"id":44385,"nodeType":"Block","src":"10739:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c6164647265737329","id":44378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10789:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},"value":"log(uint,address,address)"},{"id":44379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44368,"src":"10818:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44380,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44370,"src":"10822:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44381,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44372,"src":"10826:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b","typeString":"literal_string \"log(uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10765:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10769:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10765:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10765:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10749:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44383,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10749:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44384,"nodeType":"ExpressionStatement","src":"10749:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10688:3:63","parameters":{"id":44373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44368,"mutability":"mutable","name":"p0","nameLocation":"10697:2:63","nodeType":"VariableDeclaration","scope":44386,"src":"10692:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44367,"name":"uint","nodeType":"ElementaryTypeName","src":"10692:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44370,"mutability":"mutable","name":"p1","nameLocation":"10709:2:63","nodeType":"VariableDeclaration","scope":44386,"src":"10701:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44369,"name":"address","nodeType":"ElementaryTypeName","src":"10701:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44372,"mutability":"mutable","name":"p2","nameLocation":"10721:2:63","nodeType":"VariableDeclaration","scope":44386,"src":"10713:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44371,"name":"address","nodeType":"ElementaryTypeName","src":"10713:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10691:33:63"},"returnParameters":{"id":44374,"nodeType":"ParameterList","parameters":[],"src":"10739:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44406,"nodeType":"FunctionDefinition","src":"10843:157:63","nodes":[],"body":{"id":44405,"nodeType":"Block","src":"10906:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e7429","id":44398,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10956:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},"value":"log(string,uint,uint)"},{"id":44399,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44388,"src":"10981:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44400,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44390,"src":"10985:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44401,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44392,"src":"10989:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e","typeString":"literal_string \"log(string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44396,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10932:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44397,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10936:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10932:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10932:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44395,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"10916:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10916:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44404,"nodeType":"ExpressionStatement","src":"10916:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10852:3:63","parameters":{"id":44393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44388,"mutability":"mutable","name":"p0","nameLocation":"10870:2:63","nodeType":"VariableDeclaration","scope":44406,"src":"10856:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44387,"name":"string","nodeType":"ElementaryTypeName","src":"10856:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44390,"mutability":"mutable","name":"p1","nameLocation":"10879:2:63","nodeType":"VariableDeclaration","scope":44406,"src":"10874:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44389,"name":"uint","nodeType":"ElementaryTypeName","src":"10874:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44392,"mutability":"mutable","name":"p2","nameLocation":"10888:2:63","nodeType":"VariableDeclaration","scope":44406,"src":"10883:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44391,"name":"uint","nodeType":"ElementaryTypeName","src":"10883:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10855:36:63"},"returnParameters":{"id":44394,"nodeType":"ParameterList","parameters":[],"src":"10906:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44426,"nodeType":"FunctionDefinition","src":"11006:168:63","nodes":[],"body":{"id":44425,"nodeType":"Block","src":"11078:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e6729","id":44418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11128:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},"value":"log(string,uint,string)"},{"id":44419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44408,"src":"11155:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44410,"src":"11159:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44412,"src":"11163:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec","typeString":"literal_string \"log(string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11104:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11108:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11104:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11104:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11088:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11088:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44424,"nodeType":"ExpressionStatement","src":"11088:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11015:3:63","parameters":{"id":44413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44408,"mutability":"mutable","name":"p0","nameLocation":"11033:2:63","nodeType":"VariableDeclaration","scope":44426,"src":"11019:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44407,"name":"string","nodeType":"ElementaryTypeName","src":"11019:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44410,"mutability":"mutable","name":"p1","nameLocation":"11042:2:63","nodeType":"VariableDeclaration","scope":44426,"src":"11037:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44409,"name":"uint","nodeType":"ElementaryTypeName","src":"11037:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44412,"mutability":"mutable","name":"p2","nameLocation":"11060:2:63","nodeType":"VariableDeclaration","scope":44426,"src":"11046:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44411,"name":"string","nodeType":"ElementaryTypeName","src":"11046:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11018:45:63"},"returnParameters":{"id":44414,"nodeType":"ParameterList","parameters":[],"src":"11078:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44446,"nodeType":"FunctionDefinition","src":"11180:157:63","nodes":[],"body":{"id":44445,"nodeType":"Block","src":"11243:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c29","id":44438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11293:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},"value":"log(string,uint,bool)"},{"id":44439,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44428,"src":"11318:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44440,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44430,"src":"11322:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44441,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44432,"src":"11326:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3","typeString":"literal_string \"log(string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44436,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11269:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44437,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11273:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11269:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11269:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44435,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11253:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11253:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44444,"nodeType":"ExpressionStatement","src":"11253:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11189:3:63","parameters":{"id":44433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44428,"mutability":"mutable","name":"p0","nameLocation":"11207:2:63","nodeType":"VariableDeclaration","scope":44446,"src":"11193:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44427,"name":"string","nodeType":"ElementaryTypeName","src":"11193:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44430,"mutability":"mutable","name":"p1","nameLocation":"11216:2:63","nodeType":"VariableDeclaration","scope":44446,"src":"11211:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44429,"name":"uint","nodeType":"ElementaryTypeName","src":"11211:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44432,"mutability":"mutable","name":"p2","nameLocation":"11225:2:63","nodeType":"VariableDeclaration","scope":44446,"src":"11220:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44431,"name":"bool","nodeType":"ElementaryTypeName","src":"11220:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11192:36:63"},"returnParameters":{"id":44434,"nodeType":"ParameterList","parameters":[],"src":"11243:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44466,"nodeType":"FunctionDefinition","src":"11343:163:63","nodes":[],"body":{"id":44465,"nodeType":"Block","src":"11409:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c6164647265737329","id":44458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11459:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},"value":"log(string,uint,address)"},{"id":44459,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44448,"src":"11487:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44460,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44450,"src":"11491:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44461,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44452,"src":"11495:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a","typeString":"literal_string \"log(string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44456,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11435:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44457,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11439:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11435:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44462,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11435:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44455,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11419:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11419:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44464,"nodeType":"ExpressionStatement","src":"11419:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11352:3:63","parameters":{"id":44453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44448,"mutability":"mutable","name":"p0","nameLocation":"11370:2:63","nodeType":"VariableDeclaration","scope":44466,"src":"11356:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44447,"name":"string","nodeType":"ElementaryTypeName","src":"11356:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44450,"mutability":"mutable","name":"p1","nameLocation":"11379:2:63","nodeType":"VariableDeclaration","scope":44466,"src":"11374:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44449,"name":"uint","nodeType":"ElementaryTypeName","src":"11374:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44452,"mutability":"mutable","name":"p2","nameLocation":"11391:2:63","nodeType":"VariableDeclaration","scope":44466,"src":"11383:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44451,"name":"address","nodeType":"ElementaryTypeName","src":"11383:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11355:39:63"},"returnParameters":{"id":44454,"nodeType":"ParameterList","parameters":[],"src":"11409:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44486,"nodeType":"FunctionDefinition","src":"11512:168:63","nodes":[],"body":{"id":44485,"nodeType":"Block","src":"11584:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7429","id":44478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11634:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},"value":"log(string,string,uint)"},{"id":44479,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44468,"src":"11661:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44480,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44470,"src":"11665:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44481,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44472,"src":"11669:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147","typeString":"literal_string \"log(string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44476,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11610:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44477,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11614:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11610:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11610:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44475,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11594:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11594:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44484,"nodeType":"ExpressionStatement","src":"11594:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11521:3:63","parameters":{"id":44473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44468,"mutability":"mutable","name":"p0","nameLocation":"11539:2:63","nodeType":"VariableDeclaration","scope":44486,"src":"11525:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44467,"name":"string","nodeType":"ElementaryTypeName","src":"11525:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44470,"mutability":"mutable","name":"p1","nameLocation":"11557:2:63","nodeType":"VariableDeclaration","scope":44486,"src":"11543:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44469,"name":"string","nodeType":"ElementaryTypeName","src":"11543:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44472,"mutability":"mutable","name":"p2","nameLocation":"11566:2:63","nodeType":"VariableDeclaration","scope":44486,"src":"11561:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44471,"name":"uint","nodeType":"ElementaryTypeName","src":"11561:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11524:45:63"},"returnParameters":{"id":44474,"nodeType":"ParameterList","parameters":[],"src":"11584:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44506,"nodeType":"FunctionDefinition","src":"11686:179:63","nodes":[],"body":{"id":44505,"nodeType":"Block","src":"11767:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":44498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11817:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":44499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44488,"src":"11846:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44490,"src":"11850:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44492,"src":"11854:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11793:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11797:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11793:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11793:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11777:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11777:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44504,"nodeType":"ExpressionStatement","src":"11777:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11695:3:63","parameters":{"id":44493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44488,"mutability":"mutable","name":"p0","nameLocation":"11713:2:63","nodeType":"VariableDeclaration","scope":44506,"src":"11699:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44487,"name":"string","nodeType":"ElementaryTypeName","src":"11699:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44490,"mutability":"mutable","name":"p1","nameLocation":"11731:2:63","nodeType":"VariableDeclaration","scope":44506,"src":"11717:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44489,"name":"string","nodeType":"ElementaryTypeName","src":"11717:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44492,"mutability":"mutable","name":"p2","nameLocation":"11749:2:63","nodeType":"VariableDeclaration","scope":44506,"src":"11735:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44491,"name":"string","nodeType":"ElementaryTypeName","src":"11735:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11698:54:63"},"returnParameters":{"id":44494,"nodeType":"ParameterList","parameters":[],"src":"11767:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44526,"nodeType":"FunctionDefinition","src":"11871:168:63","nodes":[],"body":{"id":44525,"nodeType":"Block","src":"11943:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":44518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11993:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":44519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44508,"src":"12020:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44520,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44510,"src":"12024:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44521,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44512,"src":"12028:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11969:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11973:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11969:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11969:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"11953:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11953:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44524,"nodeType":"ExpressionStatement","src":"11953:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11880:3:63","parameters":{"id":44513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44508,"mutability":"mutable","name":"p0","nameLocation":"11898:2:63","nodeType":"VariableDeclaration","scope":44526,"src":"11884:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44507,"name":"string","nodeType":"ElementaryTypeName","src":"11884:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44510,"mutability":"mutable","name":"p1","nameLocation":"11916:2:63","nodeType":"VariableDeclaration","scope":44526,"src":"11902:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44509,"name":"string","nodeType":"ElementaryTypeName","src":"11902:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44512,"mutability":"mutable","name":"p2","nameLocation":"11925:2:63","nodeType":"VariableDeclaration","scope":44526,"src":"11920:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44511,"name":"bool","nodeType":"ElementaryTypeName","src":"11920:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11883:45:63"},"returnParameters":{"id":44514,"nodeType":"ParameterList","parameters":[],"src":"11943:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44546,"nodeType":"FunctionDefinition","src":"12045:174:63","nodes":[],"body":{"id":44545,"nodeType":"Block","src":"12120:99:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":44538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12170:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":44539,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44528,"src":"12200:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44540,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44530,"src":"12204:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44541,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44532,"src":"12208:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44536,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12146:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44537,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12150:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12146:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12146:65:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44535,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12130:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12130:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44544,"nodeType":"ExpressionStatement","src":"12130:82:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12054:3:63","parameters":{"id":44533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44528,"mutability":"mutable","name":"p0","nameLocation":"12072:2:63","nodeType":"VariableDeclaration","scope":44546,"src":"12058:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44527,"name":"string","nodeType":"ElementaryTypeName","src":"12058:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44530,"mutability":"mutable","name":"p1","nameLocation":"12090:2:63","nodeType":"VariableDeclaration","scope":44546,"src":"12076:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44529,"name":"string","nodeType":"ElementaryTypeName","src":"12076:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44532,"mutability":"mutable","name":"p2","nameLocation":"12102:2:63","nodeType":"VariableDeclaration","scope":44546,"src":"12094:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44531,"name":"address","nodeType":"ElementaryTypeName","src":"12094:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12057:48:63"},"returnParameters":{"id":44534,"nodeType":"ParameterList","parameters":[],"src":"12120:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44566,"nodeType":"FunctionDefinition","src":"12225:157:63","nodes":[],"body":{"id":44565,"nodeType":"Block","src":"12288:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7429","id":44558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12338:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},"value":"log(string,bool,uint)"},{"id":44559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44548,"src":"12363:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44560,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44550,"src":"12367:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44561,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44552,"src":"12371:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1","typeString":"literal_string \"log(string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12314:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12318:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12314:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12314:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12298:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12298:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44564,"nodeType":"ExpressionStatement","src":"12298:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12234:3:63","parameters":{"id":44553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44548,"mutability":"mutable","name":"p0","nameLocation":"12252:2:63","nodeType":"VariableDeclaration","scope":44566,"src":"12238:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44547,"name":"string","nodeType":"ElementaryTypeName","src":"12238:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44550,"mutability":"mutable","name":"p1","nameLocation":"12261:2:63","nodeType":"VariableDeclaration","scope":44566,"src":"12256:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44549,"name":"bool","nodeType":"ElementaryTypeName","src":"12256:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44552,"mutability":"mutable","name":"p2","nameLocation":"12270:2:63","nodeType":"VariableDeclaration","scope":44566,"src":"12265:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44551,"name":"uint","nodeType":"ElementaryTypeName","src":"12265:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12237:36:63"},"returnParameters":{"id":44554,"nodeType":"ParameterList","parameters":[],"src":"12288:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44586,"nodeType":"FunctionDefinition","src":"12388:168:63","nodes":[],"body":{"id":44585,"nodeType":"Block","src":"12460:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":44578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12510:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":44579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44568,"src":"12537:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44570,"src":"12541:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44572,"src":"12545:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12486:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12490:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12486:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12486:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12470:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12470:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44584,"nodeType":"ExpressionStatement","src":"12470:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12397:3:63","parameters":{"id":44573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44568,"mutability":"mutable","name":"p0","nameLocation":"12415:2:63","nodeType":"VariableDeclaration","scope":44586,"src":"12401:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44567,"name":"string","nodeType":"ElementaryTypeName","src":"12401:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44570,"mutability":"mutable","name":"p1","nameLocation":"12424:2:63","nodeType":"VariableDeclaration","scope":44586,"src":"12419:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44569,"name":"bool","nodeType":"ElementaryTypeName","src":"12419:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44572,"mutability":"mutable","name":"p2","nameLocation":"12442:2:63","nodeType":"VariableDeclaration","scope":44586,"src":"12428:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44571,"name":"string","nodeType":"ElementaryTypeName","src":"12428:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12400:45:63"},"returnParameters":{"id":44574,"nodeType":"ParameterList","parameters":[],"src":"12460:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44606,"nodeType":"FunctionDefinition","src":"12562:157:63","nodes":[],"body":{"id":44605,"nodeType":"Block","src":"12625:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":44598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12675:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":44599,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44588,"src":"12700:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44600,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44590,"src":"12704:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44601,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44592,"src":"12708:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44596,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12651:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44597,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12655:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12651:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12651:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44595,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12635:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44603,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12635:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44604,"nodeType":"ExpressionStatement","src":"12635:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12571:3:63","parameters":{"id":44593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44588,"mutability":"mutable","name":"p0","nameLocation":"12589:2:63","nodeType":"VariableDeclaration","scope":44606,"src":"12575:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44587,"name":"string","nodeType":"ElementaryTypeName","src":"12575:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44590,"mutability":"mutable","name":"p1","nameLocation":"12598:2:63","nodeType":"VariableDeclaration","scope":44606,"src":"12593:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44589,"name":"bool","nodeType":"ElementaryTypeName","src":"12593:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44592,"mutability":"mutable","name":"p2","nameLocation":"12607:2:63","nodeType":"VariableDeclaration","scope":44606,"src":"12602:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44591,"name":"bool","nodeType":"ElementaryTypeName","src":"12602:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12574:36:63"},"returnParameters":{"id":44594,"nodeType":"ParameterList","parameters":[],"src":"12625:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44626,"nodeType":"FunctionDefinition","src":"12725:163:63","nodes":[],"body":{"id":44625,"nodeType":"Block","src":"12791:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":44618,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12841:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":44619,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44608,"src":"12869:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44620,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44610,"src":"12873:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44621,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44612,"src":"12877:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44616,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12817:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44617,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12821:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12817:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12817:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44615,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12801:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44623,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12801:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44624,"nodeType":"ExpressionStatement","src":"12801:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12734:3:63","parameters":{"id":44613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44608,"mutability":"mutable","name":"p0","nameLocation":"12752:2:63","nodeType":"VariableDeclaration","scope":44626,"src":"12738:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44607,"name":"string","nodeType":"ElementaryTypeName","src":"12738:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44610,"mutability":"mutable","name":"p1","nameLocation":"12761:2:63","nodeType":"VariableDeclaration","scope":44626,"src":"12756:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44609,"name":"bool","nodeType":"ElementaryTypeName","src":"12756:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44612,"mutability":"mutable","name":"p2","nameLocation":"12773:2:63","nodeType":"VariableDeclaration","scope":44626,"src":"12765:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44611,"name":"address","nodeType":"ElementaryTypeName","src":"12765:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12737:39:63"},"returnParameters":{"id":44614,"nodeType":"ParameterList","parameters":[],"src":"12791:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44646,"nodeType":"FunctionDefinition","src":"12894:163:63","nodes":[],"body":{"id":44645,"nodeType":"Block","src":"12960:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7429","id":44638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13010:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},"value":"log(string,address,uint)"},{"id":44639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44628,"src":"13038:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44630,"src":"13042:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44632,"src":"13046:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13","typeString":"literal_string \"log(string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12986:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12990:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12986:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12986:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"12970:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12970:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44644,"nodeType":"ExpressionStatement","src":"12970:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12903:3:63","parameters":{"id":44633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44628,"mutability":"mutable","name":"p0","nameLocation":"12921:2:63","nodeType":"VariableDeclaration","scope":44646,"src":"12907:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44627,"name":"string","nodeType":"ElementaryTypeName","src":"12907:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44630,"mutability":"mutable","name":"p1","nameLocation":"12933:2:63","nodeType":"VariableDeclaration","scope":44646,"src":"12925:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44629,"name":"address","nodeType":"ElementaryTypeName","src":"12925:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44632,"mutability":"mutable","name":"p2","nameLocation":"12942:2:63","nodeType":"VariableDeclaration","scope":44646,"src":"12937:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44631,"name":"uint","nodeType":"ElementaryTypeName","src":"12937:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12906:39:63"},"returnParameters":{"id":44634,"nodeType":"ParameterList","parameters":[],"src":"12960:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44666,"nodeType":"FunctionDefinition","src":"13063:174:63","nodes":[],"body":{"id":44665,"nodeType":"Block","src":"13138:99:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":44658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13188:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":44659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44648,"src":"13218:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44650,"src":"13222:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44652,"src":"13226:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13164:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13168:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13164:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44662,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13164:65:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13148:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13148:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44664,"nodeType":"ExpressionStatement","src":"13148:82:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13072:3:63","parameters":{"id":44653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44648,"mutability":"mutable","name":"p0","nameLocation":"13090:2:63","nodeType":"VariableDeclaration","scope":44666,"src":"13076:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44647,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44650,"mutability":"mutable","name":"p1","nameLocation":"13102:2:63","nodeType":"VariableDeclaration","scope":44666,"src":"13094:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44649,"name":"address","nodeType":"ElementaryTypeName","src":"13094:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44652,"mutability":"mutable","name":"p2","nameLocation":"13120:2:63","nodeType":"VariableDeclaration","scope":44666,"src":"13106:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44651,"name":"string","nodeType":"ElementaryTypeName","src":"13106:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13075:48:63"},"returnParameters":{"id":44654,"nodeType":"ParameterList","parameters":[],"src":"13138:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44686,"nodeType":"FunctionDefinition","src":"13243:163:63","nodes":[],"body":{"id":44685,"nodeType":"Block","src":"13309:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":44678,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13359:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":44679,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44668,"src":"13387:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44680,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44670,"src":"13391:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44681,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44672,"src":"13395:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44676,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13335:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44677,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13339:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13335:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13335:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44675,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13319:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13319:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44684,"nodeType":"ExpressionStatement","src":"13319:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13252:3:63","parameters":{"id":44673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44668,"mutability":"mutable","name":"p0","nameLocation":"13270:2:63","nodeType":"VariableDeclaration","scope":44686,"src":"13256:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44667,"name":"string","nodeType":"ElementaryTypeName","src":"13256:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44670,"mutability":"mutable","name":"p1","nameLocation":"13282:2:63","nodeType":"VariableDeclaration","scope":44686,"src":"13274:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44669,"name":"address","nodeType":"ElementaryTypeName","src":"13274:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44672,"mutability":"mutable","name":"p2","nameLocation":"13291:2:63","nodeType":"VariableDeclaration","scope":44686,"src":"13286:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44671,"name":"bool","nodeType":"ElementaryTypeName","src":"13286:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13255:39:63"},"returnParameters":{"id":44674,"nodeType":"ParameterList","parameters":[],"src":"13309:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44706,"nodeType":"FunctionDefinition","src":"13412:169:63","nodes":[],"body":{"id":44705,"nodeType":"Block","src":"13481:100:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":44698,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13531:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":44699,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44688,"src":"13562:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44700,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44690,"src":"13566:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44701,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44692,"src":"13570:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44696,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13507:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44697,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13511:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13507:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13507:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44695,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13491:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13491:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44704,"nodeType":"ExpressionStatement","src":"13491:83:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13421:3:63","parameters":{"id":44693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44688,"mutability":"mutable","name":"p0","nameLocation":"13439:2:63","nodeType":"VariableDeclaration","scope":44706,"src":"13425:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44687,"name":"string","nodeType":"ElementaryTypeName","src":"13425:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44690,"mutability":"mutable","name":"p1","nameLocation":"13451:2:63","nodeType":"VariableDeclaration","scope":44706,"src":"13443:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44689,"name":"address","nodeType":"ElementaryTypeName","src":"13443:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44692,"mutability":"mutable","name":"p2","nameLocation":"13463:2:63","nodeType":"VariableDeclaration","scope":44706,"src":"13455:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44691,"name":"address","nodeType":"ElementaryTypeName","src":"13455:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13424:42:63"},"returnParameters":{"id":44694,"nodeType":"ParameterList","parameters":[],"src":"13481:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44726,"nodeType":"FunctionDefinition","src":"13587:146:63","nodes":[],"body":{"id":44725,"nodeType":"Block","src":"13641:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e7429","id":44718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13691:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},"value":"log(bool,uint,uint)"},{"id":44719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44708,"src":"13714:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44710,"src":"13718:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44712,"src":"13722:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e","typeString":"literal_string \"log(bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13667:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13671:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13667:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13667:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13651:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13651:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44724,"nodeType":"ExpressionStatement","src":"13651:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13596:3:63","parameters":{"id":44713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44708,"mutability":"mutable","name":"p0","nameLocation":"13605:2:63","nodeType":"VariableDeclaration","scope":44726,"src":"13600:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44707,"name":"bool","nodeType":"ElementaryTypeName","src":"13600:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44710,"mutability":"mutable","name":"p1","nameLocation":"13614:2:63","nodeType":"VariableDeclaration","scope":44726,"src":"13609:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44709,"name":"uint","nodeType":"ElementaryTypeName","src":"13609:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44712,"mutability":"mutable","name":"p2","nameLocation":"13623:2:63","nodeType":"VariableDeclaration","scope":44726,"src":"13618:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44711,"name":"uint","nodeType":"ElementaryTypeName","src":"13618:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13599:27:63"},"returnParameters":{"id":44714,"nodeType":"ParameterList","parameters":[],"src":"13641:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44746,"nodeType":"FunctionDefinition","src":"13739:157:63","nodes":[],"body":{"id":44745,"nodeType":"Block","src":"13802:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e6729","id":44738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13852:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},"value":"log(bool,uint,string)"},{"id":44739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44728,"src":"13877:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44730,"src":"13881:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44732,"src":"13885:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f","typeString":"literal_string \"log(bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13828:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13832:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13828:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13828:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13812:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13812:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44744,"nodeType":"ExpressionStatement","src":"13812:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13748:3:63","parameters":{"id":44733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44728,"mutability":"mutable","name":"p0","nameLocation":"13757:2:63","nodeType":"VariableDeclaration","scope":44746,"src":"13752:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44727,"name":"bool","nodeType":"ElementaryTypeName","src":"13752:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44730,"mutability":"mutable","name":"p1","nameLocation":"13766:2:63","nodeType":"VariableDeclaration","scope":44746,"src":"13761:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44729,"name":"uint","nodeType":"ElementaryTypeName","src":"13761:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44732,"mutability":"mutable","name":"p2","nameLocation":"13784:2:63","nodeType":"VariableDeclaration","scope":44746,"src":"13770:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44731,"name":"string","nodeType":"ElementaryTypeName","src":"13770:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13751:36:63"},"returnParameters":{"id":44734,"nodeType":"ParameterList","parameters":[],"src":"13802:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44766,"nodeType":"FunctionDefinition","src":"13902:146:63","nodes":[],"body":{"id":44765,"nodeType":"Block","src":"13956:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c29","id":44758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14006:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},"value":"log(bool,uint,bool)"},{"id":44759,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44748,"src":"14029:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44760,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44750,"src":"14033:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44761,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44752,"src":"14037:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0","typeString":"literal_string \"log(bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44756,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13982:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44757,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13986:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13982:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13982:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44755,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"13966:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44763,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13966:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44764,"nodeType":"ExpressionStatement","src":"13966:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13911:3:63","parameters":{"id":44753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44748,"mutability":"mutable","name":"p0","nameLocation":"13920:2:63","nodeType":"VariableDeclaration","scope":44766,"src":"13915:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44747,"name":"bool","nodeType":"ElementaryTypeName","src":"13915:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44750,"mutability":"mutable","name":"p1","nameLocation":"13929:2:63","nodeType":"VariableDeclaration","scope":44766,"src":"13924:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44749,"name":"uint","nodeType":"ElementaryTypeName","src":"13924:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44752,"mutability":"mutable","name":"p2","nameLocation":"13938:2:63","nodeType":"VariableDeclaration","scope":44766,"src":"13933:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44751,"name":"bool","nodeType":"ElementaryTypeName","src":"13933:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13914:27:63"},"returnParameters":{"id":44754,"nodeType":"ParameterList","parameters":[],"src":"13956:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44786,"nodeType":"FunctionDefinition","src":"14054:152:63","nodes":[],"body":{"id":44785,"nodeType":"Block","src":"14111:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c6164647265737329","id":44778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14161:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},"value":"log(bool,uint,address)"},{"id":44779,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44768,"src":"14187:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44780,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44770,"src":"14191:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":44781,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44772,"src":"14195:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440","typeString":"literal_string \"log(bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44776,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14137:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14141:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14137:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14137:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44775,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14121:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14121:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44784,"nodeType":"ExpressionStatement","src":"14121:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14063:3:63","parameters":{"id":44773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44768,"mutability":"mutable","name":"p0","nameLocation":"14072:2:63","nodeType":"VariableDeclaration","scope":44786,"src":"14067:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44767,"name":"bool","nodeType":"ElementaryTypeName","src":"14067:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44770,"mutability":"mutable","name":"p1","nameLocation":"14081:2:63","nodeType":"VariableDeclaration","scope":44786,"src":"14076:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44769,"name":"uint","nodeType":"ElementaryTypeName","src":"14076:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":44772,"mutability":"mutable","name":"p2","nameLocation":"14093:2:63","nodeType":"VariableDeclaration","scope":44786,"src":"14085:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44771,"name":"address","nodeType":"ElementaryTypeName","src":"14085:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14066:30:63"},"returnParameters":{"id":44774,"nodeType":"ParameterList","parameters":[],"src":"14111:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44806,"nodeType":"FunctionDefinition","src":"14212:157:63","nodes":[],"body":{"id":44805,"nodeType":"Block","src":"14275:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7429","id":44798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14325:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},"value":"log(bool,string,uint)"},{"id":44799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44788,"src":"14350:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44790,"src":"14354:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44792,"src":"14358:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807","typeString":"literal_string \"log(bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14301:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14305:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14301:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14301:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14285:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14285:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44804,"nodeType":"ExpressionStatement","src":"14285:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14221:3:63","parameters":{"id":44793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44788,"mutability":"mutable","name":"p0","nameLocation":"14230:2:63","nodeType":"VariableDeclaration","scope":44806,"src":"14225:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44787,"name":"bool","nodeType":"ElementaryTypeName","src":"14225:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44790,"mutability":"mutable","name":"p1","nameLocation":"14248:2:63","nodeType":"VariableDeclaration","scope":44806,"src":"14234:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44789,"name":"string","nodeType":"ElementaryTypeName","src":"14234:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44792,"mutability":"mutable","name":"p2","nameLocation":"14257:2:63","nodeType":"VariableDeclaration","scope":44806,"src":"14252:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44791,"name":"uint","nodeType":"ElementaryTypeName","src":"14252:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14224:36:63"},"returnParameters":{"id":44794,"nodeType":"ParameterList","parameters":[],"src":"14275:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44826,"nodeType":"FunctionDefinition","src":"14375:168:63","nodes":[],"body":{"id":44825,"nodeType":"Block","src":"14447:96:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":44818,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14497:25:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":44819,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44808,"src":"14524:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44820,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44810,"src":"14528:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44821,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44812,"src":"14532:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14473:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14477:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14473:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14473:62:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44815,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14457:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44823,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14457:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44824,"nodeType":"ExpressionStatement","src":"14457:79:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14384:3:63","parameters":{"id":44813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44808,"mutability":"mutable","name":"p0","nameLocation":"14393:2:63","nodeType":"VariableDeclaration","scope":44826,"src":"14388:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44807,"name":"bool","nodeType":"ElementaryTypeName","src":"14388:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44810,"mutability":"mutable","name":"p1","nameLocation":"14411:2:63","nodeType":"VariableDeclaration","scope":44826,"src":"14397:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44809,"name":"string","nodeType":"ElementaryTypeName","src":"14397:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44812,"mutability":"mutable","name":"p2","nameLocation":"14429:2:63","nodeType":"VariableDeclaration","scope":44826,"src":"14415:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44811,"name":"string","nodeType":"ElementaryTypeName","src":"14415:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14387:45:63"},"returnParameters":{"id":44814,"nodeType":"ParameterList","parameters":[],"src":"14447:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44846,"nodeType":"FunctionDefinition","src":"14549:157:63","nodes":[],"body":{"id":44845,"nodeType":"Block","src":"14612:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":44838,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14662:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":44839,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44828,"src":"14687:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44840,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44830,"src":"14691:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44841,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44832,"src":"14695:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14638:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14642:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14638:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14638:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44835,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14622:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14622:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44844,"nodeType":"ExpressionStatement","src":"14622:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14558:3:63","parameters":{"id":44833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44828,"mutability":"mutable","name":"p0","nameLocation":"14567:2:63","nodeType":"VariableDeclaration","scope":44846,"src":"14562:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44827,"name":"bool","nodeType":"ElementaryTypeName","src":"14562:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44830,"mutability":"mutable","name":"p1","nameLocation":"14585:2:63","nodeType":"VariableDeclaration","scope":44846,"src":"14571:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44829,"name":"string","nodeType":"ElementaryTypeName","src":"14571:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44832,"mutability":"mutable","name":"p2","nameLocation":"14594:2:63","nodeType":"VariableDeclaration","scope":44846,"src":"14589:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44831,"name":"bool","nodeType":"ElementaryTypeName","src":"14589:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14561:36:63"},"returnParameters":{"id":44834,"nodeType":"ParameterList","parameters":[],"src":"14612:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44866,"nodeType":"FunctionDefinition","src":"14712:163:63","nodes":[],"body":{"id":44865,"nodeType":"Block","src":"14778:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":44858,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14828:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":44859,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44848,"src":"14856:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44860,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44850,"src":"14860:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":44861,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44852,"src":"14864:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44856,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14804:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44857,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14808:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14804:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14804:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44855,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14788:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14788:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44864,"nodeType":"ExpressionStatement","src":"14788:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14721:3:63","parameters":{"id":44853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44848,"mutability":"mutable","name":"p0","nameLocation":"14730:2:63","nodeType":"VariableDeclaration","scope":44866,"src":"14725:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44847,"name":"bool","nodeType":"ElementaryTypeName","src":"14725:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44850,"mutability":"mutable","name":"p1","nameLocation":"14748:2:63","nodeType":"VariableDeclaration","scope":44866,"src":"14734:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44849,"name":"string","nodeType":"ElementaryTypeName","src":"14734:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":44852,"mutability":"mutable","name":"p2","nameLocation":"14760:2:63","nodeType":"VariableDeclaration","scope":44866,"src":"14752:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44851,"name":"address","nodeType":"ElementaryTypeName","src":"14752:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14724:39:63"},"returnParameters":{"id":44854,"nodeType":"ParameterList","parameters":[],"src":"14778:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44886,"nodeType":"FunctionDefinition","src":"14881:146:63","nodes":[],"body":{"id":44885,"nodeType":"Block","src":"14935:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7429","id":44878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14985:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},"value":"log(bool,bool,uint)"},{"id":44879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44868,"src":"15008:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44870,"src":"15012:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44872,"src":"15016:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877","typeString":"literal_string \"log(bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14961:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14965:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14961:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14961:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"14945:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14945:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44884,"nodeType":"ExpressionStatement","src":"14945:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14890:3:63","parameters":{"id":44873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44868,"mutability":"mutable","name":"p0","nameLocation":"14899:2:63","nodeType":"VariableDeclaration","scope":44886,"src":"14894:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44867,"name":"bool","nodeType":"ElementaryTypeName","src":"14894:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44870,"mutability":"mutable","name":"p1","nameLocation":"14908:2:63","nodeType":"VariableDeclaration","scope":44886,"src":"14903:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44869,"name":"bool","nodeType":"ElementaryTypeName","src":"14903:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44872,"mutability":"mutable","name":"p2","nameLocation":"14917:2:63","nodeType":"VariableDeclaration","scope":44886,"src":"14912:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44871,"name":"uint","nodeType":"ElementaryTypeName","src":"14912:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14893:27:63"},"returnParameters":{"id":44874,"nodeType":"ParameterList","parameters":[],"src":"14935:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44906,"nodeType":"FunctionDefinition","src":"15033:157:63","nodes":[],"body":{"id":44905,"nodeType":"Block","src":"15096:94:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":44898,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15146:23:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":44899,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44888,"src":"15171:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44900,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44890,"src":"15175:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44901,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44892,"src":"15179:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44896,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15122:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44897,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15126:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15122:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15122:60:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44895,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15106:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15106:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44904,"nodeType":"ExpressionStatement","src":"15106:77:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15042:3:63","parameters":{"id":44893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44888,"mutability":"mutable","name":"p0","nameLocation":"15051:2:63","nodeType":"VariableDeclaration","scope":44906,"src":"15046:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44887,"name":"bool","nodeType":"ElementaryTypeName","src":"15046:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44890,"mutability":"mutable","name":"p1","nameLocation":"15060:2:63","nodeType":"VariableDeclaration","scope":44906,"src":"15055:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44889,"name":"bool","nodeType":"ElementaryTypeName","src":"15055:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44892,"mutability":"mutable","name":"p2","nameLocation":"15078:2:63","nodeType":"VariableDeclaration","scope":44906,"src":"15064:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44891,"name":"string","nodeType":"ElementaryTypeName","src":"15064:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15045:36:63"},"returnParameters":{"id":44894,"nodeType":"ParameterList","parameters":[],"src":"15096:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44926,"nodeType":"FunctionDefinition","src":"15196:146:63","nodes":[],"body":{"id":44925,"nodeType":"Block","src":"15250:92:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":44918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15300:21:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":44919,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44908,"src":"15323:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44920,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44910,"src":"15327:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44921,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44912,"src":"15331:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44916,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15276:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44917,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15280:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15276:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15276:58:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44915,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15260:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15260:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44924,"nodeType":"ExpressionStatement","src":"15260:75:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15205:3:63","parameters":{"id":44913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44908,"mutability":"mutable","name":"p0","nameLocation":"15214:2:63","nodeType":"VariableDeclaration","scope":44926,"src":"15209:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44907,"name":"bool","nodeType":"ElementaryTypeName","src":"15209:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44910,"mutability":"mutable","name":"p1","nameLocation":"15223:2:63","nodeType":"VariableDeclaration","scope":44926,"src":"15218:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44909,"name":"bool","nodeType":"ElementaryTypeName","src":"15218:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44912,"mutability":"mutable","name":"p2","nameLocation":"15232:2:63","nodeType":"VariableDeclaration","scope":44926,"src":"15227:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44911,"name":"bool","nodeType":"ElementaryTypeName","src":"15227:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15208:27:63"},"returnParameters":{"id":44914,"nodeType":"ParameterList","parameters":[],"src":"15250:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44946,"nodeType":"FunctionDefinition","src":"15348:152:63","nodes":[],"body":{"id":44945,"nodeType":"Block","src":"15405:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":44938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15455:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":44939,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44928,"src":"15481:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44940,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44930,"src":"15485:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44941,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44932,"src":"15489:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":44936,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15431:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44937,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15435:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15431:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15431:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44935,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15415:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15415:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44944,"nodeType":"ExpressionStatement","src":"15415:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15357:3:63","parameters":{"id":44933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44928,"mutability":"mutable","name":"p0","nameLocation":"15366:2:63","nodeType":"VariableDeclaration","scope":44946,"src":"15361:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44927,"name":"bool","nodeType":"ElementaryTypeName","src":"15361:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44930,"mutability":"mutable","name":"p1","nameLocation":"15375:2:63","nodeType":"VariableDeclaration","scope":44946,"src":"15370:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44929,"name":"bool","nodeType":"ElementaryTypeName","src":"15370:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44932,"mutability":"mutable","name":"p2","nameLocation":"15387:2:63","nodeType":"VariableDeclaration","scope":44946,"src":"15379:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44931,"name":"address","nodeType":"ElementaryTypeName","src":"15379:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15360:30:63"},"returnParameters":{"id":44934,"nodeType":"ParameterList","parameters":[],"src":"15405:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44966,"nodeType":"FunctionDefinition","src":"15506:152:63","nodes":[],"body":{"id":44965,"nodeType":"Block","src":"15563:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7429","id":44958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15613:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},"value":"log(bool,address,uint)"},{"id":44959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44948,"src":"15639:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44950,"src":"15643:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44952,"src":"15647:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d","typeString":"literal_string \"log(bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":44956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15589:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15593:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15589:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15589:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15573:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15573:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44964,"nodeType":"ExpressionStatement","src":"15573:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15515:3:63","parameters":{"id":44953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44948,"mutability":"mutable","name":"p0","nameLocation":"15524:2:63","nodeType":"VariableDeclaration","scope":44966,"src":"15519:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44947,"name":"bool","nodeType":"ElementaryTypeName","src":"15519:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44950,"mutability":"mutable","name":"p1","nameLocation":"15536:2:63","nodeType":"VariableDeclaration","scope":44966,"src":"15528:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44949,"name":"address","nodeType":"ElementaryTypeName","src":"15528:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44952,"mutability":"mutable","name":"p2","nameLocation":"15545:2:63","nodeType":"VariableDeclaration","scope":44966,"src":"15540:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":44951,"name":"uint","nodeType":"ElementaryTypeName","src":"15540:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15518:30:63"},"returnParameters":{"id":44954,"nodeType":"ParameterList","parameters":[],"src":"15563:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":44986,"nodeType":"FunctionDefinition","src":"15664:163:63","nodes":[],"body":{"id":44985,"nodeType":"Block","src":"15730:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":44978,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15780:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":44979,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44968,"src":"15808:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":44980,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44970,"src":"15812:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":44981,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44972,"src":"15816:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":44976,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15756:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44977,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15760:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15756:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":44982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15756:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44975,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15740:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":44983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15740:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":44984,"nodeType":"ExpressionStatement","src":"15740:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15673:3:63","parameters":{"id":44973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44968,"mutability":"mutable","name":"p0","nameLocation":"15682:2:63","nodeType":"VariableDeclaration","scope":44986,"src":"15677:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44967,"name":"bool","nodeType":"ElementaryTypeName","src":"15677:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44970,"mutability":"mutable","name":"p1","nameLocation":"15694:2:63","nodeType":"VariableDeclaration","scope":44986,"src":"15686:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44969,"name":"address","nodeType":"ElementaryTypeName","src":"15686:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44972,"mutability":"mutable","name":"p2","nameLocation":"15712:2:63","nodeType":"VariableDeclaration","scope":44986,"src":"15698:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":44971,"name":"string","nodeType":"ElementaryTypeName","src":"15698:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15676:39:63"},"returnParameters":{"id":44974,"nodeType":"ParameterList","parameters":[],"src":"15730:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45006,"nodeType":"FunctionDefinition","src":"15833:152:63","nodes":[],"body":{"id":45005,"nodeType":"Block","src":"15890:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":44998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15940:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":44999,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44988,"src":"15966:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45000,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44990,"src":"15970:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45001,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44992,"src":"15974:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":44996,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15916:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":44997,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15920:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15916:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15916:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":44995,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"15900:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15900:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45004,"nodeType":"ExpressionStatement","src":"15900:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15842:3:63","parameters":{"id":44993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":44988,"mutability":"mutable","name":"p0","nameLocation":"15851:2:63","nodeType":"VariableDeclaration","scope":45006,"src":"15846:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44987,"name":"bool","nodeType":"ElementaryTypeName","src":"15846:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":44990,"mutability":"mutable","name":"p1","nameLocation":"15863:2:63","nodeType":"VariableDeclaration","scope":45006,"src":"15855:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":44989,"name":"address","nodeType":"ElementaryTypeName","src":"15855:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":44992,"mutability":"mutable","name":"p2","nameLocation":"15872:2:63","nodeType":"VariableDeclaration","scope":45006,"src":"15867:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":44991,"name":"bool","nodeType":"ElementaryTypeName","src":"15867:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15845:30:63"},"returnParameters":{"id":44994,"nodeType":"ParameterList","parameters":[],"src":"15890:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45026,"nodeType":"FunctionDefinition","src":"15991:158:63","nodes":[],"body":{"id":45025,"nodeType":"Block","src":"16051:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":45018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16101:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":45019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45008,"src":"16130:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45010,"src":"16134:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45021,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45012,"src":"16138:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16077:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16081:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16077:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16077:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16061:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16061:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45024,"nodeType":"ExpressionStatement","src":"16061:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16000:3:63","parameters":{"id":45013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45008,"mutability":"mutable","name":"p0","nameLocation":"16009:2:63","nodeType":"VariableDeclaration","scope":45026,"src":"16004:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45007,"name":"bool","nodeType":"ElementaryTypeName","src":"16004:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45010,"mutability":"mutable","name":"p1","nameLocation":"16021:2:63","nodeType":"VariableDeclaration","scope":45026,"src":"16013:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45009,"name":"address","nodeType":"ElementaryTypeName","src":"16013:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45012,"mutability":"mutable","name":"p2","nameLocation":"16033:2:63","nodeType":"VariableDeclaration","scope":45026,"src":"16025:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45011,"name":"address","nodeType":"ElementaryTypeName","src":"16025:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16003:33:63"},"returnParameters":{"id":45014,"nodeType":"ParameterList","parameters":[],"src":"16051:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45046,"nodeType":"FunctionDefinition","src":"16155:152:63","nodes":[],"body":{"id":45045,"nodeType":"Block","src":"16212:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e7429","id":45038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16262:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},"value":"log(address,uint,uint)"},{"id":45039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45028,"src":"16288:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45030,"src":"16292:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45032,"src":"16296:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea","typeString":"literal_string \"log(address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16238:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16242:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16238:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16238:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16222:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16222:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45044,"nodeType":"ExpressionStatement","src":"16222:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16164:3:63","parameters":{"id":45033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45028,"mutability":"mutable","name":"p0","nameLocation":"16176:2:63","nodeType":"VariableDeclaration","scope":45046,"src":"16168:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45027,"name":"address","nodeType":"ElementaryTypeName","src":"16168:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45030,"mutability":"mutable","name":"p1","nameLocation":"16185:2:63","nodeType":"VariableDeclaration","scope":45046,"src":"16180:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45029,"name":"uint","nodeType":"ElementaryTypeName","src":"16180:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45032,"mutability":"mutable","name":"p2","nameLocation":"16194:2:63","nodeType":"VariableDeclaration","scope":45046,"src":"16189:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45031,"name":"uint","nodeType":"ElementaryTypeName","src":"16189:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16167:30:63"},"returnParameters":{"id":45034,"nodeType":"ParameterList","parameters":[],"src":"16212:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45066,"nodeType":"FunctionDefinition","src":"16313:163:63","nodes":[],"body":{"id":45065,"nodeType":"Block","src":"16379:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e6729","id":45058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16429:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},"value":"log(address,uint,string)"},{"id":45059,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45048,"src":"16457:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45060,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45050,"src":"16461:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45061,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45052,"src":"16465:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4","typeString":"literal_string \"log(address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45056,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16405:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45057,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16409:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16405:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45062,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16405:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45055,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16389:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45063,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16389:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45064,"nodeType":"ExpressionStatement","src":"16389:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16322:3:63","parameters":{"id":45053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45048,"mutability":"mutable","name":"p0","nameLocation":"16334:2:63","nodeType":"VariableDeclaration","scope":45066,"src":"16326:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45047,"name":"address","nodeType":"ElementaryTypeName","src":"16326:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45050,"mutability":"mutable","name":"p1","nameLocation":"16343:2:63","nodeType":"VariableDeclaration","scope":45066,"src":"16338:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45049,"name":"uint","nodeType":"ElementaryTypeName","src":"16338:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45052,"mutability":"mutable","name":"p2","nameLocation":"16361:2:63","nodeType":"VariableDeclaration","scope":45066,"src":"16347:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45051,"name":"string","nodeType":"ElementaryTypeName","src":"16347:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16325:39:63"},"returnParameters":{"id":45054,"nodeType":"ParameterList","parameters":[],"src":"16379:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45086,"nodeType":"FunctionDefinition","src":"16482:152:63","nodes":[],"body":{"id":45085,"nodeType":"Block","src":"16539:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c29","id":45078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16589:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},"value":"log(address,uint,bool)"},{"id":45079,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45068,"src":"16615:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45080,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45070,"src":"16619:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45081,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45072,"src":"16623:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4","typeString":"literal_string \"log(address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45076,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16565:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16569:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16565:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45082,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16565:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45075,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16549:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16549:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45084,"nodeType":"ExpressionStatement","src":"16549:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16491:3:63","parameters":{"id":45073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45068,"mutability":"mutable","name":"p0","nameLocation":"16503:2:63","nodeType":"VariableDeclaration","scope":45086,"src":"16495:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45067,"name":"address","nodeType":"ElementaryTypeName","src":"16495:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45070,"mutability":"mutable","name":"p1","nameLocation":"16512:2:63","nodeType":"VariableDeclaration","scope":45086,"src":"16507:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45069,"name":"uint","nodeType":"ElementaryTypeName","src":"16507:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45072,"mutability":"mutable","name":"p2","nameLocation":"16521:2:63","nodeType":"VariableDeclaration","scope":45086,"src":"16516:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45071,"name":"bool","nodeType":"ElementaryTypeName","src":"16516:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16494:30:63"},"returnParameters":{"id":45074,"nodeType":"ParameterList","parameters":[],"src":"16539:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45106,"nodeType":"FunctionDefinition","src":"16640:158:63","nodes":[],"body":{"id":45105,"nodeType":"Block","src":"16700:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c6164647265737329","id":45098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16750:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},"value":"log(address,uint,address)"},{"id":45099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45088,"src":"16779:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45090,"src":"16783:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45092,"src":"16787:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259","typeString":"literal_string \"log(address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16726:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16730:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16726:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16726:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16710:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16710:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45104,"nodeType":"ExpressionStatement","src":"16710:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16649:3:63","parameters":{"id":45093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45088,"mutability":"mutable","name":"p0","nameLocation":"16661:2:63","nodeType":"VariableDeclaration","scope":45106,"src":"16653:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45087,"name":"address","nodeType":"ElementaryTypeName","src":"16653:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45090,"mutability":"mutable","name":"p1","nameLocation":"16670:2:63","nodeType":"VariableDeclaration","scope":45106,"src":"16665:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45089,"name":"uint","nodeType":"ElementaryTypeName","src":"16665:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45092,"mutability":"mutable","name":"p2","nameLocation":"16682:2:63","nodeType":"VariableDeclaration","scope":45106,"src":"16674:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45091,"name":"address","nodeType":"ElementaryTypeName","src":"16674:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16652:33:63"},"returnParameters":{"id":45094,"nodeType":"ParameterList","parameters":[],"src":"16700:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45126,"nodeType":"FunctionDefinition","src":"16804:163:63","nodes":[],"body":{"id":45125,"nodeType":"Block","src":"16870:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7429","id":45118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16920:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},"value":"log(address,string,uint)"},{"id":45119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45108,"src":"16948:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45110,"src":"16952:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45112,"src":"16956:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597","typeString":"literal_string \"log(address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16896:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16900:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16896:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45122,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16896:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"16880:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16880:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45124,"nodeType":"ExpressionStatement","src":"16880:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16813:3:63","parameters":{"id":45113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45108,"mutability":"mutable","name":"p0","nameLocation":"16825:2:63","nodeType":"VariableDeclaration","scope":45126,"src":"16817:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45107,"name":"address","nodeType":"ElementaryTypeName","src":"16817:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45110,"mutability":"mutable","name":"p1","nameLocation":"16843:2:63","nodeType":"VariableDeclaration","scope":45126,"src":"16829:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45109,"name":"string","nodeType":"ElementaryTypeName","src":"16829:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45112,"mutability":"mutable","name":"p2","nameLocation":"16852:2:63","nodeType":"VariableDeclaration","scope":45126,"src":"16847:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45111,"name":"uint","nodeType":"ElementaryTypeName","src":"16847:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16816:39:63"},"returnParameters":{"id":45114,"nodeType":"ParameterList","parameters":[],"src":"16870:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45146,"nodeType":"FunctionDefinition","src":"16973:174:63","nodes":[],"body":{"id":45145,"nodeType":"Block","src":"17048:99:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":45138,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17098:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":45139,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45128,"src":"17128:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45140,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45130,"src":"17132:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45141,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45132,"src":"17136:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45136,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17074:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45137,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17078:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17074:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17074:65:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45135,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17058:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17058:82:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45144,"nodeType":"ExpressionStatement","src":"17058:82:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16982:3:63","parameters":{"id":45133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45128,"mutability":"mutable","name":"p0","nameLocation":"16994:2:63","nodeType":"VariableDeclaration","scope":45146,"src":"16986:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45127,"name":"address","nodeType":"ElementaryTypeName","src":"16986:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45130,"mutability":"mutable","name":"p1","nameLocation":"17012:2:63","nodeType":"VariableDeclaration","scope":45146,"src":"16998:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45129,"name":"string","nodeType":"ElementaryTypeName","src":"16998:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45132,"mutability":"mutable","name":"p2","nameLocation":"17030:2:63","nodeType":"VariableDeclaration","scope":45146,"src":"17016:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45131,"name":"string","nodeType":"ElementaryTypeName","src":"17016:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16985:48:63"},"returnParameters":{"id":45134,"nodeType":"ParameterList","parameters":[],"src":"17048:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45166,"nodeType":"FunctionDefinition","src":"17153:163:63","nodes":[],"body":{"id":45165,"nodeType":"Block","src":"17219:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":45158,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17269:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":45159,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45148,"src":"17297:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45160,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45150,"src":"17301:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45161,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45152,"src":"17305:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45156,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17245:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45157,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17249:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17245:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17245:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45155,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17229:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17229:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45164,"nodeType":"ExpressionStatement","src":"17229:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17162:3:63","parameters":{"id":45153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45148,"mutability":"mutable","name":"p0","nameLocation":"17174:2:63","nodeType":"VariableDeclaration","scope":45166,"src":"17166:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45147,"name":"address","nodeType":"ElementaryTypeName","src":"17166:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45150,"mutability":"mutable","name":"p1","nameLocation":"17192:2:63","nodeType":"VariableDeclaration","scope":45166,"src":"17178:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45149,"name":"string","nodeType":"ElementaryTypeName","src":"17178:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45152,"mutability":"mutable","name":"p2","nameLocation":"17201:2:63","nodeType":"VariableDeclaration","scope":45166,"src":"17196:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45151,"name":"bool","nodeType":"ElementaryTypeName","src":"17196:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17165:39:63"},"returnParameters":{"id":45154,"nodeType":"ParameterList","parameters":[],"src":"17219:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45186,"nodeType":"FunctionDefinition","src":"17322:169:63","nodes":[],"body":{"id":45185,"nodeType":"Block","src":"17391:100:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":45178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17441:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":45179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45168,"src":"17472:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45170,"src":"17476:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45172,"src":"17480:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17417:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17421:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17417:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17417:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17401:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17401:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45184,"nodeType":"ExpressionStatement","src":"17401:83:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17331:3:63","parameters":{"id":45173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45168,"mutability":"mutable","name":"p0","nameLocation":"17343:2:63","nodeType":"VariableDeclaration","scope":45186,"src":"17335:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45167,"name":"address","nodeType":"ElementaryTypeName","src":"17335:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45170,"mutability":"mutable","name":"p1","nameLocation":"17361:2:63","nodeType":"VariableDeclaration","scope":45186,"src":"17347:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45169,"name":"string","nodeType":"ElementaryTypeName","src":"17347:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45172,"mutability":"mutable","name":"p2","nameLocation":"17373:2:63","nodeType":"VariableDeclaration","scope":45186,"src":"17365:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45171,"name":"address","nodeType":"ElementaryTypeName","src":"17365:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17334:42:63"},"returnParameters":{"id":45174,"nodeType":"ParameterList","parameters":[],"src":"17391:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45206,"nodeType":"FunctionDefinition","src":"17497:152:63","nodes":[],"body":{"id":45205,"nodeType":"Block","src":"17554:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7429","id":45198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17604:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},"value":"log(address,bool,uint)"},{"id":45199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45188,"src":"17630:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45190,"src":"17634:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45192,"src":"17638:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095","typeString":"literal_string \"log(address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17580:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17584:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17580:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17580:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17564:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17564:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45204,"nodeType":"ExpressionStatement","src":"17564:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17506:3:63","parameters":{"id":45193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45188,"mutability":"mutable","name":"p0","nameLocation":"17518:2:63","nodeType":"VariableDeclaration","scope":45206,"src":"17510:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45187,"name":"address","nodeType":"ElementaryTypeName","src":"17510:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45190,"mutability":"mutable","name":"p1","nameLocation":"17527:2:63","nodeType":"VariableDeclaration","scope":45206,"src":"17522:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45189,"name":"bool","nodeType":"ElementaryTypeName","src":"17522:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45192,"mutability":"mutable","name":"p2","nameLocation":"17536:2:63","nodeType":"VariableDeclaration","scope":45206,"src":"17531:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45191,"name":"uint","nodeType":"ElementaryTypeName","src":"17531:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17509:30:63"},"returnParameters":{"id":45194,"nodeType":"ParameterList","parameters":[],"src":"17554:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45226,"nodeType":"FunctionDefinition","src":"17655:163:63","nodes":[],"body":{"id":45225,"nodeType":"Block","src":"17721:97:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":45218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17771:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":45219,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45208,"src":"17799:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45220,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45210,"src":"17803:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45221,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45212,"src":"17807:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45216,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17747:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45217,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17751:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17747:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17747:63:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45215,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17731:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17731:80:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45224,"nodeType":"ExpressionStatement","src":"17731:80:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17664:3:63","parameters":{"id":45213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45208,"mutability":"mutable","name":"p0","nameLocation":"17676:2:63","nodeType":"VariableDeclaration","scope":45226,"src":"17668:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45207,"name":"address","nodeType":"ElementaryTypeName","src":"17668:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45210,"mutability":"mutable","name":"p1","nameLocation":"17685:2:63","nodeType":"VariableDeclaration","scope":45226,"src":"17680:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45209,"name":"bool","nodeType":"ElementaryTypeName","src":"17680:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45212,"mutability":"mutable","name":"p2","nameLocation":"17703:2:63","nodeType":"VariableDeclaration","scope":45226,"src":"17689:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45211,"name":"string","nodeType":"ElementaryTypeName","src":"17689:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17667:39:63"},"returnParameters":{"id":45214,"nodeType":"ParameterList","parameters":[],"src":"17721:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45246,"nodeType":"FunctionDefinition","src":"17824:152:63","nodes":[],"body":{"id":45245,"nodeType":"Block","src":"17881:95:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":45238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17931:24:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":45239,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45228,"src":"17957:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45240,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45230,"src":"17961:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45241,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45232,"src":"17965:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45236,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17907:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45237,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17911:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17907:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17907:61:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45235,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"17891:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45243,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17891:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45244,"nodeType":"ExpressionStatement","src":"17891:78:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17833:3:63","parameters":{"id":45233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45228,"mutability":"mutable","name":"p0","nameLocation":"17845:2:63","nodeType":"VariableDeclaration","scope":45246,"src":"17837:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45227,"name":"address","nodeType":"ElementaryTypeName","src":"17837:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45230,"mutability":"mutable","name":"p1","nameLocation":"17854:2:63","nodeType":"VariableDeclaration","scope":45246,"src":"17849:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45229,"name":"bool","nodeType":"ElementaryTypeName","src":"17849:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45232,"mutability":"mutable","name":"p2","nameLocation":"17863:2:63","nodeType":"VariableDeclaration","scope":45246,"src":"17858:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45231,"name":"bool","nodeType":"ElementaryTypeName","src":"17858:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17836:30:63"},"returnParameters":{"id":45234,"nodeType":"ParameterList","parameters":[],"src":"17881:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45266,"nodeType":"FunctionDefinition","src":"17982:158:63","nodes":[],"body":{"id":45265,"nodeType":"Block","src":"18042:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":45258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18092:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":45259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45248,"src":"18121:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45250,"src":"18125:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45252,"src":"18129:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18068:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18072:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18068:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18068:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18052:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18052:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45264,"nodeType":"ExpressionStatement","src":"18052:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17991:3:63","parameters":{"id":45253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45248,"mutability":"mutable","name":"p0","nameLocation":"18003:2:63","nodeType":"VariableDeclaration","scope":45266,"src":"17995:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45247,"name":"address","nodeType":"ElementaryTypeName","src":"17995:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45250,"mutability":"mutable","name":"p1","nameLocation":"18012:2:63","nodeType":"VariableDeclaration","scope":45266,"src":"18007:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45249,"name":"bool","nodeType":"ElementaryTypeName","src":"18007:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45252,"mutability":"mutable","name":"p2","nameLocation":"18024:2:63","nodeType":"VariableDeclaration","scope":45266,"src":"18016:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45251,"name":"address","nodeType":"ElementaryTypeName","src":"18016:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17994:33:63"},"returnParameters":{"id":45254,"nodeType":"ParameterList","parameters":[],"src":"18042:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45286,"nodeType":"FunctionDefinition","src":"18146:158:63","nodes":[],"body":{"id":45285,"nodeType":"Block","src":"18206:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7429","id":45278,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18256:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},"value":"log(address,address,uint)"},{"id":45279,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45268,"src":"18285:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45280,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45270,"src":"18289:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45281,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45272,"src":"18293:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07","typeString":"literal_string \"log(address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18232:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18236:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18232:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18232:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45275,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18216:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18216:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45284,"nodeType":"ExpressionStatement","src":"18216:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18155:3:63","parameters":{"id":45273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45268,"mutability":"mutable","name":"p0","nameLocation":"18167:2:63","nodeType":"VariableDeclaration","scope":45286,"src":"18159:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45267,"name":"address","nodeType":"ElementaryTypeName","src":"18159:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45270,"mutability":"mutable","name":"p1","nameLocation":"18179:2:63","nodeType":"VariableDeclaration","scope":45286,"src":"18171:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45269,"name":"address","nodeType":"ElementaryTypeName","src":"18171:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45272,"mutability":"mutable","name":"p2","nameLocation":"18188:2:63","nodeType":"VariableDeclaration","scope":45286,"src":"18183:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45271,"name":"uint","nodeType":"ElementaryTypeName","src":"18183:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18158:33:63"},"returnParameters":{"id":45274,"nodeType":"ParameterList","parameters":[],"src":"18206:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45306,"nodeType":"FunctionDefinition","src":"18310:169:63","nodes":[],"body":{"id":45305,"nodeType":"Block","src":"18379:100:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":45298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18429:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":45299,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45288,"src":"18460:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45300,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45290,"src":"18464:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45301,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45292,"src":"18468:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18405:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18409:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18405:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18405:66:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45295,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18389:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45303,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18389:83:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45304,"nodeType":"ExpressionStatement","src":"18389:83:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18319:3:63","parameters":{"id":45293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45288,"mutability":"mutable","name":"p0","nameLocation":"18331:2:63","nodeType":"VariableDeclaration","scope":45306,"src":"18323:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45287,"name":"address","nodeType":"ElementaryTypeName","src":"18323:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45290,"mutability":"mutable","name":"p1","nameLocation":"18343:2:63","nodeType":"VariableDeclaration","scope":45306,"src":"18335:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45289,"name":"address","nodeType":"ElementaryTypeName","src":"18335:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45292,"mutability":"mutable","name":"p2","nameLocation":"18361:2:63","nodeType":"VariableDeclaration","scope":45306,"src":"18347:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45291,"name":"string","nodeType":"ElementaryTypeName","src":"18347:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18322:42:63"},"returnParameters":{"id":45294,"nodeType":"ParameterList","parameters":[],"src":"18379:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45326,"nodeType":"FunctionDefinition","src":"18485:158:63","nodes":[],"body":{"id":45325,"nodeType":"Block","src":"18545:98:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":45318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18595:27:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":45319,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45308,"src":"18624:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45320,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45310,"src":"18628:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45321,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45312,"src":"18632:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45316,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18571:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45317,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18575:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18571:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18571:64:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45315,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18555:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18555:81:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45324,"nodeType":"ExpressionStatement","src":"18555:81:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18494:3:63","parameters":{"id":45313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45308,"mutability":"mutable","name":"p0","nameLocation":"18506:2:63","nodeType":"VariableDeclaration","scope":45326,"src":"18498:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45307,"name":"address","nodeType":"ElementaryTypeName","src":"18498:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45310,"mutability":"mutable","name":"p1","nameLocation":"18518:2:63","nodeType":"VariableDeclaration","scope":45326,"src":"18510:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45309,"name":"address","nodeType":"ElementaryTypeName","src":"18510:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45312,"mutability":"mutable","name":"p2","nameLocation":"18527:2:63","nodeType":"VariableDeclaration","scope":45326,"src":"18522:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45311,"name":"bool","nodeType":"ElementaryTypeName","src":"18522:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18497:33:63"},"returnParameters":{"id":45314,"nodeType":"ParameterList","parameters":[],"src":"18545:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45346,"nodeType":"FunctionDefinition","src":"18649:164:63","nodes":[],"body":{"id":45345,"nodeType":"Block","src":"18712:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":45338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18762:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":45339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45328,"src":"18794:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45330,"src":"18798:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45332,"src":"18802:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18738:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18742:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18738:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18738:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18722:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18722:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45344,"nodeType":"ExpressionStatement","src":"18722:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18658:3:63","parameters":{"id":45333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45328,"mutability":"mutable","name":"p0","nameLocation":"18670:2:63","nodeType":"VariableDeclaration","scope":45346,"src":"18662:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45327,"name":"address","nodeType":"ElementaryTypeName","src":"18662:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45330,"mutability":"mutable","name":"p1","nameLocation":"18682:2:63","nodeType":"VariableDeclaration","scope":45346,"src":"18674:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45329,"name":"address","nodeType":"ElementaryTypeName","src":"18674:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45332,"mutability":"mutable","name":"p2","nameLocation":"18694:2:63","nodeType":"VariableDeclaration","scope":45346,"src":"18686:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45331,"name":"address","nodeType":"ElementaryTypeName","src":"18686:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18661:36:63"},"returnParameters":{"id":45334,"nodeType":"ParameterList","parameters":[],"src":"18712:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45369,"nodeType":"FunctionDefinition","src":"18819:164:63","nodes":[],"body":{"id":45368,"nodeType":"Block","src":"18882:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c75696e7429","id":45360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18932:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},"value":"log(uint,uint,uint,uint)"},{"id":45361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45348,"src":"18960:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45350,"src":"18964:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45352,"src":"18968:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45364,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45354,"src":"18972:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6","typeString":"literal_string \"log(uint,uint,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18908:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18912:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18908:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18908:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"18892:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18892:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45367,"nodeType":"ExpressionStatement","src":"18892:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18828:3:63","parameters":{"id":45355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45348,"mutability":"mutable","name":"p0","nameLocation":"18837:2:63","nodeType":"VariableDeclaration","scope":45369,"src":"18832:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45347,"name":"uint","nodeType":"ElementaryTypeName","src":"18832:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45350,"mutability":"mutable","name":"p1","nameLocation":"18846:2:63","nodeType":"VariableDeclaration","scope":45369,"src":"18841:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45349,"name":"uint","nodeType":"ElementaryTypeName","src":"18841:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45352,"mutability":"mutable","name":"p2","nameLocation":"18855:2:63","nodeType":"VariableDeclaration","scope":45369,"src":"18850:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45351,"name":"uint","nodeType":"ElementaryTypeName","src":"18850:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45354,"mutability":"mutable","name":"p3","nameLocation":"18864:2:63","nodeType":"VariableDeclaration","scope":45369,"src":"18859:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45353,"name":"uint","nodeType":"ElementaryTypeName","src":"18859:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18831:36:63"},"returnParameters":{"id":45356,"nodeType":"ParameterList","parameters":[],"src":"18882:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45392,"nodeType":"FunctionDefinition","src":"18989:175:63","nodes":[],"body":{"id":45391,"nodeType":"Block","src":"19061:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c737472696e6729","id":45383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19111:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},"value":"log(uint,uint,uint,string)"},{"id":45384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45371,"src":"19141:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45373,"src":"19145:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45375,"src":"19149:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45387,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45377,"src":"19153:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5","typeString":"literal_string \"log(uint,uint,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19087:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19091:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19087:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19087:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19071:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19071:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45390,"nodeType":"ExpressionStatement","src":"19071:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18998:3:63","parameters":{"id":45378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45371,"mutability":"mutable","name":"p0","nameLocation":"19007:2:63","nodeType":"VariableDeclaration","scope":45392,"src":"19002:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45370,"name":"uint","nodeType":"ElementaryTypeName","src":"19002:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45373,"mutability":"mutable","name":"p1","nameLocation":"19016:2:63","nodeType":"VariableDeclaration","scope":45392,"src":"19011:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45372,"name":"uint","nodeType":"ElementaryTypeName","src":"19011:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45375,"mutability":"mutable","name":"p2","nameLocation":"19025:2:63","nodeType":"VariableDeclaration","scope":45392,"src":"19020:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45374,"name":"uint","nodeType":"ElementaryTypeName","src":"19020:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45377,"mutability":"mutable","name":"p3","nameLocation":"19043:2:63","nodeType":"VariableDeclaration","scope":45392,"src":"19029:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45376,"name":"string","nodeType":"ElementaryTypeName","src":"19029:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19001:45:63"},"returnParameters":{"id":45379,"nodeType":"ParameterList","parameters":[],"src":"19061:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45415,"nodeType":"FunctionDefinition","src":"19170:164:63","nodes":[],"body":{"id":45414,"nodeType":"Block","src":"19233:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c626f6f6c29","id":45406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19283:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},"value":"log(uint,uint,uint,bool)"},{"id":45407,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45394,"src":"19311:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45408,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45396,"src":"19315:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45409,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45398,"src":"19319:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45410,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45400,"src":"19323:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f","typeString":"literal_string \"log(uint,uint,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19259:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19263:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19259:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19259:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19243:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19243:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45413,"nodeType":"ExpressionStatement","src":"19243:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19179:3:63","parameters":{"id":45401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45394,"mutability":"mutable","name":"p0","nameLocation":"19188:2:63","nodeType":"VariableDeclaration","scope":45415,"src":"19183:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45393,"name":"uint","nodeType":"ElementaryTypeName","src":"19183:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45396,"mutability":"mutable","name":"p1","nameLocation":"19197:2:63","nodeType":"VariableDeclaration","scope":45415,"src":"19192:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45395,"name":"uint","nodeType":"ElementaryTypeName","src":"19192:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45398,"mutability":"mutable","name":"p2","nameLocation":"19206:2:63","nodeType":"VariableDeclaration","scope":45415,"src":"19201:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45397,"name":"uint","nodeType":"ElementaryTypeName","src":"19201:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45400,"mutability":"mutable","name":"p3","nameLocation":"19215:2:63","nodeType":"VariableDeclaration","scope":45415,"src":"19210:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45399,"name":"bool","nodeType":"ElementaryTypeName","src":"19210:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19182:36:63"},"returnParameters":{"id":45402,"nodeType":"ParameterList","parameters":[],"src":"19233:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45438,"nodeType":"FunctionDefinition","src":"19340:170:63","nodes":[],"body":{"id":45437,"nodeType":"Block","src":"19406:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c75696e742c6164647265737329","id":45429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19456:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},"value":"log(uint,uint,uint,address)"},{"id":45430,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45417,"src":"19487:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45431,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45419,"src":"19491:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45432,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45421,"src":"19495:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45433,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45423,"src":"19499:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba","typeString":"literal_string \"log(uint,uint,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45427,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19432:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19436:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19432:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19432:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45426,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19416:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19416:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45436,"nodeType":"ExpressionStatement","src":"19416:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19349:3:63","parameters":{"id":45424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45417,"mutability":"mutable","name":"p0","nameLocation":"19358:2:63","nodeType":"VariableDeclaration","scope":45438,"src":"19353:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45416,"name":"uint","nodeType":"ElementaryTypeName","src":"19353:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45419,"mutability":"mutable","name":"p1","nameLocation":"19367:2:63","nodeType":"VariableDeclaration","scope":45438,"src":"19362:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45418,"name":"uint","nodeType":"ElementaryTypeName","src":"19362:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45421,"mutability":"mutable","name":"p2","nameLocation":"19376:2:63","nodeType":"VariableDeclaration","scope":45438,"src":"19371:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45420,"name":"uint","nodeType":"ElementaryTypeName","src":"19371:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45423,"mutability":"mutable","name":"p3","nameLocation":"19388:2:63","nodeType":"VariableDeclaration","scope":45438,"src":"19380:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45422,"name":"address","nodeType":"ElementaryTypeName","src":"19380:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19352:39:63"},"returnParameters":{"id":45425,"nodeType":"ParameterList","parameters":[],"src":"19406:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45461,"nodeType":"FunctionDefinition","src":"19516:175:63","nodes":[],"body":{"id":45460,"nodeType":"Block","src":"19588:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c75696e7429","id":45452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19638:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},"value":"log(uint,uint,string,uint)"},{"id":45453,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45440,"src":"19668:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45454,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45442,"src":"19672:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45455,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45444,"src":"19676:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45456,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45446,"src":"19680:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e","typeString":"literal_string \"log(uint,uint,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45450,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19614:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19618:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19614:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19614:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45449,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19598:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19598:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45459,"nodeType":"ExpressionStatement","src":"19598:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19525:3:63","parameters":{"id":45447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45440,"mutability":"mutable","name":"p0","nameLocation":"19534:2:63","nodeType":"VariableDeclaration","scope":45461,"src":"19529:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45439,"name":"uint","nodeType":"ElementaryTypeName","src":"19529:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45442,"mutability":"mutable","name":"p1","nameLocation":"19543:2:63","nodeType":"VariableDeclaration","scope":45461,"src":"19538:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45441,"name":"uint","nodeType":"ElementaryTypeName","src":"19538:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45444,"mutability":"mutable","name":"p2","nameLocation":"19561:2:63","nodeType":"VariableDeclaration","scope":45461,"src":"19547:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45443,"name":"string","nodeType":"ElementaryTypeName","src":"19547:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45446,"mutability":"mutable","name":"p3","nameLocation":"19570:2:63","nodeType":"VariableDeclaration","scope":45461,"src":"19565:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45445,"name":"uint","nodeType":"ElementaryTypeName","src":"19565:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19528:45:63"},"returnParameters":{"id":45448,"nodeType":"ParameterList","parameters":[],"src":"19588:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45484,"nodeType":"FunctionDefinition","src":"19697:186:63","nodes":[],"body":{"id":45483,"nodeType":"Block","src":"19778:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c737472696e6729","id":45475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19828:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},"value":"log(uint,uint,string,string)"},{"id":45476,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45463,"src":"19860:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45477,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45465,"src":"19864:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45478,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45467,"src":"19868:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45479,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45469,"src":"19872:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6","typeString":"literal_string \"log(uint,uint,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45473,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19804:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19808:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19804:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19804:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45472,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19788:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19788:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45482,"nodeType":"ExpressionStatement","src":"19788:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19706:3:63","parameters":{"id":45470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45463,"mutability":"mutable","name":"p0","nameLocation":"19715:2:63","nodeType":"VariableDeclaration","scope":45484,"src":"19710:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45462,"name":"uint","nodeType":"ElementaryTypeName","src":"19710:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45465,"mutability":"mutable","name":"p1","nameLocation":"19724:2:63","nodeType":"VariableDeclaration","scope":45484,"src":"19719:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45464,"name":"uint","nodeType":"ElementaryTypeName","src":"19719:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45467,"mutability":"mutable","name":"p2","nameLocation":"19742:2:63","nodeType":"VariableDeclaration","scope":45484,"src":"19728:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45466,"name":"string","nodeType":"ElementaryTypeName","src":"19728:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45469,"mutability":"mutable","name":"p3","nameLocation":"19760:2:63","nodeType":"VariableDeclaration","scope":45484,"src":"19746:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45468,"name":"string","nodeType":"ElementaryTypeName","src":"19746:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19709:54:63"},"returnParameters":{"id":45471,"nodeType":"ParameterList","parameters":[],"src":"19778:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45507,"nodeType":"FunctionDefinition","src":"19889:175:63","nodes":[],"body":{"id":45506,"nodeType":"Block","src":"19961:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c626f6f6c29","id":45498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20011:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},"value":"log(uint,uint,string,bool)"},{"id":45499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45486,"src":"20041:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45488,"src":"20045:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45490,"src":"20049:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45502,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45492,"src":"20053:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9","typeString":"literal_string \"log(uint,uint,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19987:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19991:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19987:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19987:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"19971:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19971:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45505,"nodeType":"ExpressionStatement","src":"19971:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19898:3:63","parameters":{"id":45493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45486,"mutability":"mutable","name":"p0","nameLocation":"19907:2:63","nodeType":"VariableDeclaration","scope":45507,"src":"19902:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45485,"name":"uint","nodeType":"ElementaryTypeName","src":"19902:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45488,"mutability":"mutable","name":"p1","nameLocation":"19916:2:63","nodeType":"VariableDeclaration","scope":45507,"src":"19911:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45487,"name":"uint","nodeType":"ElementaryTypeName","src":"19911:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45490,"mutability":"mutable","name":"p2","nameLocation":"19934:2:63","nodeType":"VariableDeclaration","scope":45507,"src":"19920:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45489,"name":"string","nodeType":"ElementaryTypeName","src":"19920:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45492,"mutability":"mutable","name":"p3","nameLocation":"19943:2:63","nodeType":"VariableDeclaration","scope":45507,"src":"19938:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45491,"name":"bool","nodeType":"ElementaryTypeName","src":"19938:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19901:45:63"},"returnParameters":{"id":45494,"nodeType":"ParameterList","parameters":[],"src":"19961:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45530,"nodeType":"FunctionDefinition","src":"20070:181:63","nodes":[],"body":{"id":45529,"nodeType":"Block","src":"20145:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c737472696e672c6164647265737329","id":45521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20195:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},"value":"log(uint,uint,string,address)"},{"id":45522,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45509,"src":"20228:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45523,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45511,"src":"20232:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45524,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45513,"src":"20236:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45525,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45515,"src":"20240:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7","typeString":"literal_string \"log(uint,uint,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45519,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20171:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20175:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20171:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20171:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45518,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"20155:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20155:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45528,"nodeType":"ExpressionStatement","src":"20155:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20079:3:63","parameters":{"id":45516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45509,"mutability":"mutable","name":"p0","nameLocation":"20088:2:63","nodeType":"VariableDeclaration","scope":45530,"src":"20083:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45508,"name":"uint","nodeType":"ElementaryTypeName","src":"20083:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45511,"mutability":"mutable","name":"p1","nameLocation":"20097:2:63","nodeType":"VariableDeclaration","scope":45530,"src":"20092:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45510,"name":"uint","nodeType":"ElementaryTypeName","src":"20092:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45513,"mutability":"mutable","name":"p2","nameLocation":"20115:2:63","nodeType":"VariableDeclaration","scope":45530,"src":"20101:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45512,"name":"string","nodeType":"ElementaryTypeName","src":"20101:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45515,"mutability":"mutable","name":"p3","nameLocation":"20127:2:63","nodeType":"VariableDeclaration","scope":45530,"src":"20119:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45514,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20082:48:63"},"returnParameters":{"id":45517,"nodeType":"ParameterList","parameters":[],"src":"20145:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45553,"nodeType":"FunctionDefinition","src":"20257:164:63","nodes":[],"body":{"id":45552,"nodeType":"Block","src":"20320:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c75696e7429","id":45544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20370:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},"value":"log(uint,uint,bool,uint)"},{"id":45545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45532,"src":"20398:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45546,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45534,"src":"20402:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45547,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45536,"src":"20406:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45548,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45538,"src":"20410:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d","typeString":"literal_string \"log(uint,uint,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20346:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20350:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20346:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20346:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"20330:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20330:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45551,"nodeType":"ExpressionStatement","src":"20330:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20266:3:63","parameters":{"id":45539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45532,"mutability":"mutable","name":"p0","nameLocation":"20275:2:63","nodeType":"VariableDeclaration","scope":45553,"src":"20270:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45531,"name":"uint","nodeType":"ElementaryTypeName","src":"20270:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45534,"mutability":"mutable","name":"p1","nameLocation":"20284:2:63","nodeType":"VariableDeclaration","scope":45553,"src":"20279:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45533,"name":"uint","nodeType":"ElementaryTypeName","src":"20279:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45536,"mutability":"mutable","name":"p2","nameLocation":"20293:2:63","nodeType":"VariableDeclaration","scope":45553,"src":"20288:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45535,"name":"bool","nodeType":"ElementaryTypeName","src":"20288:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45538,"mutability":"mutable","name":"p3","nameLocation":"20302:2:63","nodeType":"VariableDeclaration","scope":45553,"src":"20297:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45537,"name":"uint","nodeType":"ElementaryTypeName","src":"20297:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20269:36:63"},"returnParameters":{"id":45540,"nodeType":"ParameterList","parameters":[],"src":"20320:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45576,"nodeType":"FunctionDefinition","src":"20427:175:63","nodes":[],"body":{"id":45575,"nodeType":"Block","src":"20499:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c737472696e6729","id":45567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20549:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},"value":"log(uint,uint,bool,string)"},{"id":45568,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45555,"src":"20579:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45569,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45557,"src":"20583:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45570,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45559,"src":"20587:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45571,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45561,"src":"20591:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a","typeString":"literal_string \"log(uint,uint,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45565,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20525:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20529:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20525:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20525:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45564,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"20509:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20509:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45574,"nodeType":"ExpressionStatement","src":"20509:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20436:3:63","parameters":{"id":45562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45555,"mutability":"mutable","name":"p0","nameLocation":"20445:2:63","nodeType":"VariableDeclaration","scope":45576,"src":"20440:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45554,"name":"uint","nodeType":"ElementaryTypeName","src":"20440:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45557,"mutability":"mutable","name":"p1","nameLocation":"20454:2:63","nodeType":"VariableDeclaration","scope":45576,"src":"20449:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45556,"name":"uint","nodeType":"ElementaryTypeName","src":"20449:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45559,"mutability":"mutable","name":"p2","nameLocation":"20463:2:63","nodeType":"VariableDeclaration","scope":45576,"src":"20458:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45558,"name":"bool","nodeType":"ElementaryTypeName","src":"20458:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45561,"mutability":"mutable","name":"p3","nameLocation":"20481:2:63","nodeType":"VariableDeclaration","scope":45576,"src":"20467:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45560,"name":"string","nodeType":"ElementaryTypeName","src":"20467:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20439:45:63"},"returnParameters":{"id":45563,"nodeType":"ParameterList","parameters":[],"src":"20499:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45599,"nodeType":"FunctionDefinition","src":"20608:164:63","nodes":[],"body":{"id":45598,"nodeType":"Block","src":"20671:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29","id":45590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20721:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},"value":"log(uint,uint,bool,bool)"},{"id":45591,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45578,"src":"20749:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45592,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45580,"src":"20753:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45593,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45582,"src":"20757:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45594,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45584,"src":"20761:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41","typeString":"literal_string \"log(uint,uint,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20697:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20701:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20697:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20697:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45587,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"20681:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20681:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45597,"nodeType":"ExpressionStatement","src":"20681:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20617:3:63","parameters":{"id":45585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45578,"mutability":"mutable","name":"p0","nameLocation":"20626:2:63","nodeType":"VariableDeclaration","scope":45599,"src":"20621:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45577,"name":"uint","nodeType":"ElementaryTypeName","src":"20621:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45580,"mutability":"mutable","name":"p1","nameLocation":"20635:2:63","nodeType":"VariableDeclaration","scope":45599,"src":"20630:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45579,"name":"uint","nodeType":"ElementaryTypeName","src":"20630:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45582,"mutability":"mutable","name":"p2","nameLocation":"20644:2:63","nodeType":"VariableDeclaration","scope":45599,"src":"20639:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45581,"name":"bool","nodeType":"ElementaryTypeName","src":"20639:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45584,"mutability":"mutable","name":"p3","nameLocation":"20653:2:63","nodeType":"VariableDeclaration","scope":45599,"src":"20648:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45583,"name":"bool","nodeType":"ElementaryTypeName","src":"20648:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20620:36:63"},"returnParameters":{"id":45586,"nodeType":"ParameterList","parameters":[],"src":"20671:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45622,"nodeType":"FunctionDefinition","src":"20778:170:63","nodes":[],"body":{"id":45621,"nodeType":"Block","src":"20844:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c626f6f6c2c6164647265737329","id":45613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20894:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},"value":"log(uint,uint,bool,address)"},{"id":45614,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45601,"src":"20925:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45615,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45603,"src":"20929:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45616,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45605,"src":"20933:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45617,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45607,"src":"20937:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976","typeString":"literal_string \"log(uint,uint,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45611,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20870:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20874:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20870:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20870:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45610,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"20854:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20854:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45620,"nodeType":"ExpressionStatement","src":"20854:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20787:3:63","parameters":{"id":45608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45601,"mutability":"mutable","name":"p0","nameLocation":"20796:2:63","nodeType":"VariableDeclaration","scope":45622,"src":"20791:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45600,"name":"uint","nodeType":"ElementaryTypeName","src":"20791:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45603,"mutability":"mutable","name":"p1","nameLocation":"20805:2:63","nodeType":"VariableDeclaration","scope":45622,"src":"20800:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45602,"name":"uint","nodeType":"ElementaryTypeName","src":"20800:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45605,"mutability":"mutable","name":"p2","nameLocation":"20814:2:63","nodeType":"VariableDeclaration","scope":45622,"src":"20809:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45604,"name":"bool","nodeType":"ElementaryTypeName","src":"20809:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45607,"mutability":"mutable","name":"p3","nameLocation":"20826:2:63","nodeType":"VariableDeclaration","scope":45622,"src":"20818:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45606,"name":"address","nodeType":"ElementaryTypeName","src":"20818:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20790:39:63"},"returnParameters":{"id":45609,"nodeType":"ParameterList","parameters":[],"src":"20844:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45645,"nodeType":"FunctionDefinition","src":"20954:170:63","nodes":[],"body":{"id":45644,"nodeType":"Block","src":"21020:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c75696e7429","id":45636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21070:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},"value":"log(uint,uint,address,uint)"},{"id":45637,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45624,"src":"21101:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45638,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45626,"src":"21105:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45639,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45628,"src":"21109:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45640,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45630,"src":"21113:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f","typeString":"literal_string \"log(uint,uint,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45634,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21046:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21050:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21046:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21046:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21030:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21030:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45643,"nodeType":"ExpressionStatement","src":"21030:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20963:3:63","parameters":{"id":45631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45624,"mutability":"mutable","name":"p0","nameLocation":"20972:2:63","nodeType":"VariableDeclaration","scope":45645,"src":"20967:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45623,"name":"uint","nodeType":"ElementaryTypeName","src":"20967:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45626,"mutability":"mutable","name":"p1","nameLocation":"20981:2:63","nodeType":"VariableDeclaration","scope":45645,"src":"20976:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45625,"name":"uint","nodeType":"ElementaryTypeName","src":"20976:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45628,"mutability":"mutable","name":"p2","nameLocation":"20993:2:63","nodeType":"VariableDeclaration","scope":45645,"src":"20985:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45627,"name":"address","nodeType":"ElementaryTypeName","src":"20985:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45630,"mutability":"mutable","name":"p3","nameLocation":"21002:2:63","nodeType":"VariableDeclaration","scope":45645,"src":"20997:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45629,"name":"uint","nodeType":"ElementaryTypeName","src":"20997:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20966:39:63"},"returnParameters":{"id":45632,"nodeType":"ParameterList","parameters":[],"src":"21020:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45668,"nodeType":"FunctionDefinition","src":"21130:181:63","nodes":[],"body":{"id":45667,"nodeType":"Block","src":"21205:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c737472696e6729","id":45659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21255:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},"value":"log(uint,uint,address,string)"},{"id":45660,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45647,"src":"21288:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45661,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45649,"src":"21292:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45662,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45651,"src":"21296:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45663,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45653,"src":"21300:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227","typeString":"literal_string \"log(uint,uint,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21231:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21235:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21231:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21231:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45656,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21215:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21215:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45666,"nodeType":"ExpressionStatement","src":"21215:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21139:3:63","parameters":{"id":45654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45647,"mutability":"mutable","name":"p0","nameLocation":"21148:2:63","nodeType":"VariableDeclaration","scope":45668,"src":"21143:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45646,"name":"uint","nodeType":"ElementaryTypeName","src":"21143:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45649,"mutability":"mutable","name":"p1","nameLocation":"21157:2:63","nodeType":"VariableDeclaration","scope":45668,"src":"21152:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45648,"name":"uint","nodeType":"ElementaryTypeName","src":"21152:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45651,"mutability":"mutable","name":"p2","nameLocation":"21169:2:63","nodeType":"VariableDeclaration","scope":45668,"src":"21161:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45650,"name":"address","nodeType":"ElementaryTypeName","src":"21161:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45653,"mutability":"mutable","name":"p3","nameLocation":"21187:2:63","nodeType":"VariableDeclaration","scope":45668,"src":"21173:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45652,"name":"string","nodeType":"ElementaryTypeName","src":"21173:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21142:48:63"},"returnParameters":{"id":45655,"nodeType":"ParameterList","parameters":[],"src":"21205:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45691,"nodeType":"FunctionDefinition","src":"21317:170:63","nodes":[],"body":{"id":45690,"nodeType":"Block","src":"21383:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c626f6f6c29","id":45682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21433:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},"value":"log(uint,uint,address,bool)"},{"id":45683,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45670,"src":"21464:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45684,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45672,"src":"21468:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45685,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45674,"src":"21472:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45686,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45676,"src":"21476:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0","typeString":"literal_string \"log(uint,uint,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21409:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21413:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21409:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21409:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45679,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21393:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21393:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45689,"nodeType":"ExpressionStatement","src":"21393:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21326:3:63","parameters":{"id":45677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45670,"mutability":"mutable","name":"p0","nameLocation":"21335:2:63","nodeType":"VariableDeclaration","scope":45691,"src":"21330:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45669,"name":"uint","nodeType":"ElementaryTypeName","src":"21330:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45672,"mutability":"mutable","name":"p1","nameLocation":"21344:2:63","nodeType":"VariableDeclaration","scope":45691,"src":"21339:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45671,"name":"uint","nodeType":"ElementaryTypeName","src":"21339:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45674,"mutability":"mutable","name":"p2","nameLocation":"21356:2:63","nodeType":"VariableDeclaration","scope":45691,"src":"21348:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45673,"name":"address","nodeType":"ElementaryTypeName","src":"21348:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45676,"mutability":"mutable","name":"p3","nameLocation":"21365:2:63","nodeType":"VariableDeclaration","scope":45691,"src":"21360:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45675,"name":"bool","nodeType":"ElementaryTypeName","src":"21360:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21329:39:63"},"returnParameters":{"id":45678,"nodeType":"ParameterList","parameters":[],"src":"21383:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45714,"nodeType":"FunctionDefinition","src":"21493:176:63","nodes":[],"body":{"id":45713,"nodeType":"Block","src":"21562:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c75696e742c616464726573732c6164647265737329","id":45705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21612:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},"value":"log(uint,uint,address,address)"},{"id":45706,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45693,"src":"21646:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45707,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45695,"src":"21650:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45708,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45697,"src":"21654:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":45709,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45699,"src":"21658:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811","typeString":"literal_string \"log(uint,uint,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45703,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21588:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21592:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21588:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21588:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45702,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21572:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21572:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45712,"nodeType":"ExpressionStatement","src":"21572:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21502:3:63","parameters":{"id":45700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45693,"mutability":"mutable","name":"p0","nameLocation":"21511:2:63","nodeType":"VariableDeclaration","scope":45714,"src":"21506:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45692,"name":"uint","nodeType":"ElementaryTypeName","src":"21506:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45695,"mutability":"mutable","name":"p1","nameLocation":"21520:2:63","nodeType":"VariableDeclaration","scope":45714,"src":"21515:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45694,"name":"uint","nodeType":"ElementaryTypeName","src":"21515:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45697,"mutability":"mutable","name":"p2","nameLocation":"21532:2:63","nodeType":"VariableDeclaration","scope":45714,"src":"21524:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45696,"name":"address","nodeType":"ElementaryTypeName","src":"21524:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45699,"mutability":"mutable","name":"p3","nameLocation":"21544:2:63","nodeType":"VariableDeclaration","scope":45714,"src":"21536:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45698,"name":"address","nodeType":"ElementaryTypeName","src":"21536:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21505:42:63"},"returnParameters":{"id":45701,"nodeType":"ParameterList","parameters":[],"src":"21562:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45737,"nodeType":"FunctionDefinition","src":"21675:175:63","nodes":[],"body":{"id":45736,"nodeType":"Block","src":"21747:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c75696e7429","id":45728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21797:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},"value":"log(uint,string,uint,uint)"},{"id":45729,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45716,"src":"21827:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45730,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45718,"src":"21831:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45731,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45720,"src":"21835:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45732,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45722,"src":"21839:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628","typeString":"literal_string \"log(uint,string,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21773:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21777:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21773:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21773:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45725,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21757:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21757:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45735,"nodeType":"ExpressionStatement","src":"21757:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21684:3:63","parameters":{"id":45723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45716,"mutability":"mutable","name":"p0","nameLocation":"21693:2:63","nodeType":"VariableDeclaration","scope":45737,"src":"21688:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45715,"name":"uint","nodeType":"ElementaryTypeName","src":"21688:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45718,"mutability":"mutable","name":"p1","nameLocation":"21711:2:63","nodeType":"VariableDeclaration","scope":45737,"src":"21697:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45717,"name":"string","nodeType":"ElementaryTypeName","src":"21697:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45720,"mutability":"mutable","name":"p2","nameLocation":"21720:2:63","nodeType":"VariableDeclaration","scope":45737,"src":"21715:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45719,"name":"uint","nodeType":"ElementaryTypeName","src":"21715:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45722,"mutability":"mutable","name":"p3","nameLocation":"21729:2:63","nodeType":"VariableDeclaration","scope":45737,"src":"21724:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45721,"name":"uint","nodeType":"ElementaryTypeName","src":"21724:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21687:45:63"},"returnParameters":{"id":45724,"nodeType":"ParameterList","parameters":[],"src":"21747:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45760,"nodeType":"FunctionDefinition","src":"21856:186:63","nodes":[],"body":{"id":45759,"nodeType":"Block","src":"21937:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c737472696e6729","id":45751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21987:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},"value":"log(uint,string,uint,string)"},{"id":45752,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45739,"src":"22019:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45753,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45741,"src":"22023:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45754,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45743,"src":"22027:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45755,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45745,"src":"22031:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313","typeString":"literal_string \"log(uint,string,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45749,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21963:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21967:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21963:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21963:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45748,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"21947:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21947:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45758,"nodeType":"ExpressionStatement","src":"21947:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21865:3:63","parameters":{"id":45746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45739,"mutability":"mutable","name":"p0","nameLocation":"21874:2:63","nodeType":"VariableDeclaration","scope":45760,"src":"21869:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45738,"name":"uint","nodeType":"ElementaryTypeName","src":"21869:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45741,"mutability":"mutable","name":"p1","nameLocation":"21892:2:63","nodeType":"VariableDeclaration","scope":45760,"src":"21878:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45740,"name":"string","nodeType":"ElementaryTypeName","src":"21878:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45743,"mutability":"mutable","name":"p2","nameLocation":"21901:2:63","nodeType":"VariableDeclaration","scope":45760,"src":"21896:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45742,"name":"uint","nodeType":"ElementaryTypeName","src":"21896:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45745,"mutability":"mutable","name":"p3","nameLocation":"21919:2:63","nodeType":"VariableDeclaration","scope":45760,"src":"21905:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45744,"name":"string","nodeType":"ElementaryTypeName","src":"21905:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21868:54:63"},"returnParameters":{"id":45747,"nodeType":"ParameterList","parameters":[],"src":"21937:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45783,"nodeType":"FunctionDefinition","src":"22048:175:63","nodes":[],"body":{"id":45782,"nodeType":"Block","src":"22120:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c626f6f6c29","id":45774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22170:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},"value":"log(uint,string,uint,bool)"},{"id":45775,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45762,"src":"22200:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45776,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45764,"src":"22204:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45777,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45766,"src":"22208:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45778,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45768,"src":"22212:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d","typeString":"literal_string \"log(uint,string,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22146:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22150:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22146:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22146:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"22130:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22130:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45781,"nodeType":"ExpressionStatement","src":"22130:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22057:3:63","parameters":{"id":45769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45762,"mutability":"mutable","name":"p0","nameLocation":"22066:2:63","nodeType":"VariableDeclaration","scope":45783,"src":"22061:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45761,"name":"uint","nodeType":"ElementaryTypeName","src":"22061:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45764,"mutability":"mutable","name":"p1","nameLocation":"22084:2:63","nodeType":"VariableDeclaration","scope":45783,"src":"22070:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45763,"name":"string","nodeType":"ElementaryTypeName","src":"22070:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45766,"mutability":"mutable","name":"p2","nameLocation":"22093:2:63","nodeType":"VariableDeclaration","scope":45783,"src":"22088:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45765,"name":"uint","nodeType":"ElementaryTypeName","src":"22088:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45768,"mutability":"mutable","name":"p3","nameLocation":"22102:2:63","nodeType":"VariableDeclaration","scope":45783,"src":"22097:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45767,"name":"bool","nodeType":"ElementaryTypeName","src":"22097:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22060:45:63"},"returnParameters":{"id":45770,"nodeType":"ParameterList","parameters":[],"src":"22120:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45806,"nodeType":"FunctionDefinition","src":"22229:181:63","nodes":[],"body":{"id":45805,"nodeType":"Block","src":"22304:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c75696e742c6164647265737329","id":45797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22354:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},"value":"log(uint,string,uint,address)"},{"id":45798,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45785,"src":"22387:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45799,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45787,"src":"22391:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45800,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45789,"src":"22395:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45801,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45791,"src":"22399:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda","typeString":"literal_string \"log(uint,string,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45795,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22330:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22334:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22330:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22330:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45794,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"22314:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22314:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45804,"nodeType":"ExpressionStatement","src":"22314:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22238:3:63","parameters":{"id":45792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45785,"mutability":"mutable","name":"p0","nameLocation":"22247:2:63","nodeType":"VariableDeclaration","scope":45806,"src":"22242:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45784,"name":"uint","nodeType":"ElementaryTypeName","src":"22242:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45787,"mutability":"mutable","name":"p1","nameLocation":"22265:2:63","nodeType":"VariableDeclaration","scope":45806,"src":"22251:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45786,"name":"string","nodeType":"ElementaryTypeName","src":"22251:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45789,"mutability":"mutable","name":"p2","nameLocation":"22274:2:63","nodeType":"VariableDeclaration","scope":45806,"src":"22269:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45788,"name":"uint","nodeType":"ElementaryTypeName","src":"22269:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45791,"mutability":"mutable","name":"p3","nameLocation":"22286:2:63","nodeType":"VariableDeclaration","scope":45806,"src":"22278:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45790,"name":"address","nodeType":"ElementaryTypeName","src":"22278:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22241:48:63"},"returnParameters":{"id":45793,"nodeType":"ParameterList","parameters":[],"src":"22304:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45829,"nodeType":"FunctionDefinition","src":"22416:186:63","nodes":[],"body":{"id":45828,"nodeType":"Block","src":"22497:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c75696e7429","id":45820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22547:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},"value":"log(uint,string,string,uint)"},{"id":45821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45808,"src":"22579:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45810,"src":"22583:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45812,"src":"22587:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45824,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45814,"src":"22591:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b","typeString":"literal_string \"log(uint,string,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22523:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22527:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22523:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22523:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"22507:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22507:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45827,"nodeType":"ExpressionStatement","src":"22507:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22425:3:63","parameters":{"id":45815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45808,"mutability":"mutable","name":"p0","nameLocation":"22434:2:63","nodeType":"VariableDeclaration","scope":45829,"src":"22429:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45807,"name":"uint","nodeType":"ElementaryTypeName","src":"22429:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45810,"mutability":"mutable","name":"p1","nameLocation":"22452:2:63","nodeType":"VariableDeclaration","scope":45829,"src":"22438:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45809,"name":"string","nodeType":"ElementaryTypeName","src":"22438:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45812,"mutability":"mutable","name":"p2","nameLocation":"22470:2:63","nodeType":"VariableDeclaration","scope":45829,"src":"22456:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45811,"name":"string","nodeType":"ElementaryTypeName","src":"22456:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45814,"mutability":"mutable","name":"p3","nameLocation":"22479:2:63","nodeType":"VariableDeclaration","scope":45829,"src":"22474:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45813,"name":"uint","nodeType":"ElementaryTypeName","src":"22474:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22428:54:63"},"returnParameters":{"id":45816,"nodeType":"ParameterList","parameters":[],"src":"22497:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45852,"nodeType":"FunctionDefinition","src":"22608:197:63","nodes":[],"body":{"id":45851,"nodeType":"Block","src":"22698:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c737472696e6729","id":45843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22748:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},"value":"log(uint,string,string,string)"},{"id":45844,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45831,"src":"22782:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45845,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45833,"src":"22786:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45846,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45835,"src":"22790:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45847,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45837,"src":"22794:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156","typeString":"literal_string \"log(uint,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22724:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22728:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22724:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22724:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"22708:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22708:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45850,"nodeType":"ExpressionStatement","src":"22708:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22617:3:63","parameters":{"id":45838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45831,"mutability":"mutable","name":"p0","nameLocation":"22626:2:63","nodeType":"VariableDeclaration","scope":45852,"src":"22621:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45830,"name":"uint","nodeType":"ElementaryTypeName","src":"22621:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45833,"mutability":"mutable","name":"p1","nameLocation":"22644:2:63","nodeType":"VariableDeclaration","scope":45852,"src":"22630:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45832,"name":"string","nodeType":"ElementaryTypeName","src":"22630:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45835,"mutability":"mutable","name":"p2","nameLocation":"22662:2:63","nodeType":"VariableDeclaration","scope":45852,"src":"22648:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45834,"name":"string","nodeType":"ElementaryTypeName","src":"22648:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45837,"mutability":"mutable","name":"p3","nameLocation":"22680:2:63","nodeType":"VariableDeclaration","scope":45852,"src":"22666:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45836,"name":"string","nodeType":"ElementaryTypeName","src":"22666:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22620:63:63"},"returnParameters":{"id":45839,"nodeType":"ParameterList","parameters":[],"src":"22698:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45875,"nodeType":"FunctionDefinition","src":"22811:186:63","nodes":[],"body":{"id":45874,"nodeType":"Block","src":"22892:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c626f6f6c29","id":45866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22942:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},"value":"log(uint,string,string,bool)"},{"id":45867,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45854,"src":"22974:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45868,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45856,"src":"22978:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45869,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45858,"src":"22982:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45870,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45860,"src":"22986:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc","typeString":"literal_string \"log(uint,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45864,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22918:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22922:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22918:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22918:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45863,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"22902:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22902:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45873,"nodeType":"ExpressionStatement","src":"22902:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22820:3:63","parameters":{"id":45861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45854,"mutability":"mutable","name":"p0","nameLocation":"22829:2:63","nodeType":"VariableDeclaration","scope":45875,"src":"22824:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45853,"name":"uint","nodeType":"ElementaryTypeName","src":"22824:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45856,"mutability":"mutable","name":"p1","nameLocation":"22847:2:63","nodeType":"VariableDeclaration","scope":45875,"src":"22833:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45855,"name":"string","nodeType":"ElementaryTypeName","src":"22833:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45858,"mutability":"mutable","name":"p2","nameLocation":"22865:2:63","nodeType":"VariableDeclaration","scope":45875,"src":"22851:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45857,"name":"string","nodeType":"ElementaryTypeName","src":"22851:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45860,"mutability":"mutable","name":"p3","nameLocation":"22874:2:63","nodeType":"VariableDeclaration","scope":45875,"src":"22869:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45859,"name":"bool","nodeType":"ElementaryTypeName","src":"22869:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22823:54:63"},"returnParameters":{"id":45862,"nodeType":"ParameterList","parameters":[],"src":"22892:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45898,"nodeType":"FunctionDefinition","src":"23003:192:63","nodes":[],"body":{"id":45897,"nodeType":"Block","src":"23087:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c737472696e672c6164647265737329","id":45889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23137:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},"value":"log(uint,string,string,address)"},{"id":45890,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45877,"src":"23172:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45891,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45879,"src":"23176:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45892,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45881,"src":"23180:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45893,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45883,"src":"23184:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded","typeString":"literal_string \"log(uint,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23113:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23117:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23113:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23113:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45886,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"23097:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23097:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45896,"nodeType":"ExpressionStatement","src":"23097:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23012:3:63","parameters":{"id":45884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45877,"mutability":"mutable","name":"p0","nameLocation":"23021:2:63","nodeType":"VariableDeclaration","scope":45898,"src":"23016:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45876,"name":"uint","nodeType":"ElementaryTypeName","src":"23016:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45879,"mutability":"mutable","name":"p1","nameLocation":"23039:2:63","nodeType":"VariableDeclaration","scope":45898,"src":"23025:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45878,"name":"string","nodeType":"ElementaryTypeName","src":"23025:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45881,"mutability":"mutable","name":"p2","nameLocation":"23057:2:63","nodeType":"VariableDeclaration","scope":45898,"src":"23043:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45880,"name":"string","nodeType":"ElementaryTypeName","src":"23043:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45883,"mutability":"mutable","name":"p3","nameLocation":"23069:2:63","nodeType":"VariableDeclaration","scope":45898,"src":"23061:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45882,"name":"address","nodeType":"ElementaryTypeName","src":"23061:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23015:57:63"},"returnParameters":{"id":45885,"nodeType":"ParameterList","parameters":[],"src":"23087:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45921,"nodeType":"FunctionDefinition","src":"23201:175:63","nodes":[],"body":{"id":45920,"nodeType":"Block","src":"23273:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c75696e7429","id":45912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23323:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},"value":"log(uint,string,bool,uint)"},{"id":45913,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45900,"src":"23353:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45914,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45902,"src":"23357:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45915,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45904,"src":"23361:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45916,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45906,"src":"23365:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081","typeString":"literal_string \"log(uint,string,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":45910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23299:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23303:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23299:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23299:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45909,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"23283:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23283:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45919,"nodeType":"ExpressionStatement","src":"23283:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23210:3:63","parameters":{"id":45907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45900,"mutability":"mutable","name":"p0","nameLocation":"23219:2:63","nodeType":"VariableDeclaration","scope":45921,"src":"23214:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45899,"name":"uint","nodeType":"ElementaryTypeName","src":"23214:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45902,"mutability":"mutable","name":"p1","nameLocation":"23237:2:63","nodeType":"VariableDeclaration","scope":45921,"src":"23223:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45901,"name":"string","nodeType":"ElementaryTypeName","src":"23223:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45904,"mutability":"mutable","name":"p2","nameLocation":"23246:2:63","nodeType":"VariableDeclaration","scope":45921,"src":"23241:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45903,"name":"bool","nodeType":"ElementaryTypeName","src":"23241:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45906,"mutability":"mutable","name":"p3","nameLocation":"23255:2:63","nodeType":"VariableDeclaration","scope":45921,"src":"23250:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45905,"name":"uint","nodeType":"ElementaryTypeName","src":"23250:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23213:45:63"},"returnParameters":{"id":45908,"nodeType":"ParameterList","parameters":[],"src":"23273:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45944,"nodeType":"FunctionDefinition","src":"23382:186:63","nodes":[],"body":{"id":45943,"nodeType":"Block","src":"23463:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729","id":45935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23513:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},"value":"log(uint,string,bool,string)"},{"id":45936,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45923,"src":"23545:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45937,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45925,"src":"23549:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45938,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45927,"src":"23553:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45939,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45929,"src":"23557:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4","typeString":"literal_string \"log(uint,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":45933,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23489:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23493:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23489:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23489:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45932,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"23473:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23473:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45942,"nodeType":"ExpressionStatement","src":"23473:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23391:3:63","parameters":{"id":45930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45923,"mutability":"mutable","name":"p0","nameLocation":"23400:2:63","nodeType":"VariableDeclaration","scope":45944,"src":"23395:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45922,"name":"uint","nodeType":"ElementaryTypeName","src":"23395:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45925,"mutability":"mutable","name":"p1","nameLocation":"23418:2:63","nodeType":"VariableDeclaration","scope":45944,"src":"23404:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45924,"name":"string","nodeType":"ElementaryTypeName","src":"23404:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45927,"mutability":"mutable","name":"p2","nameLocation":"23427:2:63","nodeType":"VariableDeclaration","scope":45944,"src":"23422:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45926,"name":"bool","nodeType":"ElementaryTypeName","src":"23422:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45929,"mutability":"mutable","name":"p3","nameLocation":"23445:2:63","nodeType":"VariableDeclaration","scope":45944,"src":"23431:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45928,"name":"string","nodeType":"ElementaryTypeName","src":"23431:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23394:54:63"},"returnParameters":{"id":45931,"nodeType":"ParameterList","parameters":[],"src":"23463:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45967,"nodeType":"FunctionDefinition","src":"23574:175:63","nodes":[],"body":{"id":45966,"nodeType":"Block","src":"23646:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29","id":45958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23696:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},"value":"log(uint,string,bool,bool)"},{"id":45959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45946,"src":"23726:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45948,"src":"23730:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45950,"src":"23734:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45962,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45952,"src":"23738:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a","typeString":"literal_string \"log(uint,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":45956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23672:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23676:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23672:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23672:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"23656:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23656:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45965,"nodeType":"ExpressionStatement","src":"23656:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23583:3:63","parameters":{"id":45953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45946,"mutability":"mutable","name":"p0","nameLocation":"23592:2:63","nodeType":"VariableDeclaration","scope":45967,"src":"23587:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45945,"name":"uint","nodeType":"ElementaryTypeName","src":"23587:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45948,"mutability":"mutable","name":"p1","nameLocation":"23610:2:63","nodeType":"VariableDeclaration","scope":45967,"src":"23596:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45947,"name":"string","nodeType":"ElementaryTypeName","src":"23596:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45950,"mutability":"mutable","name":"p2","nameLocation":"23619:2:63","nodeType":"VariableDeclaration","scope":45967,"src":"23614:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45949,"name":"bool","nodeType":"ElementaryTypeName","src":"23614:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45952,"mutability":"mutable","name":"p3","nameLocation":"23628:2:63","nodeType":"VariableDeclaration","scope":45967,"src":"23623:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45951,"name":"bool","nodeType":"ElementaryTypeName","src":"23623:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23586:45:63"},"returnParameters":{"id":45954,"nodeType":"ParameterList","parameters":[],"src":"23646:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":45990,"nodeType":"FunctionDefinition","src":"23755:181:63","nodes":[],"body":{"id":45989,"nodeType":"Block","src":"23830:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329","id":45981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23880:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},"value":"log(uint,string,bool,address)"},{"id":45982,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45969,"src":"23913:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":45983,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45971,"src":"23917:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":45984,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45973,"src":"23921:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":45985,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45975,"src":"23925:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829","typeString":"literal_string \"log(uint,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":45979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23856:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":45980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23860:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23856:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":45986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23856:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":45978,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"23840:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":45987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23840:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":45988,"nodeType":"ExpressionStatement","src":"23840:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23764:3:63","parameters":{"id":45976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45969,"mutability":"mutable","name":"p0","nameLocation":"23773:2:63","nodeType":"VariableDeclaration","scope":45990,"src":"23768:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45968,"name":"uint","nodeType":"ElementaryTypeName","src":"23768:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45971,"mutability":"mutable","name":"p1","nameLocation":"23791:2:63","nodeType":"VariableDeclaration","scope":45990,"src":"23777:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45970,"name":"string","nodeType":"ElementaryTypeName","src":"23777:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45973,"mutability":"mutable","name":"p2","nameLocation":"23800:2:63","nodeType":"VariableDeclaration","scope":45990,"src":"23795:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":45972,"name":"bool","nodeType":"ElementaryTypeName","src":"23795:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":45975,"mutability":"mutable","name":"p3","nameLocation":"23812:2:63","nodeType":"VariableDeclaration","scope":45990,"src":"23804:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45974,"name":"address","nodeType":"ElementaryTypeName","src":"23804:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23767:48:63"},"returnParameters":{"id":45977,"nodeType":"ParameterList","parameters":[],"src":"23830:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46013,"nodeType":"FunctionDefinition","src":"23942:181:63","nodes":[],"body":{"id":46012,"nodeType":"Block","src":"24017:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c75696e7429","id":46004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24067:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},"value":"log(uint,string,address,uint)"},{"id":46005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45992,"src":"24100:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45994,"src":"24104:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45996,"src":"24108:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46008,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":45998,"src":"24112:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43","typeString":"literal_string \"log(uint,string,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24043:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24047:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24043:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24043:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24027:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24027:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46011,"nodeType":"ExpressionStatement","src":"24027:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23951:3:63","parameters":{"id":45999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":45992,"mutability":"mutable","name":"p0","nameLocation":"23960:2:63","nodeType":"VariableDeclaration","scope":46013,"src":"23955:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45991,"name":"uint","nodeType":"ElementaryTypeName","src":"23955:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45994,"mutability":"mutable","name":"p1","nameLocation":"23978:2:63","nodeType":"VariableDeclaration","scope":46013,"src":"23964:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":45993,"name":"string","nodeType":"ElementaryTypeName","src":"23964:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":45996,"mutability":"mutable","name":"p2","nameLocation":"23990:2:63","nodeType":"VariableDeclaration","scope":46013,"src":"23982:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":45995,"name":"address","nodeType":"ElementaryTypeName","src":"23982:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":45998,"mutability":"mutable","name":"p3","nameLocation":"23999:2:63","nodeType":"VariableDeclaration","scope":46013,"src":"23994:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45997,"name":"uint","nodeType":"ElementaryTypeName","src":"23994:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23954:48:63"},"returnParameters":{"id":46000,"nodeType":"ParameterList","parameters":[],"src":"24017:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46036,"nodeType":"FunctionDefinition","src":"24129:192:63","nodes":[],"body":{"id":46035,"nodeType":"Block","src":"24213:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c737472696e6729","id":46027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24263:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},"value":"log(uint,string,address,string)"},{"id":46028,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46015,"src":"24298:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46029,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46017,"src":"24302:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46030,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46019,"src":"24306:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46031,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46021,"src":"24310:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2","typeString":"literal_string \"log(uint,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24239:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24243:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24239:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24239:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46024,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24223:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24223:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46034,"nodeType":"ExpressionStatement","src":"24223:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24138:3:63","parameters":{"id":46022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46015,"mutability":"mutable","name":"p0","nameLocation":"24147:2:63","nodeType":"VariableDeclaration","scope":46036,"src":"24142:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46014,"name":"uint","nodeType":"ElementaryTypeName","src":"24142:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46017,"mutability":"mutable","name":"p1","nameLocation":"24165:2:63","nodeType":"VariableDeclaration","scope":46036,"src":"24151:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46016,"name":"string","nodeType":"ElementaryTypeName","src":"24151:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46019,"mutability":"mutable","name":"p2","nameLocation":"24177:2:63","nodeType":"VariableDeclaration","scope":46036,"src":"24169:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46018,"name":"address","nodeType":"ElementaryTypeName","src":"24169:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46021,"mutability":"mutable","name":"p3","nameLocation":"24195:2:63","nodeType":"VariableDeclaration","scope":46036,"src":"24181:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46020,"name":"string","nodeType":"ElementaryTypeName","src":"24181:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24141:57:63"},"returnParameters":{"id":46023,"nodeType":"ParameterList","parameters":[],"src":"24213:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46059,"nodeType":"FunctionDefinition","src":"24327:181:63","nodes":[],"body":{"id":46058,"nodeType":"Block","src":"24402:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c626f6f6c29","id":46050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24452:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},"value":"log(uint,string,address,bool)"},{"id":46051,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46038,"src":"24485:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46052,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46040,"src":"24489:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46053,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46042,"src":"24493:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46054,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46044,"src":"24497:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1","typeString":"literal_string \"log(uint,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46048,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24428:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24432:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24428:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24428:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46047,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24412:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24412:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46057,"nodeType":"ExpressionStatement","src":"24412:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24336:3:63","parameters":{"id":46045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46038,"mutability":"mutable","name":"p0","nameLocation":"24345:2:63","nodeType":"VariableDeclaration","scope":46059,"src":"24340:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46037,"name":"uint","nodeType":"ElementaryTypeName","src":"24340:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46040,"mutability":"mutable","name":"p1","nameLocation":"24363:2:63","nodeType":"VariableDeclaration","scope":46059,"src":"24349:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46039,"name":"string","nodeType":"ElementaryTypeName","src":"24349:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46042,"mutability":"mutable","name":"p2","nameLocation":"24375:2:63","nodeType":"VariableDeclaration","scope":46059,"src":"24367:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46041,"name":"address","nodeType":"ElementaryTypeName","src":"24367:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46044,"mutability":"mutable","name":"p3","nameLocation":"24384:2:63","nodeType":"VariableDeclaration","scope":46059,"src":"24379:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46043,"name":"bool","nodeType":"ElementaryTypeName","src":"24379:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24339:48:63"},"returnParameters":{"id":46046,"nodeType":"ParameterList","parameters":[],"src":"24402:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46082,"nodeType":"FunctionDefinition","src":"24514:187:63","nodes":[],"body":{"id":46081,"nodeType":"Block","src":"24592:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c737472696e672c616464726573732c6164647265737329","id":46073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24642:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},"value":"log(uint,string,address,address)"},{"id":46074,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46061,"src":"24678:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46075,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46063,"src":"24682:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46076,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46065,"src":"24686:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46077,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46067,"src":"24690:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb","typeString":"literal_string \"log(uint,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46071,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24618:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24622:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24618:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24618:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46070,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24602:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24602:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46080,"nodeType":"ExpressionStatement","src":"24602:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24523:3:63","parameters":{"id":46068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46061,"mutability":"mutable","name":"p0","nameLocation":"24532:2:63","nodeType":"VariableDeclaration","scope":46082,"src":"24527:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46060,"name":"uint","nodeType":"ElementaryTypeName","src":"24527:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46063,"mutability":"mutable","name":"p1","nameLocation":"24550:2:63","nodeType":"VariableDeclaration","scope":46082,"src":"24536:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46062,"name":"string","nodeType":"ElementaryTypeName","src":"24536:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46065,"mutability":"mutable","name":"p2","nameLocation":"24562:2:63","nodeType":"VariableDeclaration","scope":46082,"src":"24554:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46064,"name":"address","nodeType":"ElementaryTypeName","src":"24554:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46067,"mutability":"mutable","name":"p3","nameLocation":"24574:2:63","nodeType":"VariableDeclaration","scope":46082,"src":"24566:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46066,"name":"address","nodeType":"ElementaryTypeName","src":"24566:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24526:51:63"},"returnParameters":{"id":46069,"nodeType":"ParameterList","parameters":[],"src":"24592:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46105,"nodeType":"FunctionDefinition","src":"24707:164:63","nodes":[],"body":{"id":46104,"nodeType":"Block","src":"24770:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c75696e7429","id":46096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24820:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},"value":"log(uint,bool,uint,uint)"},{"id":46097,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46084,"src":"24848:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46098,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46086,"src":"24852:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46099,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46088,"src":"24856:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46100,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46090,"src":"24860:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e","typeString":"literal_string \"log(uint,bool,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24796:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24800:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24796:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24796:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46093,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24780:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24780:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46103,"nodeType":"ExpressionStatement","src":"24780:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24716:3:63","parameters":{"id":46091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46084,"mutability":"mutable","name":"p0","nameLocation":"24725:2:63","nodeType":"VariableDeclaration","scope":46105,"src":"24720:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46083,"name":"uint","nodeType":"ElementaryTypeName","src":"24720:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46086,"mutability":"mutable","name":"p1","nameLocation":"24734:2:63","nodeType":"VariableDeclaration","scope":46105,"src":"24729:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46085,"name":"bool","nodeType":"ElementaryTypeName","src":"24729:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46088,"mutability":"mutable","name":"p2","nameLocation":"24743:2:63","nodeType":"VariableDeclaration","scope":46105,"src":"24738:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46087,"name":"uint","nodeType":"ElementaryTypeName","src":"24738:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46090,"mutability":"mutable","name":"p3","nameLocation":"24752:2:63","nodeType":"VariableDeclaration","scope":46105,"src":"24747:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46089,"name":"uint","nodeType":"ElementaryTypeName","src":"24747:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24719:36:63"},"returnParameters":{"id":46092,"nodeType":"ParameterList","parameters":[],"src":"24770:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46128,"nodeType":"FunctionDefinition","src":"24877:175:63","nodes":[],"body":{"id":46127,"nodeType":"Block","src":"24949:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c737472696e6729","id":46119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24999:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},"value":"log(uint,bool,uint,string)"},{"id":46120,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46107,"src":"25029:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46121,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46109,"src":"25033:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46122,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46111,"src":"25037:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46123,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46113,"src":"25041:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63","typeString":"literal_string \"log(uint,bool,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24975:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24979:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24975:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24975:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46116,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"24959:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24959:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46126,"nodeType":"ExpressionStatement","src":"24959:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24886:3:63","parameters":{"id":46114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46107,"mutability":"mutable","name":"p0","nameLocation":"24895:2:63","nodeType":"VariableDeclaration","scope":46128,"src":"24890:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46106,"name":"uint","nodeType":"ElementaryTypeName","src":"24890:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46109,"mutability":"mutable","name":"p1","nameLocation":"24904:2:63","nodeType":"VariableDeclaration","scope":46128,"src":"24899:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46108,"name":"bool","nodeType":"ElementaryTypeName","src":"24899:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46111,"mutability":"mutable","name":"p2","nameLocation":"24913:2:63","nodeType":"VariableDeclaration","scope":46128,"src":"24908:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46110,"name":"uint","nodeType":"ElementaryTypeName","src":"24908:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46113,"mutability":"mutable","name":"p3","nameLocation":"24931:2:63","nodeType":"VariableDeclaration","scope":46128,"src":"24917:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46112,"name":"string","nodeType":"ElementaryTypeName","src":"24917:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24889:45:63"},"returnParameters":{"id":46115,"nodeType":"ParameterList","parameters":[],"src":"24949:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46151,"nodeType":"FunctionDefinition","src":"25058:164:63","nodes":[],"body":{"id":46150,"nodeType":"Block","src":"25121:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29","id":46142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25171:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},"value":"log(uint,bool,uint,bool)"},{"id":46143,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46130,"src":"25199:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46144,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46132,"src":"25203:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46145,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46134,"src":"25207:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46146,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46136,"src":"25211:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f","typeString":"literal_string \"log(uint,bool,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46140,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25147:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25151:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25147:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25147:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46139,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"25131:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25131:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46149,"nodeType":"ExpressionStatement","src":"25131:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25067:3:63","parameters":{"id":46137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46130,"mutability":"mutable","name":"p0","nameLocation":"25076:2:63","nodeType":"VariableDeclaration","scope":46151,"src":"25071:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46129,"name":"uint","nodeType":"ElementaryTypeName","src":"25071:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46132,"mutability":"mutable","name":"p1","nameLocation":"25085:2:63","nodeType":"VariableDeclaration","scope":46151,"src":"25080:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46131,"name":"bool","nodeType":"ElementaryTypeName","src":"25080:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46134,"mutability":"mutable","name":"p2","nameLocation":"25094:2:63","nodeType":"VariableDeclaration","scope":46151,"src":"25089:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46133,"name":"uint","nodeType":"ElementaryTypeName","src":"25089:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46136,"mutability":"mutable","name":"p3","nameLocation":"25103:2:63","nodeType":"VariableDeclaration","scope":46151,"src":"25098:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46135,"name":"bool","nodeType":"ElementaryTypeName","src":"25098:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25070:36:63"},"returnParameters":{"id":46138,"nodeType":"ParameterList","parameters":[],"src":"25121:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46174,"nodeType":"FunctionDefinition","src":"25228:170:63","nodes":[],"body":{"id":46173,"nodeType":"Block","src":"25294:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c75696e742c6164647265737329","id":46165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25344:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},"value":"log(uint,bool,uint,address)"},{"id":46166,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46153,"src":"25375:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46167,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46155,"src":"25379:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46168,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46157,"src":"25383:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46169,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46159,"src":"25387:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3","typeString":"literal_string \"log(uint,bool,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46163,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25320:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25324:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25320:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25320:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46162,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"25304:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25304:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46172,"nodeType":"ExpressionStatement","src":"25304:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25237:3:63","parameters":{"id":46160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46153,"mutability":"mutable","name":"p0","nameLocation":"25246:2:63","nodeType":"VariableDeclaration","scope":46174,"src":"25241:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46152,"name":"uint","nodeType":"ElementaryTypeName","src":"25241:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46155,"mutability":"mutable","name":"p1","nameLocation":"25255:2:63","nodeType":"VariableDeclaration","scope":46174,"src":"25250:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46154,"name":"bool","nodeType":"ElementaryTypeName","src":"25250:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46157,"mutability":"mutable","name":"p2","nameLocation":"25264:2:63","nodeType":"VariableDeclaration","scope":46174,"src":"25259:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46156,"name":"uint","nodeType":"ElementaryTypeName","src":"25259:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46159,"mutability":"mutable","name":"p3","nameLocation":"25276:2:63","nodeType":"VariableDeclaration","scope":46174,"src":"25268:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46158,"name":"address","nodeType":"ElementaryTypeName","src":"25268:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25240:39:63"},"returnParameters":{"id":46161,"nodeType":"ParameterList","parameters":[],"src":"25294:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46197,"nodeType":"FunctionDefinition","src":"25404:175:63","nodes":[],"body":{"id":46196,"nodeType":"Block","src":"25476:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c75696e7429","id":46188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25526:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},"value":"log(uint,bool,string,uint)"},{"id":46189,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46176,"src":"25556:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46190,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46178,"src":"25560:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46191,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46180,"src":"25564:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46192,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46182,"src":"25568:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012","typeString":"literal_string \"log(uint,bool,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46186,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25502:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25506:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25502:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25502:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"25486:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25486:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46195,"nodeType":"ExpressionStatement","src":"25486:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25413:3:63","parameters":{"id":46183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46176,"mutability":"mutable","name":"p0","nameLocation":"25422:2:63","nodeType":"VariableDeclaration","scope":46197,"src":"25417:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46175,"name":"uint","nodeType":"ElementaryTypeName","src":"25417:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46178,"mutability":"mutable","name":"p1","nameLocation":"25431:2:63","nodeType":"VariableDeclaration","scope":46197,"src":"25426:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46177,"name":"bool","nodeType":"ElementaryTypeName","src":"25426:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46180,"mutability":"mutable","name":"p2","nameLocation":"25449:2:63","nodeType":"VariableDeclaration","scope":46197,"src":"25435:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46179,"name":"string","nodeType":"ElementaryTypeName","src":"25435:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46182,"mutability":"mutable","name":"p3","nameLocation":"25458:2:63","nodeType":"VariableDeclaration","scope":46197,"src":"25453:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46181,"name":"uint","nodeType":"ElementaryTypeName","src":"25453:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25416:45:63"},"returnParameters":{"id":46184,"nodeType":"ParameterList","parameters":[],"src":"25476:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46220,"nodeType":"FunctionDefinition","src":"25585:186:63","nodes":[],"body":{"id":46219,"nodeType":"Block","src":"25666:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729","id":46211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25716:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},"value":"log(uint,bool,string,string)"},{"id":46212,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46199,"src":"25748:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46213,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46201,"src":"25752:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46214,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46203,"src":"25756:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46215,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46205,"src":"25760:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a","typeString":"literal_string \"log(uint,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25692:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25696:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25692:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25692:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46208,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"25676:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25676:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46218,"nodeType":"ExpressionStatement","src":"25676:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25594:3:63","parameters":{"id":46206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46199,"mutability":"mutable","name":"p0","nameLocation":"25603:2:63","nodeType":"VariableDeclaration","scope":46220,"src":"25598:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46198,"name":"uint","nodeType":"ElementaryTypeName","src":"25598:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46201,"mutability":"mutable","name":"p1","nameLocation":"25612:2:63","nodeType":"VariableDeclaration","scope":46220,"src":"25607:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46200,"name":"bool","nodeType":"ElementaryTypeName","src":"25607:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46203,"mutability":"mutable","name":"p2","nameLocation":"25630:2:63","nodeType":"VariableDeclaration","scope":46220,"src":"25616:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46202,"name":"string","nodeType":"ElementaryTypeName","src":"25616:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46205,"mutability":"mutable","name":"p3","nameLocation":"25648:2:63","nodeType":"VariableDeclaration","scope":46220,"src":"25634:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46204,"name":"string","nodeType":"ElementaryTypeName","src":"25634:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25597:54:63"},"returnParameters":{"id":46207,"nodeType":"ParameterList","parameters":[],"src":"25666:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46243,"nodeType":"FunctionDefinition","src":"25777:175:63","nodes":[],"body":{"id":46242,"nodeType":"Block","src":"25849:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29","id":46234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25899:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},"value":"log(uint,bool,string,bool)"},{"id":46235,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46222,"src":"25929:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46236,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46224,"src":"25933:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46237,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46226,"src":"25937:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46238,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46228,"src":"25941:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d","typeString":"literal_string \"log(uint,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25875:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25879:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25875:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25875:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"25859:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25859:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46241,"nodeType":"ExpressionStatement","src":"25859:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25786:3:63","parameters":{"id":46229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46222,"mutability":"mutable","name":"p0","nameLocation":"25795:2:63","nodeType":"VariableDeclaration","scope":46243,"src":"25790:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46221,"name":"uint","nodeType":"ElementaryTypeName","src":"25790:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46224,"mutability":"mutable","name":"p1","nameLocation":"25804:2:63","nodeType":"VariableDeclaration","scope":46243,"src":"25799:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46223,"name":"bool","nodeType":"ElementaryTypeName","src":"25799:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46226,"mutability":"mutable","name":"p2","nameLocation":"25822:2:63","nodeType":"VariableDeclaration","scope":46243,"src":"25808:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46225,"name":"string","nodeType":"ElementaryTypeName","src":"25808:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46228,"mutability":"mutable","name":"p3","nameLocation":"25831:2:63","nodeType":"VariableDeclaration","scope":46243,"src":"25826:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46227,"name":"bool","nodeType":"ElementaryTypeName","src":"25826:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25789:45:63"},"returnParameters":{"id":46230,"nodeType":"ParameterList","parameters":[],"src":"25849:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46266,"nodeType":"FunctionDefinition","src":"25958:181:63","nodes":[],"body":{"id":46265,"nodeType":"Block","src":"26033:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329","id":46257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26083:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},"value":"log(uint,bool,string,address)"},{"id":46258,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46245,"src":"26116:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46259,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46247,"src":"26120:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46260,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46249,"src":"26124:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46261,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46251,"src":"26128:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d","typeString":"literal_string \"log(uint,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46255,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26059:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26063:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26059:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26059:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26043:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26043:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46264,"nodeType":"ExpressionStatement","src":"26043:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25967:3:63","parameters":{"id":46252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46245,"mutability":"mutable","name":"p0","nameLocation":"25976:2:63","nodeType":"VariableDeclaration","scope":46266,"src":"25971:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46244,"name":"uint","nodeType":"ElementaryTypeName","src":"25971:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46247,"mutability":"mutable","name":"p1","nameLocation":"25985:2:63","nodeType":"VariableDeclaration","scope":46266,"src":"25980:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46246,"name":"bool","nodeType":"ElementaryTypeName","src":"25980:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46249,"mutability":"mutable","name":"p2","nameLocation":"26003:2:63","nodeType":"VariableDeclaration","scope":46266,"src":"25989:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46248,"name":"string","nodeType":"ElementaryTypeName","src":"25989:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46251,"mutability":"mutable","name":"p3","nameLocation":"26015:2:63","nodeType":"VariableDeclaration","scope":46266,"src":"26007:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46250,"name":"address","nodeType":"ElementaryTypeName","src":"26007:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25970:48:63"},"returnParameters":{"id":46253,"nodeType":"ParameterList","parameters":[],"src":"26033:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46289,"nodeType":"FunctionDefinition","src":"26145:164:63","nodes":[],"body":{"id":46288,"nodeType":"Block","src":"26208:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429","id":46280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26258:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},"value":"log(uint,bool,bool,uint)"},{"id":46281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46268,"src":"26286:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46270,"src":"26290:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46272,"src":"26294:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46284,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46274,"src":"26298:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed","typeString":"literal_string \"log(uint,bool,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26234:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26238:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26234:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26234:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26218:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26218:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46287,"nodeType":"ExpressionStatement","src":"26218:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26154:3:63","parameters":{"id":46275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46268,"mutability":"mutable","name":"p0","nameLocation":"26163:2:63","nodeType":"VariableDeclaration","scope":46289,"src":"26158:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46267,"name":"uint","nodeType":"ElementaryTypeName","src":"26158:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46270,"mutability":"mutable","name":"p1","nameLocation":"26172:2:63","nodeType":"VariableDeclaration","scope":46289,"src":"26167:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46269,"name":"bool","nodeType":"ElementaryTypeName","src":"26167:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46272,"mutability":"mutable","name":"p2","nameLocation":"26181:2:63","nodeType":"VariableDeclaration","scope":46289,"src":"26176:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46271,"name":"bool","nodeType":"ElementaryTypeName","src":"26176:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46274,"mutability":"mutable","name":"p3","nameLocation":"26190:2:63","nodeType":"VariableDeclaration","scope":46289,"src":"26185:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46273,"name":"uint","nodeType":"ElementaryTypeName","src":"26185:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26157:36:63"},"returnParameters":{"id":46276,"nodeType":"ParameterList","parameters":[],"src":"26208:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46312,"nodeType":"FunctionDefinition","src":"26315:175:63","nodes":[],"body":{"id":46311,"nodeType":"Block","src":"26387:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729","id":46303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26437:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},"value":"log(uint,bool,bool,string)"},{"id":46304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46291,"src":"26467:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46293,"src":"26471:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46295,"src":"26475:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46307,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46297,"src":"26479:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861","typeString":"literal_string \"log(uint,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26413:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26417:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26413:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26413:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26397:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26397:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46310,"nodeType":"ExpressionStatement","src":"26397:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26324:3:63","parameters":{"id":46298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46291,"mutability":"mutable","name":"p0","nameLocation":"26333:2:63","nodeType":"VariableDeclaration","scope":46312,"src":"26328:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46290,"name":"uint","nodeType":"ElementaryTypeName","src":"26328:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46293,"mutability":"mutable","name":"p1","nameLocation":"26342:2:63","nodeType":"VariableDeclaration","scope":46312,"src":"26337:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46292,"name":"bool","nodeType":"ElementaryTypeName","src":"26337:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46295,"mutability":"mutable","name":"p2","nameLocation":"26351:2:63","nodeType":"VariableDeclaration","scope":46312,"src":"26346:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46294,"name":"bool","nodeType":"ElementaryTypeName","src":"26346:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46297,"mutability":"mutable","name":"p3","nameLocation":"26369:2:63","nodeType":"VariableDeclaration","scope":46312,"src":"26355:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46296,"name":"string","nodeType":"ElementaryTypeName","src":"26355:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26327:45:63"},"returnParameters":{"id":46299,"nodeType":"ParameterList","parameters":[],"src":"26387:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46335,"nodeType":"FunctionDefinition","src":"26496:164:63","nodes":[],"body":{"id":46334,"nodeType":"Block","src":"26559:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29","id":46326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26609:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},"value":"log(uint,bool,bool,bool)"},{"id":46327,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46314,"src":"26637:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46328,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46316,"src":"26641:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46329,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46318,"src":"26645:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46330,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46320,"src":"26649:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32","typeString":"literal_string \"log(uint,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46324,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26585:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26589:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26585:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26585:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46323,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26569:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26569:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46333,"nodeType":"ExpressionStatement","src":"26569:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26505:3:63","parameters":{"id":46321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46314,"mutability":"mutable","name":"p0","nameLocation":"26514:2:63","nodeType":"VariableDeclaration","scope":46335,"src":"26509:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46313,"name":"uint","nodeType":"ElementaryTypeName","src":"26509:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46316,"mutability":"mutable","name":"p1","nameLocation":"26523:2:63","nodeType":"VariableDeclaration","scope":46335,"src":"26518:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46315,"name":"bool","nodeType":"ElementaryTypeName","src":"26518:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46318,"mutability":"mutable","name":"p2","nameLocation":"26532:2:63","nodeType":"VariableDeclaration","scope":46335,"src":"26527:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46317,"name":"bool","nodeType":"ElementaryTypeName","src":"26527:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46320,"mutability":"mutable","name":"p3","nameLocation":"26541:2:63","nodeType":"VariableDeclaration","scope":46335,"src":"26536:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46319,"name":"bool","nodeType":"ElementaryTypeName","src":"26536:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26508:36:63"},"returnParameters":{"id":46322,"nodeType":"ParameterList","parameters":[],"src":"26559:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46358,"nodeType":"FunctionDefinition","src":"26666:170:63","nodes":[],"body":{"id":46357,"nodeType":"Block","src":"26732:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329","id":46349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26782:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},"value":"log(uint,bool,bool,address)"},{"id":46350,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46337,"src":"26813:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46351,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46339,"src":"26817:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46352,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46341,"src":"26821:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46353,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46343,"src":"26825:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b","typeString":"literal_string \"log(uint,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26758:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26762:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26758:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26758:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46346,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26742:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26742:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46356,"nodeType":"ExpressionStatement","src":"26742:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26675:3:63","parameters":{"id":46344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46337,"mutability":"mutable","name":"p0","nameLocation":"26684:2:63","nodeType":"VariableDeclaration","scope":46358,"src":"26679:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46336,"name":"uint","nodeType":"ElementaryTypeName","src":"26679:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46339,"mutability":"mutable","name":"p1","nameLocation":"26693:2:63","nodeType":"VariableDeclaration","scope":46358,"src":"26688:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46338,"name":"bool","nodeType":"ElementaryTypeName","src":"26688:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46341,"mutability":"mutable","name":"p2","nameLocation":"26702:2:63","nodeType":"VariableDeclaration","scope":46358,"src":"26697:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46340,"name":"bool","nodeType":"ElementaryTypeName","src":"26697:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46343,"mutability":"mutable","name":"p3","nameLocation":"26714:2:63","nodeType":"VariableDeclaration","scope":46358,"src":"26706:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46342,"name":"address","nodeType":"ElementaryTypeName","src":"26706:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26678:39:63"},"returnParameters":{"id":46345,"nodeType":"ParameterList","parameters":[],"src":"26732:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46381,"nodeType":"FunctionDefinition","src":"26842:170:63","nodes":[],"body":{"id":46380,"nodeType":"Block","src":"26908:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c75696e7429","id":46372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26958:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},"value":"log(uint,bool,address,uint)"},{"id":46373,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46360,"src":"26989:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46374,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46362,"src":"26993:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46375,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46364,"src":"26997:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46376,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46366,"src":"27001:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1","typeString":"literal_string \"log(uint,bool,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46370,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26934:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26938:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26934:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26934:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46369,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"26918:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26918:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46379,"nodeType":"ExpressionStatement","src":"26918:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26851:3:63","parameters":{"id":46367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46360,"mutability":"mutable","name":"p0","nameLocation":"26860:2:63","nodeType":"VariableDeclaration","scope":46381,"src":"26855:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46359,"name":"uint","nodeType":"ElementaryTypeName","src":"26855:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46362,"mutability":"mutable","name":"p1","nameLocation":"26869:2:63","nodeType":"VariableDeclaration","scope":46381,"src":"26864:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46361,"name":"bool","nodeType":"ElementaryTypeName","src":"26864:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46364,"mutability":"mutable","name":"p2","nameLocation":"26881:2:63","nodeType":"VariableDeclaration","scope":46381,"src":"26873:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46363,"name":"address","nodeType":"ElementaryTypeName","src":"26873:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46366,"mutability":"mutable","name":"p3","nameLocation":"26890:2:63","nodeType":"VariableDeclaration","scope":46381,"src":"26885:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46365,"name":"uint","nodeType":"ElementaryTypeName","src":"26885:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26854:39:63"},"returnParameters":{"id":46368,"nodeType":"ParameterList","parameters":[],"src":"26908:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46404,"nodeType":"FunctionDefinition","src":"27018:181:63","nodes":[],"body":{"id":46403,"nodeType":"Block","src":"27093:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729","id":46395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27143:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},"value":"log(uint,bool,address,string)"},{"id":46396,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46383,"src":"27176:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46397,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46385,"src":"27180:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46398,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46387,"src":"27184:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46399,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46389,"src":"27188:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c","typeString":"literal_string \"log(uint,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27119:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27123:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27119:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27119:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"27103:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27103:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46402,"nodeType":"ExpressionStatement","src":"27103:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27027:3:63","parameters":{"id":46390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46383,"mutability":"mutable","name":"p0","nameLocation":"27036:2:63","nodeType":"VariableDeclaration","scope":46404,"src":"27031:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46382,"name":"uint","nodeType":"ElementaryTypeName","src":"27031:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46385,"mutability":"mutable","name":"p1","nameLocation":"27045:2:63","nodeType":"VariableDeclaration","scope":46404,"src":"27040:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46384,"name":"bool","nodeType":"ElementaryTypeName","src":"27040:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46387,"mutability":"mutable","name":"p2","nameLocation":"27057:2:63","nodeType":"VariableDeclaration","scope":46404,"src":"27049:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46386,"name":"address","nodeType":"ElementaryTypeName","src":"27049:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46389,"mutability":"mutable","name":"p3","nameLocation":"27075:2:63","nodeType":"VariableDeclaration","scope":46404,"src":"27061:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46388,"name":"string","nodeType":"ElementaryTypeName","src":"27061:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27030:48:63"},"returnParameters":{"id":46391,"nodeType":"ParameterList","parameters":[],"src":"27093:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46427,"nodeType":"FunctionDefinition","src":"27205:170:63","nodes":[],"body":{"id":46426,"nodeType":"Block","src":"27271:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29","id":46418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27321:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},"value":"log(uint,bool,address,bool)"},{"id":46419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46406,"src":"27352:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46408,"src":"27356:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46410,"src":"27360:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46422,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46412,"src":"27364:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445","typeString":"literal_string \"log(uint,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27297:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27301:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27297:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27297:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"27281:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27281:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46425,"nodeType":"ExpressionStatement","src":"27281:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27214:3:63","parameters":{"id":46413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46406,"mutability":"mutable","name":"p0","nameLocation":"27223:2:63","nodeType":"VariableDeclaration","scope":46427,"src":"27218:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46405,"name":"uint","nodeType":"ElementaryTypeName","src":"27218:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46408,"mutability":"mutable","name":"p1","nameLocation":"27232:2:63","nodeType":"VariableDeclaration","scope":46427,"src":"27227:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46407,"name":"bool","nodeType":"ElementaryTypeName","src":"27227:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46410,"mutability":"mutable","name":"p2","nameLocation":"27244:2:63","nodeType":"VariableDeclaration","scope":46427,"src":"27236:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46409,"name":"address","nodeType":"ElementaryTypeName","src":"27236:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46412,"mutability":"mutable","name":"p3","nameLocation":"27253:2:63","nodeType":"VariableDeclaration","scope":46427,"src":"27248:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46411,"name":"bool","nodeType":"ElementaryTypeName","src":"27248:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27217:39:63"},"returnParameters":{"id":46414,"nodeType":"ParameterList","parameters":[],"src":"27271:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46450,"nodeType":"FunctionDefinition","src":"27381:176:63","nodes":[],"body":{"id":46449,"nodeType":"Block","src":"27450:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329","id":46441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27500:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},"value":"log(uint,bool,address,address)"},{"id":46442,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46429,"src":"27534:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46443,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46431,"src":"27538:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46444,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46433,"src":"27542:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46445,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46435,"src":"27546:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2","typeString":"literal_string \"log(uint,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46439,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27476:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27480:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27476:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27476:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46438,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"27460:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27460:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46448,"nodeType":"ExpressionStatement","src":"27460:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27390:3:63","parameters":{"id":46436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46429,"mutability":"mutable","name":"p0","nameLocation":"27399:2:63","nodeType":"VariableDeclaration","scope":46450,"src":"27394:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46428,"name":"uint","nodeType":"ElementaryTypeName","src":"27394:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46431,"mutability":"mutable","name":"p1","nameLocation":"27408:2:63","nodeType":"VariableDeclaration","scope":46450,"src":"27403:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46430,"name":"bool","nodeType":"ElementaryTypeName","src":"27403:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46433,"mutability":"mutable","name":"p2","nameLocation":"27420:2:63","nodeType":"VariableDeclaration","scope":46450,"src":"27412:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46432,"name":"address","nodeType":"ElementaryTypeName","src":"27412:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46435,"mutability":"mutable","name":"p3","nameLocation":"27432:2:63","nodeType":"VariableDeclaration","scope":46450,"src":"27424:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46434,"name":"address","nodeType":"ElementaryTypeName","src":"27424:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27393:42:63"},"returnParameters":{"id":46437,"nodeType":"ParameterList","parameters":[],"src":"27450:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46473,"nodeType":"FunctionDefinition","src":"27563:170:63","nodes":[],"body":{"id":46472,"nodeType":"Block","src":"27629:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c75696e7429","id":46464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27679:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},"value":"log(uint,address,uint,uint)"},{"id":46465,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46452,"src":"27710:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46466,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46454,"src":"27714:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46467,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46456,"src":"27718:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46468,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46458,"src":"27722:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412","typeString":"literal_string \"log(uint,address,uint,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27655:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27659:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27655:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27655:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46461,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"27639:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27639:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46471,"nodeType":"ExpressionStatement","src":"27639:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27572:3:63","parameters":{"id":46459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46452,"mutability":"mutable","name":"p0","nameLocation":"27581:2:63","nodeType":"VariableDeclaration","scope":46473,"src":"27576:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46451,"name":"uint","nodeType":"ElementaryTypeName","src":"27576:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46454,"mutability":"mutable","name":"p1","nameLocation":"27593:2:63","nodeType":"VariableDeclaration","scope":46473,"src":"27585:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46453,"name":"address","nodeType":"ElementaryTypeName","src":"27585:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46456,"mutability":"mutable","name":"p2","nameLocation":"27602:2:63","nodeType":"VariableDeclaration","scope":46473,"src":"27597:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46455,"name":"uint","nodeType":"ElementaryTypeName","src":"27597:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46458,"mutability":"mutable","name":"p3","nameLocation":"27611:2:63","nodeType":"VariableDeclaration","scope":46473,"src":"27606:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46457,"name":"uint","nodeType":"ElementaryTypeName","src":"27606:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27575:39:63"},"returnParameters":{"id":46460,"nodeType":"ParameterList","parameters":[],"src":"27629:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46496,"nodeType":"FunctionDefinition","src":"27739:181:63","nodes":[],"body":{"id":46495,"nodeType":"Block","src":"27814:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c737472696e6729","id":46487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27864:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},"value":"log(uint,address,uint,string)"},{"id":46488,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46475,"src":"27897:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46489,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46477,"src":"27901:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46490,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46479,"src":"27905:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46491,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46481,"src":"27909:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b","typeString":"literal_string \"log(uint,address,uint,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27840:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27844:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27840:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27840:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46484,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"27824:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27824:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46494,"nodeType":"ExpressionStatement","src":"27824:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27748:3:63","parameters":{"id":46482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46475,"mutability":"mutable","name":"p0","nameLocation":"27757:2:63","nodeType":"VariableDeclaration","scope":46496,"src":"27752:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46474,"name":"uint","nodeType":"ElementaryTypeName","src":"27752:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46477,"mutability":"mutable","name":"p1","nameLocation":"27769:2:63","nodeType":"VariableDeclaration","scope":46496,"src":"27761:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46476,"name":"address","nodeType":"ElementaryTypeName","src":"27761:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46479,"mutability":"mutable","name":"p2","nameLocation":"27778:2:63","nodeType":"VariableDeclaration","scope":46496,"src":"27773:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46478,"name":"uint","nodeType":"ElementaryTypeName","src":"27773:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46481,"mutability":"mutable","name":"p3","nameLocation":"27796:2:63","nodeType":"VariableDeclaration","scope":46496,"src":"27782:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46480,"name":"string","nodeType":"ElementaryTypeName","src":"27782:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27751:48:63"},"returnParameters":{"id":46483,"nodeType":"ParameterList","parameters":[],"src":"27814:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46519,"nodeType":"FunctionDefinition","src":"27926:170:63","nodes":[],"body":{"id":46518,"nodeType":"Block","src":"27992:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c626f6f6c29","id":46510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28042:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},"value":"log(uint,address,uint,bool)"},{"id":46511,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46498,"src":"28073:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46512,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46500,"src":"28077:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46513,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46502,"src":"28081:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46514,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46504,"src":"28085:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8","typeString":"literal_string \"log(uint,address,uint,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28018:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28022:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28018:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28018:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46507,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28002:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28002:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46517,"nodeType":"ExpressionStatement","src":"28002:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27935:3:63","parameters":{"id":46505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46498,"mutability":"mutable","name":"p0","nameLocation":"27944:2:63","nodeType":"VariableDeclaration","scope":46519,"src":"27939:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46497,"name":"uint","nodeType":"ElementaryTypeName","src":"27939:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46500,"mutability":"mutable","name":"p1","nameLocation":"27956:2:63","nodeType":"VariableDeclaration","scope":46519,"src":"27948:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46499,"name":"address","nodeType":"ElementaryTypeName","src":"27948:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46502,"mutability":"mutable","name":"p2","nameLocation":"27965:2:63","nodeType":"VariableDeclaration","scope":46519,"src":"27960:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46501,"name":"uint","nodeType":"ElementaryTypeName","src":"27960:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46504,"mutability":"mutable","name":"p3","nameLocation":"27974:2:63","nodeType":"VariableDeclaration","scope":46519,"src":"27969:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46503,"name":"bool","nodeType":"ElementaryTypeName","src":"27969:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27938:39:63"},"returnParameters":{"id":46506,"nodeType":"ParameterList","parameters":[],"src":"27992:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46542,"nodeType":"FunctionDefinition","src":"28102:176:63","nodes":[],"body":{"id":46541,"nodeType":"Block","src":"28171:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c75696e742c6164647265737329","id":46533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28221:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},"value":"log(uint,address,uint,address)"},{"id":46534,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46521,"src":"28255:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46535,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46523,"src":"28259:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46536,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46525,"src":"28263:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46537,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46527,"src":"28267:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3","typeString":"literal_string \"log(uint,address,uint,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28197:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28201:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28197:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28197:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28181:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28181:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46540,"nodeType":"ExpressionStatement","src":"28181:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28111:3:63","parameters":{"id":46528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46521,"mutability":"mutable","name":"p0","nameLocation":"28120:2:63","nodeType":"VariableDeclaration","scope":46542,"src":"28115:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46520,"name":"uint","nodeType":"ElementaryTypeName","src":"28115:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46523,"mutability":"mutable","name":"p1","nameLocation":"28132:2:63","nodeType":"VariableDeclaration","scope":46542,"src":"28124:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46522,"name":"address","nodeType":"ElementaryTypeName","src":"28124:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46525,"mutability":"mutable","name":"p2","nameLocation":"28141:2:63","nodeType":"VariableDeclaration","scope":46542,"src":"28136:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46524,"name":"uint","nodeType":"ElementaryTypeName","src":"28136:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46527,"mutability":"mutable","name":"p3","nameLocation":"28153:2:63","nodeType":"VariableDeclaration","scope":46542,"src":"28145:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46526,"name":"address","nodeType":"ElementaryTypeName","src":"28145:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28114:42:63"},"returnParameters":{"id":46529,"nodeType":"ParameterList","parameters":[],"src":"28171:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46565,"nodeType":"FunctionDefinition","src":"28284:181:63","nodes":[],"body":{"id":46564,"nodeType":"Block","src":"28359:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c75696e7429","id":46556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28409:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},"value":"log(uint,address,string,uint)"},{"id":46557,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46544,"src":"28442:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46558,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46546,"src":"28446:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46559,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46548,"src":"28450:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46560,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46550,"src":"28454:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb","typeString":"literal_string \"log(uint,address,string,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28385:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28389:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28385:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28385:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28369:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28369:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46563,"nodeType":"ExpressionStatement","src":"28369:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28293:3:63","parameters":{"id":46551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46544,"mutability":"mutable","name":"p0","nameLocation":"28302:2:63","nodeType":"VariableDeclaration","scope":46565,"src":"28297:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46543,"name":"uint","nodeType":"ElementaryTypeName","src":"28297:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46546,"mutability":"mutable","name":"p1","nameLocation":"28314:2:63","nodeType":"VariableDeclaration","scope":46565,"src":"28306:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46545,"name":"address","nodeType":"ElementaryTypeName","src":"28306:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46548,"mutability":"mutable","name":"p2","nameLocation":"28332:2:63","nodeType":"VariableDeclaration","scope":46565,"src":"28318:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46547,"name":"string","nodeType":"ElementaryTypeName","src":"28318:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46550,"mutability":"mutable","name":"p3","nameLocation":"28341:2:63","nodeType":"VariableDeclaration","scope":46565,"src":"28336:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46549,"name":"uint","nodeType":"ElementaryTypeName","src":"28336:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28296:48:63"},"returnParameters":{"id":46552,"nodeType":"ParameterList","parameters":[],"src":"28359:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46588,"nodeType":"FunctionDefinition","src":"28471:192:63","nodes":[],"body":{"id":46587,"nodeType":"Block","src":"28555:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c737472696e6729","id":46579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28605:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},"value":"log(uint,address,string,string)"},{"id":46580,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46567,"src":"28640:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46581,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46569,"src":"28644:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46582,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46571,"src":"28648:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46583,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46573,"src":"28652:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1","typeString":"literal_string \"log(uint,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28581:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28585:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28581:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28581:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46576,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28565:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28565:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46586,"nodeType":"ExpressionStatement","src":"28565:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28480:3:63","parameters":{"id":46574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46567,"mutability":"mutable","name":"p0","nameLocation":"28489:2:63","nodeType":"VariableDeclaration","scope":46588,"src":"28484:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46566,"name":"uint","nodeType":"ElementaryTypeName","src":"28484:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46569,"mutability":"mutable","name":"p1","nameLocation":"28501:2:63","nodeType":"VariableDeclaration","scope":46588,"src":"28493:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46568,"name":"address","nodeType":"ElementaryTypeName","src":"28493:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46571,"mutability":"mutable","name":"p2","nameLocation":"28519:2:63","nodeType":"VariableDeclaration","scope":46588,"src":"28505:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46570,"name":"string","nodeType":"ElementaryTypeName","src":"28505:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46573,"mutability":"mutable","name":"p3","nameLocation":"28537:2:63","nodeType":"VariableDeclaration","scope":46588,"src":"28523:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46572,"name":"string","nodeType":"ElementaryTypeName","src":"28523:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28483:57:63"},"returnParameters":{"id":46575,"nodeType":"ParameterList","parameters":[],"src":"28555:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46611,"nodeType":"FunctionDefinition","src":"28669:181:63","nodes":[],"body":{"id":46610,"nodeType":"Block","src":"28744:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c626f6f6c29","id":46602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28794:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},"value":"log(uint,address,string,bool)"},{"id":46603,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46590,"src":"28827:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46604,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46592,"src":"28831:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46605,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46594,"src":"28835:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46606,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46596,"src":"28839:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf","typeString":"literal_string \"log(uint,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46600,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28770:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28774:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28770:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28770:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46599,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28754:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28754:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46609,"nodeType":"ExpressionStatement","src":"28754:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28678:3:63","parameters":{"id":46597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46590,"mutability":"mutable","name":"p0","nameLocation":"28687:2:63","nodeType":"VariableDeclaration","scope":46611,"src":"28682:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46589,"name":"uint","nodeType":"ElementaryTypeName","src":"28682:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46592,"mutability":"mutable","name":"p1","nameLocation":"28699:2:63","nodeType":"VariableDeclaration","scope":46611,"src":"28691:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46591,"name":"address","nodeType":"ElementaryTypeName","src":"28691:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46594,"mutability":"mutable","name":"p2","nameLocation":"28717:2:63","nodeType":"VariableDeclaration","scope":46611,"src":"28703:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46593,"name":"string","nodeType":"ElementaryTypeName","src":"28703:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46596,"mutability":"mutable","name":"p3","nameLocation":"28726:2:63","nodeType":"VariableDeclaration","scope":46611,"src":"28721:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46595,"name":"bool","nodeType":"ElementaryTypeName","src":"28721:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28681:48:63"},"returnParameters":{"id":46598,"nodeType":"ParameterList","parameters":[],"src":"28744:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46634,"nodeType":"FunctionDefinition","src":"28856:187:63","nodes":[],"body":{"id":46633,"nodeType":"Block","src":"28934:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c737472696e672c6164647265737329","id":46625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28984:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},"value":"log(uint,address,string,address)"},{"id":46626,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46613,"src":"29020:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46627,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46615,"src":"29024:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46628,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46617,"src":"29028:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46629,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46619,"src":"29032:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f","typeString":"literal_string \"log(uint,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46623,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28960:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28964:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28960:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28960:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46622,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"28944:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28944:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46632,"nodeType":"ExpressionStatement","src":"28944:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28865:3:63","parameters":{"id":46620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46613,"mutability":"mutable","name":"p0","nameLocation":"28874:2:63","nodeType":"VariableDeclaration","scope":46634,"src":"28869:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46612,"name":"uint","nodeType":"ElementaryTypeName","src":"28869:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46615,"mutability":"mutable","name":"p1","nameLocation":"28886:2:63","nodeType":"VariableDeclaration","scope":46634,"src":"28878:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46614,"name":"address","nodeType":"ElementaryTypeName","src":"28878:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46617,"mutability":"mutable","name":"p2","nameLocation":"28904:2:63","nodeType":"VariableDeclaration","scope":46634,"src":"28890:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46616,"name":"string","nodeType":"ElementaryTypeName","src":"28890:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46619,"mutability":"mutable","name":"p3","nameLocation":"28916:2:63","nodeType":"VariableDeclaration","scope":46634,"src":"28908:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46618,"name":"address","nodeType":"ElementaryTypeName","src":"28908:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28868:51:63"},"returnParameters":{"id":46621,"nodeType":"ParameterList","parameters":[],"src":"28934:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46657,"nodeType":"FunctionDefinition","src":"29049:170:63","nodes":[],"body":{"id":46656,"nodeType":"Block","src":"29115:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c75696e7429","id":46648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29165:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},"value":"log(uint,address,bool,uint)"},{"id":46649,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46636,"src":"29196:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46650,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46638,"src":"29200:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46651,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46640,"src":"29204:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46652,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46642,"src":"29208:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2","typeString":"literal_string \"log(uint,address,bool,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29141:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29145:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29141:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29141:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"29125:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29125:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46655,"nodeType":"ExpressionStatement","src":"29125:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29058:3:63","parameters":{"id":46643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46636,"mutability":"mutable","name":"p0","nameLocation":"29067:2:63","nodeType":"VariableDeclaration","scope":46657,"src":"29062:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46635,"name":"uint","nodeType":"ElementaryTypeName","src":"29062:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46638,"mutability":"mutable","name":"p1","nameLocation":"29079:2:63","nodeType":"VariableDeclaration","scope":46657,"src":"29071:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46637,"name":"address","nodeType":"ElementaryTypeName","src":"29071:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46640,"mutability":"mutable","name":"p2","nameLocation":"29088:2:63","nodeType":"VariableDeclaration","scope":46657,"src":"29083:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46639,"name":"bool","nodeType":"ElementaryTypeName","src":"29083:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46642,"mutability":"mutable","name":"p3","nameLocation":"29097:2:63","nodeType":"VariableDeclaration","scope":46657,"src":"29092:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46641,"name":"uint","nodeType":"ElementaryTypeName","src":"29092:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29061:39:63"},"returnParameters":{"id":46644,"nodeType":"ParameterList","parameters":[],"src":"29115:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46680,"nodeType":"FunctionDefinition","src":"29225:181:63","nodes":[],"body":{"id":46679,"nodeType":"Block","src":"29300:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729","id":46671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29350:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},"value":"log(uint,address,bool,string)"},{"id":46672,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46659,"src":"29383:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46673,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46661,"src":"29387:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46674,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46663,"src":"29391:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46675,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46665,"src":"29395:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6","typeString":"literal_string \"log(uint,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29326:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29330:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29326:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29326:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46668,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"29310:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29310:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46678,"nodeType":"ExpressionStatement","src":"29310:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29234:3:63","parameters":{"id":46666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46659,"mutability":"mutable","name":"p0","nameLocation":"29243:2:63","nodeType":"VariableDeclaration","scope":46680,"src":"29238:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46658,"name":"uint","nodeType":"ElementaryTypeName","src":"29238:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46661,"mutability":"mutable","name":"p1","nameLocation":"29255:2:63","nodeType":"VariableDeclaration","scope":46680,"src":"29247:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46660,"name":"address","nodeType":"ElementaryTypeName","src":"29247:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46663,"mutability":"mutable","name":"p2","nameLocation":"29264:2:63","nodeType":"VariableDeclaration","scope":46680,"src":"29259:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46662,"name":"bool","nodeType":"ElementaryTypeName","src":"29259:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46665,"mutability":"mutable","name":"p3","nameLocation":"29282:2:63","nodeType":"VariableDeclaration","scope":46680,"src":"29268:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46664,"name":"string","nodeType":"ElementaryTypeName","src":"29268:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29237:48:63"},"returnParameters":{"id":46667,"nodeType":"ParameterList","parameters":[],"src":"29300:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46703,"nodeType":"FunctionDefinition","src":"29412:170:63","nodes":[],"body":{"id":46702,"nodeType":"Block","src":"29478:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29","id":46694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29528:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},"value":"log(uint,address,bool,bool)"},{"id":46695,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46682,"src":"29559:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46696,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46684,"src":"29563:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46697,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46686,"src":"29567:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46698,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46688,"src":"29571:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32","typeString":"literal_string \"log(uint,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46692,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29504:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29508:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29504:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29504:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46691,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"29488:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29488:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46701,"nodeType":"ExpressionStatement","src":"29488:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29421:3:63","parameters":{"id":46689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46682,"mutability":"mutable","name":"p0","nameLocation":"29430:2:63","nodeType":"VariableDeclaration","scope":46703,"src":"29425:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46681,"name":"uint","nodeType":"ElementaryTypeName","src":"29425:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46684,"mutability":"mutable","name":"p1","nameLocation":"29442:2:63","nodeType":"VariableDeclaration","scope":46703,"src":"29434:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46683,"name":"address","nodeType":"ElementaryTypeName","src":"29434:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46686,"mutability":"mutable","name":"p2","nameLocation":"29451:2:63","nodeType":"VariableDeclaration","scope":46703,"src":"29446:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46685,"name":"bool","nodeType":"ElementaryTypeName","src":"29446:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46688,"mutability":"mutable","name":"p3","nameLocation":"29460:2:63","nodeType":"VariableDeclaration","scope":46703,"src":"29455:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46687,"name":"bool","nodeType":"ElementaryTypeName","src":"29455:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29424:39:63"},"returnParameters":{"id":46690,"nodeType":"ParameterList","parameters":[],"src":"29478:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46726,"nodeType":"FunctionDefinition","src":"29588:176:63","nodes":[],"body":{"id":46725,"nodeType":"Block","src":"29657:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329","id":46717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29707:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},"value":"log(uint,address,bool,address)"},{"id":46718,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46705,"src":"29741:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46719,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46707,"src":"29745:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46720,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46709,"src":"29749:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":46721,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46711,"src":"29753:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789","typeString":"literal_string \"log(uint,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29683:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29687:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29683:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29683:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46714,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"29667:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29667:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46724,"nodeType":"ExpressionStatement","src":"29667:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29597:3:63","parameters":{"id":46712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46705,"mutability":"mutable","name":"p0","nameLocation":"29606:2:63","nodeType":"VariableDeclaration","scope":46726,"src":"29601:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46704,"name":"uint","nodeType":"ElementaryTypeName","src":"29601:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46707,"mutability":"mutable","name":"p1","nameLocation":"29618:2:63","nodeType":"VariableDeclaration","scope":46726,"src":"29610:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46706,"name":"address","nodeType":"ElementaryTypeName","src":"29610:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46709,"mutability":"mutable","name":"p2","nameLocation":"29627:2:63","nodeType":"VariableDeclaration","scope":46726,"src":"29622:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46708,"name":"bool","nodeType":"ElementaryTypeName","src":"29622:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":46711,"mutability":"mutable","name":"p3","nameLocation":"29639:2:63","nodeType":"VariableDeclaration","scope":46726,"src":"29631:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46710,"name":"address","nodeType":"ElementaryTypeName","src":"29631:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29600:42:63"},"returnParameters":{"id":46713,"nodeType":"ParameterList","parameters":[],"src":"29657:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46749,"nodeType":"FunctionDefinition","src":"29770:176:63","nodes":[],"body":{"id":46748,"nodeType":"Block","src":"29839:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c75696e7429","id":46740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29889:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},"value":"log(uint,address,address,uint)"},{"id":46741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46728,"src":"29923:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46730,"src":"29927:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46732,"src":"29931:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46744,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46734,"src":"29935:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b","typeString":"literal_string \"log(uint,address,address,uint)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29865:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29869:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29865:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29865:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"29849:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29849:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46747,"nodeType":"ExpressionStatement","src":"29849:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29779:3:63","parameters":{"id":46735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46728,"mutability":"mutable","name":"p0","nameLocation":"29788:2:63","nodeType":"VariableDeclaration","scope":46749,"src":"29783:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46727,"name":"uint","nodeType":"ElementaryTypeName","src":"29783:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46730,"mutability":"mutable","name":"p1","nameLocation":"29800:2:63","nodeType":"VariableDeclaration","scope":46749,"src":"29792:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46729,"name":"address","nodeType":"ElementaryTypeName","src":"29792:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46732,"mutability":"mutable","name":"p2","nameLocation":"29812:2:63","nodeType":"VariableDeclaration","scope":46749,"src":"29804:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46731,"name":"address","nodeType":"ElementaryTypeName","src":"29804:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46734,"mutability":"mutable","name":"p3","nameLocation":"29821:2:63","nodeType":"VariableDeclaration","scope":46749,"src":"29816:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46733,"name":"uint","nodeType":"ElementaryTypeName","src":"29816:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29782:42:63"},"returnParameters":{"id":46736,"nodeType":"ParameterList","parameters":[],"src":"29839:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46772,"nodeType":"FunctionDefinition","src":"29952:187:63","nodes":[],"body":{"id":46771,"nodeType":"Block","src":"30030:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c737472696e6729","id":46763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30080:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},"value":"log(uint,address,address,string)"},{"id":46764,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46751,"src":"30116:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46765,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46753,"src":"30120:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46766,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46755,"src":"30124:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46767,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46757,"src":"30128:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622","typeString":"literal_string \"log(uint,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30056:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30060:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30056:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30056:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46760,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30040:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30040:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46770,"nodeType":"ExpressionStatement","src":"30040:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29961:3:63","parameters":{"id":46758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46751,"mutability":"mutable","name":"p0","nameLocation":"29970:2:63","nodeType":"VariableDeclaration","scope":46772,"src":"29965:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46750,"name":"uint","nodeType":"ElementaryTypeName","src":"29965:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46753,"mutability":"mutable","name":"p1","nameLocation":"29982:2:63","nodeType":"VariableDeclaration","scope":46772,"src":"29974:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46752,"name":"address","nodeType":"ElementaryTypeName","src":"29974:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46755,"mutability":"mutable","name":"p2","nameLocation":"29994:2:63","nodeType":"VariableDeclaration","scope":46772,"src":"29986:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46754,"name":"address","nodeType":"ElementaryTypeName","src":"29986:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46757,"mutability":"mutable","name":"p3","nameLocation":"30012:2:63","nodeType":"VariableDeclaration","scope":46772,"src":"29998:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46756,"name":"string","nodeType":"ElementaryTypeName","src":"29998:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29964:51:63"},"returnParameters":{"id":46759,"nodeType":"ParameterList","parameters":[],"src":"30030:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46795,"nodeType":"FunctionDefinition","src":"30145:176:63","nodes":[],"body":{"id":46794,"nodeType":"Block","src":"30214:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c626f6f6c29","id":46786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30264:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},"value":"log(uint,address,address,bool)"},{"id":46787,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46774,"src":"30298:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46788,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46776,"src":"30302:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46789,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46778,"src":"30306:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46790,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46780,"src":"30310:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c","typeString":"literal_string \"log(uint,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30240:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30244:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30240:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30240:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46783,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30224:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30224:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46793,"nodeType":"ExpressionStatement","src":"30224:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30154:3:63","parameters":{"id":46781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46774,"mutability":"mutable","name":"p0","nameLocation":"30163:2:63","nodeType":"VariableDeclaration","scope":46795,"src":"30158:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46773,"name":"uint","nodeType":"ElementaryTypeName","src":"30158:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46776,"mutability":"mutable","name":"p1","nameLocation":"30175:2:63","nodeType":"VariableDeclaration","scope":46795,"src":"30167:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46775,"name":"address","nodeType":"ElementaryTypeName","src":"30167:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46778,"mutability":"mutable","name":"p2","nameLocation":"30187:2:63","nodeType":"VariableDeclaration","scope":46795,"src":"30179:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46777,"name":"address","nodeType":"ElementaryTypeName","src":"30179:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46780,"mutability":"mutable","name":"p3","nameLocation":"30196:2:63","nodeType":"VariableDeclaration","scope":46795,"src":"30191:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46779,"name":"bool","nodeType":"ElementaryTypeName","src":"30191:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30157:42:63"},"returnParameters":{"id":46782,"nodeType":"ParameterList","parameters":[],"src":"30214:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46818,"nodeType":"FunctionDefinition","src":"30327:182:63","nodes":[],"body":{"id":46817,"nodeType":"Block","src":"30399:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e742c616464726573732c616464726573732c6164647265737329","id":46809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30449:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},"value":"log(uint,address,address,address)"},{"id":46810,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46797,"src":"30486:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46811,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46799,"src":"30490:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46812,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46801,"src":"30494:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46813,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46803,"src":"30498:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4","typeString":"literal_string \"log(uint,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46807,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30425:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30429:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30425:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30425:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46806,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30409:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30409:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46816,"nodeType":"ExpressionStatement","src":"30409:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30336:3:63","parameters":{"id":46804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46797,"mutability":"mutable","name":"p0","nameLocation":"30345:2:63","nodeType":"VariableDeclaration","scope":46818,"src":"30340:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46796,"name":"uint","nodeType":"ElementaryTypeName","src":"30340:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46799,"mutability":"mutable","name":"p1","nameLocation":"30357:2:63","nodeType":"VariableDeclaration","scope":46818,"src":"30349:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46798,"name":"address","nodeType":"ElementaryTypeName","src":"30349:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46801,"mutability":"mutable","name":"p2","nameLocation":"30369:2:63","nodeType":"VariableDeclaration","scope":46818,"src":"30361:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46800,"name":"address","nodeType":"ElementaryTypeName","src":"30361:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46803,"mutability":"mutable","name":"p3","nameLocation":"30381:2:63","nodeType":"VariableDeclaration","scope":46818,"src":"30373:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46802,"name":"address","nodeType":"ElementaryTypeName","src":"30373:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30339:45:63"},"returnParameters":{"id":46805,"nodeType":"ParameterList","parameters":[],"src":"30399:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46841,"nodeType":"FunctionDefinition","src":"30515:175:63","nodes":[],"body":{"id":46840,"nodeType":"Block","src":"30587:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c75696e7429","id":46832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30637:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},"value":"log(string,uint,uint,uint)"},{"id":46833,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46820,"src":"30667:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46834,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46822,"src":"30671:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46835,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46824,"src":"30675:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46836,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46826,"src":"30679:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2","typeString":"literal_string \"log(string,uint,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30613:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30617:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30613:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30613:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46829,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30597:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30597:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46839,"nodeType":"ExpressionStatement","src":"30597:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30524:3:63","parameters":{"id":46827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46820,"mutability":"mutable","name":"p0","nameLocation":"30542:2:63","nodeType":"VariableDeclaration","scope":46841,"src":"30528:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46819,"name":"string","nodeType":"ElementaryTypeName","src":"30528:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46822,"mutability":"mutable","name":"p1","nameLocation":"30551:2:63","nodeType":"VariableDeclaration","scope":46841,"src":"30546:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46821,"name":"uint","nodeType":"ElementaryTypeName","src":"30546:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46824,"mutability":"mutable","name":"p2","nameLocation":"30560:2:63","nodeType":"VariableDeclaration","scope":46841,"src":"30555:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46823,"name":"uint","nodeType":"ElementaryTypeName","src":"30555:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46826,"mutability":"mutable","name":"p3","nameLocation":"30569:2:63","nodeType":"VariableDeclaration","scope":46841,"src":"30564:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46825,"name":"uint","nodeType":"ElementaryTypeName","src":"30564:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30527:45:63"},"returnParameters":{"id":46828,"nodeType":"ParameterList","parameters":[],"src":"30587:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46864,"nodeType":"FunctionDefinition","src":"30696:186:63","nodes":[],"body":{"id":46863,"nodeType":"Block","src":"30777:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c737472696e6729","id":46855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30827:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},"value":"log(string,uint,uint,string)"},{"id":46856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46843,"src":"30859:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46857,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46845,"src":"30863:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46858,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46847,"src":"30867:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46859,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46849,"src":"30871:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8","typeString":"literal_string \"log(string,uint,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30803:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30807:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30803:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30803:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30787:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30787:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46862,"nodeType":"ExpressionStatement","src":"30787:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30705:3:63","parameters":{"id":46850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46843,"mutability":"mutable","name":"p0","nameLocation":"30723:2:63","nodeType":"VariableDeclaration","scope":46864,"src":"30709:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46842,"name":"string","nodeType":"ElementaryTypeName","src":"30709:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46845,"mutability":"mutable","name":"p1","nameLocation":"30732:2:63","nodeType":"VariableDeclaration","scope":46864,"src":"30727:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46844,"name":"uint","nodeType":"ElementaryTypeName","src":"30727:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46847,"mutability":"mutable","name":"p2","nameLocation":"30741:2:63","nodeType":"VariableDeclaration","scope":46864,"src":"30736:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46846,"name":"uint","nodeType":"ElementaryTypeName","src":"30736:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46849,"mutability":"mutable","name":"p3","nameLocation":"30759:2:63","nodeType":"VariableDeclaration","scope":46864,"src":"30745:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46848,"name":"string","nodeType":"ElementaryTypeName","src":"30745:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30708:54:63"},"returnParameters":{"id":46851,"nodeType":"ParameterList","parameters":[],"src":"30777:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46887,"nodeType":"FunctionDefinition","src":"30888:175:63","nodes":[],"body":{"id":46886,"nodeType":"Block","src":"30960:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c626f6f6c29","id":46878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31010:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},"value":"log(string,uint,uint,bool)"},{"id":46879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46866,"src":"31040:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46868,"src":"31044:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46870,"src":"31048:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46882,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46872,"src":"31052:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d","typeString":"literal_string \"log(string,uint,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30986:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30990:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30986:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30986:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"30970:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30970:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46885,"nodeType":"ExpressionStatement","src":"30970:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30897:3:63","parameters":{"id":46873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46866,"mutability":"mutable","name":"p0","nameLocation":"30915:2:63","nodeType":"VariableDeclaration","scope":46887,"src":"30901:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46865,"name":"string","nodeType":"ElementaryTypeName","src":"30901:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46868,"mutability":"mutable","name":"p1","nameLocation":"30924:2:63","nodeType":"VariableDeclaration","scope":46887,"src":"30919:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46867,"name":"uint","nodeType":"ElementaryTypeName","src":"30919:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46870,"mutability":"mutable","name":"p2","nameLocation":"30933:2:63","nodeType":"VariableDeclaration","scope":46887,"src":"30928:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46869,"name":"uint","nodeType":"ElementaryTypeName","src":"30928:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46872,"mutability":"mutable","name":"p3","nameLocation":"30942:2:63","nodeType":"VariableDeclaration","scope":46887,"src":"30937:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46871,"name":"bool","nodeType":"ElementaryTypeName","src":"30937:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30900:45:63"},"returnParameters":{"id":46874,"nodeType":"ParameterList","parameters":[],"src":"30960:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46910,"nodeType":"FunctionDefinition","src":"31069:181:63","nodes":[],"body":{"id":46909,"nodeType":"Block","src":"31144:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c75696e742c6164647265737329","id":46901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31194:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},"value":"log(string,uint,uint,address)"},{"id":46902,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46889,"src":"31227:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46903,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46891,"src":"31231:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46904,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46893,"src":"31235:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46905,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46895,"src":"31239:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc","typeString":"literal_string \"log(string,uint,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31170:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31174:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31170:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31170:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46898,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"31154:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31154:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46908,"nodeType":"ExpressionStatement","src":"31154:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31078:3:63","parameters":{"id":46896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46889,"mutability":"mutable","name":"p0","nameLocation":"31096:2:63","nodeType":"VariableDeclaration","scope":46910,"src":"31082:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46888,"name":"string","nodeType":"ElementaryTypeName","src":"31082:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46891,"mutability":"mutable","name":"p1","nameLocation":"31105:2:63","nodeType":"VariableDeclaration","scope":46910,"src":"31100:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46890,"name":"uint","nodeType":"ElementaryTypeName","src":"31100:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46893,"mutability":"mutable","name":"p2","nameLocation":"31114:2:63","nodeType":"VariableDeclaration","scope":46910,"src":"31109:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46892,"name":"uint","nodeType":"ElementaryTypeName","src":"31109:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46895,"mutability":"mutable","name":"p3","nameLocation":"31126:2:63","nodeType":"VariableDeclaration","scope":46910,"src":"31118:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46894,"name":"address","nodeType":"ElementaryTypeName","src":"31118:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31081:48:63"},"returnParameters":{"id":46897,"nodeType":"ParameterList","parameters":[],"src":"31144:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46933,"nodeType":"FunctionDefinition","src":"31256:186:63","nodes":[],"body":{"id":46932,"nodeType":"Block","src":"31337:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c75696e7429","id":46924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31387:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},"value":"log(string,uint,string,uint)"},{"id":46925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46912,"src":"31419:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46914,"src":"31423:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46927,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46916,"src":"31427:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46928,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46918,"src":"31431:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f","typeString":"literal_string \"log(string,uint,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":46922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31363:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31367:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31363:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31363:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"31347:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31347:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46931,"nodeType":"ExpressionStatement","src":"31347:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31265:3:63","parameters":{"id":46919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46912,"mutability":"mutable","name":"p0","nameLocation":"31283:2:63","nodeType":"VariableDeclaration","scope":46933,"src":"31269:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46911,"name":"string","nodeType":"ElementaryTypeName","src":"31269:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46914,"mutability":"mutable","name":"p1","nameLocation":"31292:2:63","nodeType":"VariableDeclaration","scope":46933,"src":"31287:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46913,"name":"uint","nodeType":"ElementaryTypeName","src":"31287:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46916,"mutability":"mutable","name":"p2","nameLocation":"31310:2:63","nodeType":"VariableDeclaration","scope":46933,"src":"31296:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46915,"name":"string","nodeType":"ElementaryTypeName","src":"31296:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46918,"mutability":"mutable","name":"p3","nameLocation":"31319:2:63","nodeType":"VariableDeclaration","scope":46933,"src":"31314:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46917,"name":"uint","nodeType":"ElementaryTypeName","src":"31314:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31268:54:63"},"returnParameters":{"id":46920,"nodeType":"ParameterList","parameters":[],"src":"31337:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46956,"nodeType":"FunctionDefinition","src":"31448:197:63","nodes":[],"body":{"id":46955,"nodeType":"Block","src":"31538:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c737472696e6729","id":46947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31588:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},"value":"log(string,uint,string,string)"},{"id":46948,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46935,"src":"31622:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46949,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46937,"src":"31626:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46950,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46939,"src":"31630:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46951,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46941,"src":"31634:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07","typeString":"literal_string \"log(string,uint,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":46945,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31564:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31568:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31564:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31564:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46944,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"31548:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31548:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46954,"nodeType":"ExpressionStatement","src":"31548:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31457:3:63","parameters":{"id":46942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46935,"mutability":"mutable","name":"p0","nameLocation":"31475:2:63","nodeType":"VariableDeclaration","scope":46956,"src":"31461:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46934,"name":"string","nodeType":"ElementaryTypeName","src":"31461:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46937,"mutability":"mutable","name":"p1","nameLocation":"31484:2:63","nodeType":"VariableDeclaration","scope":46956,"src":"31479:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46936,"name":"uint","nodeType":"ElementaryTypeName","src":"31479:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46939,"mutability":"mutable","name":"p2","nameLocation":"31502:2:63","nodeType":"VariableDeclaration","scope":46956,"src":"31488:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46938,"name":"string","nodeType":"ElementaryTypeName","src":"31488:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46941,"mutability":"mutable","name":"p3","nameLocation":"31520:2:63","nodeType":"VariableDeclaration","scope":46956,"src":"31506:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46940,"name":"string","nodeType":"ElementaryTypeName","src":"31506:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31460:63:63"},"returnParameters":{"id":46943,"nodeType":"ParameterList","parameters":[],"src":"31538:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":46979,"nodeType":"FunctionDefinition","src":"31651:186:63","nodes":[],"body":{"id":46978,"nodeType":"Block","src":"31732:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29","id":46970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31782:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},"value":"log(string,uint,string,bool)"},{"id":46971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46958,"src":"31814:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46960,"src":"31818:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46973,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46962,"src":"31822:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46974,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46964,"src":"31826:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8","typeString":"literal_string \"log(string,uint,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":46968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31758:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31762:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31758:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31758:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"31742:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31742:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46977,"nodeType":"ExpressionStatement","src":"31742:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31660:3:63","parameters":{"id":46965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46958,"mutability":"mutable","name":"p0","nameLocation":"31678:2:63","nodeType":"VariableDeclaration","scope":46979,"src":"31664:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46957,"name":"string","nodeType":"ElementaryTypeName","src":"31664:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46960,"mutability":"mutable","name":"p1","nameLocation":"31687:2:63","nodeType":"VariableDeclaration","scope":46979,"src":"31682:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46959,"name":"uint","nodeType":"ElementaryTypeName","src":"31682:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46962,"mutability":"mutable","name":"p2","nameLocation":"31705:2:63","nodeType":"VariableDeclaration","scope":46979,"src":"31691:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46961,"name":"string","nodeType":"ElementaryTypeName","src":"31691:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46964,"mutability":"mutable","name":"p3","nameLocation":"31714:2:63","nodeType":"VariableDeclaration","scope":46979,"src":"31709:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46963,"name":"bool","nodeType":"ElementaryTypeName","src":"31709:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31663:54:63"},"returnParameters":{"id":46966,"nodeType":"ParameterList","parameters":[],"src":"31732:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47002,"nodeType":"FunctionDefinition","src":"31843:192:63","nodes":[],"body":{"id":47001,"nodeType":"Block","src":"31927:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c737472696e672c6164647265737329","id":46993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31977:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},"value":"log(string,uint,string,address)"},{"id":46994,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46981,"src":"32012:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46995,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46983,"src":"32016:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":46996,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46985,"src":"32020:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":46997,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46987,"src":"32024:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c","typeString":"literal_string \"log(string,uint,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":46991,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31953:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":46992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31957:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31953:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":46998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31953:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":46990,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"31937:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":46999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31937:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47000,"nodeType":"ExpressionStatement","src":"31937:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31852:3:63","parameters":{"id":46988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46981,"mutability":"mutable","name":"p0","nameLocation":"31870:2:63","nodeType":"VariableDeclaration","scope":47002,"src":"31856:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46980,"name":"string","nodeType":"ElementaryTypeName","src":"31856:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46983,"mutability":"mutable","name":"p1","nameLocation":"31879:2:63","nodeType":"VariableDeclaration","scope":47002,"src":"31874:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":46982,"name":"uint","nodeType":"ElementaryTypeName","src":"31874:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46985,"mutability":"mutable","name":"p2","nameLocation":"31897:2:63","nodeType":"VariableDeclaration","scope":47002,"src":"31883:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":46984,"name":"string","nodeType":"ElementaryTypeName","src":"31883:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":46987,"mutability":"mutable","name":"p3","nameLocation":"31909:2:63","nodeType":"VariableDeclaration","scope":47002,"src":"31901:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46986,"name":"address","nodeType":"ElementaryTypeName","src":"31901:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31855:57:63"},"returnParameters":{"id":46989,"nodeType":"ParameterList","parameters":[],"src":"31927:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47025,"nodeType":"FunctionDefinition","src":"32041:175:63","nodes":[],"body":{"id":47024,"nodeType":"Block","src":"32113:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429","id":47016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32163:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},"value":"log(string,uint,bool,uint)"},{"id":47017,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47004,"src":"32193:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47018,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47006,"src":"32197:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47019,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47008,"src":"32201:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47020,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47010,"src":"32205:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f","typeString":"literal_string \"log(string,uint,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32139:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32143:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32139:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32139:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47013,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"32123:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32123:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47023,"nodeType":"ExpressionStatement","src":"32123:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32050:3:63","parameters":{"id":47011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47004,"mutability":"mutable","name":"p0","nameLocation":"32068:2:63","nodeType":"VariableDeclaration","scope":47025,"src":"32054:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47003,"name":"string","nodeType":"ElementaryTypeName","src":"32054:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47006,"mutability":"mutable","name":"p1","nameLocation":"32077:2:63","nodeType":"VariableDeclaration","scope":47025,"src":"32072:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47005,"name":"uint","nodeType":"ElementaryTypeName","src":"32072:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47008,"mutability":"mutable","name":"p2","nameLocation":"32086:2:63","nodeType":"VariableDeclaration","scope":47025,"src":"32081:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47007,"name":"bool","nodeType":"ElementaryTypeName","src":"32081:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47010,"mutability":"mutable","name":"p3","nameLocation":"32095:2:63","nodeType":"VariableDeclaration","scope":47025,"src":"32090:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47009,"name":"uint","nodeType":"ElementaryTypeName","src":"32090:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32053:45:63"},"returnParameters":{"id":47012,"nodeType":"ParameterList","parameters":[],"src":"32113:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47048,"nodeType":"FunctionDefinition","src":"32222:186:63","nodes":[],"body":{"id":47047,"nodeType":"Block","src":"32303:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729","id":47039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32353:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},"value":"log(string,uint,bool,string)"},{"id":47040,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47027,"src":"32385:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47041,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47029,"src":"32389:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47042,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47031,"src":"32393:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47043,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47033,"src":"32397:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68","typeString":"literal_string \"log(string,uint,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47037,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32329:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32333:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32329:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32329:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47036,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"32313:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32313:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47046,"nodeType":"ExpressionStatement","src":"32313:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32231:3:63","parameters":{"id":47034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47027,"mutability":"mutable","name":"p0","nameLocation":"32249:2:63","nodeType":"VariableDeclaration","scope":47048,"src":"32235:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47026,"name":"string","nodeType":"ElementaryTypeName","src":"32235:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47029,"mutability":"mutable","name":"p1","nameLocation":"32258:2:63","nodeType":"VariableDeclaration","scope":47048,"src":"32253:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47028,"name":"uint","nodeType":"ElementaryTypeName","src":"32253:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47031,"mutability":"mutable","name":"p2","nameLocation":"32267:2:63","nodeType":"VariableDeclaration","scope":47048,"src":"32262:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47030,"name":"bool","nodeType":"ElementaryTypeName","src":"32262:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47033,"mutability":"mutable","name":"p3","nameLocation":"32285:2:63","nodeType":"VariableDeclaration","scope":47048,"src":"32271:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47032,"name":"string","nodeType":"ElementaryTypeName","src":"32271:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32234:54:63"},"returnParameters":{"id":47035,"nodeType":"ParameterList","parameters":[],"src":"32303:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47071,"nodeType":"FunctionDefinition","src":"32414:175:63","nodes":[],"body":{"id":47070,"nodeType":"Block","src":"32486:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29","id":47062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32536:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},"value":"log(string,uint,bool,bool)"},{"id":47063,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47050,"src":"32566:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47064,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47052,"src":"32570:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47065,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47054,"src":"32574:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47066,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47056,"src":"32578:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f","typeString":"literal_string \"log(string,uint,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47060,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32512:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32516:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32512:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32512:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47059,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"32496:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32496:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47069,"nodeType":"ExpressionStatement","src":"32496:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32423:3:63","parameters":{"id":47057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47050,"mutability":"mutable","name":"p0","nameLocation":"32441:2:63","nodeType":"VariableDeclaration","scope":47071,"src":"32427:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47049,"name":"string","nodeType":"ElementaryTypeName","src":"32427:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47052,"mutability":"mutable","name":"p1","nameLocation":"32450:2:63","nodeType":"VariableDeclaration","scope":47071,"src":"32445:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47051,"name":"uint","nodeType":"ElementaryTypeName","src":"32445:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47054,"mutability":"mutable","name":"p2","nameLocation":"32459:2:63","nodeType":"VariableDeclaration","scope":47071,"src":"32454:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47053,"name":"bool","nodeType":"ElementaryTypeName","src":"32454:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47056,"mutability":"mutable","name":"p3","nameLocation":"32468:2:63","nodeType":"VariableDeclaration","scope":47071,"src":"32463:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47055,"name":"bool","nodeType":"ElementaryTypeName","src":"32463:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32426:45:63"},"returnParameters":{"id":47058,"nodeType":"ParameterList","parameters":[],"src":"32486:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47094,"nodeType":"FunctionDefinition","src":"32595:181:63","nodes":[],"body":{"id":47093,"nodeType":"Block","src":"32670:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329","id":47085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32720:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},"value":"log(string,uint,bool,address)"},{"id":47086,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47073,"src":"32753:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47087,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47075,"src":"32757:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47088,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47077,"src":"32761:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47089,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47079,"src":"32765:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539","typeString":"literal_string \"log(string,uint,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32696:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32700:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32696:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32696:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47082,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"32680:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32680:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47092,"nodeType":"ExpressionStatement","src":"32680:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32604:3:63","parameters":{"id":47080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47073,"mutability":"mutable","name":"p0","nameLocation":"32622:2:63","nodeType":"VariableDeclaration","scope":47094,"src":"32608:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47072,"name":"string","nodeType":"ElementaryTypeName","src":"32608:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47075,"mutability":"mutable","name":"p1","nameLocation":"32631:2:63","nodeType":"VariableDeclaration","scope":47094,"src":"32626:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47074,"name":"uint","nodeType":"ElementaryTypeName","src":"32626:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47077,"mutability":"mutable","name":"p2","nameLocation":"32640:2:63","nodeType":"VariableDeclaration","scope":47094,"src":"32635:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47076,"name":"bool","nodeType":"ElementaryTypeName","src":"32635:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47079,"mutability":"mutable","name":"p3","nameLocation":"32652:2:63","nodeType":"VariableDeclaration","scope":47094,"src":"32644:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47078,"name":"address","nodeType":"ElementaryTypeName","src":"32644:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32607:48:63"},"returnParameters":{"id":47081,"nodeType":"ParameterList","parameters":[],"src":"32670:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47117,"nodeType":"FunctionDefinition","src":"32782:181:63","nodes":[],"body":{"id":47116,"nodeType":"Block","src":"32857:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c75696e7429","id":47108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32907:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},"value":"log(string,uint,address,uint)"},{"id":47109,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47096,"src":"32940:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47110,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47098,"src":"32944:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47111,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47100,"src":"32948:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47112,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47102,"src":"32952:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75","typeString":"literal_string \"log(string,uint,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47106,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32883:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32887:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32883:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32883:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"32867:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32867:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47115,"nodeType":"ExpressionStatement","src":"32867:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32791:3:63","parameters":{"id":47103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47096,"mutability":"mutable","name":"p0","nameLocation":"32809:2:63","nodeType":"VariableDeclaration","scope":47117,"src":"32795:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47095,"name":"string","nodeType":"ElementaryTypeName","src":"32795:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47098,"mutability":"mutable","name":"p1","nameLocation":"32818:2:63","nodeType":"VariableDeclaration","scope":47117,"src":"32813:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47097,"name":"uint","nodeType":"ElementaryTypeName","src":"32813:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47100,"mutability":"mutable","name":"p2","nameLocation":"32830:2:63","nodeType":"VariableDeclaration","scope":47117,"src":"32822:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47099,"name":"address","nodeType":"ElementaryTypeName","src":"32822:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47102,"mutability":"mutable","name":"p3","nameLocation":"32839:2:63","nodeType":"VariableDeclaration","scope":47117,"src":"32834:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47101,"name":"uint","nodeType":"ElementaryTypeName","src":"32834:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32794:48:63"},"returnParameters":{"id":47104,"nodeType":"ParameterList","parameters":[],"src":"32857:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47140,"nodeType":"FunctionDefinition","src":"32969:192:63","nodes":[],"body":{"id":47139,"nodeType":"Block","src":"33053:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c737472696e6729","id":47131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33103:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},"value":"log(string,uint,address,string)"},{"id":47132,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47119,"src":"33138:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47133,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47121,"src":"33142:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47134,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47123,"src":"33146:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47135,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47125,"src":"33150:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0","typeString":"literal_string \"log(string,uint,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33079:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33083:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33079:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33079:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47128,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"33063:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33063:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47138,"nodeType":"ExpressionStatement","src":"33063:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32978:3:63","parameters":{"id":47126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47119,"mutability":"mutable","name":"p0","nameLocation":"32996:2:63","nodeType":"VariableDeclaration","scope":47140,"src":"32982:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47118,"name":"string","nodeType":"ElementaryTypeName","src":"32982:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47121,"mutability":"mutable","name":"p1","nameLocation":"33005:2:63","nodeType":"VariableDeclaration","scope":47140,"src":"33000:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47120,"name":"uint","nodeType":"ElementaryTypeName","src":"33000:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47123,"mutability":"mutable","name":"p2","nameLocation":"33017:2:63","nodeType":"VariableDeclaration","scope":47140,"src":"33009:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47122,"name":"address","nodeType":"ElementaryTypeName","src":"33009:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47125,"mutability":"mutable","name":"p3","nameLocation":"33035:2:63","nodeType":"VariableDeclaration","scope":47140,"src":"33021:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47124,"name":"string","nodeType":"ElementaryTypeName","src":"33021:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32981:57:63"},"returnParameters":{"id":47127,"nodeType":"ParameterList","parameters":[],"src":"33053:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47163,"nodeType":"FunctionDefinition","src":"33167:181:63","nodes":[],"body":{"id":47162,"nodeType":"Block","src":"33242:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29","id":47154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33292:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},"value":"log(string,uint,address,bool)"},{"id":47155,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47142,"src":"33325:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47156,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47144,"src":"33329:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47157,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47146,"src":"33333:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47158,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47148,"src":"33337:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10","typeString":"literal_string \"log(string,uint,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33268:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33272:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33268:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33268:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47151,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"33252:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33252:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47161,"nodeType":"ExpressionStatement","src":"33252:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33176:3:63","parameters":{"id":47149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47142,"mutability":"mutable","name":"p0","nameLocation":"33194:2:63","nodeType":"VariableDeclaration","scope":47163,"src":"33180:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47141,"name":"string","nodeType":"ElementaryTypeName","src":"33180:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47144,"mutability":"mutable","name":"p1","nameLocation":"33203:2:63","nodeType":"VariableDeclaration","scope":47163,"src":"33198:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47143,"name":"uint","nodeType":"ElementaryTypeName","src":"33198:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47146,"mutability":"mutable","name":"p2","nameLocation":"33215:2:63","nodeType":"VariableDeclaration","scope":47163,"src":"33207:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47145,"name":"address","nodeType":"ElementaryTypeName","src":"33207:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47148,"mutability":"mutable","name":"p3","nameLocation":"33224:2:63","nodeType":"VariableDeclaration","scope":47163,"src":"33219:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47147,"name":"bool","nodeType":"ElementaryTypeName","src":"33219:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33179:48:63"},"returnParameters":{"id":47150,"nodeType":"ParameterList","parameters":[],"src":"33242:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47186,"nodeType":"FunctionDefinition","src":"33354:187:63","nodes":[],"body":{"id":47185,"nodeType":"Block","src":"33432:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e742c616464726573732c6164647265737329","id":47177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33482:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},"value":"log(string,uint,address,address)"},{"id":47178,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47165,"src":"33518:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47179,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47167,"src":"33522:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47180,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47169,"src":"33526:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47181,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47171,"src":"33530:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381","typeString":"literal_string \"log(string,uint,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33458:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33462:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33458:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33458:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"33442:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33442:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47184,"nodeType":"ExpressionStatement","src":"33442:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33363:3:63","parameters":{"id":47172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47165,"mutability":"mutable","name":"p0","nameLocation":"33381:2:63","nodeType":"VariableDeclaration","scope":47186,"src":"33367:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47164,"name":"string","nodeType":"ElementaryTypeName","src":"33367:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47167,"mutability":"mutable","name":"p1","nameLocation":"33390:2:63","nodeType":"VariableDeclaration","scope":47186,"src":"33385:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47166,"name":"uint","nodeType":"ElementaryTypeName","src":"33385:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47169,"mutability":"mutable","name":"p2","nameLocation":"33402:2:63","nodeType":"VariableDeclaration","scope":47186,"src":"33394:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47168,"name":"address","nodeType":"ElementaryTypeName","src":"33394:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47171,"mutability":"mutable","name":"p3","nameLocation":"33414:2:63","nodeType":"VariableDeclaration","scope":47186,"src":"33406:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47170,"name":"address","nodeType":"ElementaryTypeName","src":"33406:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33366:51:63"},"returnParameters":{"id":47173,"nodeType":"ParameterList","parameters":[],"src":"33432:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47209,"nodeType":"FunctionDefinition","src":"33547:186:63","nodes":[],"body":{"id":47208,"nodeType":"Block","src":"33628:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c75696e7429","id":47200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33678:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},"value":"log(string,string,uint,uint)"},{"id":47201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47188,"src":"33710:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47190,"src":"33714:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47192,"src":"33718:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47204,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47194,"src":"33722:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926","typeString":"literal_string \"log(string,string,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33654:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33658:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33654:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33654:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"33638:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33638:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47207,"nodeType":"ExpressionStatement","src":"33638:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33556:3:63","parameters":{"id":47195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47188,"mutability":"mutable","name":"p0","nameLocation":"33574:2:63","nodeType":"VariableDeclaration","scope":47209,"src":"33560:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47187,"name":"string","nodeType":"ElementaryTypeName","src":"33560:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47190,"mutability":"mutable","name":"p1","nameLocation":"33592:2:63","nodeType":"VariableDeclaration","scope":47209,"src":"33578:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47189,"name":"string","nodeType":"ElementaryTypeName","src":"33578:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47192,"mutability":"mutable","name":"p2","nameLocation":"33601:2:63","nodeType":"VariableDeclaration","scope":47209,"src":"33596:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47191,"name":"uint","nodeType":"ElementaryTypeName","src":"33596:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47194,"mutability":"mutable","name":"p3","nameLocation":"33610:2:63","nodeType":"VariableDeclaration","scope":47209,"src":"33605:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47193,"name":"uint","nodeType":"ElementaryTypeName","src":"33605:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33559:54:63"},"returnParameters":{"id":47196,"nodeType":"ParameterList","parameters":[],"src":"33628:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47232,"nodeType":"FunctionDefinition","src":"33739:197:63","nodes":[],"body":{"id":47231,"nodeType":"Block","src":"33829:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c737472696e6729","id":47223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33879:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},"value":"log(string,string,uint,string)"},{"id":47224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47211,"src":"33913:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47213,"src":"33917:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47215,"src":"33921:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47227,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47217,"src":"33925:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a","typeString":"literal_string \"log(string,string,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33855:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33859:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33855:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33855:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"33839:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33839:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47230,"nodeType":"ExpressionStatement","src":"33839:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33748:3:63","parameters":{"id":47218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47211,"mutability":"mutable","name":"p0","nameLocation":"33766:2:63","nodeType":"VariableDeclaration","scope":47232,"src":"33752:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47210,"name":"string","nodeType":"ElementaryTypeName","src":"33752:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47213,"mutability":"mutable","name":"p1","nameLocation":"33784:2:63","nodeType":"VariableDeclaration","scope":47232,"src":"33770:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47212,"name":"string","nodeType":"ElementaryTypeName","src":"33770:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47215,"mutability":"mutable","name":"p2","nameLocation":"33793:2:63","nodeType":"VariableDeclaration","scope":47232,"src":"33788:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47214,"name":"uint","nodeType":"ElementaryTypeName","src":"33788:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47217,"mutability":"mutable","name":"p3","nameLocation":"33811:2:63","nodeType":"VariableDeclaration","scope":47232,"src":"33797:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47216,"name":"string","nodeType":"ElementaryTypeName","src":"33797:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33751:63:63"},"returnParameters":{"id":47219,"nodeType":"ParameterList","parameters":[],"src":"33829:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47255,"nodeType":"FunctionDefinition","src":"33942:186:63","nodes":[],"body":{"id":47254,"nodeType":"Block","src":"34023:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29","id":47246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34073:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},"value":"log(string,string,uint,bool)"},{"id":47247,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47234,"src":"34105:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47248,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47236,"src":"34109:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47249,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47238,"src":"34113:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47250,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47240,"src":"34117:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b","typeString":"literal_string \"log(string,string,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47244,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34049:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34053:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34049:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34049:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47243,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"34033:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34033:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47253,"nodeType":"ExpressionStatement","src":"34033:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33951:3:63","parameters":{"id":47241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47234,"mutability":"mutable","name":"p0","nameLocation":"33969:2:63","nodeType":"VariableDeclaration","scope":47255,"src":"33955:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47233,"name":"string","nodeType":"ElementaryTypeName","src":"33955:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47236,"mutability":"mutable","name":"p1","nameLocation":"33987:2:63","nodeType":"VariableDeclaration","scope":47255,"src":"33973:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47235,"name":"string","nodeType":"ElementaryTypeName","src":"33973:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47238,"mutability":"mutable","name":"p2","nameLocation":"33996:2:63","nodeType":"VariableDeclaration","scope":47255,"src":"33991:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47237,"name":"uint","nodeType":"ElementaryTypeName","src":"33991:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47240,"mutability":"mutable","name":"p3","nameLocation":"34005:2:63","nodeType":"VariableDeclaration","scope":47255,"src":"34000:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47239,"name":"bool","nodeType":"ElementaryTypeName","src":"34000:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33954:54:63"},"returnParameters":{"id":47242,"nodeType":"ParameterList","parameters":[],"src":"34023:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47278,"nodeType":"FunctionDefinition","src":"34134:192:63","nodes":[],"body":{"id":47277,"nodeType":"Block","src":"34218:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e742c6164647265737329","id":47269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34268:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},"value":"log(string,string,uint,address)"},{"id":47270,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47257,"src":"34303:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47271,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47259,"src":"34307:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47272,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47261,"src":"34311:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47273,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47263,"src":"34315:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128","typeString":"literal_string \"log(string,string,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47267,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34244:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34248:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34244:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34244:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47266,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"34228:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34228:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47276,"nodeType":"ExpressionStatement","src":"34228:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34143:3:63","parameters":{"id":47264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47257,"mutability":"mutable","name":"p0","nameLocation":"34161:2:63","nodeType":"VariableDeclaration","scope":47278,"src":"34147:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47256,"name":"string","nodeType":"ElementaryTypeName","src":"34147:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47259,"mutability":"mutable","name":"p1","nameLocation":"34179:2:63","nodeType":"VariableDeclaration","scope":47278,"src":"34165:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47258,"name":"string","nodeType":"ElementaryTypeName","src":"34165:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47261,"mutability":"mutable","name":"p2","nameLocation":"34188:2:63","nodeType":"VariableDeclaration","scope":47278,"src":"34183:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47260,"name":"uint","nodeType":"ElementaryTypeName","src":"34183:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47263,"mutability":"mutable","name":"p3","nameLocation":"34200:2:63","nodeType":"VariableDeclaration","scope":47278,"src":"34192:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47262,"name":"address","nodeType":"ElementaryTypeName","src":"34192:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34146:57:63"},"returnParameters":{"id":47265,"nodeType":"ParameterList","parameters":[],"src":"34218:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47301,"nodeType":"FunctionDefinition","src":"34332:197:63","nodes":[],"body":{"id":47300,"nodeType":"Block","src":"34422:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7429","id":47292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34472:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},"value":"log(string,string,string,uint)"},{"id":47293,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47280,"src":"34506:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47294,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47282,"src":"34510:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47295,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47284,"src":"34514:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47296,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47286,"src":"34518:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f","typeString":"literal_string \"log(string,string,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47290,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34448:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34452:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34448:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34448:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47289,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"34432:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34432:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47299,"nodeType":"ExpressionStatement","src":"34432:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34341:3:63","parameters":{"id":47287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47280,"mutability":"mutable","name":"p0","nameLocation":"34359:2:63","nodeType":"VariableDeclaration","scope":47301,"src":"34345:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47279,"name":"string","nodeType":"ElementaryTypeName","src":"34345:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47282,"mutability":"mutable","name":"p1","nameLocation":"34377:2:63","nodeType":"VariableDeclaration","scope":47301,"src":"34363:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47281,"name":"string","nodeType":"ElementaryTypeName","src":"34363:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47284,"mutability":"mutable","name":"p2","nameLocation":"34395:2:63","nodeType":"VariableDeclaration","scope":47301,"src":"34381:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47283,"name":"string","nodeType":"ElementaryTypeName","src":"34381:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47286,"mutability":"mutable","name":"p3","nameLocation":"34404:2:63","nodeType":"VariableDeclaration","scope":47301,"src":"34399:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47285,"name":"uint","nodeType":"ElementaryTypeName","src":"34399:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34344:63:63"},"returnParameters":{"id":47288,"nodeType":"ParameterList","parameters":[],"src":"34422:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47324,"nodeType":"FunctionDefinition","src":"34535:208:63","nodes":[],"body":{"id":47323,"nodeType":"Block","src":"34634:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":47315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34684:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":47316,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47303,"src":"34720:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47317,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47305,"src":"34724:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47318,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47307,"src":"34728:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47319,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47309,"src":"34732:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47313,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34660:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34664:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34660:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34660:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47312,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"34644:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34644:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47322,"nodeType":"ExpressionStatement","src":"34644:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34544:3:63","parameters":{"id":47310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47303,"mutability":"mutable","name":"p0","nameLocation":"34562:2:63","nodeType":"VariableDeclaration","scope":47324,"src":"34548:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47302,"name":"string","nodeType":"ElementaryTypeName","src":"34548:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47305,"mutability":"mutable","name":"p1","nameLocation":"34580:2:63","nodeType":"VariableDeclaration","scope":47324,"src":"34566:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47304,"name":"string","nodeType":"ElementaryTypeName","src":"34566:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47307,"mutability":"mutable","name":"p2","nameLocation":"34598:2:63","nodeType":"VariableDeclaration","scope":47324,"src":"34584:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47306,"name":"string","nodeType":"ElementaryTypeName","src":"34584:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47309,"mutability":"mutable","name":"p3","nameLocation":"34616:2:63","nodeType":"VariableDeclaration","scope":47324,"src":"34602:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47308,"name":"string","nodeType":"ElementaryTypeName","src":"34602:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34547:72:63"},"returnParameters":{"id":47311,"nodeType":"ParameterList","parameters":[],"src":"34634:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47347,"nodeType":"FunctionDefinition","src":"34749:197:63","nodes":[],"body":{"id":47346,"nodeType":"Block","src":"34839:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":47338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34889:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":47339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47326,"src":"34923:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47328,"src":"34927:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47330,"src":"34931:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47342,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47332,"src":"34935:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34865:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34869:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34865:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34865:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"34849:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34849:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47345,"nodeType":"ExpressionStatement","src":"34849:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34758:3:63","parameters":{"id":47333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47326,"mutability":"mutable","name":"p0","nameLocation":"34776:2:63","nodeType":"VariableDeclaration","scope":47347,"src":"34762:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47325,"name":"string","nodeType":"ElementaryTypeName","src":"34762:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47328,"mutability":"mutable","name":"p1","nameLocation":"34794:2:63","nodeType":"VariableDeclaration","scope":47347,"src":"34780:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47327,"name":"string","nodeType":"ElementaryTypeName","src":"34780:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47330,"mutability":"mutable","name":"p2","nameLocation":"34812:2:63","nodeType":"VariableDeclaration","scope":47347,"src":"34798:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47329,"name":"string","nodeType":"ElementaryTypeName","src":"34798:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47332,"mutability":"mutable","name":"p3","nameLocation":"34821:2:63","nodeType":"VariableDeclaration","scope":47347,"src":"34816:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47331,"name":"bool","nodeType":"ElementaryTypeName","src":"34816:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34761:63:63"},"returnParameters":{"id":47334,"nodeType":"ParameterList","parameters":[],"src":"34839:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47370,"nodeType":"FunctionDefinition","src":"34952:203:63","nodes":[],"body":{"id":47369,"nodeType":"Block","src":"35045:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":47361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35095:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":47362,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47349,"src":"35132:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47363,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47351,"src":"35136:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47364,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47353,"src":"35140:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47365,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47355,"src":"35144:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47359,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35071:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35075:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35071:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35071:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47358,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"35055:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35055:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47368,"nodeType":"ExpressionStatement","src":"35055:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34961:3:63","parameters":{"id":47356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47349,"mutability":"mutable","name":"p0","nameLocation":"34979:2:63","nodeType":"VariableDeclaration","scope":47370,"src":"34965:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47348,"name":"string","nodeType":"ElementaryTypeName","src":"34965:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47351,"mutability":"mutable","name":"p1","nameLocation":"34997:2:63","nodeType":"VariableDeclaration","scope":47370,"src":"34983:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47350,"name":"string","nodeType":"ElementaryTypeName","src":"34983:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47353,"mutability":"mutable","name":"p2","nameLocation":"35015:2:63","nodeType":"VariableDeclaration","scope":47370,"src":"35001:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47352,"name":"string","nodeType":"ElementaryTypeName","src":"35001:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47355,"mutability":"mutable","name":"p3","nameLocation":"35027:2:63","nodeType":"VariableDeclaration","scope":47370,"src":"35019:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47354,"name":"address","nodeType":"ElementaryTypeName","src":"35019:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34964:66:63"},"returnParameters":{"id":47357,"nodeType":"ParameterList","parameters":[],"src":"35045:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47393,"nodeType":"FunctionDefinition","src":"35161:186:63","nodes":[],"body":{"id":47392,"nodeType":"Block","src":"35242:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429","id":47384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35292:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},"value":"log(string,string,bool,uint)"},{"id":47385,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47372,"src":"35324:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47386,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47374,"src":"35328:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47387,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47376,"src":"35332:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47388,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47378,"src":"35336:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1","typeString":"literal_string \"log(string,string,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35268:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35272:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35268:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35268:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"35252:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35252:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47391,"nodeType":"ExpressionStatement","src":"35252:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35170:3:63","parameters":{"id":47379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47372,"mutability":"mutable","name":"p0","nameLocation":"35188:2:63","nodeType":"VariableDeclaration","scope":47393,"src":"35174:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47371,"name":"string","nodeType":"ElementaryTypeName","src":"35174:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47374,"mutability":"mutable","name":"p1","nameLocation":"35206:2:63","nodeType":"VariableDeclaration","scope":47393,"src":"35192:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47373,"name":"string","nodeType":"ElementaryTypeName","src":"35192:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47376,"mutability":"mutable","name":"p2","nameLocation":"35215:2:63","nodeType":"VariableDeclaration","scope":47393,"src":"35210:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47375,"name":"bool","nodeType":"ElementaryTypeName","src":"35210:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47378,"mutability":"mutable","name":"p3","nameLocation":"35224:2:63","nodeType":"VariableDeclaration","scope":47393,"src":"35219:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47377,"name":"uint","nodeType":"ElementaryTypeName","src":"35219:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35173:54:63"},"returnParameters":{"id":47380,"nodeType":"ParameterList","parameters":[],"src":"35242:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47416,"nodeType":"FunctionDefinition","src":"35353:197:63","nodes":[],"body":{"id":47415,"nodeType":"Block","src":"35443:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":47407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35493:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":47408,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47395,"src":"35527:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47409,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47397,"src":"35531:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47410,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47399,"src":"35535:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47411,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47401,"src":"35539:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35469:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35473:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35469:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35469:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47404,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"35453:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35453:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47414,"nodeType":"ExpressionStatement","src":"35453:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35362:3:63","parameters":{"id":47402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47395,"mutability":"mutable","name":"p0","nameLocation":"35380:2:63","nodeType":"VariableDeclaration","scope":47416,"src":"35366:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47394,"name":"string","nodeType":"ElementaryTypeName","src":"35366:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47397,"mutability":"mutable","name":"p1","nameLocation":"35398:2:63","nodeType":"VariableDeclaration","scope":47416,"src":"35384:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47396,"name":"string","nodeType":"ElementaryTypeName","src":"35384:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47399,"mutability":"mutable","name":"p2","nameLocation":"35407:2:63","nodeType":"VariableDeclaration","scope":47416,"src":"35402:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47398,"name":"bool","nodeType":"ElementaryTypeName","src":"35402:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47401,"mutability":"mutable","name":"p3","nameLocation":"35425:2:63","nodeType":"VariableDeclaration","scope":47416,"src":"35411:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47400,"name":"string","nodeType":"ElementaryTypeName","src":"35411:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35365:63:63"},"returnParameters":{"id":47403,"nodeType":"ParameterList","parameters":[],"src":"35443:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47439,"nodeType":"FunctionDefinition","src":"35556:186:63","nodes":[],"body":{"id":47438,"nodeType":"Block","src":"35637:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":47430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35687:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":47431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47418,"src":"35719:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47432,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47420,"src":"35723:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47433,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47422,"src":"35727:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47434,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47424,"src":"35731:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35663:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35667:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35663:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35663:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"35647:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35647:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47437,"nodeType":"ExpressionStatement","src":"35647:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35565:3:63","parameters":{"id":47425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47418,"mutability":"mutable","name":"p0","nameLocation":"35583:2:63","nodeType":"VariableDeclaration","scope":47439,"src":"35569:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47417,"name":"string","nodeType":"ElementaryTypeName","src":"35569:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47420,"mutability":"mutable","name":"p1","nameLocation":"35601:2:63","nodeType":"VariableDeclaration","scope":47439,"src":"35587:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47419,"name":"string","nodeType":"ElementaryTypeName","src":"35587:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47422,"mutability":"mutable","name":"p2","nameLocation":"35610:2:63","nodeType":"VariableDeclaration","scope":47439,"src":"35605:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47421,"name":"bool","nodeType":"ElementaryTypeName","src":"35605:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47424,"mutability":"mutable","name":"p3","nameLocation":"35619:2:63","nodeType":"VariableDeclaration","scope":47439,"src":"35614:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47423,"name":"bool","nodeType":"ElementaryTypeName","src":"35614:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35568:54:63"},"returnParameters":{"id":47426,"nodeType":"ParameterList","parameters":[],"src":"35637:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47462,"nodeType":"FunctionDefinition","src":"35748:192:63","nodes":[],"body":{"id":47461,"nodeType":"Block","src":"35832:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":47453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35882:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":47454,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47441,"src":"35917:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47455,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47443,"src":"35921:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47456,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47445,"src":"35925:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47457,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47447,"src":"35929:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35858:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35862:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35858:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35858:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47450,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"35842:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35842:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47460,"nodeType":"ExpressionStatement","src":"35842:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35757:3:63","parameters":{"id":47448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47441,"mutability":"mutable","name":"p0","nameLocation":"35775:2:63","nodeType":"VariableDeclaration","scope":47462,"src":"35761:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47440,"name":"string","nodeType":"ElementaryTypeName","src":"35761:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47443,"mutability":"mutable","name":"p1","nameLocation":"35793:2:63","nodeType":"VariableDeclaration","scope":47462,"src":"35779:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47442,"name":"string","nodeType":"ElementaryTypeName","src":"35779:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47445,"mutability":"mutable","name":"p2","nameLocation":"35802:2:63","nodeType":"VariableDeclaration","scope":47462,"src":"35797:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47444,"name":"bool","nodeType":"ElementaryTypeName","src":"35797:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47447,"mutability":"mutable","name":"p3","nameLocation":"35814:2:63","nodeType":"VariableDeclaration","scope":47462,"src":"35806:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47446,"name":"address","nodeType":"ElementaryTypeName","src":"35806:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35760:57:63"},"returnParameters":{"id":47449,"nodeType":"ParameterList","parameters":[],"src":"35832:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47485,"nodeType":"FunctionDefinition","src":"35946:192:63","nodes":[],"body":{"id":47484,"nodeType":"Block","src":"36030:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7429","id":47476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36080:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},"value":"log(string,string,address,uint)"},{"id":47477,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47464,"src":"36115:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47478,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47466,"src":"36119:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47479,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47468,"src":"36123:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47480,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47470,"src":"36127:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2","typeString":"literal_string \"log(string,string,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36056:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36060:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36056:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36056:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47473,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"36040:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36040:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47483,"nodeType":"ExpressionStatement","src":"36040:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35955:3:63","parameters":{"id":47471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47464,"mutability":"mutable","name":"p0","nameLocation":"35973:2:63","nodeType":"VariableDeclaration","scope":47485,"src":"35959:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47463,"name":"string","nodeType":"ElementaryTypeName","src":"35959:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47466,"mutability":"mutable","name":"p1","nameLocation":"35991:2:63","nodeType":"VariableDeclaration","scope":47485,"src":"35977:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47465,"name":"string","nodeType":"ElementaryTypeName","src":"35977:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47468,"mutability":"mutable","name":"p2","nameLocation":"36003:2:63","nodeType":"VariableDeclaration","scope":47485,"src":"35995:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47467,"name":"address","nodeType":"ElementaryTypeName","src":"35995:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47470,"mutability":"mutable","name":"p3","nameLocation":"36012:2:63","nodeType":"VariableDeclaration","scope":47485,"src":"36007:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47469,"name":"uint","nodeType":"ElementaryTypeName","src":"36007:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35958:57:63"},"returnParameters":{"id":47472,"nodeType":"ParameterList","parameters":[],"src":"36030:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47508,"nodeType":"FunctionDefinition","src":"36144:203:63","nodes":[],"body":{"id":47507,"nodeType":"Block","src":"36237:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":47499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36287:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":47500,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47487,"src":"36324:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47501,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47489,"src":"36328:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47502,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47491,"src":"36332:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47503,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47493,"src":"36336:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36263:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36267:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36263:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36263:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47496,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"36247:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36247:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47506,"nodeType":"ExpressionStatement","src":"36247:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36153:3:63","parameters":{"id":47494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47487,"mutability":"mutable","name":"p0","nameLocation":"36171:2:63","nodeType":"VariableDeclaration","scope":47508,"src":"36157:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47486,"name":"string","nodeType":"ElementaryTypeName","src":"36157:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47489,"mutability":"mutable","name":"p1","nameLocation":"36189:2:63","nodeType":"VariableDeclaration","scope":47508,"src":"36175:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47488,"name":"string","nodeType":"ElementaryTypeName","src":"36175:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47491,"mutability":"mutable","name":"p2","nameLocation":"36201:2:63","nodeType":"VariableDeclaration","scope":47508,"src":"36193:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47490,"name":"address","nodeType":"ElementaryTypeName","src":"36193:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47493,"mutability":"mutable","name":"p3","nameLocation":"36219:2:63","nodeType":"VariableDeclaration","scope":47508,"src":"36205:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47492,"name":"string","nodeType":"ElementaryTypeName","src":"36205:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36156:66:63"},"returnParameters":{"id":47495,"nodeType":"ParameterList","parameters":[],"src":"36237:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47531,"nodeType":"FunctionDefinition","src":"36353:192:63","nodes":[],"body":{"id":47530,"nodeType":"Block","src":"36437:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":47522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36487:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":47523,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47510,"src":"36522:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47524,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47512,"src":"36526:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47525,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47514,"src":"36530:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47526,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47516,"src":"36534:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36463:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36467:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36463:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36463:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"36447:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36447:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47529,"nodeType":"ExpressionStatement","src":"36447:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36362:3:63","parameters":{"id":47517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47510,"mutability":"mutable","name":"p0","nameLocation":"36380:2:63","nodeType":"VariableDeclaration","scope":47531,"src":"36366:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47509,"name":"string","nodeType":"ElementaryTypeName","src":"36366:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47512,"mutability":"mutable","name":"p1","nameLocation":"36398:2:63","nodeType":"VariableDeclaration","scope":47531,"src":"36384:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47511,"name":"string","nodeType":"ElementaryTypeName","src":"36384:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47514,"mutability":"mutable","name":"p2","nameLocation":"36410:2:63","nodeType":"VariableDeclaration","scope":47531,"src":"36402:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47513,"name":"address","nodeType":"ElementaryTypeName","src":"36402:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47516,"mutability":"mutable","name":"p3","nameLocation":"36419:2:63","nodeType":"VariableDeclaration","scope":47531,"src":"36414:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47515,"name":"bool","nodeType":"ElementaryTypeName","src":"36414:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36365:57:63"},"returnParameters":{"id":47518,"nodeType":"ParameterList","parameters":[],"src":"36437:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47554,"nodeType":"FunctionDefinition","src":"36551:198:63","nodes":[],"body":{"id":47553,"nodeType":"Block","src":"36638:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":47545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36688:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":47546,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47533,"src":"36726:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47547,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47535,"src":"36730:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47548,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47537,"src":"36734:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47549,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47539,"src":"36738:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47543,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36664:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36668:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36664:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36664:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47542,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"36648:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36648:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47552,"nodeType":"ExpressionStatement","src":"36648:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36560:3:63","parameters":{"id":47540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47533,"mutability":"mutable","name":"p0","nameLocation":"36578:2:63","nodeType":"VariableDeclaration","scope":47554,"src":"36564:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47532,"name":"string","nodeType":"ElementaryTypeName","src":"36564:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47535,"mutability":"mutable","name":"p1","nameLocation":"36596:2:63","nodeType":"VariableDeclaration","scope":47554,"src":"36582:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47534,"name":"string","nodeType":"ElementaryTypeName","src":"36582:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47537,"mutability":"mutable","name":"p2","nameLocation":"36608:2:63","nodeType":"VariableDeclaration","scope":47554,"src":"36600:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47536,"name":"address","nodeType":"ElementaryTypeName","src":"36600:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47539,"mutability":"mutable","name":"p3","nameLocation":"36620:2:63","nodeType":"VariableDeclaration","scope":47554,"src":"36612:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47538,"name":"address","nodeType":"ElementaryTypeName","src":"36612:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36563:60:63"},"returnParameters":{"id":47541,"nodeType":"ParameterList","parameters":[],"src":"36638:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47577,"nodeType":"FunctionDefinition","src":"36755:175:63","nodes":[],"body":{"id":47576,"nodeType":"Block","src":"36827:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429","id":47568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36877:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},"value":"log(string,bool,uint,uint)"},{"id":47569,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47556,"src":"36907:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47570,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47558,"src":"36911:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47571,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47560,"src":"36915:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47572,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47562,"src":"36919:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701","typeString":"literal_string \"log(string,bool,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47566,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36853:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36857:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36853:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36853:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47565,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"36837:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36837:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47575,"nodeType":"ExpressionStatement","src":"36837:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36764:3:63","parameters":{"id":47563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47556,"mutability":"mutable","name":"p0","nameLocation":"36782:2:63","nodeType":"VariableDeclaration","scope":47577,"src":"36768:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47555,"name":"string","nodeType":"ElementaryTypeName","src":"36768:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47558,"mutability":"mutable","name":"p1","nameLocation":"36791:2:63","nodeType":"VariableDeclaration","scope":47577,"src":"36786:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47557,"name":"bool","nodeType":"ElementaryTypeName","src":"36786:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47560,"mutability":"mutable","name":"p2","nameLocation":"36800:2:63","nodeType":"VariableDeclaration","scope":47577,"src":"36795:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47559,"name":"uint","nodeType":"ElementaryTypeName","src":"36795:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47562,"mutability":"mutable","name":"p3","nameLocation":"36809:2:63","nodeType":"VariableDeclaration","scope":47577,"src":"36804:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47561,"name":"uint","nodeType":"ElementaryTypeName","src":"36804:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36767:45:63"},"returnParameters":{"id":47564,"nodeType":"ParameterList","parameters":[],"src":"36827:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47600,"nodeType":"FunctionDefinition","src":"36936:186:63","nodes":[],"body":{"id":47599,"nodeType":"Block","src":"37017:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729","id":47591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37067:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},"value":"log(string,bool,uint,string)"},{"id":47592,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47579,"src":"37099:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47593,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47581,"src":"37103:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47594,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47583,"src":"37107:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47595,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47585,"src":"37111:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee","typeString":"literal_string \"log(string,bool,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47589,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37043:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37047:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37043:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37043:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47588,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37027:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37027:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47598,"nodeType":"ExpressionStatement","src":"37027:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36945:3:63","parameters":{"id":47586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47579,"mutability":"mutable","name":"p0","nameLocation":"36963:2:63","nodeType":"VariableDeclaration","scope":47600,"src":"36949:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47578,"name":"string","nodeType":"ElementaryTypeName","src":"36949:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47581,"mutability":"mutable","name":"p1","nameLocation":"36972:2:63","nodeType":"VariableDeclaration","scope":47600,"src":"36967:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47580,"name":"bool","nodeType":"ElementaryTypeName","src":"36967:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47583,"mutability":"mutable","name":"p2","nameLocation":"36981:2:63","nodeType":"VariableDeclaration","scope":47600,"src":"36976:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47582,"name":"uint","nodeType":"ElementaryTypeName","src":"36976:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47585,"mutability":"mutable","name":"p3","nameLocation":"36999:2:63","nodeType":"VariableDeclaration","scope":47600,"src":"36985:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47584,"name":"string","nodeType":"ElementaryTypeName","src":"36985:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36948:54:63"},"returnParameters":{"id":47587,"nodeType":"ParameterList","parameters":[],"src":"37017:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47623,"nodeType":"FunctionDefinition","src":"37128:175:63","nodes":[],"body":{"id":47622,"nodeType":"Block","src":"37200:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29","id":47614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37250:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},"value":"log(string,bool,uint,bool)"},{"id":47615,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47602,"src":"37280:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47616,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47604,"src":"37284:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47617,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47606,"src":"37288:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47618,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47608,"src":"37292:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb","typeString":"literal_string \"log(string,bool,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37226:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37230:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37226:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37226:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47611,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37210:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37210:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47621,"nodeType":"ExpressionStatement","src":"37210:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37137:3:63","parameters":{"id":47609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47602,"mutability":"mutable","name":"p0","nameLocation":"37155:2:63","nodeType":"VariableDeclaration","scope":47623,"src":"37141:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47601,"name":"string","nodeType":"ElementaryTypeName","src":"37141:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47604,"mutability":"mutable","name":"p1","nameLocation":"37164:2:63","nodeType":"VariableDeclaration","scope":47623,"src":"37159:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47603,"name":"bool","nodeType":"ElementaryTypeName","src":"37159:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47606,"mutability":"mutable","name":"p2","nameLocation":"37173:2:63","nodeType":"VariableDeclaration","scope":47623,"src":"37168:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47605,"name":"uint","nodeType":"ElementaryTypeName","src":"37168:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47608,"mutability":"mutable","name":"p3","nameLocation":"37182:2:63","nodeType":"VariableDeclaration","scope":47623,"src":"37177:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47607,"name":"bool","nodeType":"ElementaryTypeName","src":"37177:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37140:45:63"},"returnParameters":{"id":47610,"nodeType":"ParameterList","parameters":[],"src":"37200:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47646,"nodeType":"FunctionDefinition","src":"37309:181:63","nodes":[],"body":{"id":47645,"nodeType":"Block","src":"37384:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329","id":47637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37434:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},"value":"log(string,bool,uint,address)"},{"id":47638,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47625,"src":"37467:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47639,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47627,"src":"37471:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47640,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47629,"src":"37475:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47641,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47631,"src":"37479:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6","typeString":"literal_string \"log(string,bool,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47635,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37410:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37414:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37410:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37410:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47634,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37394:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37394:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47644,"nodeType":"ExpressionStatement","src":"37394:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37318:3:63","parameters":{"id":47632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47625,"mutability":"mutable","name":"p0","nameLocation":"37336:2:63","nodeType":"VariableDeclaration","scope":47646,"src":"37322:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47624,"name":"string","nodeType":"ElementaryTypeName","src":"37322:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47627,"mutability":"mutable","name":"p1","nameLocation":"37345:2:63","nodeType":"VariableDeclaration","scope":47646,"src":"37340:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47626,"name":"bool","nodeType":"ElementaryTypeName","src":"37340:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47629,"mutability":"mutable","name":"p2","nameLocation":"37354:2:63","nodeType":"VariableDeclaration","scope":47646,"src":"37349:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47628,"name":"uint","nodeType":"ElementaryTypeName","src":"37349:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47631,"mutability":"mutable","name":"p3","nameLocation":"37366:2:63","nodeType":"VariableDeclaration","scope":47646,"src":"37358:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47630,"name":"address","nodeType":"ElementaryTypeName","src":"37358:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37321:48:63"},"returnParameters":{"id":47633,"nodeType":"ParameterList","parameters":[],"src":"37384:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47669,"nodeType":"FunctionDefinition","src":"37496:186:63","nodes":[],"body":{"id":47668,"nodeType":"Block","src":"37577:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429","id":47660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37627:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},"value":"log(string,bool,string,uint)"},{"id":47661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47648,"src":"37659:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47650,"src":"37663:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47652,"src":"37667:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47664,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47654,"src":"37671:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72","typeString":"literal_string \"log(string,bool,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37603:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37607:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37603:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37603:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37587:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37587:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47667,"nodeType":"ExpressionStatement","src":"37587:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37505:3:63","parameters":{"id":47655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47648,"mutability":"mutable","name":"p0","nameLocation":"37523:2:63","nodeType":"VariableDeclaration","scope":47669,"src":"37509:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47647,"name":"string","nodeType":"ElementaryTypeName","src":"37509:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47650,"mutability":"mutable","name":"p1","nameLocation":"37532:2:63","nodeType":"VariableDeclaration","scope":47669,"src":"37527:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47649,"name":"bool","nodeType":"ElementaryTypeName","src":"37527:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47652,"mutability":"mutable","name":"p2","nameLocation":"37550:2:63","nodeType":"VariableDeclaration","scope":47669,"src":"37536:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47651,"name":"string","nodeType":"ElementaryTypeName","src":"37536:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47654,"mutability":"mutable","name":"p3","nameLocation":"37559:2:63","nodeType":"VariableDeclaration","scope":47669,"src":"37554:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47653,"name":"uint","nodeType":"ElementaryTypeName","src":"37554:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37508:54:63"},"returnParameters":{"id":47656,"nodeType":"ParameterList","parameters":[],"src":"37577:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47692,"nodeType":"FunctionDefinition","src":"37688:197:63","nodes":[],"body":{"id":47691,"nodeType":"Block","src":"37778:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":47683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37828:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":47684,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47671,"src":"37862:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47685,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47673,"src":"37866:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47686,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47675,"src":"37870:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47687,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47677,"src":"37874:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47681,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37804:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37808:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37804:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37804:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37788:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37788:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47690,"nodeType":"ExpressionStatement","src":"37788:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37697:3:63","parameters":{"id":47678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47671,"mutability":"mutable","name":"p0","nameLocation":"37715:2:63","nodeType":"VariableDeclaration","scope":47692,"src":"37701:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47670,"name":"string","nodeType":"ElementaryTypeName","src":"37701:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47673,"mutability":"mutable","name":"p1","nameLocation":"37724:2:63","nodeType":"VariableDeclaration","scope":47692,"src":"37719:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47672,"name":"bool","nodeType":"ElementaryTypeName","src":"37719:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47675,"mutability":"mutable","name":"p2","nameLocation":"37742:2:63","nodeType":"VariableDeclaration","scope":47692,"src":"37728:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47674,"name":"string","nodeType":"ElementaryTypeName","src":"37728:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47677,"mutability":"mutable","name":"p3","nameLocation":"37760:2:63","nodeType":"VariableDeclaration","scope":47692,"src":"37746:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47676,"name":"string","nodeType":"ElementaryTypeName","src":"37746:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37700:63:63"},"returnParameters":{"id":47679,"nodeType":"ParameterList","parameters":[],"src":"37778:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47715,"nodeType":"FunctionDefinition","src":"37891:186:63","nodes":[],"body":{"id":47714,"nodeType":"Block","src":"37972:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":47706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38022:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":47707,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47694,"src":"38054:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47708,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47696,"src":"38058:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47709,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47698,"src":"38062:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47710,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47700,"src":"38066:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37998:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38002:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37998:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37998:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"37982:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37982:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47713,"nodeType":"ExpressionStatement","src":"37982:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37900:3:63","parameters":{"id":47701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47694,"mutability":"mutable","name":"p0","nameLocation":"37918:2:63","nodeType":"VariableDeclaration","scope":47715,"src":"37904:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47693,"name":"string","nodeType":"ElementaryTypeName","src":"37904:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47696,"mutability":"mutable","name":"p1","nameLocation":"37927:2:63","nodeType":"VariableDeclaration","scope":47715,"src":"37922:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47695,"name":"bool","nodeType":"ElementaryTypeName","src":"37922:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47698,"mutability":"mutable","name":"p2","nameLocation":"37945:2:63","nodeType":"VariableDeclaration","scope":47715,"src":"37931:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47697,"name":"string","nodeType":"ElementaryTypeName","src":"37931:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47700,"mutability":"mutable","name":"p3","nameLocation":"37954:2:63","nodeType":"VariableDeclaration","scope":47715,"src":"37949:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47699,"name":"bool","nodeType":"ElementaryTypeName","src":"37949:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37903:54:63"},"returnParameters":{"id":47702,"nodeType":"ParameterList","parameters":[],"src":"37972:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47738,"nodeType":"FunctionDefinition","src":"38083:192:63","nodes":[],"body":{"id":47737,"nodeType":"Block","src":"38167:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":47729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38217:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":47730,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47717,"src":"38252:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47731,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47719,"src":"38256:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47732,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47721,"src":"38260:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47733,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47723,"src":"38264:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38193:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38197:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38193:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38193:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"38177:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38177:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47736,"nodeType":"ExpressionStatement","src":"38177:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38092:3:63","parameters":{"id":47724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47717,"mutability":"mutable","name":"p0","nameLocation":"38110:2:63","nodeType":"VariableDeclaration","scope":47738,"src":"38096:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47716,"name":"string","nodeType":"ElementaryTypeName","src":"38096:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47719,"mutability":"mutable","name":"p1","nameLocation":"38119:2:63","nodeType":"VariableDeclaration","scope":47738,"src":"38114:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47718,"name":"bool","nodeType":"ElementaryTypeName","src":"38114:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47721,"mutability":"mutable","name":"p2","nameLocation":"38137:2:63","nodeType":"VariableDeclaration","scope":47738,"src":"38123:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47720,"name":"string","nodeType":"ElementaryTypeName","src":"38123:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47723,"mutability":"mutable","name":"p3","nameLocation":"38149:2:63","nodeType":"VariableDeclaration","scope":47738,"src":"38141:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47722,"name":"address","nodeType":"ElementaryTypeName","src":"38141:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38095:57:63"},"returnParameters":{"id":47725,"nodeType":"ParameterList","parameters":[],"src":"38167:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47761,"nodeType":"FunctionDefinition","src":"38281:175:63","nodes":[],"body":{"id":47760,"nodeType":"Block","src":"38353:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429","id":47752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38403:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},"value":"log(string,bool,bool,uint)"},{"id":47753,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47740,"src":"38433:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47754,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47742,"src":"38437:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47755,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47744,"src":"38441:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47756,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47746,"src":"38445:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf","typeString":"literal_string \"log(string,bool,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47750,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38379:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38383:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38379:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38379:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47749,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"38363:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38363:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47759,"nodeType":"ExpressionStatement","src":"38363:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38290:3:63","parameters":{"id":47747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47740,"mutability":"mutable","name":"p0","nameLocation":"38308:2:63","nodeType":"VariableDeclaration","scope":47761,"src":"38294:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47739,"name":"string","nodeType":"ElementaryTypeName","src":"38294:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47742,"mutability":"mutable","name":"p1","nameLocation":"38317:2:63","nodeType":"VariableDeclaration","scope":47761,"src":"38312:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47741,"name":"bool","nodeType":"ElementaryTypeName","src":"38312:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47744,"mutability":"mutable","name":"p2","nameLocation":"38326:2:63","nodeType":"VariableDeclaration","scope":47761,"src":"38321:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47743,"name":"bool","nodeType":"ElementaryTypeName","src":"38321:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47746,"mutability":"mutable","name":"p3","nameLocation":"38335:2:63","nodeType":"VariableDeclaration","scope":47761,"src":"38330:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47745,"name":"uint","nodeType":"ElementaryTypeName","src":"38330:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38293:45:63"},"returnParameters":{"id":47748,"nodeType":"ParameterList","parameters":[],"src":"38353:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47784,"nodeType":"FunctionDefinition","src":"38462:186:63","nodes":[],"body":{"id":47783,"nodeType":"Block","src":"38543:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":47775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38593:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":47776,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47763,"src":"38625:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47777,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47765,"src":"38629:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47778,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47767,"src":"38633:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47779,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47769,"src":"38637:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47773,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38569:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38573:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38569:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38569:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47772,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"38553:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38553:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47782,"nodeType":"ExpressionStatement","src":"38553:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38471:3:63","parameters":{"id":47770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47763,"mutability":"mutable","name":"p0","nameLocation":"38489:2:63","nodeType":"VariableDeclaration","scope":47784,"src":"38475:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47762,"name":"string","nodeType":"ElementaryTypeName","src":"38475:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47765,"mutability":"mutable","name":"p1","nameLocation":"38498:2:63","nodeType":"VariableDeclaration","scope":47784,"src":"38493:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47764,"name":"bool","nodeType":"ElementaryTypeName","src":"38493:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47767,"mutability":"mutable","name":"p2","nameLocation":"38507:2:63","nodeType":"VariableDeclaration","scope":47784,"src":"38502:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47766,"name":"bool","nodeType":"ElementaryTypeName","src":"38502:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47769,"mutability":"mutable","name":"p3","nameLocation":"38525:2:63","nodeType":"VariableDeclaration","scope":47784,"src":"38511:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47768,"name":"string","nodeType":"ElementaryTypeName","src":"38511:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38474:54:63"},"returnParameters":{"id":47771,"nodeType":"ParameterList","parameters":[],"src":"38543:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47807,"nodeType":"FunctionDefinition","src":"38654:175:63","nodes":[],"body":{"id":47806,"nodeType":"Block","src":"38726:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":47798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38776:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":47799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47786,"src":"38806:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47788,"src":"38810:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47790,"src":"38814:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47802,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47792,"src":"38818:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38752:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38756:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38752:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38752:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"38736:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38736:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47805,"nodeType":"ExpressionStatement","src":"38736:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38663:3:63","parameters":{"id":47793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47786,"mutability":"mutable","name":"p0","nameLocation":"38681:2:63","nodeType":"VariableDeclaration","scope":47807,"src":"38667:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47785,"name":"string","nodeType":"ElementaryTypeName","src":"38667:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47788,"mutability":"mutable","name":"p1","nameLocation":"38690:2:63","nodeType":"VariableDeclaration","scope":47807,"src":"38685:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47787,"name":"bool","nodeType":"ElementaryTypeName","src":"38685:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47790,"mutability":"mutable","name":"p2","nameLocation":"38699:2:63","nodeType":"VariableDeclaration","scope":47807,"src":"38694:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47789,"name":"bool","nodeType":"ElementaryTypeName","src":"38694:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47792,"mutability":"mutable","name":"p3","nameLocation":"38708:2:63","nodeType":"VariableDeclaration","scope":47807,"src":"38703:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47791,"name":"bool","nodeType":"ElementaryTypeName","src":"38703:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38666:45:63"},"returnParameters":{"id":47794,"nodeType":"ParameterList","parameters":[],"src":"38726:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47830,"nodeType":"FunctionDefinition","src":"38835:181:63","nodes":[],"body":{"id":47829,"nodeType":"Block","src":"38910:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":47821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38960:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":47822,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47809,"src":"38993:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47823,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47811,"src":"38997:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47824,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47813,"src":"39001:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47825,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47815,"src":"39005:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38936:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38940:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38936:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38936:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47818,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"38920:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38920:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47828,"nodeType":"ExpressionStatement","src":"38920:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38844:3:63","parameters":{"id":47816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47809,"mutability":"mutable","name":"p0","nameLocation":"38862:2:63","nodeType":"VariableDeclaration","scope":47830,"src":"38848:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47808,"name":"string","nodeType":"ElementaryTypeName","src":"38848:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47811,"mutability":"mutable","name":"p1","nameLocation":"38871:2:63","nodeType":"VariableDeclaration","scope":47830,"src":"38866:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47810,"name":"bool","nodeType":"ElementaryTypeName","src":"38866:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47813,"mutability":"mutable","name":"p2","nameLocation":"38880:2:63","nodeType":"VariableDeclaration","scope":47830,"src":"38875:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47812,"name":"bool","nodeType":"ElementaryTypeName","src":"38875:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47815,"mutability":"mutable","name":"p3","nameLocation":"38892:2:63","nodeType":"VariableDeclaration","scope":47830,"src":"38884:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47814,"name":"address","nodeType":"ElementaryTypeName","src":"38884:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38847:48:63"},"returnParameters":{"id":47817,"nodeType":"ParameterList","parameters":[],"src":"38910:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47853,"nodeType":"FunctionDefinition","src":"39022:181:63","nodes":[],"body":{"id":47852,"nodeType":"Block","src":"39097:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429","id":47844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39147:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},"value":"log(string,bool,address,uint)"},{"id":47845,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47832,"src":"39180:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47846,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47834,"src":"39184:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47847,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47836,"src":"39188:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47848,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47838,"src":"39192:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b","typeString":"literal_string \"log(string,bool,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39123:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39127:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39123:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39123:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"39107:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39107:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47851,"nodeType":"ExpressionStatement","src":"39107:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39031:3:63","parameters":{"id":47839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47832,"mutability":"mutable","name":"p0","nameLocation":"39049:2:63","nodeType":"VariableDeclaration","scope":47853,"src":"39035:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47831,"name":"string","nodeType":"ElementaryTypeName","src":"39035:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47834,"mutability":"mutable","name":"p1","nameLocation":"39058:2:63","nodeType":"VariableDeclaration","scope":47853,"src":"39053:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47833,"name":"bool","nodeType":"ElementaryTypeName","src":"39053:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47836,"mutability":"mutable","name":"p2","nameLocation":"39070:2:63","nodeType":"VariableDeclaration","scope":47853,"src":"39062:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47835,"name":"address","nodeType":"ElementaryTypeName","src":"39062:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47838,"mutability":"mutable","name":"p3","nameLocation":"39079:2:63","nodeType":"VariableDeclaration","scope":47853,"src":"39074:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47837,"name":"uint","nodeType":"ElementaryTypeName","src":"39074:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39034:48:63"},"returnParameters":{"id":47840,"nodeType":"ParameterList","parameters":[],"src":"39097:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47876,"nodeType":"FunctionDefinition","src":"39209:192:63","nodes":[],"body":{"id":47875,"nodeType":"Block","src":"39293:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":47867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39343:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":47868,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47855,"src":"39378:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47869,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47857,"src":"39382:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47870,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47859,"src":"39386:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47871,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47861,"src":"39390:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39319:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39323:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39319:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39319:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47864,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"39303:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39303:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47874,"nodeType":"ExpressionStatement","src":"39303:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39218:3:63","parameters":{"id":47862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47855,"mutability":"mutable","name":"p0","nameLocation":"39236:2:63","nodeType":"VariableDeclaration","scope":47876,"src":"39222:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47854,"name":"string","nodeType":"ElementaryTypeName","src":"39222:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47857,"mutability":"mutable","name":"p1","nameLocation":"39245:2:63","nodeType":"VariableDeclaration","scope":47876,"src":"39240:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47856,"name":"bool","nodeType":"ElementaryTypeName","src":"39240:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47859,"mutability":"mutable","name":"p2","nameLocation":"39257:2:63","nodeType":"VariableDeclaration","scope":47876,"src":"39249:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47858,"name":"address","nodeType":"ElementaryTypeName","src":"39249:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47861,"mutability":"mutable","name":"p3","nameLocation":"39275:2:63","nodeType":"VariableDeclaration","scope":47876,"src":"39261:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47860,"name":"string","nodeType":"ElementaryTypeName","src":"39261:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39221:57:63"},"returnParameters":{"id":47863,"nodeType":"ParameterList","parameters":[],"src":"39293:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47899,"nodeType":"FunctionDefinition","src":"39407:181:63","nodes":[],"body":{"id":47898,"nodeType":"Block","src":"39482:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":47890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39532:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":47891,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47878,"src":"39565:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47892,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47880,"src":"39569:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47893,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47882,"src":"39573:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47894,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47884,"src":"39577:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39508:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39512:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39508:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39508:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"39492:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39492:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47897,"nodeType":"ExpressionStatement","src":"39492:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39416:3:63","parameters":{"id":47885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47878,"mutability":"mutable","name":"p0","nameLocation":"39434:2:63","nodeType":"VariableDeclaration","scope":47899,"src":"39420:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47877,"name":"string","nodeType":"ElementaryTypeName","src":"39420:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47880,"mutability":"mutable","name":"p1","nameLocation":"39443:2:63","nodeType":"VariableDeclaration","scope":47899,"src":"39438:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47879,"name":"bool","nodeType":"ElementaryTypeName","src":"39438:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47882,"mutability":"mutable","name":"p2","nameLocation":"39455:2:63","nodeType":"VariableDeclaration","scope":47899,"src":"39447:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47881,"name":"address","nodeType":"ElementaryTypeName","src":"39447:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47884,"mutability":"mutable","name":"p3","nameLocation":"39464:2:63","nodeType":"VariableDeclaration","scope":47899,"src":"39459:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47883,"name":"bool","nodeType":"ElementaryTypeName","src":"39459:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39419:48:63"},"returnParameters":{"id":47886,"nodeType":"ParameterList","parameters":[],"src":"39482:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47922,"nodeType":"FunctionDefinition","src":"39594:187:63","nodes":[],"body":{"id":47921,"nodeType":"Block","src":"39672:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":47913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39722:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":47914,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47901,"src":"39758:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47915,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47903,"src":"39762:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":47916,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47905,"src":"39766:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47917,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47907,"src":"39770:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":47911,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39698:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39702:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39698:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39698:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47910,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"39682:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39682:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47920,"nodeType":"ExpressionStatement","src":"39682:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39603:3:63","parameters":{"id":47908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47901,"mutability":"mutable","name":"p0","nameLocation":"39621:2:63","nodeType":"VariableDeclaration","scope":47922,"src":"39607:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47900,"name":"string","nodeType":"ElementaryTypeName","src":"39607:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47903,"mutability":"mutable","name":"p1","nameLocation":"39630:2:63","nodeType":"VariableDeclaration","scope":47922,"src":"39625:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47902,"name":"bool","nodeType":"ElementaryTypeName","src":"39625:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":47905,"mutability":"mutable","name":"p2","nameLocation":"39642:2:63","nodeType":"VariableDeclaration","scope":47922,"src":"39634:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47904,"name":"address","nodeType":"ElementaryTypeName","src":"39634:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47907,"mutability":"mutable","name":"p3","nameLocation":"39654:2:63","nodeType":"VariableDeclaration","scope":47922,"src":"39646:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47906,"name":"address","nodeType":"ElementaryTypeName","src":"39646:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39606:51:63"},"returnParameters":{"id":47909,"nodeType":"ParameterList","parameters":[],"src":"39672:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47945,"nodeType":"FunctionDefinition","src":"39787:181:63","nodes":[],"body":{"id":47944,"nodeType":"Block","src":"39862:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c75696e7429","id":47936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39912:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},"value":"log(string,address,uint,uint)"},{"id":47937,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47924,"src":"39945:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47938,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47926,"src":"39949:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47939,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47928,"src":"39953:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47940,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47930,"src":"39957:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3","typeString":"literal_string \"log(string,address,uint,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":47934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39888:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39892:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39888:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39888:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47933,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"39872:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39872:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47943,"nodeType":"ExpressionStatement","src":"39872:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39796:3:63","parameters":{"id":47931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47924,"mutability":"mutable","name":"p0","nameLocation":"39814:2:63","nodeType":"VariableDeclaration","scope":47945,"src":"39800:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47923,"name":"string","nodeType":"ElementaryTypeName","src":"39800:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47926,"mutability":"mutable","name":"p1","nameLocation":"39826:2:63","nodeType":"VariableDeclaration","scope":47945,"src":"39818:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47925,"name":"address","nodeType":"ElementaryTypeName","src":"39818:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47928,"mutability":"mutable","name":"p2","nameLocation":"39835:2:63","nodeType":"VariableDeclaration","scope":47945,"src":"39830:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47927,"name":"uint","nodeType":"ElementaryTypeName","src":"39830:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47930,"mutability":"mutable","name":"p3","nameLocation":"39844:2:63","nodeType":"VariableDeclaration","scope":47945,"src":"39839:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47929,"name":"uint","nodeType":"ElementaryTypeName","src":"39839:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39799:48:63"},"returnParameters":{"id":47932,"nodeType":"ParameterList","parameters":[],"src":"39862:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47968,"nodeType":"FunctionDefinition","src":"39974:192:63","nodes":[],"body":{"id":47967,"nodeType":"Block","src":"40058:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c737472696e6729","id":47959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40108:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},"value":"log(string,address,uint,string)"},{"id":47960,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47947,"src":"40143:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47961,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47949,"src":"40147:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47962,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47951,"src":"40151:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47963,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47953,"src":"40155:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98","typeString":"literal_string \"log(string,address,uint,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":47957,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40084:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40088:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40084:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40084:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47956,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"40068:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40068:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47966,"nodeType":"ExpressionStatement","src":"40068:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39983:3:63","parameters":{"id":47954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47947,"mutability":"mutable","name":"p0","nameLocation":"40001:2:63","nodeType":"VariableDeclaration","scope":47968,"src":"39987:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47946,"name":"string","nodeType":"ElementaryTypeName","src":"39987:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47949,"mutability":"mutable","name":"p1","nameLocation":"40013:2:63","nodeType":"VariableDeclaration","scope":47968,"src":"40005:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47948,"name":"address","nodeType":"ElementaryTypeName","src":"40005:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47951,"mutability":"mutable","name":"p2","nameLocation":"40022:2:63","nodeType":"VariableDeclaration","scope":47968,"src":"40017:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47950,"name":"uint","nodeType":"ElementaryTypeName","src":"40017:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47953,"mutability":"mutable","name":"p3","nameLocation":"40040:2:63","nodeType":"VariableDeclaration","scope":47968,"src":"40026:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47952,"name":"string","nodeType":"ElementaryTypeName","src":"40026:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39986:57:63"},"returnParameters":{"id":47955,"nodeType":"ParameterList","parameters":[],"src":"40058:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":47991,"nodeType":"FunctionDefinition","src":"40172:181:63","nodes":[],"body":{"id":47990,"nodeType":"Block","src":"40247:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29","id":47982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40297:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},"value":"log(string,address,uint,bool)"},{"id":47983,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47970,"src":"40330:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":47984,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47972,"src":"40334:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":47985,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47974,"src":"40338:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":47986,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47976,"src":"40342:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554","typeString":"literal_string \"log(string,address,uint,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":47980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40273:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":47981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40277:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40273:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":47987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40273:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":47979,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"40257:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":47988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40257:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":47989,"nodeType":"ExpressionStatement","src":"40257:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40181:3:63","parameters":{"id":47977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47970,"mutability":"mutable","name":"p0","nameLocation":"40199:2:63","nodeType":"VariableDeclaration","scope":47991,"src":"40185:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47969,"name":"string","nodeType":"ElementaryTypeName","src":"40185:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47972,"mutability":"mutable","name":"p1","nameLocation":"40211:2:63","nodeType":"VariableDeclaration","scope":47991,"src":"40203:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47971,"name":"address","nodeType":"ElementaryTypeName","src":"40203:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47974,"mutability":"mutable","name":"p2","nameLocation":"40220:2:63","nodeType":"VariableDeclaration","scope":47991,"src":"40215:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47973,"name":"uint","nodeType":"ElementaryTypeName","src":"40215:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47976,"mutability":"mutable","name":"p3","nameLocation":"40229:2:63","nodeType":"VariableDeclaration","scope":47991,"src":"40224:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":47975,"name":"bool","nodeType":"ElementaryTypeName","src":"40224:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40184:48:63"},"returnParameters":{"id":47978,"nodeType":"ParameterList","parameters":[],"src":"40247:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48014,"nodeType":"FunctionDefinition","src":"40359:187:63","nodes":[],"body":{"id":48013,"nodeType":"Block","src":"40437:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e742c6164647265737329","id":48005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40487:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},"value":"log(string,address,uint,address)"},{"id":48006,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47993,"src":"40523:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48007,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47995,"src":"40527:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48008,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47997,"src":"40531:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48009,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47999,"src":"40535:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2","typeString":"literal_string \"log(string,address,uint,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40463:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40467:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40463:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40463:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"40447:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40447:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48012,"nodeType":"ExpressionStatement","src":"40447:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40368:3:63","parameters":{"id":48000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47993,"mutability":"mutable","name":"p0","nameLocation":"40386:2:63","nodeType":"VariableDeclaration","scope":48014,"src":"40372:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":47992,"name":"string","nodeType":"ElementaryTypeName","src":"40372:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47995,"mutability":"mutable","name":"p1","nameLocation":"40398:2:63","nodeType":"VariableDeclaration","scope":48014,"src":"40390:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47994,"name":"address","nodeType":"ElementaryTypeName","src":"40390:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":47997,"mutability":"mutable","name":"p2","nameLocation":"40407:2:63","nodeType":"VariableDeclaration","scope":48014,"src":"40402:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":47996,"name":"uint","nodeType":"ElementaryTypeName","src":"40402:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":47999,"mutability":"mutable","name":"p3","nameLocation":"40419:2:63","nodeType":"VariableDeclaration","scope":48014,"src":"40411:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47998,"name":"address","nodeType":"ElementaryTypeName","src":"40411:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40371:51:63"},"returnParameters":{"id":48001,"nodeType":"ParameterList","parameters":[],"src":"40437:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48037,"nodeType":"FunctionDefinition","src":"40552:192:63","nodes":[],"body":{"id":48036,"nodeType":"Block","src":"40636:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7429","id":48028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40686:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},"value":"log(string,address,string,uint)"},{"id":48029,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48016,"src":"40721:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48030,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48018,"src":"40725:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48031,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48020,"src":"40729:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48032,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48022,"src":"40733:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349","typeString":"literal_string \"log(string,address,string,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48026,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40662:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40666:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40662:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40662:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48025,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"40646:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40646:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48035,"nodeType":"ExpressionStatement","src":"40646:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40561:3:63","parameters":{"id":48023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48016,"mutability":"mutable","name":"p0","nameLocation":"40579:2:63","nodeType":"VariableDeclaration","scope":48037,"src":"40565:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48015,"name":"string","nodeType":"ElementaryTypeName","src":"40565:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48018,"mutability":"mutable","name":"p1","nameLocation":"40591:2:63","nodeType":"VariableDeclaration","scope":48037,"src":"40583:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48017,"name":"address","nodeType":"ElementaryTypeName","src":"40583:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48020,"mutability":"mutable","name":"p2","nameLocation":"40609:2:63","nodeType":"VariableDeclaration","scope":48037,"src":"40595:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48019,"name":"string","nodeType":"ElementaryTypeName","src":"40595:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48022,"mutability":"mutable","name":"p3","nameLocation":"40618:2:63","nodeType":"VariableDeclaration","scope":48037,"src":"40613:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48021,"name":"uint","nodeType":"ElementaryTypeName","src":"40613:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40564:57:63"},"returnParameters":{"id":48024,"nodeType":"ParameterList","parameters":[],"src":"40636:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48060,"nodeType":"FunctionDefinition","src":"40750:203:63","nodes":[],"body":{"id":48059,"nodeType":"Block","src":"40843:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":48051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40893:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":48052,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48039,"src":"40930:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48053,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48041,"src":"40934:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48054,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48043,"src":"40938:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48055,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48045,"src":"40942:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40869:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40873:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40869:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40869:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48048,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"40853:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40853:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48058,"nodeType":"ExpressionStatement","src":"40853:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40759:3:63","parameters":{"id":48046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48039,"mutability":"mutable","name":"p0","nameLocation":"40777:2:63","nodeType":"VariableDeclaration","scope":48060,"src":"40763:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48038,"name":"string","nodeType":"ElementaryTypeName","src":"40763:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48041,"mutability":"mutable","name":"p1","nameLocation":"40789:2:63","nodeType":"VariableDeclaration","scope":48060,"src":"40781:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48040,"name":"address","nodeType":"ElementaryTypeName","src":"40781:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48043,"mutability":"mutable","name":"p2","nameLocation":"40807:2:63","nodeType":"VariableDeclaration","scope":48060,"src":"40793:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48042,"name":"string","nodeType":"ElementaryTypeName","src":"40793:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48045,"mutability":"mutable","name":"p3","nameLocation":"40825:2:63","nodeType":"VariableDeclaration","scope":48060,"src":"40811:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48044,"name":"string","nodeType":"ElementaryTypeName","src":"40811:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40762:66:63"},"returnParameters":{"id":48047,"nodeType":"ParameterList","parameters":[],"src":"40843:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48083,"nodeType":"FunctionDefinition","src":"40959:192:63","nodes":[],"body":{"id":48082,"nodeType":"Block","src":"41043:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":48074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41093:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":48075,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48062,"src":"41128:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48076,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48064,"src":"41132:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48077,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48066,"src":"41136:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48078,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48068,"src":"41140:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41069:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41073:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41069:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41069:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48071,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"41053:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41053:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48081,"nodeType":"ExpressionStatement","src":"41053:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40968:3:63","parameters":{"id":48069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48062,"mutability":"mutable","name":"p0","nameLocation":"40986:2:63","nodeType":"VariableDeclaration","scope":48083,"src":"40972:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48061,"name":"string","nodeType":"ElementaryTypeName","src":"40972:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48064,"mutability":"mutable","name":"p1","nameLocation":"40998:2:63","nodeType":"VariableDeclaration","scope":48083,"src":"40990:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48063,"name":"address","nodeType":"ElementaryTypeName","src":"40990:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48066,"mutability":"mutable","name":"p2","nameLocation":"41016:2:63","nodeType":"VariableDeclaration","scope":48083,"src":"41002:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48065,"name":"string","nodeType":"ElementaryTypeName","src":"41002:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48068,"mutability":"mutable","name":"p3","nameLocation":"41025:2:63","nodeType":"VariableDeclaration","scope":48083,"src":"41020:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48067,"name":"bool","nodeType":"ElementaryTypeName","src":"41020:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40971:57:63"},"returnParameters":{"id":48070,"nodeType":"ParameterList","parameters":[],"src":"41043:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48106,"nodeType":"FunctionDefinition","src":"41157:198:63","nodes":[],"body":{"id":48105,"nodeType":"Block","src":"41244:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":48097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41294:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":48098,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48085,"src":"41332:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48099,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48087,"src":"41336:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48100,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48089,"src":"41340:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48101,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48091,"src":"41344:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48095,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41270:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41274:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41270:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41270:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48094,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"41254:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41254:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48104,"nodeType":"ExpressionStatement","src":"41254:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41166:3:63","parameters":{"id":48092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48085,"mutability":"mutable","name":"p0","nameLocation":"41184:2:63","nodeType":"VariableDeclaration","scope":48106,"src":"41170:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48084,"name":"string","nodeType":"ElementaryTypeName","src":"41170:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48087,"mutability":"mutable","name":"p1","nameLocation":"41196:2:63","nodeType":"VariableDeclaration","scope":48106,"src":"41188:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48086,"name":"address","nodeType":"ElementaryTypeName","src":"41188:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48089,"mutability":"mutable","name":"p2","nameLocation":"41214:2:63","nodeType":"VariableDeclaration","scope":48106,"src":"41200:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48088,"name":"string","nodeType":"ElementaryTypeName","src":"41200:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48091,"mutability":"mutable","name":"p3","nameLocation":"41226:2:63","nodeType":"VariableDeclaration","scope":48106,"src":"41218:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48090,"name":"address","nodeType":"ElementaryTypeName","src":"41218:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41169:60:63"},"returnParameters":{"id":48093,"nodeType":"ParameterList","parameters":[],"src":"41244:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48129,"nodeType":"FunctionDefinition","src":"41361:181:63","nodes":[],"body":{"id":48128,"nodeType":"Block","src":"41436:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429","id":48120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41486:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},"value":"log(string,address,bool,uint)"},{"id":48121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48108,"src":"41519:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48110,"src":"41523:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48112,"src":"41527:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48124,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48114,"src":"41531:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f","typeString":"literal_string \"log(string,address,bool,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41462:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41466:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41462:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41462:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"41446:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41446:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48127,"nodeType":"ExpressionStatement","src":"41446:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41370:3:63","parameters":{"id":48115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48108,"mutability":"mutable","name":"p0","nameLocation":"41388:2:63","nodeType":"VariableDeclaration","scope":48129,"src":"41374:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48107,"name":"string","nodeType":"ElementaryTypeName","src":"41374:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48110,"mutability":"mutable","name":"p1","nameLocation":"41400:2:63","nodeType":"VariableDeclaration","scope":48129,"src":"41392:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48109,"name":"address","nodeType":"ElementaryTypeName","src":"41392:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48112,"mutability":"mutable","name":"p2","nameLocation":"41409:2:63","nodeType":"VariableDeclaration","scope":48129,"src":"41404:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48111,"name":"bool","nodeType":"ElementaryTypeName","src":"41404:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48114,"mutability":"mutable","name":"p3","nameLocation":"41418:2:63","nodeType":"VariableDeclaration","scope":48129,"src":"41413:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48113,"name":"uint","nodeType":"ElementaryTypeName","src":"41413:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41373:48:63"},"returnParameters":{"id":48116,"nodeType":"ParameterList","parameters":[],"src":"41436:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48152,"nodeType":"FunctionDefinition","src":"41548:192:63","nodes":[],"body":{"id":48151,"nodeType":"Block","src":"41632:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":48143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41682:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":48144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48131,"src":"41717:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48133,"src":"41721:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48135,"src":"41725:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48147,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48137,"src":"41729:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41658:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41662:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41658:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41658:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"41642:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41642:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48150,"nodeType":"ExpressionStatement","src":"41642:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41557:3:63","parameters":{"id":48138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48131,"mutability":"mutable","name":"p0","nameLocation":"41575:2:63","nodeType":"VariableDeclaration","scope":48152,"src":"41561:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48130,"name":"string","nodeType":"ElementaryTypeName","src":"41561:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48133,"mutability":"mutable","name":"p1","nameLocation":"41587:2:63","nodeType":"VariableDeclaration","scope":48152,"src":"41579:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48132,"name":"address","nodeType":"ElementaryTypeName","src":"41579:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48135,"mutability":"mutable","name":"p2","nameLocation":"41596:2:63","nodeType":"VariableDeclaration","scope":48152,"src":"41591:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48134,"name":"bool","nodeType":"ElementaryTypeName","src":"41591:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48137,"mutability":"mutable","name":"p3","nameLocation":"41614:2:63","nodeType":"VariableDeclaration","scope":48152,"src":"41600:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48136,"name":"string","nodeType":"ElementaryTypeName","src":"41600:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41560:57:63"},"returnParameters":{"id":48139,"nodeType":"ParameterList","parameters":[],"src":"41632:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48175,"nodeType":"FunctionDefinition","src":"41746:181:63","nodes":[],"body":{"id":48174,"nodeType":"Block","src":"41821:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":48166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41871:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":48167,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48154,"src":"41904:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48168,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48156,"src":"41908:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48169,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48158,"src":"41912:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48170,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48160,"src":"41916:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48164,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41847:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41851:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41847:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41847:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48163,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"41831:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41831:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48173,"nodeType":"ExpressionStatement","src":"41831:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41755:3:63","parameters":{"id":48161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48154,"mutability":"mutable","name":"p0","nameLocation":"41773:2:63","nodeType":"VariableDeclaration","scope":48175,"src":"41759:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48153,"name":"string","nodeType":"ElementaryTypeName","src":"41759:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48156,"mutability":"mutable","name":"p1","nameLocation":"41785:2:63","nodeType":"VariableDeclaration","scope":48175,"src":"41777:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48155,"name":"address","nodeType":"ElementaryTypeName","src":"41777:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48158,"mutability":"mutable","name":"p2","nameLocation":"41794:2:63","nodeType":"VariableDeclaration","scope":48175,"src":"41789:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48157,"name":"bool","nodeType":"ElementaryTypeName","src":"41789:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48160,"mutability":"mutable","name":"p3","nameLocation":"41803:2:63","nodeType":"VariableDeclaration","scope":48175,"src":"41798:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48159,"name":"bool","nodeType":"ElementaryTypeName","src":"41798:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41758:48:63"},"returnParameters":{"id":48162,"nodeType":"ParameterList","parameters":[],"src":"41821:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48198,"nodeType":"FunctionDefinition","src":"41933:187:63","nodes":[],"body":{"id":48197,"nodeType":"Block","src":"42011:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":48189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42061:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":48190,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48177,"src":"42097:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48191,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48179,"src":"42101:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48192,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48181,"src":"42105:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48193,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48183,"src":"42109:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48187,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42037:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42041:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42037:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42037:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48186,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42021:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42021:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48196,"nodeType":"ExpressionStatement","src":"42021:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41942:3:63","parameters":{"id":48184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48177,"mutability":"mutable","name":"p0","nameLocation":"41960:2:63","nodeType":"VariableDeclaration","scope":48198,"src":"41946:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48176,"name":"string","nodeType":"ElementaryTypeName","src":"41946:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48179,"mutability":"mutable","name":"p1","nameLocation":"41972:2:63","nodeType":"VariableDeclaration","scope":48198,"src":"41964:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48178,"name":"address","nodeType":"ElementaryTypeName","src":"41964:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48181,"mutability":"mutable","name":"p2","nameLocation":"41981:2:63","nodeType":"VariableDeclaration","scope":48198,"src":"41976:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48180,"name":"bool","nodeType":"ElementaryTypeName","src":"41976:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48183,"mutability":"mutable","name":"p3","nameLocation":"41993:2:63","nodeType":"VariableDeclaration","scope":48198,"src":"41985:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48182,"name":"address","nodeType":"ElementaryTypeName","src":"41985:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41945:51:63"},"returnParameters":{"id":48185,"nodeType":"ParameterList","parameters":[],"src":"42011:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48221,"nodeType":"FunctionDefinition","src":"42126:187:63","nodes":[],"body":{"id":48220,"nodeType":"Block","src":"42204:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7429","id":48212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42254:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},"value":"log(string,address,address,uint)"},{"id":48213,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48200,"src":"42290:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48214,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48202,"src":"42294:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48215,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48204,"src":"42298:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48216,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48206,"src":"42302:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02","typeString":"literal_string \"log(string,address,address,uint)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48210,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42230:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42234:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42230:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42230:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48209,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42214:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42214:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48219,"nodeType":"ExpressionStatement","src":"42214:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42135:3:63","parameters":{"id":48207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48200,"mutability":"mutable","name":"p0","nameLocation":"42153:2:63","nodeType":"VariableDeclaration","scope":48221,"src":"42139:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48199,"name":"string","nodeType":"ElementaryTypeName","src":"42139:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48202,"mutability":"mutable","name":"p1","nameLocation":"42165:2:63","nodeType":"VariableDeclaration","scope":48221,"src":"42157:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48201,"name":"address","nodeType":"ElementaryTypeName","src":"42157:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48204,"mutability":"mutable","name":"p2","nameLocation":"42177:2:63","nodeType":"VariableDeclaration","scope":48221,"src":"42169:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48203,"name":"address","nodeType":"ElementaryTypeName","src":"42169:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48206,"mutability":"mutable","name":"p3","nameLocation":"42186:2:63","nodeType":"VariableDeclaration","scope":48221,"src":"42181:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48205,"name":"uint","nodeType":"ElementaryTypeName","src":"42181:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42138:51:63"},"returnParameters":{"id":48208,"nodeType":"ParameterList","parameters":[],"src":"42204:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48244,"nodeType":"FunctionDefinition","src":"42319:198:63","nodes":[],"body":{"id":48243,"nodeType":"Block","src":"42406:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":48235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42456:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":48236,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48223,"src":"42494:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48237,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48225,"src":"42498:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48238,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48227,"src":"42502:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48239,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48229,"src":"42506:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42432:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42436:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42432:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42432:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48232,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42416:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42416:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48242,"nodeType":"ExpressionStatement","src":"42416:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42328:3:63","parameters":{"id":48230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48223,"mutability":"mutable","name":"p0","nameLocation":"42346:2:63","nodeType":"VariableDeclaration","scope":48244,"src":"42332:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48222,"name":"string","nodeType":"ElementaryTypeName","src":"42332:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48225,"mutability":"mutable","name":"p1","nameLocation":"42358:2:63","nodeType":"VariableDeclaration","scope":48244,"src":"42350:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48224,"name":"address","nodeType":"ElementaryTypeName","src":"42350:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48227,"mutability":"mutable","name":"p2","nameLocation":"42370:2:63","nodeType":"VariableDeclaration","scope":48244,"src":"42362:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48226,"name":"address","nodeType":"ElementaryTypeName","src":"42362:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48229,"mutability":"mutable","name":"p3","nameLocation":"42388:2:63","nodeType":"VariableDeclaration","scope":48244,"src":"42374:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48228,"name":"string","nodeType":"ElementaryTypeName","src":"42374:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42331:60:63"},"returnParameters":{"id":48231,"nodeType":"ParameterList","parameters":[],"src":"42406:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48267,"nodeType":"FunctionDefinition","src":"42523:187:63","nodes":[],"body":{"id":48266,"nodeType":"Block","src":"42601:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":48258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42651:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":48259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48246,"src":"42687:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48248,"src":"42691:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48250,"src":"42695:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48262,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48252,"src":"42699:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42627:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42631:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42627:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42627:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42611:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42611:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48265,"nodeType":"ExpressionStatement","src":"42611:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42532:3:63","parameters":{"id":48253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48246,"mutability":"mutable","name":"p0","nameLocation":"42550:2:63","nodeType":"VariableDeclaration","scope":48267,"src":"42536:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48245,"name":"string","nodeType":"ElementaryTypeName","src":"42536:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48248,"mutability":"mutable","name":"p1","nameLocation":"42562:2:63","nodeType":"VariableDeclaration","scope":48267,"src":"42554:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48247,"name":"address","nodeType":"ElementaryTypeName","src":"42554:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48250,"mutability":"mutable","name":"p2","nameLocation":"42574:2:63","nodeType":"VariableDeclaration","scope":48267,"src":"42566:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48249,"name":"address","nodeType":"ElementaryTypeName","src":"42566:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48252,"mutability":"mutable","name":"p3","nameLocation":"42583:2:63","nodeType":"VariableDeclaration","scope":48267,"src":"42578:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48251,"name":"bool","nodeType":"ElementaryTypeName","src":"42578:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42535:51:63"},"returnParameters":{"id":48254,"nodeType":"ParameterList","parameters":[],"src":"42601:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48290,"nodeType":"FunctionDefinition","src":"42716:193:63","nodes":[],"body":{"id":48289,"nodeType":"Block","src":"42797:112:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":48281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42847:37:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":48282,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48269,"src":"42886:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48283,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48271,"src":"42890:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48284,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48273,"src":"42894:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48285,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48275,"src":"42898:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42823:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42827:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42823:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42823:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42807:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42807:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48288,"nodeType":"ExpressionStatement","src":"42807:95:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42725:3:63","parameters":{"id":48276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48269,"mutability":"mutable","name":"p0","nameLocation":"42743:2:63","nodeType":"VariableDeclaration","scope":48290,"src":"42729:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48268,"name":"string","nodeType":"ElementaryTypeName","src":"42729:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48271,"mutability":"mutable","name":"p1","nameLocation":"42755:2:63","nodeType":"VariableDeclaration","scope":48290,"src":"42747:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48270,"name":"address","nodeType":"ElementaryTypeName","src":"42747:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48273,"mutability":"mutable","name":"p2","nameLocation":"42767:2:63","nodeType":"VariableDeclaration","scope":48290,"src":"42759:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48272,"name":"address","nodeType":"ElementaryTypeName","src":"42759:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48275,"mutability":"mutable","name":"p3","nameLocation":"42779:2:63","nodeType":"VariableDeclaration","scope":48290,"src":"42771:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48274,"name":"address","nodeType":"ElementaryTypeName","src":"42771:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42728:54:63"},"returnParameters":{"id":48277,"nodeType":"ParameterList","parameters":[],"src":"42797:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48313,"nodeType":"FunctionDefinition","src":"42915:164:63","nodes":[],"body":{"id":48312,"nodeType":"Block","src":"42978:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c75696e7429","id":48304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43028:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},"value":"log(bool,uint,uint,uint)"},{"id":48305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48292,"src":"43056:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48306,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48294,"src":"43060:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48307,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48296,"src":"43064:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48308,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48298,"src":"43068:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558","typeString":"literal_string \"log(bool,uint,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43004:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43008:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43004:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43004:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"42988:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42988:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48311,"nodeType":"ExpressionStatement","src":"42988:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42924:3:63","parameters":{"id":48299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48292,"mutability":"mutable","name":"p0","nameLocation":"42933:2:63","nodeType":"VariableDeclaration","scope":48313,"src":"42928:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48291,"name":"bool","nodeType":"ElementaryTypeName","src":"42928:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48294,"mutability":"mutable","name":"p1","nameLocation":"42942:2:63","nodeType":"VariableDeclaration","scope":48313,"src":"42937:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48293,"name":"uint","nodeType":"ElementaryTypeName","src":"42937:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48296,"mutability":"mutable","name":"p2","nameLocation":"42951:2:63","nodeType":"VariableDeclaration","scope":48313,"src":"42946:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48295,"name":"uint","nodeType":"ElementaryTypeName","src":"42946:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48298,"mutability":"mutable","name":"p3","nameLocation":"42960:2:63","nodeType":"VariableDeclaration","scope":48313,"src":"42955:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48297,"name":"uint","nodeType":"ElementaryTypeName","src":"42955:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42927:36:63"},"returnParameters":{"id":48300,"nodeType":"ParameterList","parameters":[],"src":"42978:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48336,"nodeType":"FunctionDefinition","src":"43085:175:63","nodes":[],"body":{"id":48335,"nodeType":"Block","src":"43157:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729","id":48327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43207:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},"value":"log(bool,uint,uint,string)"},{"id":48328,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48315,"src":"43237:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48329,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48317,"src":"43241:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48330,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48319,"src":"43245:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48331,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48321,"src":"43249:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3","typeString":"literal_string \"log(bool,uint,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43183:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43187:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43183:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43183:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"43167:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43167:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48334,"nodeType":"ExpressionStatement","src":"43167:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43094:3:63","parameters":{"id":48322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48315,"mutability":"mutable","name":"p0","nameLocation":"43103:2:63","nodeType":"VariableDeclaration","scope":48336,"src":"43098:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48314,"name":"bool","nodeType":"ElementaryTypeName","src":"43098:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48317,"mutability":"mutable","name":"p1","nameLocation":"43112:2:63","nodeType":"VariableDeclaration","scope":48336,"src":"43107:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48316,"name":"uint","nodeType":"ElementaryTypeName","src":"43107:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48319,"mutability":"mutable","name":"p2","nameLocation":"43121:2:63","nodeType":"VariableDeclaration","scope":48336,"src":"43116:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48318,"name":"uint","nodeType":"ElementaryTypeName","src":"43116:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48321,"mutability":"mutable","name":"p3","nameLocation":"43139:2:63","nodeType":"VariableDeclaration","scope":48336,"src":"43125:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48320,"name":"string","nodeType":"ElementaryTypeName","src":"43125:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43097:45:63"},"returnParameters":{"id":48323,"nodeType":"ParameterList","parameters":[],"src":"43157:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48359,"nodeType":"FunctionDefinition","src":"43266:164:63","nodes":[],"body":{"id":48358,"nodeType":"Block","src":"43329:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29","id":48350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43379:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},"value":"log(bool,uint,uint,bool)"},{"id":48351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48338,"src":"43407:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48352,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48340,"src":"43411:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48353,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48342,"src":"43415:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48354,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48344,"src":"43419:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2","typeString":"literal_string \"log(bool,uint,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43355:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43359:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43355:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43355:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"43339:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43339:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48357,"nodeType":"ExpressionStatement","src":"43339:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43275:3:63","parameters":{"id":48345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48338,"mutability":"mutable","name":"p0","nameLocation":"43284:2:63","nodeType":"VariableDeclaration","scope":48359,"src":"43279:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48337,"name":"bool","nodeType":"ElementaryTypeName","src":"43279:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48340,"mutability":"mutable","name":"p1","nameLocation":"43293:2:63","nodeType":"VariableDeclaration","scope":48359,"src":"43288:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48339,"name":"uint","nodeType":"ElementaryTypeName","src":"43288:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48342,"mutability":"mutable","name":"p2","nameLocation":"43302:2:63","nodeType":"VariableDeclaration","scope":48359,"src":"43297:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48341,"name":"uint","nodeType":"ElementaryTypeName","src":"43297:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48344,"mutability":"mutable","name":"p3","nameLocation":"43311:2:63","nodeType":"VariableDeclaration","scope":48359,"src":"43306:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48343,"name":"bool","nodeType":"ElementaryTypeName","src":"43306:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43278:36:63"},"returnParameters":{"id":48346,"nodeType":"ParameterList","parameters":[],"src":"43329:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48382,"nodeType":"FunctionDefinition","src":"43436:170:63","nodes":[],"body":{"id":48381,"nodeType":"Block","src":"43502:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329","id":48373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43552:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},"value":"log(bool,uint,uint,address)"},{"id":48374,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48361,"src":"43583:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48375,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48363,"src":"43587:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48376,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48365,"src":"43591:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48377,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48367,"src":"43595:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33","typeString":"literal_string \"log(bool,uint,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48371,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43528:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48372,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43532:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43528:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43528:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48370,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"43512:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43512:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48380,"nodeType":"ExpressionStatement","src":"43512:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43445:3:63","parameters":{"id":48368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48361,"mutability":"mutable","name":"p0","nameLocation":"43454:2:63","nodeType":"VariableDeclaration","scope":48382,"src":"43449:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48360,"name":"bool","nodeType":"ElementaryTypeName","src":"43449:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48363,"mutability":"mutable","name":"p1","nameLocation":"43463:2:63","nodeType":"VariableDeclaration","scope":48382,"src":"43458:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48362,"name":"uint","nodeType":"ElementaryTypeName","src":"43458:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48365,"mutability":"mutable","name":"p2","nameLocation":"43472:2:63","nodeType":"VariableDeclaration","scope":48382,"src":"43467:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48364,"name":"uint","nodeType":"ElementaryTypeName","src":"43467:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48367,"mutability":"mutable","name":"p3","nameLocation":"43484:2:63","nodeType":"VariableDeclaration","scope":48382,"src":"43476:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48366,"name":"address","nodeType":"ElementaryTypeName","src":"43476:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43448:39:63"},"returnParameters":{"id":48369,"nodeType":"ParameterList","parameters":[],"src":"43502:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48405,"nodeType":"FunctionDefinition","src":"43612:175:63","nodes":[],"body":{"id":48404,"nodeType":"Block","src":"43684:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429","id":48396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43734:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},"value":"log(bool,uint,string,uint)"},{"id":48397,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48384,"src":"43764:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48398,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48386,"src":"43768:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48399,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48388,"src":"43772:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48400,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48390,"src":"43776:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813","typeString":"literal_string \"log(bool,uint,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48394,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43710:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48395,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43714:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43710:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43710:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48393,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"43694:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43694:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48403,"nodeType":"ExpressionStatement","src":"43694:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43621:3:63","parameters":{"id":48391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48384,"mutability":"mutable","name":"p0","nameLocation":"43630:2:63","nodeType":"VariableDeclaration","scope":48405,"src":"43625:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48383,"name":"bool","nodeType":"ElementaryTypeName","src":"43625:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48386,"mutability":"mutable","name":"p1","nameLocation":"43639:2:63","nodeType":"VariableDeclaration","scope":48405,"src":"43634:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48385,"name":"uint","nodeType":"ElementaryTypeName","src":"43634:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48388,"mutability":"mutable","name":"p2","nameLocation":"43657:2:63","nodeType":"VariableDeclaration","scope":48405,"src":"43643:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48387,"name":"string","nodeType":"ElementaryTypeName","src":"43643:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48390,"mutability":"mutable","name":"p3","nameLocation":"43666:2:63","nodeType":"VariableDeclaration","scope":48405,"src":"43661:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48389,"name":"uint","nodeType":"ElementaryTypeName","src":"43661:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43624:45:63"},"returnParameters":{"id":48392,"nodeType":"ParameterList","parameters":[],"src":"43684:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48428,"nodeType":"FunctionDefinition","src":"43793:186:63","nodes":[],"body":{"id":48427,"nodeType":"Block","src":"43874:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729","id":48419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43924:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},"value":"log(bool,uint,string,string)"},{"id":48420,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48407,"src":"43956:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48421,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48409,"src":"43960:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48422,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48411,"src":"43964:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48423,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48413,"src":"43968:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee","typeString":"literal_string \"log(bool,uint,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48417,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43900:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48418,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43904:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43900:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43900:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48416,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"43884:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43884:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48426,"nodeType":"ExpressionStatement","src":"43884:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43802:3:63","parameters":{"id":48414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48407,"mutability":"mutable","name":"p0","nameLocation":"43811:2:63","nodeType":"VariableDeclaration","scope":48428,"src":"43806:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48406,"name":"bool","nodeType":"ElementaryTypeName","src":"43806:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48409,"mutability":"mutable","name":"p1","nameLocation":"43820:2:63","nodeType":"VariableDeclaration","scope":48428,"src":"43815:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48408,"name":"uint","nodeType":"ElementaryTypeName","src":"43815:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48411,"mutability":"mutable","name":"p2","nameLocation":"43838:2:63","nodeType":"VariableDeclaration","scope":48428,"src":"43824:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48410,"name":"string","nodeType":"ElementaryTypeName","src":"43824:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48413,"mutability":"mutable","name":"p3","nameLocation":"43856:2:63","nodeType":"VariableDeclaration","scope":48428,"src":"43842:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48412,"name":"string","nodeType":"ElementaryTypeName","src":"43842:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43805:54:63"},"returnParameters":{"id":48415,"nodeType":"ParameterList","parameters":[],"src":"43874:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48451,"nodeType":"FunctionDefinition","src":"43985:175:63","nodes":[],"body":{"id":48450,"nodeType":"Block","src":"44057:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29","id":48442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44107:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},"value":"log(bool,uint,string,bool)"},{"id":48443,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48430,"src":"44137:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48444,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48432,"src":"44141:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48445,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48434,"src":"44145:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48446,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48436,"src":"44149:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16","typeString":"literal_string \"log(bool,uint,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48440,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44083:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44087:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44083:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44083:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48439,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44067:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44067:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48449,"nodeType":"ExpressionStatement","src":"44067:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43994:3:63","parameters":{"id":48437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48430,"mutability":"mutable","name":"p0","nameLocation":"44003:2:63","nodeType":"VariableDeclaration","scope":48451,"src":"43998:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48429,"name":"bool","nodeType":"ElementaryTypeName","src":"43998:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48432,"mutability":"mutable","name":"p1","nameLocation":"44012:2:63","nodeType":"VariableDeclaration","scope":48451,"src":"44007:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48431,"name":"uint","nodeType":"ElementaryTypeName","src":"44007:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48434,"mutability":"mutable","name":"p2","nameLocation":"44030:2:63","nodeType":"VariableDeclaration","scope":48451,"src":"44016:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48433,"name":"string","nodeType":"ElementaryTypeName","src":"44016:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48436,"mutability":"mutable","name":"p3","nameLocation":"44039:2:63","nodeType":"VariableDeclaration","scope":48451,"src":"44034:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48435,"name":"bool","nodeType":"ElementaryTypeName","src":"44034:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43997:45:63"},"returnParameters":{"id":48438,"nodeType":"ParameterList","parameters":[],"src":"44057:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48474,"nodeType":"FunctionDefinition","src":"44166:181:63","nodes":[],"body":{"id":48473,"nodeType":"Block","src":"44241:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329","id":48465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44291:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},"value":"log(bool,uint,string,address)"},{"id":48466,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48453,"src":"44324:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48467,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48455,"src":"44328:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48468,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48457,"src":"44332:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48469,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48459,"src":"44336:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5","typeString":"literal_string \"log(bool,uint,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48463,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44267:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48464,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44271:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44267:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44267:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48462,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44251:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44251:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48472,"nodeType":"ExpressionStatement","src":"44251:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44175:3:63","parameters":{"id":48460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48453,"mutability":"mutable","name":"p0","nameLocation":"44184:2:63","nodeType":"VariableDeclaration","scope":48474,"src":"44179:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48452,"name":"bool","nodeType":"ElementaryTypeName","src":"44179:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48455,"mutability":"mutable","name":"p1","nameLocation":"44193:2:63","nodeType":"VariableDeclaration","scope":48474,"src":"44188:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48454,"name":"uint","nodeType":"ElementaryTypeName","src":"44188:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48457,"mutability":"mutable","name":"p2","nameLocation":"44211:2:63","nodeType":"VariableDeclaration","scope":48474,"src":"44197:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48456,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48459,"mutability":"mutable","name":"p3","nameLocation":"44223:2:63","nodeType":"VariableDeclaration","scope":48474,"src":"44215:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48458,"name":"address","nodeType":"ElementaryTypeName","src":"44215:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44178:48:63"},"returnParameters":{"id":48461,"nodeType":"ParameterList","parameters":[],"src":"44241:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48497,"nodeType":"FunctionDefinition","src":"44353:164:63","nodes":[],"body":{"id":48496,"nodeType":"Block","src":"44416:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429","id":48488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44466:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},"value":"log(bool,uint,bool,uint)"},{"id":48489,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48476,"src":"44494:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48490,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48478,"src":"44498:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48491,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48480,"src":"44502:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48492,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48482,"src":"44506:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0","typeString":"literal_string \"log(bool,uint,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48486,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44442:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44446:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44442:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44442:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48485,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44426:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44426:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48495,"nodeType":"ExpressionStatement","src":"44426:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44362:3:63","parameters":{"id":48483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48476,"mutability":"mutable","name":"p0","nameLocation":"44371:2:63","nodeType":"VariableDeclaration","scope":48497,"src":"44366:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48475,"name":"bool","nodeType":"ElementaryTypeName","src":"44366:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48478,"mutability":"mutable","name":"p1","nameLocation":"44380:2:63","nodeType":"VariableDeclaration","scope":48497,"src":"44375:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48477,"name":"uint","nodeType":"ElementaryTypeName","src":"44375:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48480,"mutability":"mutable","name":"p2","nameLocation":"44389:2:63","nodeType":"VariableDeclaration","scope":48497,"src":"44384:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48479,"name":"bool","nodeType":"ElementaryTypeName","src":"44384:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48482,"mutability":"mutable","name":"p3","nameLocation":"44398:2:63","nodeType":"VariableDeclaration","scope":48497,"src":"44393:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48481,"name":"uint","nodeType":"ElementaryTypeName","src":"44393:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44365:36:63"},"returnParameters":{"id":48484,"nodeType":"ParameterList","parameters":[],"src":"44416:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48520,"nodeType":"FunctionDefinition","src":"44523:175:63","nodes":[],"body":{"id":48519,"nodeType":"Block","src":"44595:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729","id":48511,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44645:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},"value":"log(bool,uint,bool,string)"},{"id":48512,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48499,"src":"44675:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48513,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48501,"src":"44679:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48514,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48503,"src":"44683:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48515,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48505,"src":"44687:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad","typeString":"literal_string \"log(bool,uint,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48509,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44621:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44625:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44621:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44621:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48508,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44605:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44605:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48518,"nodeType":"ExpressionStatement","src":"44605:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44532:3:63","parameters":{"id":48506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48499,"mutability":"mutable","name":"p0","nameLocation":"44541:2:63","nodeType":"VariableDeclaration","scope":48520,"src":"44536:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48498,"name":"bool","nodeType":"ElementaryTypeName","src":"44536:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48501,"mutability":"mutable","name":"p1","nameLocation":"44550:2:63","nodeType":"VariableDeclaration","scope":48520,"src":"44545:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48500,"name":"uint","nodeType":"ElementaryTypeName","src":"44545:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48503,"mutability":"mutable","name":"p2","nameLocation":"44559:2:63","nodeType":"VariableDeclaration","scope":48520,"src":"44554:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48502,"name":"bool","nodeType":"ElementaryTypeName","src":"44554:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48505,"mutability":"mutable","name":"p3","nameLocation":"44577:2:63","nodeType":"VariableDeclaration","scope":48520,"src":"44563:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48504,"name":"string","nodeType":"ElementaryTypeName","src":"44563:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44535:45:63"},"returnParameters":{"id":48507,"nodeType":"ParameterList","parameters":[],"src":"44595:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48543,"nodeType":"FunctionDefinition","src":"44704:164:63","nodes":[],"body":{"id":48542,"nodeType":"Block","src":"44767:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29","id":48534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44817:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},"value":"log(bool,uint,bool,bool)"},{"id":48535,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48522,"src":"44845:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48536,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48524,"src":"44849:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48537,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48526,"src":"44853:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48538,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48528,"src":"44857:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be","typeString":"literal_string \"log(bool,uint,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48532,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44793:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44797:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44793:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44793:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48531,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44777:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44777:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48541,"nodeType":"ExpressionStatement","src":"44777:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44713:3:63","parameters":{"id":48529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48522,"mutability":"mutable","name":"p0","nameLocation":"44722:2:63","nodeType":"VariableDeclaration","scope":48543,"src":"44717:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48521,"name":"bool","nodeType":"ElementaryTypeName","src":"44717:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48524,"mutability":"mutable","name":"p1","nameLocation":"44731:2:63","nodeType":"VariableDeclaration","scope":48543,"src":"44726:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48523,"name":"uint","nodeType":"ElementaryTypeName","src":"44726:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48526,"mutability":"mutable","name":"p2","nameLocation":"44740:2:63","nodeType":"VariableDeclaration","scope":48543,"src":"44735:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48525,"name":"bool","nodeType":"ElementaryTypeName","src":"44735:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48528,"mutability":"mutable","name":"p3","nameLocation":"44749:2:63","nodeType":"VariableDeclaration","scope":48543,"src":"44744:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48527,"name":"bool","nodeType":"ElementaryTypeName","src":"44744:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44716:36:63"},"returnParameters":{"id":48530,"nodeType":"ParameterList","parameters":[],"src":"44767:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48566,"nodeType":"FunctionDefinition","src":"44874:170:63","nodes":[],"body":{"id":48565,"nodeType":"Block","src":"44940:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329","id":48557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44990:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},"value":"log(bool,uint,bool,address)"},{"id":48558,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48545,"src":"45021:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48559,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48547,"src":"45025:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48560,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48549,"src":"45029:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48561,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48551,"src":"45033:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b","typeString":"literal_string \"log(bool,uint,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48555,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44966:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48556,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44970:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44966:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44966:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48554,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"44950:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44950:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48564,"nodeType":"ExpressionStatement","src":"44950:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44883:3:63","parameters":{"id":48552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48545,"mutability":"mutable","name":"p0","nameLocation":"44892:2:63","nodeType":"VariableDeclaration","scope":48566,"src":"44887:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48544,"name":"bool","nodeType":"ElementaryTypeName","src":"44887:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48547,"mutability":"mutable","name":"p1","nameLocation":"44901:2:63","nodeType":"VariableDeclaration","scope":48566,"src":"44896:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48546,"name":"uint","nodeType":"ElementaryTypeName","src":"44896:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48549,"mutability":"mutable","name":"p2","nameLocation":"44910:2:63","nodeType":"VariableDeclaration","scope":48566,"src":"44905:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48548,"name":"bool","nodeType":"ElementaryTypeName","src":"44905:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48551,"mutability":"mutable","name":"p3","nameLocation":"44922:2:63","nodeType":"VariableDeclaration","scope":48566,"src":"44914:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48550,"name":"address","nodeType":"ElementaryTypeName","src":"44914:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44886:39:63"},"returnParameters":{"id":48553,"nodeType":"ParameterList","parameters":[],"src":"44940:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48589,"nodeType":"FunctionDefinition","src":"45050:170:63","nodes":[],"body":{"id":48588,"nodeType":"Block","src":"45116:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429","id":48580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45166:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},"value":"log(bool,uint,address,uint)"},{"id":48581,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48568,"src":"45197:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48582,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48570,"src":"45201:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48583,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48572,"src":"45205:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48584,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48574,"src":"45209:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d","typeString":"literal_string \"log(bool,uint,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48578,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45142:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48579,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45146:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45142:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45142:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48577,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"45126:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45126:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48587,"nodeType":"ExpressionStatement","src":"45126:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45059:3:63","parameters":{"id":48575,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48568,"mutability":"mutable","name":"p0","nameLocation":"45068:2:63","nodeType":"VariableDeclaration","scope":48589,"src":"45063:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48567,"name":"bool","nodeType":"ElementaryTypeName","src":"45063:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48570,"mutability":"mutable","name":"p1","nameLocation":"45077:2:63","nodeType":"VariableDeclaration","scope":48589,"src":"45072:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48569,"name":"uint","nodeType":"ElementaryTypeName","src":"45072:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48572,"mutability":"mutable","name":"p2","nameLocation":"45089:2:63","nodeType":"VariableDeclaration","scope":48589,"src":"45081:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48571,"name":"address","nodeType":"ElementaryTypeName","src":"45081:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48574,"mutability":"mutable","name":"p3","nameLocation":"45098:2:63","nodeType":"VariableDeclaration","scope":48589,"src":"45093:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48573,"name":"uint","nodeType":"ElementaryTypeName","src":"45093:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45062:39:63"},"returnParameters":{"id":48576,"nodeType":"ParameterList","parameters":[],"src":"45116:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48612,"nodeType":"FunctionDefinition","src":"45226:181:63","nodes":[],"body":{"id":48611,"nodeType":"Block","src":"45301:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729","id":48603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45351:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},"value":"log(bool,uint,address,string)"},{"id":48604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48591,"src":"45384:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48605,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48593,"src":"45388:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48606,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48595,"src":"45392:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48607,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48597,"src":"45396:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689","typeString":"literal_string \"log(bool,uint,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45327:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45331:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45327:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45327:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"45311:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45311:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48610,"nodeType":"ExpressionStatement","src":"45311:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45235:3:63","parameters":{"id":48598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48591,"mutability":"mutable","name":"p0","nameLocation":"45244:2:63","nodeType":"VariableDeclaration","scope":48612,"src":"45239:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48590,"name":"bool","nodeType":"ElementaryTypeName","src":"45239:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48593,"mutability":"mutable","name":"p1","nameLocation":"45253:2:63","nodeType":"VariableDeclaration","scope":48612,"src":"45248:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48592,"name":"uint","nodeType":"ElementaryTypeName","src":"45248:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48595,"mutability":"mutable","name":"p2","nameLocation":"45265:2:63","nodeType":"VariableDeclaration","scope":48612,"src":"45257:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48594,"name":"address","nodeType":"ElementaryTypeName","src":"45257:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48597,"mutability":"mutable","name":"p3","nameLocation":"45283:2:63","nodeType":"VariableDeclaration","scope":48612,"src":"45269:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48596,"name":"string","nodeType":"ElementaryTypeName","src":"45269:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45238:48:63"},"returnParameters":{"id":48599,"nodeType":"ParameterList","parameters":[],"src":"45301:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48635,"nodeType":"FunctionDefinition","src":"45413:170:63","nodes":[],"body":{"id":48634,"nodeType":"Block","src":"45479:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29","id":48626,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45529:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},"value":"log(bool,uint,address,bool)"},{"id":48627,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48614,"src":"45560:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48628,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48616,"src":"45564:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48629,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48618,"src":"45568:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48630,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48620,"src":"45572:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa","typeString":"literal_string \"log(bool,uint,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48624,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45505:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48625,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45509:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45505:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45505:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48623,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"45489:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45489:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48633,"nodeType":"ExpressionStatement","src":"45489:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45422:3:63","parameters":{"id":48621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48614,"mutability":"mutable","name":"p0","nameLocation":"45431:2:63","nodeType":"VariableDeclaration","scope":48635,"src":"45426:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48613,"name":"bool","nodeType":"ElementaryTypeName","src":"45426:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48616,"mutability":"mutable","name":"p1","nameLocation":"45440:2:63","nodeType":"VariableDeclaration","scope":48635,"src":"45435:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48615,"name":"uint","nodeType":"ElementaryTypeName","src":"45435:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48618,"mutability":"mutable","name":"p2","nameLocation":"45452:2:63","nodeType":"VariableDeclaration","scope":48635,"src":"45444:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48617,"name":"address","nodeType":"ElementaryTypeName","src":"45444:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48620,"mutability":"mutable","name":"p3","nameLocation":"45461:2:63","nodeType":"VariableDeclaration","scope":48635,"src":"45456:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48619,"name":"bool","nodeType":"ElementaryTypeName","src":"45456:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45425:39:63"},"returnParameters":{"id":48622,"nodeType":"ParameterList","parameters":[],"src":"45479:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48658,"nodeType":"FunctionDefinition","src":"45589:176:63","nodes":[],"body":{"id":48657,"nodeType":"Block","src":"45658:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329","id":48649,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45708:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},"value":"log(bool,uint,address,address)"},{"id":48650,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48637,"src":"45742:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48651,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48639,"src":"45746:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48652,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48641,"src":"45750:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48653,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48643,"src":"45754:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d","typeString":"literal_string \"log(bool,uint,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48647,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45684:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48648,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45688:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45684:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45684:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48646,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"45668:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45668:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48656,"nodeType":"ExpressionStatement","src":"45668:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45598:3:63","parameters":{"id":48644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48637,"mutability":"mutable","name":"p0","nameLocation":"45607:2:63","nodeType":"VariableDeclaration","scope":48658,"src":"45602:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48636,"name":"bool","nodeType":"ElementaryTypeName","src":"45602:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48639,"mutability":"mutable","name":"p1","nameLocation":"45616:2:63","nodeType":"VariableDeclaration","scope":48658,"src":"45611:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48638,"name":"uint","nodeType":"ElementaryTypeName","src":"45611:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48641,"mutability":"mutable","name":"p2","nameLocation":"45628:2:63","nodeType":"VariableDeclaration","scope":48658,"src":"45620:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48640,"name":"address","nodeType":"ElementaryTypeName","src":"45620:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48643,"mutability":"mutable","name":"p3","nameLocation":"45640:2:63","nodeType":"VariableDeclaration","scope":48658,"src":"45632:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48642,"name":"address","nodeType":"ElementaryTypeName","src":"45632:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45601:42:63"},"returnParameters":{"id":48645,"nodeType":"ParameterList","parameters":[],"src":"45658:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48681,"nodeType":"FunctionDefinition","src":"45771:175:63","nodes":[],"body":{"id":48680,"nodeType":"Block","src":"45843:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429","id":48672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45893:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},"value":"log(bool,string,uint,uint)"},{"id":48673,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48660,"src":"45923:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48674,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48662,"src":"45927:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48675,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48664,"src":"45931:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48676,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48666,"src":"45935:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9","typeString":"literal_string \"log(bool,string,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45869:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45873:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45869:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45869:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48669,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"45853:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45853:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48679,"nodeType":"ExpressionStatement","src":"45853:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45780:3:63","parameters":{"id":48667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48660,"mutability":"mutable","name":"p0","nameLocation":"45789:2:63","nodeType":"VariableDeclaration","scope":48681,"src":"45784:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48659,"name":"bool","nodeType":"ElementaryTypeName","src":"45784:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48662,"mutability":"mutable","name":"p1","nameLocation":"45807:2:63","nodeType":"VariableDeclaration","scope":48681,"src":"45793:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48661,"name":"string","nodeType":"ElementaryTypeName","src":"45793:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48664,"mutability":"mutable","name":"p2","nameLocation":"45816:2:63","nodeType":"VariableDeclaration","scope":48681,"src":"45811:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48663,"name":"uint","nodeType":"ElementaryTypeName","src":"45811:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48666,"mutability":"mutable","name":"p3","nameLocation":"45825:2:63","nodeType":"VariableDeclaration","scope":48681,"src":"45820:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48665,"name":"uint","nodeType":"ElementaryTypeName","src":"45820:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45783:45:63"},"returnParameters":{"id":48668,"nodeType":"ParameterList","parameters":[],"src":"45843:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48704,"nodeType":"FunctionDefinition","src":"45952:186:63","nodes":[],"body":{"id":48703,"nodeType":"Block","src":"46033:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729","id":48695,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46083:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},"value":"log(bool,string,uint,string)"},{"id":48696,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48683,"src":"46115:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48697,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48685,"src":"46119:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48698,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48687,"src":"46123:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48699,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48689,"src":"46127:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649","typeString":"literal_string \"log(bool,string,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48693,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46059:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48694,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46063:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46059:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46059:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48692,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46043:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46043:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48702,"nodeType":"ExpressionStatement","src":"46043:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45961:3:63","parameters":{"id":48690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48683,"mutability":"mutable","name":"p0","nameLocation":"45970:2:63","nodeType":"VariableDeclaration","scope":48704,"src":"45965:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48682,"name":"bool","nodeType":"ElementaryTypeName","src":"45965:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48685,"mutability":"mutable","name":"p1","nameLocation":"45988:2:63","nodeType":"VariableDeclaration","scope":48704,"src":"45974:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48684,"name":"string","nodeType":"ElementaryTypeName","src":"45974:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48687,"mutability":"mutable","name":"p2","nameLocation":"45997:2:63","nodeType":"VariableDeclaration","scope":48704,"src":"45992:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48686,"name":"uint","nodeType":"ElementaryTypeName","src":"45992:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48689,"mutability":"mutable","name":"p3","nameLocation":"46015:2:63","nodeType":"VariableDeclaration","scope":48704,"src":"46001:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48688,"name":"string","nodeType":"ElementaryTypeName","src":"46001:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45964:54:63"},"returnParameters":{"id":48691,"nodeType":"ParameterList","parameters":[],"src":"46033:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48727,"nodeType":"FunctionDefinition","src":"46144:175:63","nodes":[],"body":{"id":48726,"nodeType":"Block","src":"46216:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29","id":48718,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46266:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},"value":"log(bool,string,uint,bool)"},{"id":48719,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48706,"src":"46296:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48720,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48708,"src":"46300:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48721,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48710,"src":"46304:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48722,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48712,"src":"46308:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8","typeString":"literal_string \"log(bool,string,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48716,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46242:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48717,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46246:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46242:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46242:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48715,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46226:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46226:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48725,"nodeType":"ExpressionStatement","src":"46226:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46153:3:63","parameters":{"id":48713,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48706,"mutability":"mutable","name":"p0","nameLocation":"46162:2:63","nodeType":"VariableDeclaration","scope":48727,"src":"46157:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48705,"name":"bool","nodeType":"ElementaryTypeName","src":"46157:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48708,"mutability":"mutable","name":"p1","nameLocation":"46180:2:63","nodeType":"VariableDeclaration","scope":48727,"src":"46166:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48707,"name":"string","nodeType":"ElementaryTypeName","src":"46166:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48710,"mutability":"mutable","name":"p2","nameLocation":"46189:2:63","nodeType":"VariableDeclaration","scope":48727,"src":"46184:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48709,"name":"uint","nodeType":"ElementaryTypeName","src":"46184:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48712,"mutability":"mutable","name":"p3","nameLocation":"46198:2:63","nodeType":"VariableDeclaration","scope":48727,"src":"46193:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48711,"name":"bool","nodeType":"ElementaryTypeName","src":"46193:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46156:45:63"},"returnParameters":{"id":48714,"nodeType":"ParameterList","parameters":[],"src":"46216:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48750,"nodeType":"FunctionDefinition","src":"46325:181:63","nodes":[],"body":{"id":48749,"nodeType":"Block","src":"46400:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329","id":48741,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46450:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},"value":"log(bool,string,uint,address)"},{"id":48742,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48729,"src":"46483:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48743,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48731,"src":"46487:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48744,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48733,"src":"46491:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":48745,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48735,"src":"46495:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a","typeString":"literal_string \"log(bool,string,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48739,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46426:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48740,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46430:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46426:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46426:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48738,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46410:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46410:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48748,"nodeType":"ExpressionStatement","src":"46410:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46334:3:63","parameters":{"id":48736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48729,"mutability":"mutable","name":"p0","nameLocation":"46343:2:63","nodeType":"VariableDeclaration","scope":48750,"src":"46338:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48728,"name":"bool","nodeType":"ElementaryTypeName","src":"46338:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48731,"mutability":"mutable","name":"p1","nameLocation":"46361:2:63","nodeType":"VariableDeclaration","scope":48750,"src":"46347:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48730,"name":"string","nodeType":"ElementaryTypeName","src":"46347:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48733,"mutability":"mutable","name":"p2","nameLocation":"46370:2:63","nodeType":"VariableDeclaration","scope":48750,"src":"46365:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48732,"name":"uint","nodeType":"ElementaryTypeName","src":"46365:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":48735,"mutability":"mutable","name":"p3","nameLocation":"46382:2:63","nodeType":"VariableDeclaration","scope":48750,"src":"46374:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48734,"name":"address","nodeType":"ElementaryTypeName","src":"46374:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46337:48:63"},"returnParameters":{"id":48737,"nodeType":"ParameterList","parameters":[],"src":"46400:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48773,"nodeType":"FunctionDefinition","src":"46512:186:63","nodes":[],"body":{"id":48772,"nodeType":"Block","src":"46593:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429","id":48764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46643:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},"value":"log(bool,string,string,uint)"},{"id":48765,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48752,"src":"46675:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48766,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48754,"src":"46679:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48767,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48756,"src":"46683:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48768,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48758,"src":"46687:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df","typeString":"literal_string \"log(bool,string,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48762,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46619:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48763,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46623:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46619:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46619:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48761,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46603:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46603:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48771,"nodeType":"ExpressionStatement","src":"46603:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46521:3:63","parameters":{"id":48759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48752,"mutability":"mutable","name":"p0","nameLocation":"46530:2:63","nodeType":"VariableDeclaration","scope":48773,"src":"46525:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48751,"name":"bool","nodeType":"ElementaryTypeName","src":"46525:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48754,"mutability":"mutable","name":"p1","nameLocation":"46548:2:63","nodeType":"VariableDeclaration","scope":48773,"src":"46534:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48753,"name":"string","nodeType":"ElementaryTypeName","src":"46534:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48756,"mutability":"mutable","name":"p2","nameLocation":"46566:2:63","nodeType":"VariableDeclaration","scope":48773,"src":"46552:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48755,"name":"string","nodeType":"ElementaryTypeName","src":"46552:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48758,"mutability":"mutable","name":"p3","nameLocation":"46575:2:63","nodeType":"VariableDeclaration","scope":48773,"src":"46570:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48757,"name":"uint","nodeType":"ElementaryTypeName","src":"46570:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46524:54:63"},"returnParameters":{"id":48760,"nodeType":"ParameterList","parameters":[],"src":"46593:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48796,"nodeType":"FunctionDefinition","src":"46704:197:63","nodes":[],"body":{"id":48795,"nodeType":"Block","src":"46794:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":48787,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46844:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":48788,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48775,"src":"46878:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48789,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48777,"src":"46882:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48790,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48779,"src":"46886:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48791,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48781,"src":"46890:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48785,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46820:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46824:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46820:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46820:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48784,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46804:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46804:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48794,"nodeType":"ExpressionStatement","src":"46804:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46713:3:63","parameters":{"id":48782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48775,"mutability":"mutable","name":"p0","nameLocation":"46722:2:63","nodeType":"VariableDeclaration","scope":48796,"src":"46717:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48774,"name":"bool","nodeType":"ElementaryTypeName","src":"46717:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48777,"mutability":"mutable","name":"p1","nameLocation":"46740:2:63","nodeType":"VariableDeclaration","scope":48796,"src":"46726:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48776,"name":"string","nodeType":"ElementaryTypeName","src":"46726:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48779,"mutability":"mutable","name":"p2","nameLocation":"46758:2:63","nodeType":"VariableDeclaration","scope":48796,"src":"46744:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48778,"name":"string","nodeType":"ElementaryTypeName","src":"46744:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48781,"mutability":"mutable","name":"p3","nameLocation":"46776:2:63","nodeType":"VariableDeclaration","scope":48796,"src":"46762:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48780,"name":"string","nodeType":"ElementaryTypeName","src":"46762:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46716:63:63"},"returnParameters":{"id":48783,"nodeType":"ParameterList","parameters":[],"src":"46794:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48819,"nodeType":"FunctionDefinition","src":"46907:186:63","nodes":[],"body":{"id":48818,"nodeType":"Block","src":"46988:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":48810,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47038:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":48811,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48798,"src":"47070:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48812,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48800,"src":"47074:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48813,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48802,"src":"47078:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48814,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48804,"src":"47082:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48808,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47014:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48809,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47018:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47014:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47014:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48807,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"46998:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46998:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48817,"nodeType":"ExpressionStatement","src":"46998:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46916:3:63","parameters":{"id":48805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48798,"mutability":"mutable","name":"p0","nameLocation":"46925:2:63","nodeType":"VariableDeclaration","scope":48819,"src":"46920:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48797,"name":"bool","nodeType":"ElementaryTypeName","src":"46920:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48800,"mutability":"mutable","name":"p1","nameLocation":"46943:2:63","nodeType":"VariableDeclaration","scope":48819,"src":"46929:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48799,"name":"string","nodeType":"ElementaryTypeName","src":"46929:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48802,"mutability":"mutable","name":"p2","nameLocation":"46961:2:63","nodeType":"VariableDeclaration","scope":48819,"src":"46947:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48801,"name":"string","nodeType":"ElementaryTypeName","src":"46947:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48804,"mutability":"mutable","name":"p3","nameLocation":"46970:2:63","nodeType":"VariableDeclaration","scope":48819,"src":"46965:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48803,"name":"bool","nodeType":"ElementaryTypeName","src":"46965:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46919:54:63"},"returnParameters":{"id":48806,"nodeType":"ParameterList","parameters":[],"src":"46988:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48842,"nodeType":"FunctionDefinition","src":"47099:192:63","nodes":[],"body":{"id":48841,"nodeType":"Block","src":"47183:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":48833,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47233:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":48834,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48821,"src":"47268:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48835,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48823,"src":"47272:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48836,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48825,"src":"47276:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48837,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48827,"src":"47280:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48831,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47209:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48832,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47213:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47209:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47209:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48830,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"47193:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47193:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48840,"nodeType":"ExpressionStatement","src":"47193:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47108:3:63","parameters":{"id":48828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48821,"mutability":"mutable","name":"p0","nameLocation":"47117:2:63","nodeType":"VariableDeclaration","scope":48842,"src":"47112:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48820,"name":"bool","nodeType":"ElementaryTypeName","src":"47112:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48823,"mutability":"mutable","name":"p1","nameLocation":"47135:2:63","nodeType":"VariableDeclaration","scope":48842,"src":"47121:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48822,"name":"string","nodeType":"ElementaryTypeName","src":"47121:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48825,"mutability":"mutable","name":"p2","nameLocation":"47153:2:63","nodeType":"VariableDeclaration","scope":48842,"src":"47139:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48824,"name":"string","nodeType":"ElementaryTypeName","src":"47139:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48827,"mutability":"mutable","name":"p3","nameLocation":"47165:2:63","nodeType":"VariableDeclaration","scope":48842,"src":"47157:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48826,"name":"address","nodeType":"ElementaryTypeName","src":"47157:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47111:57:63"},"returnParameters":{"id":48829,"nodeType":"ParameterList","parameters":[],"src":"47183:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48865,"nodeType":"FunctionDefinition","src":"47297:175:63","nodes":[],"body":{"id":48864,"nodeType":"Block","src":"47369:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429","id":48856,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47419:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},"value":"log(bool,string,bool,uint)"},{"id":48857,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48844,"src":"47449:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48858,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48846,"src":"47453:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48859,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48848,"src":"47457:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48860,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48850,"src":"47461:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055","typeString":"literal_string \"log(bool,string,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48854,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47395:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48855,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47399:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47395:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47395:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48853,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"47379:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47379:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48863,"nodeType":"ExpressionStatement","src":"47379:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47306:3:63","parameters":{"id":48851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48844,"mutability":"mutable","name":"p0","nameLocation":"47315:2:63","nodeType":"VariableDeclaration","scope":48865,"src":"47310:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48843,"name":"bool","nodeType":"ElementaryTypeName","src":"47310:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48846,"mutability":"mutable","name":"p1","nameLocation":"47333:2:63","nodeType":"VariableDeclaration","scope":48865,"src":"47319:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48845,"name":"string","nodeType":"ElementaryTypeName","src":"47319:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48848,"mutability":"mutable","name":"p2","nameLocation":"47342:2:63","nodeType":"VariableDeclaration","scope":48865,"src":"47337:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48847,"name":"bool","nodeType":"ElementaryTypeName","src":"47337:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48850,"mutability":"mutable","name":"p3","nameLocation":"47351:2:63","nodeType":"VariableDeclaration","scope":48865,"src":"47346:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48849,"name":"uint","nodeType":"ElementaryTypeName","src":"47346:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47309:45:63"},"returnParameters":{"id":48852,"nodeType":"ParameterList","parameters":[],"src":"47369:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48888,"nodeType":"FunctionDefinition","src":"47478:186:63","nodes":[],"body":{"id":48887,"nodeType":"Block","src":"47559:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":48879,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47609:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":48880,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48867,"src":"47641:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48881,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48869,"src":"47645:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48882,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48871,"src":"47649:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48883,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48873,"src":"47653:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48877,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47585:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48878,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47589:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47585:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47585:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48876,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"47569:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47569:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48886,"nodeType":"ExpressionStatement","src":"47569:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47487:3:63","parameters":{"id":48874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48867,"mutability":"mutable","name":"p0","nameLocation":"47496:2:63","nodeType":"VariableDeclaration","scope":48888,"src":"47491:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48866,"name":"bool","nodeType":"ElementaryTypeName","src":"47491:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48869,"mutability":"mutable","name":"p1","nameLocation":"47514:2:63","nodeType":"VariableDeclaration","scope":48888,"src":"47500:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48868,"name":"string","nodeType":"ElementaryTypeName","src":"47500:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48871,"mutability":"mutable","name":"p2","nameLocation":"47523:2:63","nodeType":"VariableDeclaration","scope":48888,"src":"47518:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48870,"name":"bool","nodeType":"ElementaryTypeName","src":"47518:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48873,"mutability":"mutable","name":"p3","nameLocation":"47541:2:63","nodeType":"VariableDeclaration","scope":48888,"src":"47527:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48872,"name":"string","nodeType":"ElementaryTypeName","src":"47527:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47490:54:63"},"returnParameters":{"id":48875,"nodeType":"ParameterList","parameters":[],"src":"47559:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48911,"nodeType":"FunctionDefinition","src":"47670:175:63","nodes":[],"body":{"id":48910,"nodeType":"Block","src":"47742:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":48902,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47792:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":48903,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48890,"src":"47822:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48904,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48892,"src":"47826:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48905,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48894,"src":"47830:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48906,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48896,"src":"47834:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48900,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47768:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48901,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47772:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47768:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47768:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48899,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"47752:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47752:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48909,"nodeType":"ExpressionStatement","src":"47752:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47679:3:63","parameters":{"id":48897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48890,"mutability":"mutable","name":"p0","nameLocation":"47688:2:63","nodeType":"VariableDeclaration","scope":48911,"src":"47683:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48889,"name":"bool","nodeType":"ElementaryTypeName","src":"47683:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48892,"mutability":"mutable","name":"p1","nameLocation":"47706:2:63","nodeType":"VariableDeclaration","scope":48911,"src":"47692:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48891,"name":"string","nodeType":"ElementaryTypeName","src":"47692:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48894,"mutability":"mutable","name":"p2","nameLocation":"47715:2:63","nodeType":"VariableDeclaration","scope":48911,"src":"47710:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48893,"name":"bool","nodeType":"ElementaryTypeName","src":"47710:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48896,"mutability":"mutable","name":"p3","nameLocation":"47724:2:63","nodeType":"VariableDeclaration","scope":48911,"src":"47719:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48895,"name":"bool","nodeType":"ElementaryTypeName","src":"47719:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47682:45:63"},"returnParameters":{"id":48898,"nodeType":"ParameterList","parameters":[],"src":"47742:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48934,"nodeType":"FunctionDefinition","src":"47851:181:63","nodes":[],"body":{"id":48933,"nodeType":"Block","src":"47926:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":48925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47976:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":48926,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48913,"src":"48009:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48927,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48915,"src":"48013:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48928,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48917,"src":"48017:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48929,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48919,"src":"48021:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":48923,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47952:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48924,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47956:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47952:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47952:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48922,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"47936:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47936:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48932,"nodeType":"ExpressionStatement","src":"47936:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47860:3:63","parameters":{"id":48920,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48913,"mutability":"mutable","name":"p0","nameLocation":"47869:2:63","nodeType":"VariableDeclaration","scope":48934,"src":"47864:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48912,"name":"bool","nodeType":"ElementaryTypeName","src":"47864:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48915,"mutability":"mutable","name":"p1","nameLocation":"47887:2:63","nodeType":"VariableDeclaration","scope":48934,"src":"47873:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48914,"name":"string","nodeType":"ElementaryTypeName","src":"47873:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48917,"mutability":"mutable","name":"p2","nameLocation":"47896:2:63","nodeType":"VariableDeclaration","scope":48934,"src":"47891:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48916,"name":"bool","nodeType":"ElementaryTypeName","src":"47891:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48919,"mutability":"mutable","name":"p3","nameLocation":"47908:2:63","nodeType":"VariableDeclaration","scope":48934,"src":"47900:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48918,"name":"address","nodeType":"ElementaryTypeName","src":"47900:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47863:48:63"},"returnParameters":{"id":48921,"nodeType":"ParameterList","parameters":[],"src":"47926:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48957,"nodeType":"FunctionDefinition","src":"48038:181:63","nodes":[],"body":{"id":48956,"nodeType":"Block","src":"48113:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429","id":48948,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48163:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},"value":"log(bool,string,address,uint)"},{"id":48949,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48936,"src":"48196:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48950,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48938,"src":"48200:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48951,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48940,"src":"48204:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48952,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48942,"src":"48208:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca","typeString":"literal_string \"log(bool,string,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":48946,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48139:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48947,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48143:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48139:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48139:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48945,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"48123:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48123:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48955,"nodeType":"ExpressionStatement","src":"48123:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48047:3:63","parameters":{"id":48943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48936,"mutability":"mutable","name":"p0","nameLocation":"48056:2:63","nodeType":"VariableDeclaration","scope":48957,"src":"48051:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48935,"name":"bool","nodeType":"ElementaryTypeName","src":"48051:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48938,"mutability":"mutable","name":"p1","nameLocation":"48074:2:63","nodeType":"VariableDeclaration","scope":48957,"src":"48060:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48937,"name":"string","nodeType":"ElementaryTypeName","src":"48060:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48940,"mutability":"mutable","name":"p2","nameLocation":"48086:2:63","nodeType":"VariableDeclaration","scope":48957,"src":"48078:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48939,"name":"address","nodeType":"ElementaryTypeName","src":"48078:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48942,"mutability":"mutable","name":"p3","nameLocation":"48095:2:63","nodeType":"VariableDeclaration","scope":48957,"src":"48090:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48941,"name":"uint","nodeType":"ElementaryTypeName","src":"48090:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48050:48:63"},"returnParameters":{"id":48944,"nodeType":"ParameterList","parameters":[],"src":"48113:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48980,"nodeType":"FunctionDefinition","src":"48225:192:63","nodes":[],"body":{"id":48979,"nodeType":"Block","src":"48309:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":48971,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48359:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":48972,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48959,"src":"48394:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48973,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48961,"src":"48398:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48974,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48963,"src":"48402:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48975,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48965,"src":"48406:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":48969,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48335:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48970,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48339:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48335:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48335:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48968,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"48319:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":48977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48319:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48978,"nodeType":"ExpressionStatement","src":"48319:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48234:3:63","parameters":{"id":48966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48959,"mutability":"mutable","name":"p0","nameLocation":"48243:2:63","nodeType":"VariableDeclaration","scope":48980,"src":"48238:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48958,"name":"bool","nodeType":"ElementaryTypeName","src":"48238:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48961,"mutability":"mutable","name":"p1","nameLocation":"48261:2:63","nodeType":"VariableDeclaration","scope":48980,"src":"48247:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48960,"name":"string","nodeType":"ElementaryTypeName","src":"48247:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48963,"mutability":"mutable","name":"p2","nameLocation":"48273:2:63","nodeType":"VariableDeclaration","scope":48980,"src":"48265:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48962,"name":"address","nodeType":"ElementaryTypeName","src":"48265:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48965,"mutability":"mutable","name":"p3","nameLocation":"48291:2:63","nodeType":"VariableDeclaration","scope":48980,"src":"48277:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48964,"name":"string","nodeType":"ElementaryTypeName","src":"48277:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48237:57:63"},"returnParameters":{"id":48967,"nodeType":"ParameterList","parameters":[],"src":"48309:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49003,"nodeType":"FunctionDefinition","src":"48423:181:63","nodes":[],"body":{"id":49002,"nodeType":"Block","src":"48498:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":48994,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48548:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":48995,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48982,"src":"48581:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":48996,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48984,"src":"48585:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":48997,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48986,"src":"48589:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":48998,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48988,"src":"48593:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":48992,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48524:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":48993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48528:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48524:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":48999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48524:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":48991,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"48508:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48508:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49001,"nodeType":"ExpressionStatement","src":"48508:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48432:3:63","parameters":{"id":48989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48982,"mutability":"mutable","name":"p0","nameLocation":"48441:2:63","nodeType":"VariableDeclaration","scope":49003,"src":"48436:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48981,"name":"bool","nodeType":"ElementaryTypeName","src":"48436:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":48984,"mutability":"mutable","name":"p1","nameLocation":"48459:2:63","nodeType":"VariableDeclaration","scope":49003,"src":"48445:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":48983,"name":"string","nodeType":"ElementaryTypeName","src":"48445:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":48986,"mutability":"mutable","name":"p2","nameLocation":"48471:2:63","nodeType":"VariableDeclaration","scope":49003,"src":"48463:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":48985,"name":"address","nodeType":"ElementaryTypeName","src":"48463:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":48988,"mutability":"mutable","name":"p3","nameLocation":"48480:2:63","nodeType":"VariableDeclaration","scope":49003,"src":"48475:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":48987,"name":"bool","nodeType":"ElementaryTypeName","src":"48475:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48435:48:63"},"returnParameters":{"id":48990,"nodeType":"ParameterList","parameters":[],"src":"48498:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49026,"nodeType":"FunctionDefinition","src":"48610:187:63","nodes":[],"body":{"id":49025,"nodeType":"Block","src":"48688:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":49017,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48738:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":49018,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49005,"src":"48774:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49019,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49007,"src":"48778:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49020,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49009,"src":"48782:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49021,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49011,"src":"48786:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49015,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48714:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49016,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48718:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48714:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48714:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49014,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"48698:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48698:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49024,"nodeType":"ExpressionStatement","src":"48698:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48619:3:63","parameters":{"id":49012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49005,"mutability":"mutable","name":"p0","nameLocation":"48628:2:63","nodeType":"VariableDeclaration","scope":49026,"src":"48623:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49004,"name":"bool","nodeType":"ElementaryTypeName","src":"48623:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49007,"mutability":"mutable","name":"p1","nameLocation":"48646:2:63","nodeType":"VariableDeclaration","scope":49026,"src":"48632:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49006,"name":"string","nodeType":"ElementaryTypeName","src":"48632:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49009,"mutability":"mutable","name":"p2","nameLocation":"48658:2:63","nodeType":"VariableDeclaration","scope":49026,"src":"48650:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49008,"name":"address","nodeType":"ElementaryTypeName","src":"48650:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49011,"mutability":"mutable","name":"p3","nameLocation":"48670:2:63","nodeType":"VariableDeclaration","scope":49026,"src":"48662:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49010,"name":"address","nodeType":"ElementaryTypeName","src":"48662:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48622:51:63"},"returnParameters":{"id":49013,"nodeType":"ParameterList","parameters":[],"src":"48688:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49049,"nodeType":"FunctionDefinition","src":"48803:164:63","nodes":[],"body":{"id":49048,"nodeType":"Block","src":"48866:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429","id":49040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48916:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},"value":"log(bool,bool,uint,uint)"},{"id":49041,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49028,"src":"48944:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49042,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49030,"src":"48948:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49043,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49032,"src":"48952:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49044,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49034,"src":"48956:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a","typeString":"literal_string \"log(bool,bool,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49038,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48892:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49039,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48896:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48892:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48892:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49037,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"48876:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48876:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49047,"nodeType":"ExpressionStatement","src":"48876:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48812:3:63","parameters":{"id":49035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49028,"mutability":"mutable","name":"p0","nameLocation":"48821:2:63","nodeType":"VariableDeclaration","scope":49049,"src":"48816:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49027,"name":"bool","nodeType":"ElementaryTypeName","src":"48816:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49030,"mutability":"mutable","name":"p1","nameLocation":"48830:2:63","nodeType":"VariableDeclaration","scope":49049,"src":"48825:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49029,"name":"bool","nodeType":"ElementaryTypeName","src":"48825:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49032,"mutability":"mutable","name":"p2","nameLocation":"48839:2:63","nodeType":"VariableDeclaration","scope":49049,"src":"48834:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49031,"name":"uint","nodeType":"ElementaryTypeName","src":"48834:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49034,"mutability":"mutable","name":"p3","nameLocation":"48848:2:63","nodeType":"VariableDeclaration","scope":49049,"src":"48843:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49033,"name":"uint","nodeType":"ElementaryTypeName","src":"48843:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48815:36:63"},"returnParameters":{"id":49036,"nodeType":"ParameterList","parameters":[],"src":"48866:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49072,"nodeType":"FunctionDefinition","src":"48973:175:63","nodes":[],"body":{"id":49071,"nodeType":"Block","src":"49045:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729","id":49063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49095:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},"value":"log(bool,bool,uint,string)"},{"id":49064,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49051,"src":"49125:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49065,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49053,"src":"49129:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49066,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49055,"src":"49133:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49067,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49057,"src":"49137:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc","typeString":"literal_string \"log(bool,bool,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49061,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49071:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49075:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49071:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49071:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49055:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49055:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49070,"nodeType":"ExpressionStatement","src":"49055:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48982:3:63","parameters":{"id":49058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49051,"mutability":"mutable","name":"p0","nameLocation":"48991:2:63","nodeType":"VariableDeclaration","scope":49072,"src":"48986:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49050,"name":"bool","nodeType":"ElementaryTypeName","src":"48986:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49053,"mutability":"mutable","name":"p1","nameLocation":"49000:2:63","nodeType":"VariableDeclaration","scope":49072,"src":"48995:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49052,"name":"bool","nodeType":"ElementaryTypeName","src":"48995:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49055,"mutability":"mutable","name":"p2","nameLocation":"49009:2:63","nodeType":"VariableDeclaration","scope":49072,"src":"49004:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49054,"name":"uint","nodeType":"ElementaryTypeName","src":"49004:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49057,"mutability":"mutable","name":"p3","nameLocation":"49027:2:63","nodeType":"VariableDeclaration","scope":49072,"src":"49013:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49056,"name":"string","nodeType":"ElementaryTypeName","src":"49013:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48985:45:63"},"returnParameters":{"id":49059,"nodeType":"ParameterList","parameters":[],"src":"49045:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49095,"nodeType":"FunctionDefinition","src":"49154:164:63","nodes":[],"body":{"id":49094,"nodeType":"Block","src":"49217:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29","id":49086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49267:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},"value":"log(bool,bool,uint,bool)"},{"id":49087,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49074,"src":"49295:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49088,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49076,"src":"49299:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49089,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49078,"src":"49303:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49090,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49080,"src":"49307:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110","typeString":"literal_string \"log(bool,bool,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49084,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49243:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49247:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49243:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49243:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49083,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49227:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49227:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49093,"nodeType":"ExpressionStatement","src":"49227:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49163:3:63","parameters":{"id":49081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49074,"mutability":"mutable","name":"p0","nameLocation":"49172:2:63","nodeType":"VariableDeclaration","scope":49095,"src":"49167:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49073,"name":"bool","nodeType":"ElementaryTypeName","src":"49167:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49076,"mutability":"mutable","name":"p1","nameLocation":"49181:2:63","nodeType":"VariableDeclaration","scope":49095,"src":"49176:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49075,"name":"bool","nodeType":"ElementaryTypeName","src":"49176:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49078,"mutability":"mutable","name":"p2","nameLocation":"49190:2:63","nodeType":"VariableDeclaration","scope":49095,"src":"49185:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49077,"name":"uint","nodeType":"ElementaryTypeName","src":"49185:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49080,"mutability":"mutable","name":"p3","nameLocation":"49199:2:63","nodeType":"VariableDeclaration","scope":49095,"src":"49194:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49079,"name":"bool","nodeType":"ElementaryTypeName","src":"49194:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49166:36:63"},"returnParameters":{"id":49082,"nodeType":"ParameterList","parameters":[],"src":"49217:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49118,"nodeType":"FunctionDefinition","src":"49324:170:63","nodes":[],"body":{"id":49117,"nodeType":"Block","src":"49390:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329","id":49109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49440:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},"value":"log(bool,bool,uint,address)"},{"id":49110,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49097,"src":"49471:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49111,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49099,"src":"49475:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49112,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49101,"src":"49479:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49113,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49103,"src":"49483:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7","typeString":"literal_string \"log(bool,bool,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49107,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49416:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49108,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49420:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49416:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49416:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49106,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49400:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49400:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49116,"nodeType":"ExpressionStatement","src":"49400:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49333:3:63","parameters":{"id":49104,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49097,"mutability":"mutable","name":"p0","nameLocation":"49342:2:63","nodeType":"VariableDeclaration","scope":49118,"src":"49337:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49096,"name":"bool","nodeType":"ElementaryTypeName","src":"49337:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49099,"mutability":"mutable","name":"p1","nameLocation":"49351:2:63","nodeType":"VariableDeclaration","scope":49118,"src":"49346:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49098,"name":"bool","nodeType":"ElementaryTypeName","src":"49346:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49101,"mutability":"mutable","name":"p2","nameLocation":"49360:2:63","nodeType":"VariableDeclaration","scope":49118,"src":"49355:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49100,"name":"uint","nodeType":"ElementaryTypeName","src":"49355:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49103,"mutability":"mutable","name":"p3","nameLocation":"49372:2:63","nodeType":"VariableDeclaration","scope":49118,"src":"49364:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49102,"name":"address","nodeType":"ElementaryTypeName","src":"49364:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49336:39:63"},"returnParameters":{"id":49105,"nodeType":"ParameterList","parameters":[],"src":"49390:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49141,"nodeType":"FunctionDefinition","src":"49500:175:63","nodes":[],"body":{"id":49140,"nodeType":"Block","src":"49572:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429","id":49132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49622:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},"value":"log(bool,bool,string,uint)"},{"id":49133,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49120,"src":"49652:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49134,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49122,"src":"49656:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49135,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49124,"src":"49660:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49136,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49126,"src":"49664:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e","typeString":"literal_string \"log(bool,bool,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49130,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49598:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49131,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49602:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49598:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49598:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49129,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49582:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49582:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49139,"nodeType":"ExpressionStatement","src":"49582:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49509:3:63","parameters":{"id":49127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49120,"mutability":"mutable","name":"p0","nameLocation":"49518:2:63","nodeType":"VariableDeclaration","scope":49141,"src":"49513:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49119,"name":"bool","nodeType":"ElementaryTypeName","src":"49513:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49122,"mutability":"mutable","name":"p1","nameLocation":"49527:2:63","nodeType":"VariableDeclaration","scope":49141,"src":"49522:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49121,"name":"bool","nodeType":"ElementaryTypeName","src":"49522:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49124,"mutability":"mutable","name":"p2","nameLocation":"49545:2:63","nodeType":"VariableDeclaration","scope":49141,"src":"49531:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49123,"name":"string","nodeType":"ElementaryTypeName","src":"49531:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49126,"mutability":"mutable","name":"p3","nameLocation":"49554:2:63","nodeType":"VariableDeclaration","scope":49141,"src":"49549:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49125,"name":"uint","nodeType":"ElementaryTypeName","src":"49549:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49512:45:63"},"returnParameters":{"id":49128,"nodeType":"ParameterList","parameters":[],"src":"49572:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49164,"nodeType":"FunctionDefinition","src":"49681:186:63","nodes":[],"body":{"id":49163,"nodeType":"Block","src":"49762:105:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":49155,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49812:30:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":49156,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49143,"src":"49844:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49157,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49145,"src":"49848:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49158,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49147,"src":"49852:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49159,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49149,"src":"49856:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49153,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49788:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49792:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49788:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49788:71:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49152,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49772:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49772:88:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49162,"nodeType":"ExpressionStatement","src":"49772:88:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49690:3:63","parameters":{"id":49150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49143,"mutability":"mutable","name":"p0","nameLocation":"49699:2:63","nodeType":"VariableDeclaration","scope":49164,"src":"49694:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49142,"name":"bool","nodeType":"ElementaryTypeName","src":"49694:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49145,"mutability":"mutable","name":"p1","nameLocation":"49708:2:63","nodeType":"VariableDeclaration","scope":49164,"src":"49703:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49144,"name":"bool","nodeType":"ElementaryTypeName","src":"49703:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49147,"mutability":"mutable","name":"p2","nameLocation":"49726:2:63","nodeType":"VariableDeclaration","scope":49164,"src":"49712:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49146,"name":"string","nodeType":"ElementaryTypeName","src":"49712:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49149,"mutability":"mutable","name":"p3","nameLocation":"49744:2:63","nodeType":"VariableDeclaration","scope":49164,"src":"49730:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49148,"name":"string","nodeType":"ElementaryTypeName","src":"49730:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49693:54:63"},"returnParameters":{"id":49151,"nodeType":"ParameterList","parameters":[],"src":"49762:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49187,"nodeType":"FunctionDefinition","src":"49873:175:63","nodes":[],"body":{"id":49186,"nodeType":"Block","src":"49945:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":49178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49995:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":49179,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49166,"src":"50025:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49180,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49168,"src":"50029:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49181,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49170,"src":"50033:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49182,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49172,"src":"50037:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49176,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49971:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49177,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49975:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49971:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49971:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49175,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"49955:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49955:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49185,"nodeType":"ExpressionStatement","src":"49955:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49882:3:63","parameters":{"id":49173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49166,"mutability":"mutable","name":"p0","nameLocation":"49891:2:63","nodeType":"VariableDeclaration","scope":49187,"src":"49886:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49165,"name":"bool","nodeType":"ElementaryTypeName","src":"49886:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49168,"mutability":"mutable","name":"p1","nameLocation":"49900:2:63","nodeType":"VariableDeclaration","scope":49187,"src":"49895:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49167,"name":"bool","nodeType":"ElementaryTypeName","src":"49895:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49170,"mutability":"mutable","name":"p2","nameLocation":"49918:2:63","nodeType":"VariableDeclaration","scope":49187,"src":"49904:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49169,"name":"string","nodeType":"ElementaryTypeName","src":"49904:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49172,"mutability":"mutable","name":"p3","nameLocation":"49927:2:63","nodeType":"VariableDeclaration","scope":49187,"src":"49922:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49171,"name":"bool","nodeType":"ElementaryTypeName","src":"49922:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49885:45:63"},"returnParameters":{"id":49174,"nodeType":"ParameterList","parameters":[],"src":"49945:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49210,"nodeType":"FunctionDefinition","src":"50054:181:63","nodes":[],"body":{"id":49209,"nodeType":"Block","src":"50129:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":49201,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50179:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":49202,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49189,"src":"50212:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49203,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49191,"src":"50216:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49204,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49193,"src":"50220:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49205,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49195,"src":"50224:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49199,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50155:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49200,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50159:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50155:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50155:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49198,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"50139:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50139:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49208,"nodeType":"ExpressionStatement","src":"50139:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50063:3:63","parameters":{"id":49196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49189,"mutability":"mutable","name":"p0","nameLocation":"50072:2:63","nodeType":"VariableDeclaration","scope":49210,"src":"50067:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49188,"name":"bool","nodeType":"ElementaryTypeName","src":"50067:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49191,"mutability":"mutable","name":"p1","nameLocation":"50081:2:63","nodeType":"VariableDeclaration","scope":49210,"src":"50076:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49190,"name":"bool","nodeType":"ElementaryTypeName","src":"50076:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49193,"mutability":"mutable","name":"p2","nameLocation":"50099:2:63","nodeType":"VariableDeclaration","scope":49210,"src":"50085:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49192,"name":"string","nodeType":"ElementaryTypeName","src":"50085:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49195,"mutability":"mutable","name":"p3","nameLocation":"50111:2:63","nodeType":"VariableDeclaration","scope":49210,"src":"50103:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49194,"name":"address","nodeType":"ElementaryTypeName","src":"50103:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50066:48:63"},"returnParameters":{"id":49197,"nodeType":"ParameterList","parameters":[],"src":"50129:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49233,"nodeType":"FunctionDefinition","src":"50241:164:63","nodes":[],"body":{"id":49232,"nodeType":"Block","src":"50304:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429","id":49224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50354:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},"value":"log(bool,bool,bool,uint)"},{"id":49225,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49212,"src":"50382:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49226,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49214,"src":"50386:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49227,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49216,"src":"50390:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49228,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49218,"src":"50394:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501","typeString":"literal_string \"log(bool,bool,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49222,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50330:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49223,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50334:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50330:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50330:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49221,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"50314:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50314:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49231,"nodeType":"ExpressionStatement","src":"50314:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50250:3:63","parameters":{"id":49219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49212,"mutability":"mutable","name":"p0","nameLocation":"50259:2:63","nodeType":"VariableDeclaration","scope":49233,"src":"50254:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49211,"name":"bool","nodeType":"ElementaryTypeName","src":"50254:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49214,"mutability":"mutable","name":"p1","nameLocation":"50268:2:63","nodeType":"VariableDeclaration","scope":49233,"src":"50263:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49213,"name":"bool","nodeType":"ElementaryTypeName","src":"50263:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49216,"mutability":"mutable","name":"p2","nameLocation":"50277:2:63","nodeType":"VariableDeclaration","scope":49233,"src":"50272:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49215,"name":"bool","nodeType":"ElementaryTypeName","src":"50272:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49218,"mutability":"mutable","name":"p3","nameLocation":"50286:2:63","nodeType":"VariableDeclaration","scope":49233,"src":"50281:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49217,"name":"uint","nodeType":"ElementaryTypeName","src":"50281:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50253:36:63"},"returnParameters":{"id":49220,"nodeType":"ParameterList","parameters":[],"src":"50304:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49256,"nodeType":"FunctionDefinition","src":"50411:175:63","nodes":[],"body":{"id":49255,"nodeType":"Block","src":"50483:103:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":49247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50533:28:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":49248,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49235,"src":"50563:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49249,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49237,"src":"50567:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49250,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49239,"src":"50571:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49251,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49241,"src":"50575:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49245,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50509:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49246,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50513:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50509:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50509:69:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49244,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"50493:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50493:86:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49254,"nodeType":"ExpressionStatement","src":"50493:86:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50420:3:63","parameters":{"id":49242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49235,"mutability":"mutable","name":"p0","nameLocation":"50429:2:63","nodeType":"VariableDeclaration","scope":49256,"src":"50424:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49234,"name":"bool","nodeType":"ElementaryTypeName","src":"50424:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49237,"mutability":"mutable","name":"p1","nameLocation":"50438:2:63","nodeType":"VariableDeclaration","scope":49256,"src":"50433:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49236,"name":"bool","nodeType":"ElementaryTypeName","src":"50433:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49239,"mutability":"mutable","name":"p2","nameLocation":"50447:2:63","nodeType":"VariableDeclaration","scope":49256,"src":"50442:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49238,"name":"bool","nodeType":"ElementaryTypeName","src":"50442:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49241,"mutability":"mutable","name":"p3","nameLocation":"50465:2:63","nodeType":"VariableDeclaration","scope":49256,"src":"50451:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49240,"name":"string","nodeType":"ElementaryTypeName","src":"50451:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50423:45:63"},"returnParameters":{"id":49243,"nodeType":"ParameterList","parameters":[],"src":"50483:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49279,"nodeType":"FunctionDefinition","src":"50592:164:63","nodes":[],"body":{"id":49278,"nodeType":"Block","src":"50655:101:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":49270,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50705:26:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":49271,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49258,"src":"50733:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49272,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49260,"src":"50737:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49273,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49262,"src":"50741:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49274,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49264,"src":"50745:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49268,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50681:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49269,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50685:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50681:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50681:67:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49267,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"50665:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50665:84:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49277,"nodeType":"ExpressionStatement","src":"50665:84:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50601:3:63","parameters":{"id":49265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49258,"mutability":"mutable","name":"p0","nameLocation":"50610:2:63","nodeType":"VariableDeclaration","scope":49279,"src":"50605:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49257,"name":"bool","nodeType":"ElementaryTypeName","src":"50605:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49260,"mutability":"mutable","name":"p1","nameLocation":"50619:2:63","nodeType":"VariableDeclaration","scope":49279,"src":"50614:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49259,"name":"bool","nodeType":"ElementaryTypeName","src":"50614:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49262,"mutability":"mutable","name":"p2","nameLocation":"50628:2:63","nodeType":"VariableDeclaration","scope":49279,"src":"50623:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49261,"name":"bool","nodeType":"ElementaryTypeName","src":"50623:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49264,"mutability":"mutable","name":"p3","nameLocation":"50637:2:63","nodeType":"VariableDeclaration","scope":49279,"src":"50632:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49263,"name":"bool","nodeType":"ElementaryTypeName","src":"50632:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50604:36:63"},"returnParameters":{"id":49266,"nodeType":"ParameterList","parameters":[],"src":"50655:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49302,"nodeType":"FunctionDefinition","src":"50762:170:63","nodes":[],"body":{"id":49301,"nodeType":"Block","src":"50828:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":49293,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50878:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":49294,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49281,"src":"50909:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49295,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49283,"src":"50913:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49296,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49285,"src":"50917:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49297,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49287,"src":"50921:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49291,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50854:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49292,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50858:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50854:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50854:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49290,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"50838:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50838:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49300,"nodeType":"ExpressionStatement","src":"50838:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50771:3:63","parameters":{"id":49288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49281,"mutability":"mutable","name":"p0","nameLocation":"50780:2:63","nodeType":"VariableDeclaration","scope":49302,"src":"50775:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49280,"name":"bool","nodeType":"ElementaryTypeName","src":"50775:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49283,"mutability":"mutable","name":"p1","nameLocation":"50789:2:63","nodeType":"VariableDeclaration","scope":49302,"src":"50784:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49282,"name":"bool","nodeType":"ElementaryTypeName","src":"50784:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49285,"mutability":"mutable","name":"p2","nameLocation":"50798:2:63","nodeType":"VariableDeclaration","scope":49302,"src":"50793:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49284,"name":"bool","nodeType":"ElementaryTypeName","src":"50793:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49287,"mutability":"mutable","name":"p3","nameLocation":"50810:2:63","nodeType":"VariableDeclaration","scope":49302,"src":"50802:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49286,"name":"address","nodeType":"ElementaryTypeName","src":"50802:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50774:39:63"},"returnParameters":{"id":49289,"nodeType":"ParameterList","parameters":[],"src":"50828:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49325,"nodeType":"FunctionDefinition","src":"50938:170:63","nodes":[],"body":{"id":49324,"nodeType":"Block","src":"51004:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429","id":49316,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51054:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},"value":"log(bool,bool,address,uint)"},{"id":49317,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49304,"src":"51085:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49318,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49306,"src":"51089:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49319,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49308,"src":"51093:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49320,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49310,"src":"51097:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e","typeString":"literal_string \"log(bool,bool,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49314,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51030:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49315,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51034:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51030:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51030:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49313,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51014:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51014:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49323,"nodeType":"ExpressionStatement","src":"51014:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50947:3:63","parameters":{"id":49311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49304,"mutability":"mutable","name":"p0","nameLocation":"50956:2:63","nodeType":"VariableDeclaration","scope":49325,"src":"50951:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49303,"name":"bool","nodeType":"ElementaryTypeName","src":"50951:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49306,"mutability":"mutable","name":"p1","nameLocation":"50965:2:63","nodeType":"VariableDeclaration","scope":49325,"src":"50960:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49305,"name":"bool","nodeType":"ElementaryTypeName","src":"50960:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49308,"mutability":"mutable","name":"p2","nameLocation":"50977:2:63","nodeType":"VariableDeclaration","scope":49325,"src":"50969:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49307,"name":"address","nodeType":"ElementaryTypeName","src":"50969:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49310,"mutability":"mutable","name":"p3","nameLocation":"50986:2:63","nodeType":"VariableDeclaration","scope":49325,"src":"50981:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49309,"name":"uint","nodeType":"ElementaryTypeName","src":"50981:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50950:39:63"},"returnParameters":{"id":49312,"nodeType":"ParameterList","parameters":[],"src":"51004:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49348,"nodeType":"FunctionDefinition","src":"51114:181:63","nodes":[],"body":{"id":49347,"nodeType":"Block","src":"51189:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":49339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51239:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":49340,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49327,"src":"51272:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49341,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49329,"src":"51276:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49342,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49331,"src":"51280:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49343,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49333,"src":"51284:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49337,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51215:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49338,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51219:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51215:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51215:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49336,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51199:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51199:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49346,"nodeType":"ExpressionStatement","src":"51199:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51123:3:63","parameters":{"id":49334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49327,"mutability":"mutable","name":"p0","nameLocation":"51132:2:63","nodeType":"VariableDeclaration","scope":49348,"src":"51127:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49326,"name":"bool","nodeType":"ElementaryTypeName","src":"51127:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49329,"mutability":"mutable","name":"p1","nameLocation":"51141:2:63","nodeType":"VariableDeclaration","scope":49348,"src":"51136:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49328,"name":"bool","nodeType":"ElementaryTypeName","src":"51136:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49331,"mutability":"mutable","name":"p2","nameLocation":"51153:2:63","nodeType":"VariableDeclaration","scope":49348,"src":"51145:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49330,"name":"address","nodeType":"ElementaryTypeName","src":"51145:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49333,"mutability":"mutable","name":"p3","nameLocation":"51171:2:63","nodeType":"VariableDeclaration","scope":49348,"src":"51157:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49332,"name":"string","nodeType":"ElementaryTypeName","src":"51157:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51126:48:63"},"returnParameters":{"id":49335,"nodeType":"ParameterList","parameters":[],"src":"51189:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49371,"nodeType":"FunctionDefinition","src":"51301:170:63","nodes":[],"body":{"id":49370,"nodeType":"Block","src":"51367:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":49362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51417:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":49363,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49350,"src":"51448:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49364,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49352,"src":"51452:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49365,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49354,"src":"51456:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49366,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49356,"src":"51460:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49360,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51393:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49361,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51397:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51393:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51393:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49359,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51377:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51377:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49369,"nodeType":"ExpressionStatement","src":"51377:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51310:3:63","parameters":{"id":49357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49350,"mutability":"mutable","name":"p0","nameLocation":"51319:2:63","nodeType":"VariableDeclaration","scope":49371,"src":"51314:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49349,"name":"bool","nodeType":"ElementaryTypeName","src":"51314:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49352,"mutability":"mutable","name":"p1","nameLocation":"51328:2:63","nodeType":"VariableDeclaration","scope":49371,"src":"51323:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49351,"name":"bool","nodeType":"ElementaryTypeName","src":"51323:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49354,"mutability":"mutable","name":"p2","nameLocation":"51340:2:63","nodeType":"VariableDeclaration","scope":49371,"src":"51332:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49353,"name":"address","nodeType":"ElementaryTypeName","src":"51332:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49356,"mutability":"mutable","name":"p3","nameLocation":"51349:2:63","nodeType":"VariableDeclaration","scope":49371,"src":"51344:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49355,"name":"bool","nodeType":"ElementaryTypeName","src":"51344:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51313:39:63"},"returnParameters":{"id":49358,"nodeType":"ParameterList","parameters":[],"src":"51367:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49394,"nodeType":"FunctionDefinition","src":"51477:176:63","nodes":[],"body":{"id":49393,"nodeType":"Block","src":"51546:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":49385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51596:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":49386,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49373,"src":"51630:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49387,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49375,"src":"51634:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49388,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49377,"src":"51638:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49389,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49379,"src":"51642:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49383,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51572:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49384,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51576:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51572:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51572:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49382,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51556:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51556:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49392,"nodeType":"ExpressionStatement","src":"51556:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51486:3:63","parameters":{"id":49380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49373,"mutability":"mutable","name":"p0","nameLocation":"51495:2:63","nodeType":"VariableDeclaration","scope":49394,"src":"51490:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49372,"name":"bool","nodeType":"ElementaryTypeName","src":"51490:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49375,"mutability":"mutable","name":"p1","nameLocation":"51504:2:63","nodeType":"VariableDeclaration","scope":49394,"src":"51499:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49374,"name":"bool","nodeType":"ElementaryTypeName","src":"51499:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49377,"mutability":"mutable","name":"p2","nameLocation":"51516:2:63","nodeType":"VariableDeclaration","scope":49394,"src":"51508:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49376,"name":"address","nodeType":"ElementaryTypeName","src":"51508:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49379,"mutability":"mutable","name":"p3","nameLocation":"51528:2:63","nodeType":"VariableDeclaration","scope":49394,"src":"51520:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49378,"name":"address","nodeType":"ElementaryTypeName","src":"51520:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51489:42:63"},"returnParameters":{"id":49381,"nodeType":"ParameterList","parameters":[],"src":"51546:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49417,"nodeType":"FunctionDefinition","src":"51659:170:63","nodes":[],"body":{"id":49416,"nodeType":"Block","src":"51725:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429","id":49408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51775:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},"value":"log(bool,address,uint,uint)"},{"id":49409,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49396,"src":"51806:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49410,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49398,"src":"51810:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49411,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49400,"src":"51814:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49412,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49402,"src":"51818:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df","typeString":"literal_string \"log(bool,address,uint,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49406,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51751:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51755:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51751:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51751:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49405,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51735:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49414,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51735:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49415,"nodeType":"ExpressionStatement","src":"51735:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51668:3:63","parameters":{"id":49403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49396,"mutability":"mutable","name":"p0","nameLocation":"51677:2:63","nodeType":"VariableDeclaration","scope":49417,"src":"51672:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49395,"name":"bool","nodeType":"ElementaryTypeName","src":"51672:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49398,"mutability":"mutable","name":"p1","nameLocation":"51689:2:63","nodeType":"VariableDeclaration","scope":49417,"src":"51681:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49397,"name":"address","nodeType":"ElementaryTypeName","src":"51681:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49400,"mutability":"mutable","name":"p2","nameLocation":"51698:2:63","nodeType":"VariableDeclaration","scope":49417,"src":"51693:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49399,"name":"uint","nodeType":"ElementaryTypeName","src":"51693:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49402,"mutability":"mutable","name":"p3","nameLocation":"51707:2:63","nodeType":"VariableDeclaration","scope":49417,"src":"51702:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49401,"name":"uint","nodeType":"ElementaryTypeName","src":"51702:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51671:39:63"},"returnParameters":{"id":49404,"nodeType":"ParameterList","parameters":[],"src":"51725:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49440,"nodeType":"FunctionDefinition","src":"51835:181:63","nodes":[],"body":{"id":49439,"nodeType":"Block","src":"51910:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729","id":49431,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51960:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},"value":"log(bool,address,uint,string)"},{"id":49432,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49419,"src":"51993:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49433,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49421,"src":"51997:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49434,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49423,"src":"52001:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49435,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49425,"src":"52005:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45","typeString":"literal_string \"log(bool,address,uint,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49429,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51936:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49430,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51940:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51936:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51936:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49428,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"51920:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51920:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49438,"nodeType":"ExpressionStatement","src":"51920:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51844:3:63","parameters":{"id":49426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49419,"mutability":"mutable","name":"p0","nameLocation":"51853:2:63","nodeType":"VariableDeclaration","scope":49440,"src":"51848:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49418,"name":"bool","nodeType":"ElementaryTypeName","src":"51848:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49421,"mutability":"mutable","name":"p1","nameLocation":"51865:2:63","nodeType":"VariableDeclaration","scope":49440,"src":"51857:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49420,"name":"address","nodeType":"ElementaryTypeName","src":"51857:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49423,"mutability":"mutable","name":"p2","nameLocation":"51874:2:63","nodeType":"VariableDeclaration","scope":49440,"src":"51869:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49422,"name":"uint","nodeType":"ElementaryTypeName","src":"51869:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49425,"mutability":"mutable","name":"p3","nameLocation":"51892:2:63","nodeType":"VariableDeclaration","scope":49440,"src":"51878:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49424,"name":"string","nodeType":"ElementaryTypeName","src":"51878:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51847:48:63"},"returnParameters":{"id":49427,"nodeType":"ParameterList","parameters":[],"src":"51910:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49463,"nodeType":"FunctionDefinition","src":"52022:170:63","nodes":[],"body":{"id":49462,"nodeType":"Block","src":"52088:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29","id":49454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52138:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},"value":"log(bool,address,uint,bool)"},{"id":49455,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49442,"src":"52169:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49456,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49444,"src":"52173:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49457,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49446,"src":"52177:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49458,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49448,"src":"52181:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f","typeString":"literal_string \"log(bool,address,uint,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49452,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52114:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49453,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52118:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52114:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52114:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49451,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"52098:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49460,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52098:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49461,"nodeType":"ExpressionStatement","src":"52098:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52031:3:63","parameters":{"id":49449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49442,"mutability":"mutable","name":"p0","nameLocation":"52040:2:63","nodeType":"VariableDeclaration","scope":49463,"src":"52035:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49441,"name":"bool","nodeType":"ElementaryTypeName","src":"52035:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49444,"mutability":"mutable","name":"p1","nameLocation":"52052:2:63","nodeType":"VariableDeclaration","scope":49463,"src":"52044:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49443,"name":"address","nodeType":"ElementaryTypeName","src":"52044:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49446,"mutability":"mutable","name":"p2","nameLocation":"52061:2:63","nodeType":"VariableDeclaration","scope":49463,"src":"52056:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49445,"name":"uint","nodeType":"ElementaryTypeName","src":"52056:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49448,"mutability":"mutable","name":"p3","nameLocation":"52070:2:63","nodeType":"VariableDeclaration","scope":49463,"src":"52065:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49447,"name":"bool","nodeType":"ElementaryTypeName","src":"52065:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52034:39:63"},"returnParameters":{"id":49450,"nodeType":"ParameterList","parameters":[],"src":"52088:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49486,"nodeType":"FunctionDefinition","src":"52198:176:63","nodes":[],"body":{"id":49485,"nodeType":"Block","src":"52267:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329","id":49477,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52317:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},"value":"log(bool,address,uint,address)"},{"id":49478,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49465,"src":"52351:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49479,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49467,"src":"52355:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49480,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49469,"src":"52359:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49481,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49471,"src":"52363:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687","typeString":"literal_string \"log(bool,address,uint,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49475,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52293:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52297:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52293:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52293:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49474,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"52277:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52277:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49484,"nodeType":"ExpressionStatement","src":"52277:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52207:3:63","parameters":{"id":49472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49465,"mutability":"mutable","name":"p0","nameLocation":"52216:2:63","nodeType":"VariableDeclaration","scope":49486,"src":"52211:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49464,"name":"bool","nodeType":"ElementaryTypeName","src":"52211:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49467,"mutability":"mutable","name":"p1","nameLocation":"52228:2:63","nodeType":"VariableDeclaration","scope":49486,"src":"52220:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49466,"name":"address","nodeType":"ElementaryTypeName","src":"52220:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49469,"mutability":"mutable","name":"p2","nameLocation":"52237:2:63","nodeType":"VariableDeclaration","scope":49486,"src":"52232:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49468,"name":"uint","nodeType":"ElementaryTypeName","src":"52232:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49471,"mutability":"mutable","name":"p3","nameLocation":"52249:2:63","nodeType":"VariableDeclaration","scope":49486,"src":"52241:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49470,"name":"address","nodeType":"ElementaryTypeName","src":"52241:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52210:42:63"},"returnParameters":{"id":49473,"nodeType":"ParameterList","parameters":[],"src":"52267:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49509,"nodeType":"FunctionDefinition","src":"52380:181:63","nodes":[],"body":{"id":49508,"nodeType":"Block","src":"52455:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429","id":49500,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52505:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},"value":"log(bool,address,string,uint)"},{"id":49501,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49488,"src":"52538:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49502,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49490,"src":"52542:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49503,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49492,"src":"52546:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49504,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49494,"src":"52550:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e","typeString":"literal_string \"log(bool,address,string,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49498,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52481:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49499,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52485:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52481:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52481:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49497,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"52465:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52465:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49507,"nodeType":"ExpressionStatement","src":"52465:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52389:3:63","parameters":{"id":49495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49488,"mutability":"mutable","name":"p0","nameLocation":"52398:2:63","nodeType":"VariableDeclaration","scope":49509,"src":"52393:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49487,"name":"bool","nodeType":"ElementaryTypeName","src":"52393:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49490,"mutability":"mutable","name":"p1","nameLocation":"52410:2:63","nodeType":"VariableDeclaration","scope":49509,"src":"52402:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49489,"name":"address","nodeType":"ElementaryTypeName","src":"52402:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49492,"mutability":"mutable","name":"p2","nameLocation":"52428:2:63","nodeType":"VariableDeclaration","scope":49509,"src":"52414:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49491,"name":"string","nodeType":"ElementaryTypeName","src":"52414:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49494,"mutability":"mutable","name":"p3","nameLocation":"52437:2:63","nodeType":"VariableDeclaration","scope":49509,"src":"52432:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49493,"name":"uint","nodeType":"ElementaryTypeName","src":"52432:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52392:48:63"},"returnParameters":{"id":49496,"nodeType":"ParameterList","parameters":[],"src":"52455:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49532,"nodeType":"FunctionDefinition","src":"52567:192:63","nodes":[],"body":{"id":49531,"nodeType":"Block","src":"52651:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":49523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52701:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":49524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49511,"src":"52736:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49525,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49513,"src":"52740:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49526,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49515,"src":"52744:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49527,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49517,"src":"52748:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52677:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52681:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52677:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52677:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"52661:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49529,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52661:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49530,"nodeType":"ExpressionStatement","src":"52661:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52576:3:63","parameters":{"id":49518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49511,"mutability":"mutable","name":"p0","nameLocation":"52585:2:63","nodeType":"VariableDeclaration","scope":49532,"src":"52580:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49510,"name":"bool","nodeType":"ElementaryTypeName","src":"52580:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49513,"mutability":"mutable","name":"p1","nameLocation":"52597:2:63","nodeType":"VariableDeclaration","scope":49532,"src":"52589:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49512,"name":"address","nodeType":"ElementaryTypeName","src":"52589:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49515,"mutability":"mutable","name":"p2","nameLocation":"52615:2:63","nodeType":"VariableDeclaration","scope":49532,"src":"52601:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49514,"name":"string","nodeType":"ElementaryTypeName","src":"52601:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49517,"mutability":"mutable","name":"p3","nameLocation":"52633:2:63","nodeType":"VariableDeclaration","scope":49532,"src":"52619:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49516,"name":"string","nodeType":"ElementaryTypeName","src":"52619:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52579:57:63"},"returnParameters":{"id":49519,"nodeType":"ParameterList","parameters":[],"src":"52651:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49555,"nodeType":"FunctionDefinition","src":"52765:181:63","nodes":[],"body":{"id":49554,"nodeType":"Block","src":"52840:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":49546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52890:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":49547,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49534,"src":"52923:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49548,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49536,"src":"52927:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49549,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49538,"src":"52931:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49550,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49540,"src":"52935:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49544,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52866:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52870:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52866:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52866:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49543,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"52850:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52850:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49553,"nodeType":"ExpressionStatement","src":"52850:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52774:3:63","parameters":{"id":49541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49534,"mutability":"mutable","name":"p0","nameLocation":"52783:2:63","nodeType":"VariableDeclaration","scope":49555,"src":"52778:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49533,"name":"bool","nodeType":"ElementaryTypeName","src":"52778:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49536,"mutability":"mutable","name":"p1","nameLocation":"52795:2:63","nodeType":"VariableDeclaration","scope":49555,"src":"52787:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49535,"name":"address","nodeType":"ElementaryTypeName","src":"52787:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49538,"mutability":"mutable","name":"p2","nameLocation":"52813:2:63","nodeType":"VariableDeclaration","scope":49555,"src":"52799:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49537,"name":"string","nodeType":"ElementaryTypeName","src":"52799:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49540,"mutability":"mutable","name":"p3","nameLocation":"52822:2:63","nodeType":"VariableDeclaration","scope":49555,"src":"52817:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49539,"name":"bool","nodeType":"ElementaryTypeName","src":"52817:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52777:48:63"},"returnParameters":{"id":49542,"nodeType":"ParameterList","parameters":[],"src":"52840:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49578,"nodeType":"FunctionDefinition","src":"52952:187:63","nodes":[],"body":{"id":49577,"nodeType":"Block","src":"53030:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":49569,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53080:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":49570,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49557,"src":"53116:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49571,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49559,"src":"53120:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49572,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49561,"src":"53124:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49573,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49563,"src":"53128:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49567,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53056:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53060:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53056:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53056:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49566,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53040:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49575,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53040:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49576,"nodeType":"ExpressionStatement","src":"53040:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52961:3:63","parameters":{"id":49564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49557,"mutability":"mutable","name":"p0","nameLocation":"52970:2:63","nodeType":"VariableDeclaration","scope":49578,"src":"52965:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49556,"name":"bool","nodeType":"ElementaryTypeName","src":"52965:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49559,"mutability":"mutable","name":"p1","nameLocation":"52982:2:63","nodeType":"VariableDeclaration","scope":49578,"src":"52974:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49558,"name":"address","nodeType":"ElementaryTypeName","src":"52974:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49561,"mutability":"mutable","name":"p2","nameLocation":"53000:2:63","nodeType":"VariableDeclaration","scope":49578,"src":"52986:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49560,"name":"string","nodeType":"ElementaryTypeName","src":"52986:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49563,"mutability":"mutable","name":"p3","nameLocation":"53012:2:63","nodeType":"VariableDeclaration","scope":49578,"src":"53004:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49562,"name":"address","nodeType":"ElementaryTypeName","src":"53004:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52964:51:63"},"returnParameters":{"id":49565,"nodeType":"ParameterList","parameters":[],"src":"53030:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49601,"nodeType":"FunctionDefinition","src":"53145:170:63","nodes":[],"body":{"id":49600,"nodeType":"Block","src":"53211:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429","id":49592,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53261:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},"value":"log(bool,address,bool,uint)"},{"id":49593,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49580,"src":"53292:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49594,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49582,"src":"53296:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49595,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49584,"src":"53300:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49596,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49586,"src":"53304:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9","typeString":"literal_string \"log(bool,address,bool,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49590,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53237:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49591,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53241:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53237:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53237:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49589,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53221:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49598,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53221:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49599,"nodeType":"ExpressionStatement","src":"53221:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53154:3:63","parameters":{"id":49587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49580,"mutability":"mutable","name":"p0","nameLocation":"53163:2:63","nodeType":"VariableDeclaration","scope":49601,"src":"53158:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49579,"name":"bool","nodeType":"ElementaryTypeName","src":"53158:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49582,"mutability":"mutable","name":"p1","nameLocation":"53175:2:63","nodeType":"VariableDeclaration","scope":49601,"src":"53167:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49581,"name":"address","nodeType":"ElementaryTypeName","src":"53167:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49584,"mutability":"mutable","name":"p2","nameLocation":"53184:2:63","nodeType":"VariableDeclaration","scope":49601,"src":"53179:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49583,"name":"bool","nodeType":"ElementaryTypeName","src":"53179:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49586,"mutability":"mutable","name":"p3","nameLocation":"53193:2:63","nodeType":"VariableDeclaration","scope":49601,"src":"53188:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49585,"name":"uint","nodeType":"ElementaryTypeName","src":"53188:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53157:39:63"},"returnParameters":{"id":49588,"nodeType":"ParameterList","parameters":[],"src":"53211:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49624,"nodeType":"FunctionDefinition","src":"53321:181:63","nodes":[],"body":{"id":49623,"nodeType":"Block","src":"53396:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":49615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53446:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":49616,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49603,"src":"53479:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49617,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49605,"src":"53483:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49618,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49607,"src":"53487:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49619,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49609,"src":"53491:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49613,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53422:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53426:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53422:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53422:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49612,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53406:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53406:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49622,"nodeType":"ExpressionStatement","src":"53406:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53330:3:63","parameters":{"id":49610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49603,"mutability":"mutable","name":"p0","nameLocation":"53339:2:63","nodeType":"VariableDeclaration","scope":49624,"src":"53334:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49602,"name":"bool","nodeType":"ElementaryTypeName","src":"53334:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49605,"mutability":"mutable","name":"p1","nameLocation":"53351:2:63","nodeType":"VariableDeclaration","scope":49624,"src":"53343:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49604,"name":"address","nodeType":"ElementaryTypeName","src":"53343:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49607,"mutability":"mutable","name":"p2","nameLocation":"53360:2:63","nodeType":"VariableDeclaration","scope":49624,"src":"53355:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49606,"name":"bool","nodeType":"ElementaryTypeName","src":"53355:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49609,"mutability":"mutable","name":"p3","nameLocation":"53378:2:63","nodeType":"VariableDeclaration","scope":49624,"src":"53364:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49608,"name":"string","nodeType":"ElementaryTypeName","src":"53364:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53333:48:63"},"returnParameters":{"id":49611,"nodeType":"ParameterList","parameters":[],"src":"53396:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49647,"nodeType":"FunctionDefinition","src":"53508:170:63","nodes":[],"body":{"id":49646,"nodeType":"Block","src":"53574:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":49638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53624:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":49639,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49626,"src":"53655:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49640,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49628,"src":"53659:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49641,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49630,"src":"53663:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49642,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49632,"src":"53667:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49636,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53600:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49637,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53604:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53600:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53600:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49635,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53584:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53584:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49645,"nodeType":"ExpressionStatement","src":"53584:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53517:3:63","parameters":{"id":49633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49626,"mutability":"mutable","name":"p0","nameLocation":"53526:2:63","nodeType":"VariableDeclaration","scope":49647,"src":"53521:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49625,"name":"bool","nodeType":"ElementaryTypeName","src":"53521:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49628,"mutability":"mutable","name":"p1","nameLocation":"53538:2:63","nodeType":"VariableDeclaration","scope":49647,"src":"53530:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49627,"name":"address","nodeType":"ElementaryTypeName","src":"53530:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49630,"mutability":"mutable","name":"p2","nameLocation":"53547:2:63","nodeType":"VariableDeclaration","scope":49647,"src":"53542:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49629,"name":"bool","nodeType":"ElementaryTypeName","src":"53542:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49632,"mutability":"mutable","name":"p3","nameLocation":"53556:2:63","nodeType":"VariableDeclaration","scope":49647,"src":"53551:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49631,"name":"bool","nodeType":"ElementaryTypeName","src":"53551:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53520:39:63"},"returnParameters":{"id":49634,"nodeType":"ParameterList","parameters":[],"src":"53574:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49670,"nodeType":"FunctionDefinition","src":"53684:176:63","nodes":[],"body":{"id":49669,"nodeType":"Block","src":"53753:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":49661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53803:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":49662,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49649,"src":"53837:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49663,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49651,"src":"53841:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49664,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49653,"src":"53845:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49665,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49655,"src":"53849:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49659,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53779:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49660,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53783:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53779:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53779:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49658,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53763:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53763:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49668,"nodeType":"ExpressionStatement","src":"53763:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53693:3:63","parameters":{"id":49656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49649,"mutability":"mutable","name":"p0","nameLocation":"53702:2:63","nodeType":"VariableDeclaration","scope":49670,"src":"53697:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49648,"name":"bool","nodeType":"ElementaryTypeName","src":"53697:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49651,"mutability":"mutable","name":"p1","nameLocation":"53714:2:63","nodeType":"VariableDeclaration","scope":49670,"src":"53706:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49650,"name":"address","nodeType":"ElementaryTypeName","src":"53706:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49653,"mutability":"mutable","name":"p2","nameLocation":"53723:2:63","nodeType":"VariableDeclaration","scope":49670,"src":"53718:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49652,"name":"bool","nodeType":"ElementaryTypeName","src":"53718:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49655,"mutability":"mutable","name":"p3","nameLocation":"53735:2:63","nodeType":"VariableDeclaration","scope":49670,"src":"53727:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49654,"name":"address","nodeType":"ElementaryTypeName","src":"53727:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53696:42:63"},"returnParameters":{"id":49657,"nodeType":"ParameterList","parameters":[],"src":"53753:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49693,"nodeType":"FunctionDefinition","src":"53866:176:63","nodes":[],"body":{"id":49692,"nodeType":"Block","src":"53935:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429","id":49684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53985:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},"value":"log(bool,address,address,uint)"},{"id":49685,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49672,"src":"54019:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49686,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49674,"src":"54023:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49687,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49676,"src":"54027:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49688,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49678,"src":"54031:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7","typeString":"literal_string \"log(bool,address,address,uint)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49682,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53961:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49683,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53965:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53961:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53961:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49681,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"53945:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53945:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49691,"nodeType":"ExpressionStatement","src":"53945:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53875:3:63","parameters":{"id":49679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49672,"mutability":"mutable","name":"p0","nameLocation":"53884:2:63","nodeType":"VariableDeclaration","scope":49693,"src":"53879:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49671,"name":"bool","nodeType":"ElementaryTypeName","src":"53879:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49674,"mutability":"mutable","name":"p1","nameLocation":"53896:2:63","nodeType":"VariableDeclaration","scope":49693,"src":"53888:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49673,"name":"address","nodeType":"ElementaryTypeName","src":"53888:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49676,"mutability":"mutable","name":"p2","nameLocation":"53908:2:63","nodeType":"VariableDeclaration","scope":49693,"src":"53900:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49675,"name":"address","nodeType":"ElementaryTypeName","src":"53900:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49678,"mutability":"mutable","name":"p3","nameLocation":"53917:2:63","nodeType":"VariableDeclaration","scope":49693,"src":"53912:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49677,"name":"uint","nodeType":"ElementaryTypeName","src":"53912:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53878:42:63"},"returnParameters":{"id":49680,"nodeType":"ParameterList","parameters":[],"src":"53935:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49716,"nodeType":"FunctionDefinition","src":"54048:187:63","nodes":[],"body":{"id":49715,"nodeType":"Block","src":"54126:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":49707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54176:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":49708,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49695,"src":"54212:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49709,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49697,"src":"54216:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49710,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49699,"src":"54220:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49711,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49701,"src":"54224:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49705,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54152:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49706,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54156:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54152:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54152:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49704,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"54136:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54136:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49714,"nodeType":"ExpressionStatement","src":"54136:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54057:3:63","parameters":{"id":49702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49695,"mutability":"mutable","name":"p0","nameLocation":"54066:2:63","nodeType":"VariableDeclaration","scope":49716,"src":"54061:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49694,"name":"bool","nodeType":"ElementaryTypeName","src":"54061:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49697,"mutability":"mutable","name":"p1","nameLocation":"54078:2:63","nodeType":"VariableDeclaration","scope":49716,"src":"54070:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49696,"name":"address","nodeType":"ElementaryTypeName","src":"54070:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49699,"mutability":"mutable","name":"p2","nameLocation":"54090:2:63","nodeType":"VariableDeclaration","scope":49716,"src":"54082:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49698,"name":"address","nodeType":"ElementaryTypeName","src":"54082:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49701,"mutability":"mutable","name":"p3","nameLocation":"54108:2:63","nodeType":"VariableDeclaration","scope":49716,"src":"54094:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49700,"name":"string","nodeType":"ElementaryTypeName","src":"54094:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54060:51:63"},"returnParameters":{"id":49703,"nodeType":"ParameterList","parameters":[],"src":"54126:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49739,"nodeType":"FunctionDefinition","src":"54241:176:63","nodes":[],"body":{"id":49738,"nodeType":"Block","src":"54310:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":49730,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54360:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":49731,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49718,"src":"54394:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49732,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49720,"src":"54398:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49733,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49722,"src":"54402:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49734,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49724,"src":"54406:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49728,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54336:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49729,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54340:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54336:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54336:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49727,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"54320:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49736,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54320:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49737,"nodeType":"ExpressionStatement","src":"54320:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54250:3:63","parameters":{"id":49725,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49718,"mutability":"mutable","name":"p0","nameLocation":"54259:2:63","nodeType":"VariableDeclaration","scope":49739,"src":"54254:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49717,"name":"bool","nodeType":"ElementaryTypeName","src":"54254:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49720,"mutability":"mutable","name":"p1","nameLocation":"54271:2:63","nodeType":"VariableDeclaration","scope":49739,"src":"54263:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49719,"name":"address","nodeType":"ElementaryTypeName","src":"54263:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49722,"mutability":"mutable","name":"p2","nameLocation":"54283:2:63","nodeType":"VariableDeclaration","scope":49739,"src":"54275:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49721,"name":"address","nodeType":"ElementaryTypeName","src":"54275:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49724,"mutability":"mutable","name":"p3","nameLocation":"54292:2:63","nodeType":"VariableDeclaration","scope":49739,"src":"54287:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49723,"name":"bool","nodeType":"ElementaryTypeName","src":"54287:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54253:42:63"},"returnParameters":{"id":49726,"nodeType":"ParameterList","parameters":[],"src":"54310:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49762,"nodeType":"FunctionDefinition","src":"54423:182:63","nodes":[],"body":{"id":49761,"nodeType":"Block","src":"54495:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":49753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54545:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":49754,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49741,"src":"54582:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49755,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49743,"src":"54586:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49756,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49745,"src":"54590:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49757,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49747,"src":"54594:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49751,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54521:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49752,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54525:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54521:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54521:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49750,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"54505:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54505:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49760,"nodeType":"ExpressionStatement","src":"54505:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54432:3:63","parameters":{"id":49748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49741,"mutability":"mutable","name":"p0","nameLocation":"54441:2:63","nodeType":"VariableDeclaration","scope":49762,"src":"54436:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49740,"name":"bool","nodeType":"ElementaryTypeName","src":"54436:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49743,"mutability":"mutable","name":"p1","nameLocation":"54453:2:63","nodeType":"VariableDeclaration","scope":49762,"src":"54445:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49742,"name":"address","nodeType":"ElementaryTypeName","src":"54445:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49745,"mutability":"mutable","name":"p2","nameLocation":"54465:2:63","nodeType":"VariableDeclaration","scope":49762,"src":"54457:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49744,"name":"address","nodeType":"ElementaryTypeName","src":"54457:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49747,"mutability":"mutable","name":"p3","nameLocation":"54477:2:63","nodeType":"VariableDeclaration","scope":49762,"src":"54469:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49746,"name":"address","nodeType":"ElementaryTypeName","src":"54469:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54435:45:63"},"returnParameters":{"id":49749,"nodeType":"ParameterList","parameters":[],"src":"54495:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49785,"nodeType":"FunctionDefinition","src":"54611:170:63","nodes":[],"body":{"id":49784,"nodeType":"Block","src":"54677:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c75696e7429","id":49776,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54727:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},"value":"log(address,uint,uint,uint)"},{"id":49777,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49764,"src":"54758:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49778,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49766,"src":"54762:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49779,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49768,"src":"54766:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49780,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49770,"src":"54770:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1","typeString":"literal_string \"log(address,uint,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49774,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54703:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54707:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54703:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54703:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49773,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"54687:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54687:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49783,"nodeType":"ExpressionStatement","src":"54687:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54620:3:63","parameters":{"id":49771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49764,"mutability":"mutable","name":"p0","nameLocation":"54632:2:63","nodeType":"VariableDeclaration","scope":49785,"src":"54624:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49763,"name":"address","nodeType":"ElementaryTypeName","src":"54624:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49766,"mutability":"mutable","name":"p1","nameLocation":"54641:2:63","nodeType":"VariableDeclaration","scope":49785,"src":"54636:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49765,"name":"uint","nodeType":"ElementaryTypeName","src":"54636:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49768,"mutability":"mutable","name":"p2","nameLocation":"54650:2:63","nodeType":"VariableDeclaration","scope":49785,"src":"54645:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49767,"name":"uint","nodeType":"ElementaryTypeName","src":"54645:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49770,"mutability":"mutable","name":"p3","nameLocation":"54659:2:63","nodeType":"VariableDeclaration","scope":49785,"src":"54654:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49769,"name":"uint","nodeType":"ElementaryTypeName","src":"54654:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54623:39:63"},"returnParameters":{"id":49772,"nodeType":"ParameterList","parameters":[],"src":"54677:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49808,"nodeType":"FunctionDefinition","src":"54787:181:63","nodes":[],"body":{"id":49807,"nodeType":"Block","src":"54862:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c737472696e6729","id":49799,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54912:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},"value":"log(address,uint,uint,string)"},{"id":49800,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49787,"src":"54945:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49801,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49789,"src":"54949:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49802,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49791,"src":"54953:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49803,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49793,"src":"54957:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3","typeString":"literal_string \"log(address,uint,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49797,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54888:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49798,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54892:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54888:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54888:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49796,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"54872:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49805,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54872:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49806,"nodeType":"ExpressionStatement","src":"54872:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54796:3:63","parameters":{"id":49794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49787,"mutability":"mutable","name":"p0","nameLocation":"54808:2:63","nodeType":"VariableDeclaration","scope":49808,"src":"54800:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49786,"name":"address","nodeType":"ElementaryTypeName","src":"54800:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49789,"mutability":"mutable","name":"p1","nameLocation":"54817:2:63","nodeType":"VariableDeclaration","scope":49808,"src":"54812:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49788,"name":"uint","nodeType":"ElementaryTypeName","src":"54812:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49791,"mutability":"mutable","name":"p2","nameLocation":"54826:2:63","nodeType":"VariableDeclaration","scope":49808,"src":"54821:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49790,"name":"uint","nodeType":"ElementaryTypeName","src":"54821:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49793,"mutability":"mutable","name":"p3","nameLocation":"54844:2:63","nodeType":"VariableDeclaration","scope":49808,"src":"54830:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49792,"name":"string","nodeType":"ElementaryTypeName","src":"54830:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54799:48:63"},"returnParameters":{"id":49795,"nodeType":"ParameterList","parameters":[],"src":"54862:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49831,"nodeType":"FunctionDefinition","src":"54974:170:63","nodes":[],"body":{"id":49830,"nodeType":"Block","src":"55040:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c626f6f6c29","id":49822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55090:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},"value":"log(address,uint,uint,bool)"},{"id":49823,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49810,"src":"55121:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49824,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49812,"src":"55125:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49825,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49814,"src":"55129:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49826,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49816,"src":"55133:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393","typeString":"literal_string \"log(address,uint,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49820,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55066:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49821,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55070:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55066:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55066:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49819,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55050:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55050:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49829,"nodeType":"ExpressionStatement","src":"55050:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54983:3:63","parameters":{"id":49817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49810,"mutability":"mutable","name":"p0","nameLocation":"54995:2:63","nodeType":"VariableDeclaration","scope":49831,"src":"54987:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49809,"name":"address","nodeType":"ElementaryTypeName","src":"54987:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49812,"mutability":"mutable","name":"p1","nameLocation":"55004:2:63","nodeType":"VariableDeclaration","scope":49831,"src":"54999:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49811,"name":"uint","nodeType":"ElementaryTypeName","src":"54999:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49814,"mutability":"mutable","name":"p2","nameLocation":"55013:2:63","nodeType":"VariableDeclaration","scope":49831,"src":"55008:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49813,"name":"uint","nodeType":"ElementaryTypeName","src":"55008:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49816,"mutability":"mutable","name":"p3","nameLocation":"55022:2:63","nodeType":"VariableDeclaration","scope":49831,"src":"55017:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49815,"name":"bool","nodeType":"ElementaryTypeName","src":"55017:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54986:39:63"},"returnParameters":{"id":49818,"nodeType":"ParameterList","parameters":[],"src":"55040:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49854,"nodeType":"FunctionDefinition","src":"55150:176:63","nodes":[],"body":{"id":49853,"nodeType":"Block","src":"55219:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c75696e742c6164647265737329","id":49845,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55269:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},"value":"log(address,uint,uint,address)"},{"id":49846,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49833,"src":"55303:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49847,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49835,"src":"55307:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49848,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49837,"src":"55311:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49849,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49839,"src":"55315:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957","typeString":"literal_string \"log(address,uint,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49843,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55245:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55249:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55245:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55245:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49842,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55229:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55229:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49852,"nodeType":"ExpressionStatement","src":"55229:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55159:3:63","parameters":{"id":49840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49833,"mutability":"mutable","name":"p0","nameLocation":"55171:2:63","nodeType":"VariableDeclaration","scope":49854,"src":"55163:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49832,"name":"address","nodeType":"ElementaryTypeName","src":"55163:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49835,"mutability":"mutable","name":"p1","nameLocation":"55180:2:63","nodeType":"VariableDeclaration","scope":49854,"src":"55175:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49834,"name":"uint","nodeType":"ElementaryTypeName","src":"55175:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49837,"mutability":"mutable","name":"p2","nameLocation":"55189:2:63","nodeType":"VariableDeclaration","scope":49854,"src":"55184:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49836,"name":"uint","nodeType":"ElementaryTypeName","src":"55184:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49839,"mutability":"mutable","name":"p3","nameLocation":"55201:2:63","nodeType":"VariableDeclaration","scope":49854,"src":"55193:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49838,"name":"address","nodeType":"ElementaryTypeName","src":"55193:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55162:42:63"},"returnParameters":{"id":49841,"nodeType":"ParameterList","parameters":[],"src":"55219:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49877,"nodeType":"FunctionDefinition","src":"55332:181:63","nodes":[],"body":{"id":49876,"nodeType":"Block","src":"55407:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c75696e7429","id":49868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55457:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},"value":"log(address,uint,string,uint)"},{"id":49869,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49856,"src":"55490:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49870,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49858,"src":"55494:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49871,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49860,"src":"55498:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49872,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49862,"src":"55502:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b","typeString":"literal_string \"log(address,uint,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55433:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55437:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55433:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55433:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55417:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55417:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49875,"nodeType":"ExpressionStatement","src":"55417:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55341:3:63","parameters":{"id":49863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49856,"mutability":"mutable","name":"p0","nameLocation":"55353:2:63","nodeType":"VariableDeclaration","scope":49877,"src":"55345:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49855,"name":"address","nodeType":"ElementaryTypeName","src":"55345:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49858,"mutability":"mutable","name":"p1","nameLocation":"55362:2:63","nodeType":"VariableDeclaration","scope":49877,"src":"55357:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49857,"name":"uint","nodeType":"ElementaryTypeName","src":"55357:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49860,"mutability":"mutable","name":"p2","nameLocation":"55380:2:63","nodeType":"VariableDeclaration","scope":49877,"src":"55366:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49859,"name":"string","nodeType":"ElementaryTypeName","src":"55366:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49862,"mutability":"mutable","name":"p3","nameLocation":"55389:2:63","nodeType":"VariableDeclaration","scope":49877,"src":"55384:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49861,"name":"uint","nodeType":"ElementaryTypeName","src":"55384:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55344:48:63"},"returnParameters":{"id":49864,"nodeType":"ParameterList","parameters":[],"src":"55407:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49900,"nodeType":"FunctionDefinition","src":"55519:192:63","nodes":[],"body":{"id":49899,"nodeType":"Block","src":"55603:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c737472696e6729","id":49891,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55653:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},"value":"log(address,uint,string,string)"},{"id":49892,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49879,"src":"55688:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49893,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49881,"src":"55692:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49894,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49883,"src":"55696:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49895,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49885,"src":"55700:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0","typeString":"literal_string \"log(address,uint,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49889,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55629:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49890,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55633:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55629:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55629:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49888,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55613:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55613:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49898,"nodeType":"ExpressionStatement","src":"55613:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55528:3:63","parameters":{"id":49886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49879,"mutability":"mutable","name":"p0","nameLocation":"55540:2:63","nodeType":"VariableDeclaration","scope":49900,"src":"55532:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49878,"name":"address","nodeType":"ElementaryTypeName","src":"55532:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49881,"mutability":"mutable","name":"p1","nameLocation":"55549:2:63","nodeType":"VariableDeclaration","scope":49900,"src":"55544:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49880,"name":"uint","nodeType":"ElementaryTypeName","src":"55544:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49883,"mutability":"mutable","name":"p2","nameLocation":"55567:2:63","nodeType":"VariableDeclaration","scope":49900,"src":"55553:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49882,"name":"string","nodeType":"ElementaryTypeName","src":"55553:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49885,"mutability":"mutable","name":"p3","nameLocation":"55585:2:63","nodeType":"VariableDeclaration","scope":49900,"src":"55571:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49884,"name":"string","nodeType":"ElementaryTypeName","src":"55571:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55531:57:63"},"returnParameters":{"id":49887,"nodeType":"ParameterList","parameters":[],"src":"55603:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49923,"nodeType":"FunctionDefinition","src":"55717:181:63","nodes":[],"body":{"id":49922,"nodeType":"Block","src":"55792:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29","id":49914,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55842:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},"value":"log(address,uint,string,bool)"},{"id":49915,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49902,"src":"55875:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49916,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49904,"src":"55879:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49917,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49906,"src":"55883:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49918,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49908,"src":"55887:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a","typeString":"literal_string \"log(address,uint,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":49912,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55818:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49913,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55822:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55818:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55818:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49911,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55802:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49920,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55802:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49921,"nodeType":"ExpressionStatement","src":"55802:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55726:3:63","parameters":{"id":49909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49902,"mutability":"mutable","name":"p0","nameLocation":"55738:2:63","nodeType":"VariableDeclaration","scope":49923,"src":"55730:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49901,"name":"address","nodeType":"ElementaryTypeName","src":"55730:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49904,"mutability":"mutable","name":"p1","nameLocation":"55747:2:63","nodeType":"VariableDeclaration","scope":49923,"src":"55742:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49903,"name":"uint","nodeType":"ElementaryTypeName","src":"55742:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49906,"mutability":"mutable","name":"p2","nameLocation":"55765:2:63","nodeType":"VariableDeclaration","scope":49923,"src":"55751:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49905,"name":"string","nodeType":"ElementaryTypeName","src":"55751:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49908,"mutability":"mutable","name":"p3","nameLocation":"55774:2:63","nodeType":"VariableDeclaration","scope":49923,"src":"55769:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49907,"name":"bool","nodeType":"ElementaryTypeName","src":"55769:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55729:48:63"},"returnParameters":{"id":49910,"nodeType":"ParameterList","parameters":[],"src":"55792:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49946,"nodeType":"FunctionDefinition","src":"55904:187:63","nodes":[],"body":{"id":49945,"nodeType":"Block","src":"55982:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c737472696e672c6164647265737329","id":49937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56032:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},"value":"log(address,uint,string,address)"},{"id":49938,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49925,"src":"56068:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49939,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49927,"src":"56072:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49940,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49929,"src":"56076:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":49941,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49931,"src":"56080:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809","typeString":"literal_string \"log(address,uint,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":49935,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56008:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49936,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56012:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56008:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56008:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49934,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"55992:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49943,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55992:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49944,"nodeType":"ExpressionStatement","src":"55992:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55913:3:63","parameters":{"id":49932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49925,"mutability":"mutable","name":"p0","nameLocation":"55925:2:63","nodeType":"VariableDeclaration","scope":49946,"src":"55917:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49924,"name":"address","nodeType":"ElementaryTypeName","src":"55917:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49927,"mutability":"mutable","name":"p1","nameLocation":"55934:2:63","nodeType":"VariableDeclaration","scope":49946,"src":"55929:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49926,"name":"uint","nodeType":"ElementaryTypeName","src":"55929:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49929,"mutability":"mutable","name":"p2","nameLocation":"55952:2:63","nodeType":"VariableDeclaration","scope":49946,"src":"55938:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49928,"name":"string","nodeType":"ElementaryTypeName","src":"55938:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":49931,"mutability":"mutable","name":"p3","nameLocation":"55964:2:63","nodeType":"VariableDeclaration","scope":49946,"src":"55956:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49930,"name":"address","nodeType":"ElementaryTypeName","src":"55956:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55916:51:63"},"returnParameters":{"id":49933,"nodeType":"ParameterList","parameters":[],"src":"55982:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49969,"nodeType":"FunctionDefinition","src":"56097:170:63","nodes":[],"body":{"id":49968,"nodeType":"Block","src":"56163:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429","id":49960,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56213:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},"value":"log(address,uint,bool,uint)"},{"id":49961,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49948,"src":"56244:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49962,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49950,"src":"56248:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49963,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49952,"src":"56252:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49964,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49954,"src":"56256:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2","typeString":"literal_string \"log(address,uint,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":49958,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56189:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49959,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56193:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56189:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56189:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49957,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"56173:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56173:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49967,"nodeType":"ExpressionStatement","src":"56173:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56106:3:63","parameters":{"id":49955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49948,"mutability":"mutable","name":"p0","nameLocation":"56118:2:63","nodeType":"VariableDeclaration","scope":49969,"src":"56110:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49947,"name":"address","nodeType":"ElementaryTypeName","src":"56110:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49950,"mutability":"mutable","name":"p1","nameLocation":"56127:2:63","nodeType":"VariableDeclaration","scope":49969,"src":"56122:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49949,"name":"uint","nodeType":"ElementaryTypeName","src":"56122:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49952,"mutability":"mutable","name":"p2","nameLocation":"56136:2:63","nodeType":"VariableDeclaration","scope":49969,"src":"56131:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49951,"name":"bool","nodeType":"ElementaryTypeName","src":"56131:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49954,"mutability":"mutable","name":"p3","nameLocation":"56145:2:63","nodeType":"VariableDeclaration","scope":49969,"src":"56140:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49953,"name":"uint","nodeType":"ElementaryTypeName","src":"56140:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56109:39:63"},"returnParameters":{"id":49956,"nodeType":"ParameterList","parameters":[],"src":"56163:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":49992,"nodeType":"FunctionDefinition","src":"56273:181:63","nodes":[],"body":{"id":49991,"nodeType":"Block","src":"56348:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729","id":49983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56398:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},"value":"log(address,uint,bool,string)"},{"id":49984,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49971,"src":"56431:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":49985,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49973,"src":"56435:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":49986,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49975,"src":"56439:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":49987,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49977,"src":"56443:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f","typeString":"literal_string \"log(address,uint,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":49981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56374:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":49982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56378:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56374:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":49988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56374:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":49980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"56358:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":49989,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56358:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":49990,"nodeType":"ExpressionStatement","src":"56358:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56282:3:63","parameters":{"id":49978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49971,"mutability":"mutable","name":"p0","nameLocation":"56294:2:63","nodeType":"VariableDeclaration","scope":49992,"src":"56286:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49970,"name":"address","nodeType":"ElementaryTypeName","src":"56286:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49973,"mutability":"mutable","name":"p1","nameLocation":"56303:2:63","nodeType":"VariableDeclaration","scope":49992,"src":"56298:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49972,"name":"uint","nodeType":"ElementaryTypeName","src":"56298:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49975,"mutability":"mutable","name":"p2","nameLocation":"56312:2:63","nodeType":"VariableDeclaration","scope":49992,"src":"56307:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49974,"name":"bool","nodeType":"ElementaryTypeName","src":"56307:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":49977,"mutability":"mutable","name":"p3","nameLocation":"56330:2:63","nodeType":"VariableDeclaration","scope":49992,"src":"56316:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":49976,"name":"string","nodeType":"ElementaryTypeName","src":"56316:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56285:48:63"},"returnParameters":{"id":49979,"nodeType":"ParameterList","parameters":[],"src":"56348:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50015,"nodeType":"FunctionDefinition","src":"56460:170:63","nodes":[],"body":{"id":50014,"nodeType":"Block","src":"56526:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29","id":50006,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56576:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},"value":"log(address,uint,bool,bool)"},{"id":50007,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49994,"src":"56607:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50008,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49996,"src":"56611:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50009,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49998,"src":"56615:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50010,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50000,"src":"56619:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b","typeString":"literal_string \"log(address,uint,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50004,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56552:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56556:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56552:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56552:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50003,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"56536:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50012,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56536:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50013,"nodeType":"ExpressionStatement","src":"56536:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56469:3:63","parameters":{"id":50001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":49994,"mutability":"mutable","name":"p0","nameLocation":"56481:2:63","nodeType":"VariableDeclaration","scope":50015,"src":"56473:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":49993,"name":"address","nodeType":"ElementaryTypeName","src":"56473:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":49996,"mutability":"mutable","name":"p1","nameLocation":"56490:2:63","nodeType":"VariableDeclaration","scope":50015,"src":"56485:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49995,"name":"uint","nodeType":"ElementaryTypeName","src":"56485:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":49998,"mutability":"mutable","name":"p2","nameLocation":"56499:2:63","nodeType":"VariableDeclaration","scope":50015,"src":"56494:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49997,"name":"bool","nodeType":"ElementaryTypeName","src":"56494:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50000,"mutability":"mutable","name":"p3","nameLocation":"56508:2:63","nodeType":"VariableDeclaration","scope":50015,"src":"56503:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":49999,"name":"bool","nodeType":"ElementaryTypeName","src":"56503:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56472:39:63"},"returnParameters":{"id":50002,"nodeType":"ParameterList","parameters":[],"src":"56526:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50038,"nodeType":"FunctionDefinition","src":"56636:176:63","nodes":[],"body":{"id":50037,"nodeType":"Block","src":"56705:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329","id":50029,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56755:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},"value":"log(address,uint,bool,address)"},{"id":50030,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50017,"src":"56789:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50031,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50019,"src":"56793:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50032,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50021,"src":"56797:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50033,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50023,"src":"56801:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d","typeString":"literal_string \"log(address,uint,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50027,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56731:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50028,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56735:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56731:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56731:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50026,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"56715:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56715:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50036,"nodeType":"ExpressionStatement","src":"56715:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56645:3:63","parameters":{"id":50024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50017,"mutability":"mutable","name":"p0","nameLocation":"56657:2:63","nodeType":"VariableDeclaration","scope":50038,"src":"56649:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50016,"name":"address","nodeType":"ElementaryTypeName","src":"56649:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50019,"mutability":"mutable","name":"p1","nameLocation":"56666:2:63","nodeType":"VariableDeclaration","scope":50038,"src":"56661:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50018,"name":"uint","nodeType":"ElementaryTypeName","src":"56661:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50021,"mutability":"mutable","name":"p2","nameLocation":"56675:2:63","nodeType":"VariableDeclaration","scope":50038,"src":"56670:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50020,"name":"bool","nodeType":"ElementaryTypeName","src":"56670:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50023,"mutability":"mutable","name":"p3","nameLocation":"56687:2:63","nodeType":"VariableDeclaration","scope":50038,"src":"56679:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50022,"name":"address","nodeType":"ElementaryTypeName","src":"56679:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56648:42:63"},"returnParameters":{"id":50025,"nodeType":"ParameterList","parameters":[],"src":"56705:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50061,"nodeType":"FunctionDefinition","src":"56818:176:63","nodes":[],"body":{"id":50060,"nodeType":"Block","src":"56887:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c75696e7429","id":50052,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56937:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},"value":"log(address,uint,address,uint)"},{"id":50053,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50040,"src":"56971:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50054,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50042,"src":"56975:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50055,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50044,"src":"56979:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50056,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50046,"src":"56983:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e","typeString":"literal_string \"log(address,uint,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50050,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56913:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50051,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56917:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56913:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56913:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50049,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"56897:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56897:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50059,"nodeType":"ExpressionStatement","src":"56897:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56827:3:63","parameters":{"id":50047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50040,"mutability":"mutable","name":"p0","nameLocation":"56839:2:63","nodeType":"VariableDeclaration","scope":50061,"src":"56831:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50039,"name":"address","nodeType":"ElementaryTypeName","src":"56831:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50042,"mutability":"mutable","name":"p1","nameLocation":"56848:2:63","nodeType":"VariableDeclaration","scope":50061,"src":"56843:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50041,"name":"uint","nodeType":"ElementaryTypeName","src":"56843:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50044,"mutability":"mutable","name":"p2","nameLocation":"56860:2:63","nodeType":"VariableDeclaration","scope":50061,"src":"56852:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50043,"name":"address","nodeType":"ElementaryTypeName","src":"56852:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50046,"mutability":"mutable","name":"p3","nameLocation":"56869:2:63","nodeType":"VariableDeclaration","scope":50061,"src":"56864:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50045,"name":"uint","nodeType":"ElementaryTypeName","src":"56864:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56830:42:63"},"returnParameters":{"id":50048,"nodeType":"ParameterList","parameters":[],"src":"56887:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50084,"nodeType":"FunctionDefinition","src":"57000:187:63","nodes":[],"body":{"id":50083,"nodeType":"Block","src":"57078:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c737472696e6729","id":50075,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57128:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},"value":"log(address,uint,address,string)"},{"id":50076,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50063,"src":"57164:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50077,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50065,"src":"57168:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50078,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50067,"src":"57172:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50079,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50069,"src":"57176:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4","typeString":"literal_string \"log(address,uint,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50073,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57104:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50074,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57108:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57104:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57104:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50072,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"57088:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57088:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50082,"nodeType":"ExpressionStatement","src":"57088:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57009:3:63","parameters":{"id":50070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50063,"mutability":"mutable","name":"p0","nameLocation":"57021:2:63","nodeType":"VariableDeclaration","scope":50084,"src":"57013:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50062,"name":"address","nodeType":"ElementaryTypeName","src":"57013:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50065,"mutability":"mutable","name":"p1","nameLocation":"57030:2:63","nodeType":"VariableDeclaration","scope":50084,"src":"57025:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50064,"name":"uint","nodeType":"ElementaryTypeName","src":"57025:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50067,"mutability":"mutable","name":"p2","nameLocation":"57042:2:63","nodeType":"VariableDeclaration","scope":50084,"src":"57034:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50066,"name":"address","nodeType":"ElementaryTypeName","src":"57034:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50069,"mutability":"mutable","name":"p3","nameLocation":"57060:2:63","nodeType":"VariableDeclaration","scope":50084,"src":"57046:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50068,"name":"string","nodeType":"ElementaryTypeName","src":"57046:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57012:51:63"},"returnParameters":{"id":50071,"nodeType":"ParameterList","parameters":[],"src":"57078:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50107,"nodeType":"FunctionDefinition","src":"57193:176:63","nodes":[],"body":{"id":50106,"nodeType":"Block","src":"57262:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29","id":50098,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57312:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},"value":"log(address,uint,address,bool)"},{"id":50099,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50086,"src":"57346:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50100,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50088,"src":"57350:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50101,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50090,"src":"57354:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50102,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50092,"src":"57358:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6","typeString":"literal_string \"log(address,uint,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50096,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57288:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50097,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57292:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57288:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57288:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50095,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"57272:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50104,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57272:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50105,"nodeType":"ExpressionStatement","src":"57272:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57202:3:63","parameters":{"id":50093,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50086,"mutability":"mutable","name":"p0","nameLocation":"57214:2:63","nodeType":"VariableDeclaration","scope":50107,"src":"57206:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50085,"name":"address","nodeType":"ElementaryTypeName","src":"57206:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50088,"mutability":"mutable","name":"p1","nameLocation":"57223:2:63","nodeType":"VariableDeclaration","scope":50107,"src":"57218:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50087,"name":"uint","nodeType":"ElementaryTypeName","src":"57218:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50090,"mutability":"mutable","name":"p2","nameLocation":"57235:2:63","nodeType":"VariableDeclaration","scope":50107,"src":"57227:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50089,"name":"address","nodeType":"ElementaryTypeName","src":"57227:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50092,"mutability":"mutable","name":"p3","nameLocation":"57244:2:63","nodeType":"VariableDeclaration","scope":50107,"src":"57239:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50091,"name":"bool","nodeType":"ElementaryTypeName","src":"57239:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57205:42:63"},"returnParameters":{"id":50094,"nodeType":"ParameterList","parameters":[],"src":"57262:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50130,"nodeType":"FunctionDefinition","src":"57375:182:63","nodes":[],"body":{"id":50129,"nodeType":"Block","src":"57447:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e742c616464726573732c6164647265737329","id":50121,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57497:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},"value":"log(address,uint,address,address)"},{"id":50122,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50109,"src":"57534:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50123,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50111,"src":"57538:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50124,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50113,"src":"57542:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50125,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50115,"src":"57546:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e","typeString":"literal_string \"log(address,uint,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50119,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57473:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50120,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57477:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57473:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57473:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50118,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"57457:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57457:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50128,"nodeType":"ExpressionStatement","src":"57457:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57384:3:63","parameters":{"id":50116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50109,"mutability":"mutable","name":"p0","nameLocation":"57396:2:63","nodeType":"VariableDeclaration","scope":50130,"src":"57388:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50108,"name":"address","nodeType":"ElementaryTypeName","src":"57388:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50111,"mutability":"mutable","name":"p1","nameLocation":"57405:2:63","nodeType":"VariableDeclaration","scope":50130,"src":"57400:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50110,"name":"uint","nodeType":"ElementaryTypeName","src":"57400:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50113,"mutability":"mutable","name":"p2","nameLocation":"57417:2:63","nodeType":"VariableDeclaration","scope":50130,"src":"57409:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50112,"name":"address","nodeType":"ElementaryTypeName","src":"57409:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50115,"mutability":"mutable","name":"p3","nameLocation":"57429:2:63","nodeType":"VariableDeclaration","scope":50130,"src":"57421:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50114,"name":"address","nodeType":"ElementaryTypeName","src":"57421:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57387:45:63"},"returnParameters":{"id":50117,"nodeType":"ParameterList","parameters":[],"src":"57447:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50153,"nodeType":"FunctionDefinition","src":"57563:181:63","nodes":[],"body":{"id":50152,"nodeType":"Block","src":"57638:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c75696e7429","id":50144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57688:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},"value":"log(address,string,uint,uint)"},{"id":50145,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50132,"src":"57721:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50146,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50134,"src":"57725:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50147,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50136,"src":"57729:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50148,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50138,"src":"57733:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af","typeString":"literal_string \"log(address,string,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50142,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57664:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57668:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57664:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57664:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50141,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"57648:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57648:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50151,"nodeType":"ExpressionStatement","src":"57648:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57572:3:63","parameters":{"id":50139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50132,"mutability":"mutable","name":"p0","nameLocation":"57584:2:63","nodeType":"VariableDeclaration","scope":50153,"src":"57576:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50131,"name":"address","nodeType":"ElementaryTypeName","src":"57576:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50134,"mutability":"mutable","name":"p1","nameLocation":"57602:2:63","nodeType":"VariableDeclaration","scope":50153,"src":"57588:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50133,"name":"string","nodeType":"ElementaryTypeName","src":"57588:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50136,"mutability":"mutable","name":"p2","nameLocation":"57611:2:63","nodeType":"VariableDeclaration","scope":50153,"src":"57606:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50135,"name":"uint","nodeType":"ElementaryTypeName","src":"57606:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50138,"mutability":"mutable","name":"p3","nameLocation":"57620:2:63","nodeType":"VariableDeclaration","scope":50153,"src":"57615:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50137,"name":"uint","nodeType":"ElementaryTypeName","src":"57615:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57575:48:63"},"returnParameters":{"id":50140,"nodeType":"ParameterList","parameters":[],"src":"57638:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50176,"nodeType":"FunctionDefinition","src":"57750:192:63","nodes":[],"body":{"id":50175,"nodeType":"Block","src":"57834:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c737472696e6729","id":50167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57884:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},"value":"log(address,string,uint,string)"},{"id":50168,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50155,"src":"57919:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50169,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50157,"src":"57923:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50170,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50159,"src":"57927:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50171,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50161,"src":"57931:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e","typeString":"literal_string \"log(address,string,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50165,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57860:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57864:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57860:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57860:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50164,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"57844:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57844:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50174,"nodeType":"ExpressionStatement","src":"57844:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57759:3:63","parameters":{"id":50162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50155,"mutability":"mutable","name":"p0","nameLocation":"57771:2:63","nodeType":"VariableDeclaration","scope":50176,"src":"57763:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50154,"name":"address","nodeType":"ElementaryTypeName","src":"57763:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50157,"mutability":"mutable","name":"p1","nameLocation":"57789:2:63","nodeType":"VariableDeclaration","scope":50176,"src":"57775:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50156,"name":"string","nodeType":"ElementaryTypeName","src":"57775:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50159,"mutability":"mutable","name":"p2","nameLocation":"57798:2:63","nodeType":"VariableDeclaration","scope":50176,"src":"57793:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50158,"name":"uint","nodeType":"ElementaryTypeName","src":"57793:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50161,"mutability":"mutable","name":"p3","nameLocation":"57816:2:63","nodeType":"VariableDeclaration","scope":50176,"src":"57802:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50160,"name":"string","nodeType":"ElementaryTypeName","src":"57802:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57762:57:63"},"returnParameters":{"id":50163,"nodeType":"ParameterList","parameters":[],"src":"57834:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50199,"nodeType":"FunctionDefinition","src":"57948:181:63","nodes":[],"body":{"id":50198,"nodeType":"Block","src":"58023:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29","id":50190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58073:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},"value":"log(address,string,uint,bool)"},{"id":50191,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50178,"src":"58106:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50192,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50180,"src":"58110:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50193,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50182,"src":"58114:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50194,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50184,"src":"58118:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895","typeString":"literal_string \"log(address,string,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50188,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58049:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58053:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58049:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58049:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50187,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"58033:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58033:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50197,"nodeType":"ExpressionStatement","src":"58033:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57957:3:63","parameters":{"id":50185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50178,"mutability":"mutable","name":"p0","nameLocation":"57969:2:63","nodeType":"VariableDeclaration","scope":50199,"src":"57961:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50177,"name":"address","nodeType":"ElementaryTypeName","src":"57961:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50180,"mutability":"mutable","name":"p1","nameLocation":"57987:2:63","nodeType":"VariableDeclaration","scope":50199,"src":"57973:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50179,"name":"string","nodeType":"ElementaryTypeName","src":"57973:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50182,"mutability":"mutable","name":"p2","nameLocation":"57996:2:63","nodeType":"VariableDeclaration","scope":50199,"src":"57991:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50181,"name":"uint","nodeType":"ElementaryTypeName","src":"57991:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50184,"mutability":"mutable","name":"p3","nameLocation":"58005:2:63","nodeType":"VariableDeclaration","scope":50199,"src":"58000:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50183,"name":"bool","nodeType":"ElementaryTypeName","src":"58000:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57960:48:63"},"returnParameters":{"id":50186,"nodeType":"ParameterList","parameters":[],"src":"58023:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50222,"nodeType":"FunctionDefinition","src":"58135:187:63","nodes":[],"body":{"id":50221,"nodeType":"Block","src":"58213:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e742c6164647265737329","id":50213,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58263:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},"value":"log(address,string,uint,address)"},{"id":50214,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50201,"src":"58299:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50215,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50203,"src":"58303:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50216,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50205,"src":"58307:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50217,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50207,"src":"58311:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4","typeString":"literal_string \"log(address,string,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50211,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58239:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58243:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58239:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58239:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50210,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"58223:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58223:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50220,"nodeType":"ExpressionStatement","src":"58223:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58144:3:63","parameters":{"id":50208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50201,"mutability":"mutable","name":"p0","nameLocation":"58156:2:63","nodeType":"VariableDeclaration","scope":50222,"src":"58148:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50200,"name":"address","nodeType":"ElementaryTypeName","src":"58148:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50203,"mutability":"mutable","name":"p1","nameLocation":"58174:2:63","nodeType":"VariableDeclaration","scope":50222,"src":"58160:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50202,"name":"string","nodeType":"ElementaryTypeName","src":"58160:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50205,"mutability":"mutable","name":"p2","nameLocation":"58183:2:63","nodeType":"VariableDeclaration","scope":50222,"src":"58178:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50204,"name":"uint","nodeType":"ElementaryTypeName","src":"58178:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50207,"mutability":"mutable","name":"p3","nameLocation":"58195:2:63","nodeType":"VariableDeclaration","scope":50222,"src":"58187:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50206,"name":"address","nodeType":"ElementaryTypeName","src":"58187:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58147:51:63"},"returnParameters":{"id":50209,"nodeType":"ParameterList","parameters":[],"src":"58213:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50245,"nodeType":"FunctionDefinition","src":"58328:192:63","nodes":[],"body":{"id":50244,"nodeType":"Block","src":"58412:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7429","id":50236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58462:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},"value":"log(address,string,string,uint)"},{"id":50237,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50224,"src":"58497:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50238,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50226,"src":"58501:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50239,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50228,"src":"58505:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50240,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50230,"src":"58509:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5","typeString":"literal_string \"log(address,string,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50234,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58438:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50235,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58442:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58438:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58438:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50233,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"58422:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58422:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50243,"nodeType":"ExpressionStatement","src":"58422:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58337:3:63","parameters":{"id":50231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50224,"mutability":"mutable","name":"p0","nameLocation":"58349:2:63","nodeType":"VariableDeclaration","scope":50245,"src":"58341:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50223,"name":"address","nodeType":"ElementaryTypeName","src":"58341:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50226,"mutability":"mutable","name":"p1","nameLocation":"58367:2:63","nodeType":"VariableDeclaration","scope":50245,"src":"58353:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50225,"name":"string","nodeType":"ElementaryTypeName","src":"58353:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50228,"mutability":"mutable","name":"p2","nameLocation":"58385:2:63","nodeType":"VariableDeclaration","scope":50245,"src":"58371:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50227,"name":"string","nodeType":"ElementaryTypeName","src":"58371:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50230,"mutability":"mutable","name":"p3","nameLocation":"58394:2:63","nodeType":"VariableDeclaration","scope":50245,"src":"58389:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50229,"name":"uint","nodeType":"ElementaryTypeName","src":"58389:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58340:57:63"},"returnParameters":{"id":50232,"nodeType":"ParameterList","parameters":[],"src":"58412:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50268,"nodeType":"FunctionDefinition","src":"58526:203:63","nodes":[],"body":{"id":50267,"nodeType":"Block","src":"58619:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":50259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58669:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":50260,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50247,"src":"58706:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50261,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50249,"src":"58710:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50262,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50251,"src":"58714:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50263,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50253,"src":"58718:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50257,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58645:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50258,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58649:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58645:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58645:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50256,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"58629:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58629:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50266,"nodeType":"ExpressionStatement","src":"58629:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58535:3:63","parameters":{"id":50254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50247,"mutability":"mutable","name":"p0","nameLocation":"58547:2:63","nodeType":"VariableDeclaration","scope":50268,"src":"58539:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50246,"name":"address","nodeType":"ElementaryTypeName","src":"58539:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50249,"mutability":"mutable","name":"p1","nameLocation":"58565:2:63","nodeType":"VariableDeclaration","scope":50268,"src":"58551:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50248,"name":"string","nodeType":"ElementaryTypeName","src":"58551:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50251,"mutability":"mutable","name":"p2","nameLocation":"58583:2:63","nodeType":"VariableDeclaration","scope":50268,"src":"58569:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50250,"name":"string","nodeType":"ElementaryTypeName","src":"58569:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50253,"mutability":"mutable","name":"p3","nameLocation":"58601:2:63","nodeType":"VariableDeclaration","scope":50268,"src":"58587:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50252,"name":"string","nodeType":"ElementaryTypeName","src":"58587:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58538:66:63"},"returnParameters":{"id":50255,"nodeType":"ParameterList","parameters":[],"src":"58619:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50291,"nodeType":"FunctionDefinition","src":"58735:192:63","nodes":[],"body":{"id":50290,"nodeType":"Block","src":"58819:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":50282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58869:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":50283,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50270,"src":"58904:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50284,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50272,"src":"58908:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50285,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50274,"src":"58912:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50286,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50276,"src":"58916:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50280,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58845:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50281,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58849:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58845:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58845:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50279,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"58829:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58829:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50289,"nodeType":"ExpressionStatement","src":"58829:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58744:3:63","parameters":{"id":50277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50270,"mutability":"mutable","name":"p0","nameLocation":"58756:2:63","nodeType":"VariableDeclaration","scope":50291,"src":"58748:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50269,"name":"address","nodeType":"ElementaryTypeName","src":"58748:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50272,"mutability":"mutable","name":"p1","nameLocation":"58774:2:63","nodeType":"VariableDeclaration","scope":50291,"src":"58760:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50271,"name":"string","nodeType":"ElementaryTypeName","src":"58760:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50274,"mutability":"mutable","name":"p2","nameLocation":"58792:2:63","nodeType":"VariableDeclaration","scope":50291,"src":"58778:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50273,"name":"string","nodeType":"ElementaryTypeName","src":"58778:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50276,"mutability":"mutable","name":"p3","nameLocation":"58801:2:63","nodeType":"VariableDeclaration","scope":50291,"src":"58796:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50275,"name":"bool","nodeType":"ElementaryTypeName","src":"58796:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58747:57:63"},"returnParameters":{"id":50278,"nodeType":"ParameterList","parameters":[],"src":"58819:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50314,"nodeType":"FunctionDefinition","src":"58933:198:63","nodes":[],"body":{"id":50313,"nodeType":"Block","src":"59020:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":50305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59070:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":50306,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50293,"src":"59108:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50307,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50295,"src":"59112:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50308,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50297,"src":"59116:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50309,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50299,"src":"59120:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50303,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59046:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59050:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59046:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59046:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50302,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59030:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59030:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50312,"nodeType":"ExpressionStatement","src":"59030:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58942:3:63","parameters":{"id":50300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50293,"mutability":"mutable","name":"p0","nameLocation":"58954:2:63","nodeType":"VariableDeclaration","scope":50314,"src":"58946:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50292,"name":"address","nodeType":"ElementaryTypeName","src":"58946:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50295,"mutability":"mutable","name":"p1","nameLocation":"58972:2:63","nodeType":"VariableDeclaration","scope":50314,"src":"58958:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50294,"name":"string","nodeType":"ElementaryTypeName","src":"58958:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50297,"mutability":"mutable","name":"p2","nameLocation":"58990:2:63","nodeType":"VariableDeclaration","scope":50314,"src":"58976:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50296,"name":"string","nodeType":"ElementaryTypeName","src":"58976:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50299,"mutability":"mutable","name":"p3","nameLocation":"59002:2:63","nodeType":"VariableDeclaration","scope":50314,"src":"58994:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50298,"name":"address","nodeType":"ElementaryTypeName","src":"58994:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58945:60:63"},"returnParameters":{"id":50301,"nodeType":"ParameterList","parameters":[],"src":"59020:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50337,"nodeType":"FunctionDefinition","src":"59137:181:63","nodes":[],"body":{"id":50336,"nodeType":"Block","src":"59212:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429","id":50328,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59262:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},"value":"log(address,string,bool,uint)"},{"id":50329,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50316,"src":"59295:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50330,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50318,"src":"59299:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50331,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50320,"src":"59303:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50332,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50322,"src":"59307:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a","typeString":"literal_string \"log(address,string,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50326,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59238:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59242:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59238:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59238:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50325,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59222:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59222:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50335,"nodeType":"ExpressionStatement","src":"59222:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59146:3:63","parameters":{"id":50323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50316,"mutability":"mutable","name":"p0","nameLocation":"59158:2:63","nodeType":"VariableDeclaration","scope":50337,"src":"59150:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50315,"name":"address","nodeType":"ElementaryTypeName","src":"59150:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50318,"mutability":"mutable","name":"p1","nameLocation":"59176:2:63","nodeType":"VariableDeclaration","scope":50337,"src":"59162:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50317,"name":"string","nodeType":"ElementaryTypeName","src":"59162:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50320,"mutability":"mutable","name":"p2","nameLocation":"59185:2:63","nodeType":"VariableDeclaration","scope":50337,"src":"59180:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50319,"name":"bool","nodeType":"ElementaryTypeName","src":"59180:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50322,"mutability":"mutable","name":"p3","nameLocation":"59194:2:63","nodeType":"VariableDeclaration","scope":50337,"src":"59189:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50321,"name":"uint","nodeType":"ElementaryTypeName","src":"59189:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59149:48:63"},"returnParameters":{"id":50324,"nodeType":"ParameterList","parameters":[],"src":"59212:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50360,"nodeType":"FunctionDefinition","src":"59324:192:63","nodes":[],"body":{"id":50359,"nodeType":"Block","src":"59408:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":50351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59458:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":50352,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50339,"src":"59493:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50353,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50341,"src":"59497:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50354,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50343,"src":"59501:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50355,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50345,"src":"59505:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50349,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59434:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50350,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59438:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59434:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59434:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50348,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59418:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50357,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59418:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50358,"nodeType":"ExpressionStatement","src":"59418:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59333:3:63","parameters":{"id":50346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50339,"mutability":"mutable","name":"p0","nameLocation":"59345:2:63","nodeType":"VariableDeclaration","scope":50360,"src":"59337:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50338,"name":"address","nodeType":"ElementaryTypeName","src":"59337:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50341,"mutability":"mutable","name":"p1","nameLocation":"59363:2:63","nodeType":"VariableDeclaration","scope":50360,"src":"59349:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50340,"name":"string","nodeType":"ElementaryTypeName","src":"59349:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50343,"mutability":"mutable","name":"p2","nameLocation":"59372:2:63","nodeType":"VariableDeclaration","scope":50360,"src":"59367:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50342,"name":"bool","nodeType":"ElementaryTypeName","src":"59367:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50345,"mutability":"mutable","name":"p3","nameLocation":"59390:2:63","nodeType":"VariableDeclaration","scope":50360,"src":"59376:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50344,"name":"string","nodeType":"ElementaryTypeName","src":"59376:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59336:57:63"},"returnParameters":{"id":50347,"nodeType":"ParameterList","parameters":[],"src":"59408:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50383,"nodeType":"FunctionDefinition","src":"59522:181:63","nodes":[],"body":{"id":50382,"nodeType":"Block","src":"59597:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":50374,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59647:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":50375,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50362,"src":"59680:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50376,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50364,"src":"59684:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50377,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50366,"src":"59688:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50378,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50368,"src":"59692:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50372,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59623:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50373,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59627:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59623:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59623:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50371,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59607:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59607:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50381,"nodeType":"ExpressionStatement","src":"59607:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59531:3:63","parameters":{"id":50369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50362,"mutability":"mutable","name":"p0","nameLocation":"59543:2:63","nodeType":"VariableDeclaration","scope":50383,"src":"59535:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50361,"name":"address","nodeType":"ElementaryTypeName","src":"59535:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50364,"mutability":"mutable","name":"p1","nameLocation":"59561:2:63","nodeType":"VariableDeclaration","scope":50383,"src":"59547:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50363,"name":"string","nodeType":"ElementaryTypeName","src":"59547:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50366,"mutability":"mutable","name":"p2","nameLocation":"59570:2:63","nodeType":"VariableDeclaration","scope":50383,"src":"59565:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50365,"name":"bool","nodeType":"ElementaryTypeName","src":"59565:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50368,"mutability":"mutable","name":"p3","nameLocation":"59579:2:63","nodeType":"VariableDeclaration","scope":50383,"src":"59574:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50367,"name":"bool","nodeType":"ElementaryTypeName","src":"59574:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59534:48:63"},"returnParameters":{"id":50370,"nodeType":"ParameterList","parameters":[],"src":"59597:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50406,"nodeType":"FunctionDefinition","src":"59709:187:63","nodes":[],"body":{"id":50405,"nodeType":"Block","src":"59787:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":50397,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59837:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":50398,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50385,"src":"59873:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50399,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50387,"src":"59877:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50400,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50389,"src":"59881:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50401,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50391,"src":"59885:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50395,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59813:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50396,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59817:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59813:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59813:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50394,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59797:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59797:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50404,"nodeType":"ExpressionStatement","src":"59797:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59718:3:63","parameters":{"id":50392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50385,"mutability":"mutable","name":"p0","nameLocation":"59730:2:63","nodeType":"VariableDeclaration","scope":50406,"src":"59722:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50384,"name":"address","nodeType":"ElementaryTypeName","src":"59722:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50387,"mutability":"mutable","name":"p1","nameLocation":"59748:2:63","nodeType":"VariableDeclaration","scope":50406,"src":"59734:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50386,"name":"string","nodeType":"ElementaryTypeName","src":"59734:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50389,"mutability":"mutable","name":"p2","nameLocation":"59757:2:63","nodeType":"VariableDeclaration","scope":50406,"src":"59752:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50388,"name":"bool","nodeType":"ElementaryTypeName","src":"59752:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50391,"mutability":"mutable","name":"p3","nameLocation":"59769:2:63","nodeType":"VariableDeclaration","scope":50406,"src":"59761:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50390,"name":"address","nodeType":"ElementaryTypeName","src":"59761:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59721:51:63"},"returnParameters":{"id":50393,"nodeType":"ParameterList","parameters":[],"src":"59787:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50429,"nodeType":"FunctionDefinition","src":"59902:187:63","nodes":[],"body":{"id":50428,"nodeType":"Block","src":"59980:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7429","id":50420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60030:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},"value":"log(address,string,address,uint)"},{"id":50421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50408,"src":"60066:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50422,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50410,"src":"60070:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50423,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50412,"src":"60074:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50424,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50414,"src":"60078:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582","typeString":"literal_string \"log(address,string,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60006:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60010:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60006:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50425,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60006:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"59990:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59990:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50427,"nodeType":"ExpressionStatement","src":"59990:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59911:3:63","parameters":{"id":50415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50408,"mutability":"mutable","name":"p0","nameLocation":"59923:2:63","nodeType":"VariableDeclaration","scope":50429,"src":"59915:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50407,"name":"address","nodeType":"ElementaryTypeName","src":"59915:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50410,"mutability":"mutable","name":"p1","nameLocation":"59941:2:63","nodeType":"VariableDeclaration","scope":50429,"src":"59927:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50409,"name":"string","nodeType":"ElementaryTypeName","src":"59927:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50412,"mutability":"mutable","name":"p2","nameLocation":"59953:2:63","nodeType":"VariableDeclaration","scope":50429,"src":"59945:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50411,"name":"address","nodeType":"ElementaryTypeName","src":"59945:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50414,"mutability":"mutable","name":"p3","nameLocation":"59962:2:63","nodeType":"VariableDeclaration","scope":50429,"src":"59957:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50413,"name":"uint","nodeType":"ElementaryTypeName","src":"59957:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59914:51:63"},"returnParameters":{"id":50416,"nodeType":"ParameterList","parameters":[],"src":"59980:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50452,"nodeType":"FunctionDefinition","src":"60095:198:63","nodes":[],"body":{"id":50451,"nodeType":"Block","src":"60182:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":50443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60232:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":50444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50431,"src":"60270:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50445,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50433,"src":"60274:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50446,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50435,"src":"60278:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50447,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50437,"src":"60282:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60208:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60212:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60208:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60208:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"60192:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60192:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50450,"nodeType":"ExpressionStatement","src":"60192:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60104:3:63","parameters":{"id":50438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50431,"mutability":"mutable","name":"p0","nameLocation":"60116:2:63","nodeType":"VariableDeclaration","scope":50452,"src":"60108:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50430,"name":"address","nodeType":"ElementaryTypeName","src":"60108:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50433,"mutability":"mutable","name":"p1","nameLocation":"60134:2:63","nodeType":"VariableDeclaration","scope":50452,"src":"60120:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50432,"name":"string","nodeType":"ElementaryTypeName","src":"60120:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50435,"mutability":"mutable","name":"p2","nameLocation":"60146:2:63","nodeType":"VariableDeclaration","scope":50452,"src":"60138:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50434,"name":"address","nodeType":"ElementaryTypeName","src":"60138:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50437,"mutability":"mutable","name":"p3","nameLocation":"60164:2:63","nodeType":"VariableDeclaration","scope":50452,"src":"60150:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50436,"name":"string","nodeType":"ElementaryTypeName","src":"60150:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60107:60:63"},"returnParameters":{"id":50439,"nodeType":"ParameterList","parameters":[],"src":"60182:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50475,"nodeType":"FunctionDefinition","src":"60299:187:63","nodes":[],"body":{"id":50474,"nodeType":"Block","src":"60377:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":50466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60427:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":50467,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50454,"src":"60463:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50468,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50456,"src":"60467:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50469,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50458,"src":"60471:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50470,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50460,"src":"60475:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50464,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60403:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60407:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60403:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60403:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50463,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"60387:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60387:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50473,"nodeType":"ExpressionStatement","src":"60387:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60308:3:63","parameters":{"id":50461,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50454,"mutability":"mutable","name":"p0","nameLocation":"60320:2:63","nodeType":"VariableDeclaration","scope":50475,"src":"60312:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50453,"name":"address","nodeType":"ElementaryTypeName","src":"60312:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50456,"mutability":"mutable","name":"p1","nameLocation":"60338:2:63","nodeType":"VariableDeclaration","scope":50475,"src":"60324:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50455,"name":"string","nodeType":"ElementaryTypeName","src":"60324:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50458,"mutability":"mutable","name":"p2","nameLocation":"60350:2:63","nodeType":"VariableDeclaration","scope":50475,"src":"60342:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50457,"name":"address","nodeType":"ElementaryTypeName","src":"60342:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50460,"mutability":"mutable","name":"p3","nameLocation":"60359:2:63","nodeType":"VariableDeclaration","scope":50475,"src":"60354:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50459,"name":"bool","nodeType":"ElementaryTypeName","src":"60354:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60311:51:63"},"returnParameters":{"id":50462,"nodeType":"ParameterList","parameters":[],"src":"60377:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50498,"nodeType":"FunctionDefinition","src":"60492:193:63","nodes":[],"body":{"id":50497,"nodeType":"Block","src":"60573:112:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":50489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60623:37:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":50490,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50477,"src":"60662:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50491,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50479,"src":"60666:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50492,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50481,"src":"60670:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50493,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50483,"src":"60674:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50487,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60599:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50488,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60603:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60599:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60599:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50486,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"60583:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60583:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50496,"nodeType":"ExpressionStatement","src":"60583:95:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60501:3:63","parameters":{"id":50484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50477,"mutability":"mutable","name":"p0","nameLocation":"60513:2:63","nodeType":"VariableDeclaration","scope":50498,"src":"60505:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50476,"name":"address","nodeType":"ElementaryTypeName","src":"60505:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50479,"mutability":"mutable","name":"p1","nameLocation":"60531:2:63","nodeType":"VariableDeclaration","scope":50498,"src":"60517:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50478,"name":"string","nodeType":"ElementaryTypeName","src":"60517:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50481,"mutability":"mutable","name":"p2","nameLocation":"60543:2:63","nodeType":"VariableDeclaration","scope":50498,"src":"60535:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50480,"name":"address","nodeType":"ElementaryTypeName","src":"60535:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50483,"mutability":"mutable","name":"p3","nameLocation":"60555:2:63","nodeType":"VariableDeclaration","scope":50498,"src":"60547:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50482,"name":"address","nodeType":"ElementaryTypeName","src":"60547:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60504:54:63"},"returnParameters":{"id":50485,"nodeType":"ParameterList","parameters":[],"src":"60573:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50521,"nodeType":"FunctionDefinition","src":"60691:170:63","nodes":[],"body":{"id":50520,"nodeType":"Block","src":"60757:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429","id":50512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60807:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},"value":"log(address,bool,uint,uint)"},{"id":50513,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50500,"src":"60838:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50514,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50502,"src":"60842:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50515,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50504,"src":"60846:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50516,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50506,"src":"60850:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59","typeString":"literal_string \"log(address,bool,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50510,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60783:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50511,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60787:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60783:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60783:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50509,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"60767:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60767:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50519,"nodeType":"ExpressionStatement","src":"60767:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60700:3:63","parameters":{"id":50507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50500,"mutability":"mutable","name":"p0","nameLocation":"60712:2:63","nodeType":"VariableDeclaration","scope":50521,"src":"60704:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50499,"name":"address","nodeType":"ElementaryTypeName","src":"60704:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50502,"mutability":"mutable","name":"p1","nameLocation":"60721:2:63","nodeType":"VariableDeclaration","scope":50521,"src":"60716:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50501,"name":"bool","nodeType":"ElementaryTypeName","src":"60716:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50504,"mutability":"mutable","name":"p2","nameLocation":"60730:2:63","nodeType":"VariableDeclaration","scope":50521,"src":"60725:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50503,"name":"uint","nodeType":"ElementaryTypeName","src":"60725:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50506,"mutability":"mutable","name":"p3","nameLocation":"60739:2:63","nodeType":"VariableDeclaration","scope":50521,"src":"60734:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50505,"name":"uint","nodeType":"ElementaryTypeName","src":"60734:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60703:39:63"},"returnParameters":{"id":50508,"nodeType":"ParameterList","parameters":[],"src":"60757:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50544,"nodeType":"FunctionDefinition","src":"60867:181:63","nodes":[],"body":{"id":50543,"nodeType":"Block","src":"60942:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729","id":50535,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60992:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},"value":"log(address,bool,uint,string)"},{"id":50536,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50523,"src":"61025:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50537,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50525,"src":"61029:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50538,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50527,"src":"61033:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50539,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50529,"src":"61037:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6","typeString":"literal_string \"log(address,bool,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50533,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60968:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50534,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60972:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60968:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60968:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50532,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"60952:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60952:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50542,"nodeType":"ExpressionStatement","src":"60952:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60876:3:63","parameters":{"id":50530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50523,"mutability":"mutable","name":"p0","nameLocation":"60888:2:63","nodeType":"VariableDeclaration","scope":50544,"src":"60880:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50522,"name":"address","nodeType":"ElementaryTypeName","src":"60880:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50525,"mutability":"mutable","name":"p1","nameLocation":"60897:2:63","nodeType":"VariableDeclaration","scope":50544,"src":"60892:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50524,"name":"bool","nodeType":"ElementaryTypeName","src":"60892:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50527,"mutability":"mutable","name":"p2","nameLocation":"60906:2:63","nodeType":"VariableDeclaration","scope":50544,"src":"60901:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50526,"name":"uint","nodeType":"ElementaryTypeName","src":"60901:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50529,"mutability":"mutable","name":"p3","nameLocation":"60924:2:63","nodeType":"VariableDeclaration","scope":50544,"src":"60910:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50528,"name":"string","nodeType":"ElementaryTypeName","src":"60910:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60879:48:63"},"returnParameters":{"id":50531,"nodeType":"ParameterList","parameters":[],"src":"60942:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50567,"nodeType":"FunctionDefinition","src":"61054:170:63","nodes":[],"body":{"id":50566,"nodeType":"Block","src":"61120:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29","id":50558,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61170:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},"value":"log(address,bool,uint,bool)"},{"id":50559,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50546,"src":"61201:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50560,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50548,"src":"61205:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50561,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50550,"src":"61209:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50562,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50552,"src":"61213:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33","typeString":"literal_string \"log(address,bool,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50556,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61146:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50557,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61150:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61146:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61146:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50555,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"61130:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61130:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50565,"nodeType":"ExpressionStatement","src":"61130:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61063:3:63","parameters":{"id":50553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50546,"mutability":"mutable","name":"p0","nameLocation":"61075:2:63","nodeType":"VariableDeclaration","scope":50567,"src":"61067:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50545,"name":"address","nodeType":"ElementaryTypeName","src":"61067:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50548,"mutability":"mutable","name":"p1","nameLocation":"61084:2:63","nodeType":"VariableDeclaration","scope":50567,"src":"61079:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50547,"name":"bool","nodeType":"ElementaryTypeName","src":"61079:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50550,"mutability":"mutable","name":"p2","nameLocation":"61093:2:63","nodeType":"VariableDeclaration","scope":50567,"src":"61088:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50549,"name":"uint","nodeType":"ElementaryTypeName","src":"61088:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50552,"mutability":"mutable","name":"p3","nameLocation":"61102:2:63","nodeType":"VariableDeclaration","scope":50567,"src":"61097:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50551,"name":"bool","nodeType":"ElementaryTypeName","src":"61097:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61066:39:63"},"returnParameters":{"id":50554,"nodeType":"ParameterList","parameters":[],"src":"61120:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50590,"nodeType":"FunctionDefinition","src":"61230:176:63","nodes":[],"body":{"id":50589,"nodeType":"Block","src":"61299:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329","id":50581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61349:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},"value":"log(address,bool,uint,address)"},{"id":50582,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50569,"src":"61383:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50583,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50571,"src":"61387:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50584,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50573,"src":"61391:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50585,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50575,"src":"61395:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf","typeString":"literal_string \"log(address,bool,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50579,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61325:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50580,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61329:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61325:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61325:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50578,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"61309:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61309:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50588,"nodeType":"ExpressionStatement","src":"61309:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61239:3:63","parameters":{"id":50576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50569,"mutability":"mutable","name":"p0","nameLocation":"61251:2:63","nodeType":"VariableDeclaration","scope":50590,"src":"61243:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50568,"name":"address","nodeType":"ElementaryTypeName","src":"61243:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50571,"mutability":"mutable","name":"p1","nameLocation":"61260:2:63","nodeType":"VariableDeclaration","scope":50590,"src":"61255:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50570,"name":"bool","nodeType":"ElementaryTypeName","src":"61255:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50573,"mutability":"mutable","name":"p2","nameLocation":"61269:2:63","nodeType":"VariableDeclaration","scope":50590,"src":"61264:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50572,"name":"uint","nodeType":"ElementaryTypeName","src":"61264:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50575,"mutability":"mutable","name":"p3","nameLocation":"61281:2:63","nodeType":"VariableDeclaration","scope":50590,"src":"61273:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50574,"name":"address","nodeType":"ElementaryTypeName","src":"61273:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61242:42:63"},"returnParameters":{"id":50577,"nodeType":"ParameterList","parameters":[],"src":"61299:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50613,"nodeType":"FunctionDefinition","src":"61412:181:63","nodes":[],"body":{"id":50612,"nodeType":"Block","src":"61487:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429","id":50604,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61537:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},"value":"log(address,bool,string,uint)"},{"id":50605,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50592,"src":"61570:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50606,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50594,"src":"61574:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50607,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50596,"src":"61578:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50608,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50598,"src":"61582:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b","typeString":"literal_string \"log(address,bool,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50602,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61513:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50603,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61517:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61513:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61513:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50601,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"61497:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61497:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50611,"nodeType":"ExpressionStatement","src":"61497:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61421:3:63","parameters":{"id":50599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50592,"mutability":"mutable","name":"p0","nameLocation":"61433:2:63","nodeType":"VariableDeclaration","scope":50613,"src":"61425:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50591,"name":"address","nodeType":"ElementaryTypeName","src":"61425:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50594,"mutability":"mutable","name":"p1","nameLocation":"61442:2:63","nodeType":"VariableDeclaration","scope":50613,"src":"61437:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50593,"name":"bool","nodeType":"ElementaryTypeName","src":"61437:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50596,"mutability":"mutable","name":"p2","nameLocation":"61460:2:63","nodeType":"VariableDeclaration","scope":50613,"src":"61446:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50595,"name":"string","nodeType":"ElementaryTypeName","src":"61446:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50598,"mutability":"mutable","name":"p3","nameLocation":"61469:2:63","nodeType":"VariableDeclaration","scope":50613,"src":"61464:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50597,"name":"uint","nodeType":"ElementaryTypeName","src":"61464:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61424:48:63"},"returnParameters":{"id":50600,"nodeType":"ParameterList","parameters":[],"src":"61487:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50636,"nodeType":"FunctionDefinition","src":"61599:192:63","nodes":[],"body":{"id":50635,"nodeType":"Block","src":"61683:108:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":50627,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61733:33:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":50628,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50615,"src":"61768:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50629,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50617,"src":"61772:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50630,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50619,"src":"61776:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50631,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50621,"src":"61780:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50625,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61709:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50626,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61713:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61709:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61709:74:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50624,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"61693:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61693:91:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50634,"nodeType":"ExpressionStatement","src":"61693:91:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61608:3:63","parameters":{"id":50622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50615,"mutability":"mutable","name":"p0","nameLocation":"61620:2:63","nodeType":"VariableDeclaration","scope":50636,"src":"61612:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50614,"name":"address","nodeType":"ElementaryTypeName","src":"61612:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50617,"mutability":"mutable","name":"p1","nameLocation":"61629:2:63","nodeType":"VariableDeclaration","scope":50636,"src":"61624:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50616,"name":"bool","nodeType":"ElementaryTypeName","src":"61624:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50619,"mutability":"mutable","name":"p2","nameLocation":"61647:2:63","nodeType":"VariableDeclaration","scope":50636,"src":"61633:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50618,"name":"string","nodeType":"ElementaryTypeName","src":"61633:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50621,"mutability":"mutable","name":"p3","nameLocation":"61665:2:63","nodeType":"VariableDeclaration","scope":50636,"src":"61651:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50620,"name":"string","nodeType":"ElementaryTypeName","src":"61651:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61611:57:63"},"returnParameters":{"id":50623,"nodeType":"ParameterList","parameters":[],"src":"61683:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50659,"nodeType":"FunctionDefinition","src":"61797:181:63","nodes":[],"body":{"id":50658,"nodeType":"Block","src":"61872:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":50650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61922:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":50651,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50638,"src":"61955:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50652,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50640,"src":"61959:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50653,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50642,"src":"61963:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50654,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50644,"src":"61967:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50648,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61898:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50649,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61902:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61898:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61898:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50647,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"61882:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61882:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50657,"nodeType":"ExpressionStatement","src":"61882:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61806:3:63","parameters":{"id":50645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50638,"mutability":"mutable","name":"p0","nameLocation":"61818:2:63","nodeType":"VariableDeclaration","scope":50659,"src":"61810:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50637,"name":"address","nodeType":"ElementaryTypeName","src":"61810:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50640,"mutability":"mutable","name":"p1","nameLocation":"61827:2:63","nodeType":"VariableDeclaration","scope":50659,"src":"61822:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50639,"name":"bool","nodeType":"ElementaryTypeName","src":"61822:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50642,"mutability":"mutable","name":"p2","nameLocation":"61845:2:63","nodeType":"VariableDeclaration","scope":50659,"src":"61831:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50641,"name":"string","nodeType":"ElementaryTypeName","src":"61831:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50644,"mutability":"mutable","name":"p3","nameLocation":"61854:2:63","nodeType":"VariableDeclaration","scope":50659,"src":"61849:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50643,"name":"bool","nodeType":"ElementaryTypeName","src":"61849:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61809:48:63"},"returnParameters":{"id":50646,"nodeType":"ParameterList","parameters":[],"src":"61872:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50682,"nodeType":"FunctionDefinition","src":"61984:187:63","nodes":[],"body":{"id":50681,"nodeType":"Block","src":"62062:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":50673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62112:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":50674,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50661,"src":"62148:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50675,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50663,"src":"62152:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50676,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50665,"src":"62156:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50677,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50667,"src":"62160:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50671,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62088:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62092:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62088:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62088:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50670,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62072:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62072:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50680,"nodeType":"ExpressionStatement","src":"62072:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61993:3:63","parameters":{"id":50668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50661,"mutability":"mutable","name":"p0","nameLocation":"62005:2:63","nodeType":"VariableDeclaration","scope":50682,"src":"61997:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50660,"name":"address","nodeType":"ElementaryTypeName","src":"61997:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50663,"mutability":"mutable","name":"p1","nameLocation":"62014:2:63","nodeType":"VariableDeclaration","scope":50682,"src":"62009:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50662,"name":"bool","nodeType":"ElementaryTypeName","src":"62009:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50665,"mutability":"mutable","name":"p2","nameLocation":"62032:2:63","nodeType":"VariableDeclaration","scope":50682,"src":"62018:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50664,"name":"string","nodeType":"ElementaryTypeName","src":"62018:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50667,"mutability":"mutable","name":"p3","nameLocation":"62044:2:63","nodeType":"VariableDeclaration","scope":50682,"src":"62036:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50666,"name":"address","nodeType":"ElementaryTypeName","src":"62036:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61996:51:63"},"returnParameters":{"id":50669,"nodeType":"ParameterList","parameters":[],"src":"62062:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50705,"nodeType":"FunctionDefinition","src":"62177:170:63","nodes":[],"body":{"id":50704,"nodeType":"Block","src":"62243:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429","id":50696,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62293:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},"value":"log(address,bool,bool,uint)"},{"id":50697,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50684,"src":"62324:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50698,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50686,"src":"62328:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50699,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50688,"src":"62332:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50700,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50690,"src":"62336:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463","typeString":"literal_string \"log(address,bool,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50694,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62269:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50695,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62273:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62269:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62269:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50693,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62253:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62253:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50703,"nodeType":"ExpressionStatement","src":"62253:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62186:3:63","parameters":{"id":50691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50684,"mutability":"mutable","name":"p0","nameLocation":"62198:2:63","nodeType":"VariableDeclaration","scope":50705,"src":"62190:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50683,"name":"address","nodeType":"ElementaryTypeName","src":"62190:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50686,"mutability":"mutable","name":"p1","nameLocation":"62207:2:63","nodeType":"VariableDeclaration","scope":50705,"src":"62202:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50685,"name":"bool","nodeType":"ElementaryTypeName","src":"62202:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50688,"mutability":"mutable","name":"p2","nameLocation":"62216:2:63","nodeType":"VariableDeclaration","scope":50705,"src":"62211:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50687,"name":"bool","nodeType":"ElementaryTypeName","src":"62211:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50690,"mutability":"mutable","name":"p3","nameLocation":"62225:2:63","nodeType":"VariableDeclaration","scope":50705,"src":"62220:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50689,"name":"uint","nodeType":"ElementaryTypeName","src":"62220:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62189:39:63"},"returnParameters":{"id":50692,"nodeType":"ParameterList","parameters":[],"src":"62243:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50728,"nodeType":"FunctionDefinition","src":"62353:181:63","nodes":[],"body":{"id":50727,"nodeType":"Block","src":"62428:106:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":50719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62478:31:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":50720,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50707,"src":"62511:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50721,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50709,"src":"62515:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50722,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50711,"src":"62519:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50723,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50713,"src":"62523:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50717,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62454:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50718,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62458:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62454:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62454:72:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50716,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62438:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50725,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62438:89:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50726,"nodeType":"ExpressionStatement","src":"62438:89:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62362:3:63","parameters":{"id":50714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50707,"mutability":"mutable","name":"p0","nameLocation":"62374:2:63","nodeType":"VariableDeclaration","scope":50728,"src":"62366:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50706,"name":"address","nodeType":"ElementaryTypeName","src":"62366:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50709,"mutability":"mutable","name":"p1","nameLocation":"62383:2:63","nodeType":"VariableDeclaration","scope":50728,"src":"62378:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50708,"name":"bool","nodeType":"ElementaryTypeName","src":"62378:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50711,"mutability":"mutable","name":"p2","nameLocation":"62392:2:63","nodeType":"VariableDeclaration","scope":50728,"src":"62387:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50710,"name":"bool","nodeType":"ElementaryTypeName","src":"62387:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50713,"mutability":"mutable","name":"p3","nameLocation":"62410:2:63","nodeType":"VariableDeclaration","scope":50728,"src":"62396:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50712,"name":"string","nodeType":"ElementaryTypeName","src":"62396:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62365:48:63"},"returnParameters":{"id":50715,"nodeType":"ParameterList","parameters":[],"src":"62428:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50751,"nodeType":"FunctionDefinition","src":"62540:170:63","nodes":[],"body":{"id":50750,"nodeType":"Block","src":"62606:104:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":50742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62656:29:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":50743,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50730,"src":"62687:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50744,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50732,"src":"62691:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50745,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50734,"src":"62695:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50746,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50736,"src":"62699:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62632:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62636:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62632:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62632:70:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50739,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62616:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62616:87:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50749,"nodeType":"ExpressionStatement","src":"62616:87:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62549:3:63","parameters":{"id":50737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50730,"mutability":"mutable","name":"p0","nameLocation":"62561:2:63","nodeType":"VariableDeclaration","scope":50751,"src":"62553:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50729,"name":"address","nodeType":"ElementaryTypeName","src":"62553:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50732,"mutability":"mutable","name":"p1","nameLocation":"62570:2:63","nodeType":"VariableDeclaration","scope":50751,"src":"62565:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50731,"name":"bool","nodeType":"ElementaryTypeName","src":"62565:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50734,"mutability":"mutable","name":"p2","nameLocation":"62579:2:63","nodeType":"VariableDeclaration","scope":50751,"src":"62574:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50733,"name":"bool","nodeType":"ElementaryTypeName","src":"62574:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50736,"mutability":"mutable","name":"p3","nameLocation":"62588:2:63","nodeType":"VariableDeclaration","scope":50751,"src":"62583:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50735,"name":"bool","nodeType":"ElementaryTypeName","src":"62583:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62552:39:63"},"returnParameters":{"id":50738,"nodeType":"ParameterList","parameters":[],"src":"62606:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50774,"nodeType":"FunctionDefinition","src":"62716:176:63","nodes":[],"body":{"id":50773,"nodeType":"Block","src":"62785:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":50765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62835:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":50766,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50753,"src":"62869:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50767,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50755,"src":"62873:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50768,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50757,"src":"62877:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50769,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50759,"src":"62881:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50763,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62811:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50764,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62815:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62811:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50770,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62811:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50762,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62795:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50771,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62795:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50772,"nodeType":"ExpressionStatement","src":"62795:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62725:3:63","parameters":{"id":50760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50753,"mutability":"mutable","name":"p0","nameLocation":"62737:2:63","nodeType":"VariableDeclaration","scope":50774,"src":"62729:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50752,"name":"address","nodeType":"ElementaryTypeName","src":"62729:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50755,"mutability":"mutable","name":"p1","nameLocation":"62746:2:63","nodeType":"VariableDeclaration","scope":50774,"src":"62741:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50754,"name":"bool","nodeType":"ElementaryTypeName","src":"62741:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50757,"mutability":"mutable","name":"p2","nameLocation":"62755:2:63","nodeType":"VariableDeclaration","scope":50774,"src":"62750:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50756,"name":"bool","nodeType":"ElementaryTypeName","src":"62750:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50759,"mutability":"mutable","name":"p3","nameLocation":"62767:2:63","nodeType":"VariableDeclaration","scope":50774,"src":"62759:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50758,"name":"address","nodeType":"ElementaryTypeName","src":"62759:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62728:42:63"},"returnParameters":{"id":50761,"nodeType":"ParameterList","parameters":[],"src":"62785:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50797,"nodeType":"FunctionDefinition","src":"62898:176:63","nodes":[],"body":{"id":50796,"nodeType":"Block","src":"62967:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429","id":50788,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63017:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},"value":"log(address,bool,address,uint)"},{"id":50789,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50776,"src":"63051:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50790,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50778,"src":"63055:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50791,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50780,"src":"63059:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50792,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50782,"src":"63063:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84","typeString":"literal_string \"log(address,bool,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50786,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62993:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50787,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62997:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62993:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62993:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50785,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"62977:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62977:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50795,"nodeType":"ExpressionStatement","src":"62977:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62907:3:63","parameters":{"id":50783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50776,"mutability":"mutable","name":"p0","nameLocation":"62919:2:63","nodeType":"VariableDeclaration","scope":50797,"src":"62911:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50775,"name":"address","nodeType":"ElementaryTypeName","src":"62911:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50778,"mutability":"mutable","name":"p1","nameLocation":"62928:2:63","nodeType":"VariableDeclaration","scope":50797,"src":"62923:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50777,"name":"bool","nodeType":"ElementaryTypeName","src":"62923:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50780,"mutability":"mutable","name":"p2","nameLocation":"62940:2:63","nodeType":"VariableDeclaration","scope":50797,"src":"62932:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50779,"name":"address","nodeType":"ElementaryTypeName","src":"62932:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50782,"mutability":"mutable","name":"p3","nameLocation":"62949:2:63","nodeType":"VariableDeclaration","scope":50797,"src":"62944:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50781,"name":"uint","nodeType":"ElementaryTypeName","src":"62944:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62910:42:63"},"returnParameters":{"id":50784,"nodeType":"ParameterList","parameters":[],"src":"62967:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50820,"nodeType":"FunctionDefinition","src":"63080:187:63","nodes":[],"body":{"id":50819,"nodeType":"Block","src":"63158:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":50811,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63208:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":50812,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50799,"src":"63244:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50813,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50801,"src":"63248:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50814,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50803,"src":"63252:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50815,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50805,"src":"63256:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50809,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63184:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50810,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63188:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63184:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63184:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50808,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"63168:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63168:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50818,"nodeType":"ExpressionStatement","src":"63168:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63089:3:63","parameters":{"id":50806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50799,"mutability":"mutable","name":"p0","nameLocation":"63101:2:63","nodeType":"VariableDeclaration","scope":50820,"src":"63093:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50798,"name":"address","nodeType":"ElementaryTypeName","src":"63093:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50801,"mutability":"mutable","name":"p1","nameLocation":"63110:2:63","nodeType":"VariableDeclaration","scope":50820,"src":"63105:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50800,"name":"bool","nodeType":"ElementaryTypeName","src":"63105:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50803,"mutability":"mutable","name":"p2","nameLocation":"63122:2:63","nodeType":"VariableDeclaration","scope":50820,"src":"63114:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50802,"name":"address","nodeType":"ElementaryTypeName","src":"63114:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50805,"mutability":"mutable","name":"p3","nameLocation":"63140:2:63","nodeType":"VariableDeclaration","scope":50820,"src":"63126:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50804,"name":"string","nodeType":"ElementaryTypeName","src":"63126:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63092:51:63"},"returnParameters":{"id":50807,"nodeType":"ParameterList","parameters":[],"src":"63158:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50843,"nodeType":"FunctionDefinition","src":"63273:176:63","nodes":[],"body":{"id":50842,"nodeType":"Block","src":"63342:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":50834,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63392:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":50835,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50822,"src":"63426:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50836,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50824,"src":"63430:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50837,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50826,"src":"63434:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50838,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50828,"src":"63438:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50832,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63368:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50833,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63372:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63368:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50839,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63368:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50831,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"63352:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63352:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50841,"nodeType":"ExpressionStatement","src":"63352:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63282:3:63","parameters":{"id":50829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50822,"mutability":"mutable","name":"p0","nameLocation":"63294:2:63","nodeType":"VariableDeclaration","scope":50843,"src":"63286:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50821,"name":"address","nodeType":"ElementaryTypeName","src":"63286:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50824,"mutability":"mutable","name":"p1","nameLocation":"63303:2:63","nodeType":"VariableDeclaration","scope":50843,"src":"63298:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50823,"name":"bool","nodeType":"ElementaryTypeName","src":"63298:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50826,"mutability":"mutable","name":"p2","nameLocation":"63315:2:63","nodeType":"VariableDeclaration","scope":50843,"src":"63307:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50825,"name":"address","nodeType":"ElementaryTypeName","src":"63307:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50828,"mutability":"mutable","name":"p3","nameLocation":"63324:2:63","nodeType":"VariableDeclaration","scope":50843,"src":"63319:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50827,"name":"bool","nodeType":"ElementaryTypeName","src":"63319:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63285:42:63"},"returnParameters":{"id":50830,"nodeType":"ParameterList","parameters":[],"src":"63342:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50866,"nodeType":"FunctionDefinition","src":"63455:182:63","nodes":[],"body":{"id":50865,"nodeType":"Block","src":"63527:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":50857,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63577:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":50858,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50845,"src":"63614:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50859,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50847,"src":"63618:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":50860,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50849,"src":"63622:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50861,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50851,"src":"63626:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50855,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63553:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50856,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63557:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63553:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50862,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63553:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50854,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"63537:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63537:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50864,"nodeType":"ExpressionStatement","src":"63537:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63464:3:63","parameters":{"id":50852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50845,"mutability":"mutable","name":"p0","nameLocation":"63476:2:63","nodeType":"VariableDeclaration","scope":50866,"src":"63468:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50844,"name":"address","nodeType":"ElementaryTypeName","src":"63468:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50847,"mutability":"mutable","name":"p1","nameLocation":"63485:2:63","nodeType":"VariableDeclaration","scope":50866,"src":"63480:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50846,"name":"bool","nodeType":"ElementaryTypeName","src":"63480:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":50849,"mutability":"mutable","name":"p2","nameLocation":"63497:2:63","nodeType":"VariableDeclaration","scope":50866,"src":"63489:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50848,"name":"address","nodeType":"ElementaryTypeName","src":"63489:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50851,"mutability":"mutable","name":"p3","nameLocation":"63509:2:63","nodeType":"VariableDeclaration","scope":50866,"src":"63501:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50850,"name":"address","nodeType":"ElementaryTypeName","src":"63501:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63467:45:63"},"returnParameters":{"id":50853,"nodeType":"ParameterList","parameters":[],"src":"63527:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50889,"nodeType":"FunctionDefinition","src":"63643:176:63","nodes":[],"body":{"id":50888,"nodeType":"Block","src":"63712:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c75696e7429","id":50880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63762:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},"value":"log(address,address,uint,uint)"},{"id":50881,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50868,"src":"63796:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50882,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50870,"src":"63800:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50883,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50872,"src":"63804:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50884,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50874,"src":"63808:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6","typeString":"literal_string \"log(address,address,uint,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50878,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63738:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63742:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63738:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63738:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50877,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"63722:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50886,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63722:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50887,"nodeType":"ExpressionStatement","src":"63722:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63652:3:63","parameters":{"id":50875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50868,"mutability":"mutable","name":"p0","nameLocation":"63664:2:63","nodeType":"VariableDeclaration","scope":50889,"src":"63656:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50867,"name":"address","nodeType":"ElementaryTypeName","src":"63656:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50870,"mutability":"mutable","name":"p1","nameLocation":"63676:2:63","nodeType":"VariableDeclaration","scope":50889,"src":"63668:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50869,"name":"address","nodeType":"ElementaryTypeName","src":"63668:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50872,"mutability":"mutable","name":"p2","nameLocation":"63685:2:63","nodeType":"VariableDeclaration","scope":50889,"src":"63680:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50871,"name":"uint","nodeType":"ElementaryTypeName","src":"63680:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50874,"mutability":"mutable","name":"p3","nameLocation":"63694:2:63","nodeType":"VariableDeclaration","scope":50889,"src":"63689:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50873,"name":"uint","nodeType":"ElementaryTypeName","src":"63689:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63655:42:63"},"returnParameters":{"id":50876,"nodeType":"ParameterList","parameters":[],"src":"63712:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50912,"nodeType":"FunctionDefinition","src":"63825:187:63","nodes":[],"body":{"id":50911,"nodeType":"Block","src":"63903:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c737472696e6729","id":50903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63953:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},"value":"log(address,address,uint,string)"},{"id":50904,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50891,"src":"63989:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50905,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50893,"src":"63993:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50906,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50895,"src":"63997:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50907,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50897,"src":"64001:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815","typeString":"literal_string \"log(address,address,uint,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63929:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63933:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63929:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63929:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"63913:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50909,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63913:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50910,"nodeType":"ExpressionStatement","src":"63913:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63834:3:63","parameters":{"id":50898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50891,"mutability":"mutable","name":"p0","nameLocation":"63846:2:63","nodeType":"VariableDeclaration","scope":50912,"src":"63838:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50890,"name":"address","nodeType":"ElementaryTypeName","src":"63838:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50893,"mutability":"mutable","name":"p1","nameLocation":"63858:2:63","nodeType":"VariableDeclaration","scope":50912,"src":"63850:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50892,"name":"address","nodeType":"ElementaryTypeName","src":"63850:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50895,"mutability":"mutable","name":"p2","nameLocation":"63867:2:63","nodeType":"VariableDeclaration","scope":50912,"src":"63862:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50894,"name":"uint","nodeType":"ElementaryTypeName","src":"63862:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50897,"mutability":"mutable","name":"p3","nameLocation":"63885:2:63","nodeType":"VariableDeclaration","scope":50912,"src":"63871:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50896,"name":"string","nodeType":"ElementaryTypeName","src":"63871:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63837:51:63"},"returnParameters":{"id":50899,"nodeType":"ParameterList","parameters":[],"src":"63903:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50935,"nodeType":"FunctionDefinition","src":"64018:176:63","nodes":[],"body":{"id":50934,"nodeType":"Block","src":"64087:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29","id":50926,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64137:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},"value":"log(address,address,uint,bool)"},{"id":50927,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50914,"src":"64171:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50928,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50916,"src":"64175:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50929,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50918,"src":"64179:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50930,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50920,"src":"64183:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411","typeString":"literal_string \"log(address,address,uint,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":50924,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64113:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50925,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64117:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64113:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64113:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50923,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"64097:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64097:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50933,"nodeType":"ExpressionStatement","src":"64097:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64027:3:63","parameters":{"id":50921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50914,"mutability":"mutable","name":"p0","nameLocation":"64039:2:63","nodeType":"VariableDeclaration","scope":50935,"src":"64031:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50913,"name":"address","nodeType":"ElementaryTypeName","src":"64031:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50916,"mutability":"mutable","name":"p1","nameLocation":"64051:2:63","nodeType":"VariableDeclaration","scope":50935,"src":"64043:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50915,"name":"address","nodeType":"ElementaryTypeName","src":"64043:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50918,"mutability":"mutable","name":"p2","nameLocation":"64060:2:63","nodeType":"VariableDeclaration","scope":50935,"src":"64055:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50917,"name":"uint","nodeType":"ElementaryTypeName","src":"64055:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50920,"mutability":"mutable","name":"p3","nameLocation":"64069:2:63","nodeType":"VariableDeclaration","scope":50935,"src":"64064:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":50919,"name":"bool","nodeType":"ElementaryTypeName","src":"64064:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64030:42:63"},"returnParameters":{"id":50922,"nodeType":"ParameterList","parameters":[],"src":"64087:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50958,"nodeType":"FunctionDefinition","src":"64200:182:63","nodes":[],"body":{"id":50957,"nodeType":"Block","src":"64272:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e742c6164647265737329","id":50949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64322:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},"value":"log(address,address,uint,address)"},{"id":50950,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50937,"src":"64359:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50951,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50939,"src":"64363:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50952,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50941,"src":"64367:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":50953,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50943,"src":"64371:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556","typeString":"literal_string \"log(address,address,uint,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":50947,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64298:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64302:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64298:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64298:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50946,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"64282:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50955,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64282:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50956,"nodeType":"ExpressionStatement","src":"64282:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64209:3:63","parameters":{"id":50944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50937,"mutability":"mutable","name":"p0","nameLocation":"64221:2:63","nodeType":"VariableDeclaration","scope":50958,"src":"64213:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50936,"name":"address","nodeType":"ElementaryTypeName","src":"64213:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50939,"mutability":"mutable","name":"p1","nameLocation":"64233:2:63","nodeType":"VariableDeclaration","scope":50958,"src":"64225:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50938,"name":"address","nodeType":"ElementaryTypeName","src":"64225:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50941,"mutability":"mutable","name":"p2","nameLocation":"64242:2:63","nodeType":"VariableDeclaration","scope":50958,"src":"64237:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50940,"name":"uint","nodeType":"ElementaryTypeName","src":"64237:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":50943,"mutability":"mutable","name":"p3","nameLocation":"64254:2:63","nodeType":"VariableDeclaration","scope":50958,"src":"64246:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50942,"name":"address","nodeType":"ElementaryTypeName","src":"64246:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64212:45:63"},"returnParameters":{"id":50945,"nodeType":"ParameterList","parameters":[],"src":"64272:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":50981,"nodeType":"FunctionDefinition","src":"64388:187:63","nodes":[],"body":{"id":50980,"nodeType":"Block","src":"64466:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7429","id":50972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64516:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},"value":"log(address,address,string,uint)"},{"id":50973,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50960,"src":"64552:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50974,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50962,"src":"64556:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50975,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50964,"src":"64560:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50976,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50966,"src":"64564:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba","typeString":"literal_string \"log(address,address,string,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":50970,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64492:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50971,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64496:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64492:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":50977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64492:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50969,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"64476:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":50978,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64476:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":50979,"nodeType":"ExpressionStatement","src":"64476:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64397:3:63","parameters":{"id":50967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50960,"mutability":"mutable","name":"p0","nameLocation":"64409:2:63","nodeType":"VariableDeclaration","scope":50981,"src":"64401:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50959,"name":"address","nodeType":"ElementaryTypeName","src":"64401:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50962,"mutability":"mutable","name":"p1","nameLocation":"64421:2:63","nodeType":"VariableDeclaration","scope":50981,"src":"64413:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50961,"name":"address","nodeType":"ElementaryTypeName","src":"64413:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50964,"mutability":"mutable","name":"p2","nameLocation":"64439:2:63","nodeType":"VariableDeclaration","scope":50981,"src":"64425:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50963,"name":"string","nodeType":"ElementaryTypeName","src":"64425:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50966,"mutability":"mutable","name":"p3","nameLocation":"64448:2:63","nodeType":"VariableDeclaration","scope":50981,"src":"64443:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50965,"name":"uint","nodeType":"ElementaryTypeName","src":"64443:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64400:51:63"},"returnParameters":{"id":50968,"nodeType":"ParameterList","parameters":[],"src":"64466:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51004,"nodeType":"FunctionDefinition","src":"64581:198:63","nodes":[],"body":{"id":51003,"nodeType":"Block","src":"64668:111:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":50995,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64718:36:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":50996,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50983,"src":"64756:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50997,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50985,"src":"64760:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":50998,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50987,"src":"64764:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":50999,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50989,"src":"64768:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":50993,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64694:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":50994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64698:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64694:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64694:77:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":50992,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"64678:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64678:94:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51002,"nodeType":"ExpressionStatement","src":"64678:94:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64590:3:63","parameters":{"id":50990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":50983,"mutability":"mutable","name":"p0","nameLocation":"64602:2:63","nodeType":"VariableDeclaration","scope":51004,"src":"64594:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50982,"name":"address","nodeType":"ElementaryTypeName","src":"64594:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50985,"mutability":"mutable","name":"p1","nameLocation":"64614:2:63","nodeType":"VariableDeclaration","scope":51004,"src":"64606:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":50984,"name":"address","nodeType":"ElementaryTypeName","src":"64606:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":50987,"mutability":"mutable","name":"p2","nameLocation":"64632:2:63","nodeType":"VariableDeclaration","scope":51004,"src":"64618:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50986,"name":"string","nodeType":"ElementaryTypeName","src":"64618:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":50989,"mutability":"mutable","name":"p3","nameLocation":"64650:2:63","nodeType":"VariableDeclaration","scope":51004,"src":"64636:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":50988,"name":"string","nodeType":"ElementaryTypeName","src":"64636:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64593:60:63"},"returnParameters":{"id":50991,"nodeType":"ParameterList","parameters":[],"src":"64668:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51027,"nodeType":"FunctionDefinition","src":"64785:187:63","nodes":[],"body":{"id":51026,"nodeType":"Block","src":"64863:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":51018,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64913:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":51019,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51006,"src":"64949:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51020,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51008,"src":"64953:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51021,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51010,"src":"64957:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51022,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51012,"src":"64961:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51016,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64889:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64893:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64889:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64889:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51015,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"64873:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64873:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51025,"nodeType":"ExpressionStatement","src":"64873:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64794:3:63","parameters":{"id":51013,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51006,"mutability":"mutable","name":"p0","nameLocation":"64806:2:63","nodeType":"VariableDeclaration","scope":51027,"src":"64798:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51005,"name":"address","nodeType":"ElementaryTypeName","src":"64798:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51008,"mutability":"mutable","name":"p1","nameLocation":"64818:2:63","nodeType":"VariableDeclaration","scope":51027,"src":"64810:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51007,"name":"address","nodeType":"ElementaryTypeName","src":"64810:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51010,"mutability":"mutable","name":"p2","nameLocation":"64836:2:63","nodeType":"VariableDeclaration","scope":51027,"src":"64822:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51009,"name":"string","nodeType":"ElementaryTypeName","src":"64822:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51012,"mutability":"mutable","name":"p3","nameLocation":"64845:2:63","nodeType":"VariableDeclaration","scope":51027,"src":"64840:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51011,"name":"bool","nodeType":"ElementaryTypeName","src":"64840:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64797:51:63"},"returnParameters":{"id":51014,"nodeType":"ParameterList","parameters":[],"src":"64863:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51050,"nodeType":"FunctionDefinition","src":"64978:193:63","nodes":[],"body":{"id":51049,"nodeType":"Block","src":"65059:112:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":51041,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65109:37:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":51042,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51029,"src":"65148:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51043,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51031,"src":"65152:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51044,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51033,"src":"65156:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51045,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51035,"src":"65160:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51039,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65085:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51040,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65089:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65085:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65085:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51038,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"65069:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65069:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51048,"nodeType":"ExpressionStatement","src":"65069:95:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64987:3:63","parameters":{"id":51036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51029,"mutability":"mutable","name":"p0","nameLocation":"64999:2:63","nodeType":"VariableDeclaration","scope":51050,"src":"64991:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51028,"name":"address","nodeType":"ElementaryTypeName","src":"64991:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51031,"mutability":"mutable","name":"p1","nameLocation":"65011:2:63","nodeType":"VariableDeclaration","scope":51050,"src":"65003:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51030,"name":"address","nodeType":"ElementaryTypeName","src":"65003:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51033,"mutability":"mutable","name":"p2","nameLocation":"65029:2:63","nodeType":"VariableDeclaration","scope":51050,"src":"65015:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51032,"name":"string","nodeType":"ElementaryTypeName","src":"65015:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51035,"mutability":"mutable","name":"p3","nameLocation":"65041:2:63","nodeType":"VariableDeclaration","scope":51050,"src":"65033:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51034,"name":"address","nodeType":"ElementaryTypeName","src":"65033:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64990:54:63"},"returnParameters":{"id":51037,"nodeType":"ParameterList","parameters":[],"src":"65059:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51073,"nodeType":"FunctionDefinition","src":"65177:176:63","nodes":[],"body":{"id":51072,"nodeType":"Block","src":"65246:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429","id":51064,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65296:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},"value":"log(address,address,bool,uint)"},{"id":51065,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51052,"src":"65330:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51066,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51054,"src":"65334:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51067,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51056,"src":"65338:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":51068,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51058,"src":"65342:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e","typeString":"literal_string \"log(address,address,bool,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51062,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65272:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51063,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65276:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65272:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65272:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51061,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"65256:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65256:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51071,"nodeType":"ExpressionStatement","src":"65256:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65186:3:63","parameters":{"id":51059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51052,"mutability":"mutable","name":"p0","nameLocation":"65198:2:63","nodeType":"VariableDeclaration","scope":51073,"src":"65190:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51051,"name":"address","nodeType":"ElementaryTypeName","src":"65190:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51054,"mutability":"mutable","name":"p1","nameLocation":"65210:2:63","nodeType":"VariableDeclaration","scope":51073,"src":"65202:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51053,"name":"address","nodeType":"ElementaryTypeName","src":"65202:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51056,"mutability":"mutable","name":"p2","nameLocation":"65219:2:63","nodeType":"VariableDeclaration","scope":51073,"src":"65214:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51055,"name":"bool","nodeType":"ElementaryTypeName","src":"65214:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51058,"mutability":"mutable","name":"p3","nameLocation":"65228:2:63","nodeType":"VariableDeclaration","scope":51073,"src":"65223:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51057,"name":"uint","nodeType":"ElementaryTypeName","src":"65223:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65189:42:63"},"returnParameters":{"id":51060,"nodeType":"ParameterList","parameters":[],"src":"65246:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51096,"nodeType":"FunctionDefinition","src":"65359:187:63","nodes":[],"body":{"id":51095,"nodeType":"Block","src":"65437:109:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":51087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65487:34:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":51088,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51075,"src":"65523:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51089,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51077,"src":"65527:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51090,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51079,"src":"65531:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":51091,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51081,"src":"65535:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":51085,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65463:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51086,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65467:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65463:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65463:75:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51084,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"65447:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65447:92:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51094,"nodeType":"ExpressionStatement","src":"65447:92:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65368:3:63","parameters":{"id":51082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51075,"mutability":"mutable","name":"p0","nameLocation":"65380:2:63","nodeType":"VariableDeclaration","scope":51096,"src":"65372:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51074,"name":"address","nodeType":"ElementaryTypeName","src":"65372:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51077,"mutability":"mutable","name":"p1","nameLocation":"65392:2:63","nodeType":"VariableDeclaration","scope":51096,"src":"65384:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51076,"name":"address","nodeType":"ElementaryTypeName","src":"65384:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51079,"mutability":"mutable","name":"p2","nameLocation":"65401:2:63","nodeType":"VariableDeclaration","scope":51096,"src":"65396:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51078,"name":"bool","nodeType":"ElementaryTypeName","src":"65396:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51081,"mutability":"mutable","name":"p3","nameLocation":"65419:2:63","nodeType":"VariableDeclaration","scope":51096,"src":"65405:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51080,"name":"string","nodeType":"ElementaryTypeName","src":"65405:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65371:51:63"},"returnParameters":{"id":51083,"nodeType":"ParameterList","parameters":[],"src":"65437:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51119,"nodeType":"FunctionDefinition","src":"65552:176:63","nodes":[],"body":{"id":51118,"nodeType":"Block","src":"65621:107:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":51110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65671:32:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":51111,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51098,"src":"65705:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51112,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51100,"src":"65709:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51113,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51102,"src":"65713:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":51114,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51104,"src":"65717:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51108,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65647:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51109,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65651:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65647:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65647:73:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51107,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"65631:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51116,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65631:90:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51117,"nodeType":"ExpressionStatement","src":"65631:90:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65561:3:63","parameters":{"id":51105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51098,"mutability":"mutable","name":"p0","nameLocation":"65573:2:63","nodeType":"VariableDeclaration","scope":51119,"src":"65565:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51097,"name":"address","nodeType":"ElementaryTypeName","src":"65565:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51100,"mutability":"mutable","name":"p1","nameLocation":"65585:2:63","nodeType":"VariableDeclaration","scope":51119,"src":"65577:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51099,"name":"address","nodeType":"ElementaryTypeName","src":"65577:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51102,"mutability":"mutable","name":"p2","nameLocation":"65594:2:63","nodeType":"VariableDeclaration","scope":51119,"src":"65589:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51101,"name":"bool","nodeType":"ElementaryTypeName","src":"65589:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51104,"mutability":"mutable","name":"p3","nameLocation":"65603:2:63","nodeType":"VariableDeclaration","scope":51119,"src":"65598:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51103,"name":"bool","nodeType":"ElementaryTypeName","src":"65598:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65564:42:63"},"returnParameters":{"id":51106,"nodeType":"ParameterList","parameters":[],"src":"65621:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51142,"nodeType":"FunctionDefinition","src":"65734:182:63","nodes":[],"body":{"id":51141,"nodeType":"Block","src":"65806:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":51133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65856:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":51134,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51121,"src":"65893:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51135,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51123,"src":"65897:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51136,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51125,"src":"65901:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":51137,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51127,"src":"65905:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65832:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65836:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65832:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51138,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65832:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51130,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"65816:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51139,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65816:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51140,"nodeType":"ExpressionStatement","src":"65816:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65743:3:63","parameters":{"id":51128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51121,"mutability":"mutable","name":"p0","nameLocation":"65755:2:63","nodeType":"VariableDeclaration","scope":51142,"src":"65747:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51120,"name":"address","nodeType":"ElementaryTypeName","src":"65747:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51123,"mutability":"mutable","name":"p1","nameLocation":"65767:2:63","nodeType":"VariableDeclaration","scope":51142,"src":"65759:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51122,"name":"address","nodeType":"ElementaryTypeName","src":"65759:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51125,"mutability":"mutable","name":"p2","nameLocation":"65776:2:63","nodeType":"VariableDeclaration","scope":51142,"src":"65771:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51124,"name":"bool","nodeType":"ElementaryTypeName","src":"65771:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":51127,"mutability":"mutable","name":"p3","nameLocation":"65788:2:63","nodeType":"VariableDeclaration","scope":51142,"src":"65780:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51126,"name":"address","nodeType":"ElementaryTypeName","src":"65780:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65746:45:63"},"returnParameters":{"id":51129,"nodeType":"ParameterList","parameters":[],"src":"65806:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51165,"nodeType":"FunctionDefinition","src":"65922:182:63","nodes":[],"body":{"id":51164,"nodeType":"Block","src":"65994:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7429","id":51156,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66044:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},"value":"log(address,address,address,uint)"},{"id":51157,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51144,"src":"66081:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51158,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51146,"src":"66085:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51159,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51148,"src":"66089:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51160,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51150,"src":"66093:2:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028","typeString":"literal_string \"log(address,address,address,uint)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51154,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66020:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51155,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66024:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66020:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66020:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51153,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"66004:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66004:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51163,"nodeType":"ExpressionStatement","src":"66004:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65931:3:63","parameters":{"id":51151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51144,"mutability":"mutable","name":"p0","nameLocation":"65943:2:63","nodeType":"VariableDeclaration","scope":51165,"src":"65935:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51143,"name":"address","nodeType":"ElementaryTypeName","src":"65935:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51146,"mutability":"mutable","name":"p1","nameLocation":"65955:2:63","nodeType":"VariableDeclaration","scope":51165,"src":"65947:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51145,"name":"address","nodeType":"ElementaryTypeName","src":"65947:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51148,"mutability":"mutable","name":"p2","nameLocation":"65967:2:63","nodeType":"VariableDeclaration","scope":51165,"src":"65959:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51147,"name":"address","nodeType":"ElementaryTypeName","src":"65959:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51150,"mutability":"mutable","name":"p3","nameLocation":"65976:2:63","nodeType":"VariableDeclaration","scope":51165,"src":"65971:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51149,"name":"uint","nodeType":"ElementaryTypeName","src":"65971:4:63","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65934:45:63"},"returnParameters":{"id":51152,"nodeType":"ParameterList","parameters":[],"src":"65994:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51188,"nodeType":"FunctionDefinition","src":"66110:193:63","nodes":[],"body":{"id":51187,"nodeType":"Block","src":"66191:112:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":51179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66241:37:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":51180,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51167,"src":"66280:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51181,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51169,"src":"66284:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51182,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51171,"src":"66288:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51183,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51173,"src":"66292:2:63","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":51177,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66217:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51178,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66221:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66217:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66217:78:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51176,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"66201:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66201:95:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51186,"nodeType":"ExpressionStatement","src":"66201:95:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66119:3:63","parameters":{"id":51174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51167,"mutability":"mutable","name":"p0","nameLocation":"66131:2:63","nodeType":"VariableDeclaration","scope":51188,"src":"66123:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51166,"name":"address","nodeType":"ElementaryTypeName","src":"66123:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51169,"mutability":"mutable","name":"p1","nameLocation":"66143:2:63","nodeType":"VariableDeclaration","scope":51188,"src":"66135:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51168,"name":"address","nodeType":"ElementaryTypeName","src":"66135:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51171,"mutability":"mutable","name":"p2","nameLocation":"66155:2:63","nodeType":"VariableDeclaration","scope":51188,"src":"66147:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51170,"name":"address","nodeType":"ElementaryTypeName","src":"66147:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51173,"mutability":"mutable","name":"p3","nameLocation":"66173:2:63","nodeType":"VariableDeclaration","scope":51188,"src":"66159:16:63","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51172,"name":"string","nodeType":"ElementaryTypeName","src":"66159:6:63","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66122:54:63"},"returnParameters":{"id":51175,"nodeType":"ParameterList","parameters":[],"src":"66191:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51211,"nodeType":"FunctionDefinition","src":"66309:182:63","nodes":[],"body":{"id":51210,"nodeType":"Block","src":"66381:110:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":51202,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66431:35:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":51203,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51190,"src":"66468:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51204,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51192,"src":"66472:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51205,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51194,"src":"66476:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51206,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51196,"src":"66480:2:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51200,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66407:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51201,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66411:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66407:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66407:76:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51199,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"66391:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66391:93:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51209,"nodeType":"ExpressionStatement","src":"66391:93:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66318:3:63","parameters":{"id":51197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51190,"mutability":"mutable","name":"p0","nameLocation":"66330:2:63","nodeType":"VariableDeclaration","scope":51211,"src":"66322:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51189,"name":"address","nodeType":"ElementaryTypeName","src":"66322:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51192,"mutability":"mutable","name":"p1","nameLocation":"66342:2:63","nodeType":"VariableDeclaration","scope":51211,"src":"66334:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51191,"name":"address","nodeType":"ElementaryTypeName","src":"66334:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51194,"mutability":"mutable","name":"p2","nameLocation":"66354:2:63","nodeType":"VariableDeclaration","scope":51211,"src":"66346:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51193,"name":"address","nodeType":"ElementaryTypeName","src":"66346:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51196,"mutability":"mutable","name":"p3","nameLocation":"66363:2:63","nodeType":"VariableDeclaration","scope":51211,"src":"66358:7:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51195,"name":"bool","nodeType":"ElementaryTypeName","src":"66358:4:63","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66321:45:63"},"returnParameters":{"id":51198,"nodeType":"ParameterList","parameters":[],"src":"66381:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":51234,"nodeType":"FunctionDefinition","src":"66497:188:63","nodes":[],"body":{"id":51233,"nodeType":"Block","src":"66572:113:63","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":51225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66622:38:63","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":51226,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51213,"src":"66662:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51227,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51215,"src":"66666:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51228,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51217,"src":"66670:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":51229,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51219,"src":"66674:2:63","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51223,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66598:3:63","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51224,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66602:19:63","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66598:23:63","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51230,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66598:79:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51222,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43195,"src":"66582:15:63","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":51231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66582:96:63","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51232,"nodeType":"ExpressionStatement","src":"66582:96:63"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66506:3:63","parameters":{"id":51220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51213,"mutability":"mutable","name":"p0","nameLocation":"66518:2:63","nodeType":"VariableDeclaration","scope":51234,"src":"66510:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51212,"name":"address","nodeType":"ElementaryTypeName","src":"66510:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51215,"mutability":"mutable","name":"p1","nameLocation":"66530:2:63","nodeType":"VariableDeclaration","scope":51234,"src":"66522:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51214,"name":"address","nodeType":"ElementaryTypeName","src":"66522:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51217,"mutability":"mutable","name":"p2","nameLocation":"66542:2:63","nodeType":"VariableDeclaration","scope":51234,"src":"66534:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51216,"name":"address","nodeType":"ElementaryTypeName","src":"66534:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":51219,"mutability":"mutable","name":"p3","nameLocation":"66554:2:63","nodeType":"VariableDeclaration","scope":51234,"src":"66546:10:63","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51218,"name":"address","nodeType":"ElementaryTypeName","src":"66546:7:63","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66509:48:63"},"returnParameters":{"id":51221,"nodeType":"ParameterList","parameters":[],"src":"66572:0:63"},"scope":51235,"stateMutability":"view","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console","contractDependencies":[],"contractKind":"library","fullyImplemented":true,"linearizedBaseContracts":[51235],"name":"console","nameLocation":"74:7:63","scope":51236,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":63} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220176a6d39416f950cf8c6a6b8cf8e512f4bebea83bb653f9be3b294413d382bd964736f6c63430008170033","sourceMap":"66:66622:63:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;66:66622:63;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220176a6d39416f950cf8c6a6b8cf8e512f4bebea83bb653f9be3b294413d382bd964736f6c63430008170033","sourceMap":"66:66622:63:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console.sol\":\"console\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/console.sol":"console"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"}},"version":1},"id":63} \ No newline at end of file diff --git a/out/console2.sol/console2.json b/out/console2.sol/console2.json index 806b96c4..ccabbf39 100644 --- a/out/console2.sol/console2.json +++ b/out/console2.sol/console2.json @@ -1 +1 @@ -{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220344cfea682f468301221593c1b8229321664febb0b557fc7756654f19900eca964736f6c63430008170033","sourceMap":"525:69152:64:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:69152:64;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220344cfea682f468301221593c1b8229321664febb0b557fc7756654f19900eca964736f6c63430008170033","sourceMap":"525:69152:64:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/console2.sol":"console2"},"libraries":{}},"sources":{"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"lib/forge-std/src/console2.sol","id":59361,"exportedSymbols":{"console2":[59360]},"nodeType":"SourceUnit","src":"32:69645:64","nodes":[{"id":51237,"nodeType":"PragmaDirective","src":"32:32:64","nodes":[],"literals":["solidity",">=","0.4",".22","<","0.9",".0"]},{"id":59360,"nodeType":"ContractDefinition","src":"525:69152:64","nodes":[{"id":51244,"nodeType":"VariableDeclaration","src":"548:86:64","nodes":[],"constant":true,"mutability":"constant","name":"CONSOLE_ADDRESS","nameLocation":"565:15:64","scope":59360,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51239,"name":"address","nodeType":"ElementaryTypeName","src":"548:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"hexValue":"307830303030303030303030303030303030303036333646366537333646366336353265366336663637","id":51242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"591:42:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"value":"0x000000000000000000636F6e736F6c652e6c6f67"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":51241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"583:7:64","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":51240,"name":"address","nodeType":"ElementaryTypeName","src":"583:7:64","typeDescriptions":{}}},"id":51243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"583:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":51261,"nodeType":"FunctionDefinition","src":"641:221:64","nodes":[],"body":{"id":51260,"nodeType":"Block","src":"800:62:64","nodes":[],"statements":[{"AST":{"nativeSrc":"819:37:64","nodeType":"YulBlock","src":"819:37:64","statements":[{"nativeSrc":"833:13:64","nodeType":"YulAssignment","src":"833:13:64","value":{"name":"fnIn","nativeSrc":"842:4:64","nodeType":"YulIdentifier","src":"842:4:64"},"variableNames":[{"name":"fnOut","nativeSrc":"833:5:64","nodeType":"YulIdentifier","src":"833:5:64"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":51250,"isOffset":false,"isSlot":false,"src":"842:4:64","valueSize":1},{"declaration":51257,"isOffset":false,"isSlot":false,"src":"833:5:64","valueSize":1}],"id":51259,"nodeType":"InlineAssembly","src":"810:46:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_castLogPayloadViewToPure","nameLocation":"650:25:64","parameters":{"id":51251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51250,"mutability":"mutable","name":"fnIn","nameLocation":"722:4:64","nodeType":"VariableDeclaration","scope":51261,"src":"685:41:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"typeName":{"id":51249,"nodeType":"FunctionTypeName","parameterTypes":{"id":51247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51246,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51249,"src":"694:12:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51245,"name":"bytes","nodeType":"ElementaryTypeName","src":"694:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"693:14:64"},"returnParameterTypes":{"id":51248,"nodeType":"ParameterList","parameters":[],"src":"722:0:64"},"src":"685:41:64","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) view"},"visibility":"internal"},"visibility":"internal"}],"src":"675:57:64"},"returnParameters":{"id":51258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51257,"mutability":"mutable","name":"fnOut","nameLocation":"793:5:64","nodeType":"VariableDeclaration","scope":51261,"src":"756:42:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"typeName":{"id":51256,"nodeType":"FunctionTypeName","parameterTypes":{"id":51254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51253,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":51256,"src":"765:12:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51252,"name":"bytes","nodeType":"ElementaryTypeName","src":"765:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"764:14:64"},"returnParameterTypes":{"id":51255,"nodeType":"ParameterList","parameters":[],"src":"793:0:64"},"src":"756:42:64","stateMutability":"pure","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes) pure"},"visibility":"internal"},"visibility":"internal"}],"src":"755:44:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51273,"nodeType":"FunctionDefinition","src":"868:133:64","nodes":[],"body":{"id":51272,"nodeType":"Block","src":"929:72:64","nodes":[],"statements":[{"expression":{"arguments":[{"id":51269,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51263,"src":"986:7:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"arguments":[{"id":51267,"name":"_sendLogPayloadView","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51289,"src":"965:19:64","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}],"id":51266,"name":"_castLogPayloadViewToPure","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51261,"src":"939:25:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_function_internal_view$_t_bytes_memory_ptr_$returns$__$_$returns$_t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$_$","typeString":"function (function (bytes memory) view) pure returns (function (bytes memory) pure)"}},"id":51268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"939:46:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"939:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51271,"nodeType":"ExpressionStatement","src":"939:55:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayload","nameLocation":"877:15:64","parameters":{"id":51264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51263,"mutability":"mutable","name":"payload","nameLocation":"906:7:64","nodeType":"VariableDeclaration","scope":51273,"src":"893:20:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51262,"name":"bytes","nodeType":"ElementaryTypeName","src":"893:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"892:22:64"},"returnParameters":{"id":51265,"nodeType":"ParameterList","parameters":[],"src":"929:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51289,"nodeType":"FunctionDefinition","src":"1007:380:64","nodes":[],"body":{"id":51288,"nodeType":"Block","src":"1071:316:64","nodes":[],"statements":[{"assignments":[51279],"declarations":[{"constant":false,"id":51279,"mutability":"mutable","name":"payloadLength","nameLocation":"1089:13:64","nodeType":"VariableDeclaration","scope":51288,"src":"1081:21:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51278,"name":"uint256","nodeType":"ElementaryTypeName","src":"1081:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":51282,"initialValue":{"expression":{"id":51280,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51275,"src":"1105:7:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":51281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1113:6:64","memberName":"length","nodeType":"MemberAccess","src":"1105:14:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"1081:38:64"},{"assignments":[51284],"declarations":[{"constant":false,"id":51284,"mutability":"mutable","name":"consoleAddress","nameLocation":"1137:14:64","nodeType":"VariableDeclaration","scope":51288,"src":"1129:22:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51283,"name":"address","nodeType":"ElementaryTypeName","src":"1129:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":51286,"initialValue":{"id":51285,"name":"CONSOLE_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51244,"src":"1154:15:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"1129:40:64"},{"AST":{"nativeSrc":"1231:150:64","nodeType":"YulBlock","src":"1231:150:64","statements":[{"nativeSrc":"1245:36:64","nodeType":"YulVariableDeclaration","src":"1245:36:64","value":{"arguments":[{"name":"payload","nativeSrc":"1269:7:64","nodeType":"YulIdentifier","src":"1269:7:64"},{"kind":"number","nativeSrc":"1278:2:64","nodeType":"YulLiteral","src":"1278:2:64","type":"","value":"32"}],"functionName":{"name":"add","nativeSrc":"1265:3:64","nodeType":"YulIdentifier","src":"1265:3:64"},"nativeSrc":"1265:16:64","nodeType":"YulFunctionCall","src":"1265:16:64"},"variables":[{"name":"payloadStart","nativeSrc":"1249:12:64","nodeType":"YulTypedName","src":"1249:12:64","type":""}]},{"nativeSrc":"1294:77:64","nodeType":"YulVariableDeclaration","src":"1294:77:64","value":{"arguments":[{"arguments":[],"functionName":{"name":"gas","nativeSrc":"1314:3:64","nodeType":"YulIdentifier","src":"1314:3:64"},"nativeSrc":"1314:5:64","nodeType":"YulFunctionCall","src":"1314:5:64"},{"name":"consoleAddress","nativeSrc":"1321:14:64","nodeType":"YulIdentifier","src":"1321:14:64"},{"name":"payloadStart","nativeSrc":"1337:12:64","nodeType":"YulIdentifier","src":"1337:12:64"},{"name":"payloadLength","nativeSrc":"1351:13:64","nodeType":"YulIdentifier","src":"1351:13:64"},{"kind":"number","nativeSrc":"1366:1:64","nodeType":"YulLiteral","src":"1366:1:64","type":"","value":"0"},{"kind":"number","nativeSrc":"1369:1:64","nodeType":"YulLiteral","src":"1369:1:64","type":"","value":"0"}],"functionName":{"name":"staticcall","nativeSrc":"1303:10:64","nodeType":"YulIdentifier","src":"1303:10:64"},"nativeSrc":"1303:68:64","nodeType":"YulFunctionCall","src":"1303:68:64"},"variables":[{"name":"r","nativeSrc":"1298:1:64","nodeType":"YulTypedName","src":"1298:1:64","type":""}]}]},"documentation":"@solidity memory-safe-assembly","evmVersion":"paris","externalReferences":[{"declaration":51284,"isOffset":false,"isSlot":false,"src":"1321:14:64","valueSize":1},{"declaration":51275,"isOffset":false,"isSlot":false,"src":"1269:7:64","valueSize":1},{"declaration":51279,"isOffset":false,"isSlot":false,"src":"1351:13:64","valueSize":1}],"id":51287,"nodeType":"InlineAssembly","src":"1222:159:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_sendLogPayloadView","nameLocation":"1016:19:64","parameters":{"id":51276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51275,"mutability":"mutable","name":"payload","nameLocation":"1049:7:64","nodeType":"VariableDeclaration","scope":51289,"src":"1036:20:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51274,"name":"bytes","nodeType":"ElementaryTypeName","src":"1036:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1035:22:64"},"returnParameters":{"id":51277,"nodeType":"ParameterList","parameters":[],"src":"1071:0:64"},"scope":59360,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":51300,"nodeType":"FunctionDefinition","src":"1393:95:64","nodes":[],"body":{"id":51299,"nodeType":"Block","src":"1422:66:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672829","id":51295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1472:7:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""},"value":"log()"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39","typeString":"literal_string \"log()\""}],"expression":{"id":51293,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1448:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1452:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1448:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1448:32:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51292,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"1432:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1432:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51298,"nodeType":"ExpressionStatement","src":"1432:49:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"1402:3:64","parameters":{"id":51290,"nodeType":"ParameterList","parameters":[],"src":"1405:2:64"},"returnParameters":{"id":51291,"nodeType":"ParameterList","parameters":[],"src":"1422:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51314,"nodeType":"FunctionDefinition","src":"1494:117:64","nodes":[],"body":{"id":51313,"nodeType":"Block","src":"1535:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":51308,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1585:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":51309,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51302,"src":"1600:2:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":51306,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1561:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51307,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1565:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1561:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1561:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51305,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"1545:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1545:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51312,"nodeType":"ExpressionStatement","src":"1545:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logInt","nameLocation":"1503:6:64","parameters":{"id":51303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51302,"mutability":"mutable","name":"p0","nameLocation":"1517:2:64","nodeType":"VariableDeclaration","scope":51314,"src":"1510:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51301,"name":"int256","nodeType":"ElementaryTypeName","src":"1510:6:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1509:11:64"},"returnParameters":{"id":51304,"nodeType":"ParameterList","parameters":[],"src":"1535:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51328,"nodeType":"FunctionDefinition","src":"1617:120:64","nodes":[],"body":{"id":51327,"nodeType":"Block","src":"1660:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":51322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1710:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":51323,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51316,"src":"1726:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51320,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1686:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1690:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1686:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51324,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1686:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51319,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"1670:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1670:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51326,"nodeType":"ExpressionStatement","src":"1670:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logUint","nameLocation":"1626:7:64","parameters":{"id":51317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51316,"mutability":"mutable","name":"p0","nameLocation":"1642:2:64","nodeType":"VariableDeclaration","scope":51328,"src":"1634:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51315,"name":"uint256","nodeType":"ElementaryTypeName","src":"1634:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1633:12:64"},"returnParameters":{"id":51318,"nodeType":"ParameterList","parameters":[],"src":"1660:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51342,"nodeType":"FunctionDefinition","src":"1743:127:64","nodes":[],"body":{"id":51341,"nodeType":"Block","src":"1794:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":51336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1844:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":51337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51330,"src":"1859:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":51334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1820:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1824:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1820:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1820:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"1804:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1804:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51340,"nodeType":"ExpressionStatement","src":"1804:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logString","nameLocation":"1752:9:64","parameters":{"id":51331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51330,"mutability":"mutable","name":"p0","nameLocation":"1776:2:64","nodeType":"VariableDeclaration","scope":51342,"src":"1762:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51329,"name":"string","nodeType":"ElementaryTypeName","src":"1762:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1761:18:64"},"returnParameters":{"id":51332,"nodeType":"ParameterList","parameters":[],"src":"1794:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51356,"nodeType":"FunctionDefinition","src":"1876:114:64","nodes":[],"body":{"id":51355,"nodeType":"Block","src":"1916:74:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":51350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1966:11:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":51351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51344,"src":"1979:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1942:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1946:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"1942:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1942:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"1926:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1926:57:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51354,"nodeType":"ExpressionStatement","src":"1926:57:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBool","nameLocation":"1885:7:64","parameters":{"id":51345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51344,"mutability":"mutable","name":"p0","nameLocation":"1898:2:64","nodeType":"VariableDeclaration","scope":51356,"src":"1893:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51343,"name":"bool","nodeType":"ElementaryTypeName","src":"1893:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1892:9:64"},"returnParameters":{"id":51346,"nodeType":"ParameterList","parameters":[],"src":"1916:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51370,"nodeType":"FunctionDefinition","src":"1996:123:64","nodes":[],"body":{"id":51369,"nodeType":"Block","src":"2042:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":51364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2092:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":51365,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51358,"src":"2108:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51362,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2068:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51363,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2072:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2068:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2068:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51361,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2052:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2052:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51368,"nodeType":"ExpressionStatement","src":"2052:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logAddress","nameLocation":"2005:10:64","parameters":{"id":51359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51358,"mutability":"mutable","name":"p0","nameLocation":"2024:2:64","nodeType":"VariableDeclaration","scope":51370,"src":"2016:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51357,"name":"address","nodeType":"ElementaryTypeName","src":"2016:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2015:12:64"},"returnParameters":{"id":51360,"nodeType":"ParameterList","parameters":[],"src":"2042:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51384,"nodeType":"FunctionDefinition","src":"2125:124:64","nodes":[],"body":{"id":51383,"nodeType":"Block","src":"2174:75:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728627974657329","id":51378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2224:12:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},"value":"log(bytes)"},{"id":51379,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51372,"src":"2238:2:64","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238","typeString":"literal_string \"log(bytes)\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":51376,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2200:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51377,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2204:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2200:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2200:41:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51375,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2184:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51381,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2184:58:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51382,"nodeType":"ExpressionStatement","src":"2184:58:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes","nameLocation":"2134:8:64","parameters":{"id":51373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51372,"mutability":"mutable","name":"p0","nameLocation":"2156:2:64","nodeType":"VariableDeclaration","scope":51384,"src":"2143:15:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":51371,"name":"bytes","nodeType":"ElementaryTypeName","src":"2143:5:64","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2142:17:64"},"returnParameters":{"id":51374,"nodeType":"ParameterList","parameters":[],"src":"2174:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51398,"nodeType":"FunctionDefinition","src":"2255:120:64","nodes":[],"body":{"id":51397,"nodeType":"Block","src":"2299:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733129","id":51392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2349:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},"value":"log(bytes1)"},{"id":51393,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51386,"src":"2364:2:64","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041","typeString":"literal_string \"log(bytes1)\""},{"typeIdentifier":"t_bytes1","typeString":"bytes1"}],"expression":{"id":51390,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2325:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2329:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2325:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2325:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51389,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2309:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51395,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2309:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51396,"nodeType":"ExpressionStatement","src":"2309:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes1","nameLocation":"2264:9:64","parameters":{"id":51387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51386,"mutability":"mutable","name":"p0","nameLocation":"2281:2:64","nodeType":"VariableDeclaration","scope":51398,"src":"2274:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"typeName":{"id":51385,"name":"bytes1","nodeType":"ElementaryTypeName","src":"2274:6:64","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"visibility":"internal"}],"src":"2273:11:64"},"returnParameters":{"id":51388,"nodeType":"ParameterList","parameters":[],"src":"2299:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51412,"nodeType":"FunctionDefinition","src":"2381:120:64","nodes":[],"body":{"id":51411,"nodeType":"Block","src":"2425:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733229","id":51406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2475:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},"value":"log(bytes2)"},{"id":51407,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51400,"src":"2490:2:64","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224","typeString":"literal_string \"log(bytes2)\""},{"typeIdentifier":"t_bytes2","typeString":"bytes2"}],"expression":{"id":51404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2451:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2455:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2451:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2451:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2435:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51409,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2435:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51410,"nodeType":"ExpressionStatement","src":"2435:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes2","nameLocation":"2390:9:64","parameters":{"id":51401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51400,"mutability":"mutable","name":"p0","nameLocation":"2407:2:64","nodeType":"VariableDeclaration","scope":51412,"src":"2400:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"},"typeName":{"id":51399,"name":"bytes2","nodeType":"ElementaryTypeName","src":"2400:6:64","typeDescriptions":{"typeIdentifier":"t_bytes2","typeString":"bytes2"}},"visibility":"internal"}],"src":"2399:11:64"},"returnParameters":{"id":51402,"nodeType":"ParameterList","parameters":[],"src":"2425:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51426,"nodeType":"FunctionDefinition","src":"2507:120:64","nodes":[],"body":{"id":51425,"nodeType":"Block","src":"2551:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733329","id":51420,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2601:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},"value":"log(bytes3)"},{"id":51421,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51414,"src":"2616:2:64","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee","typeString":"literal_string \"log(bytes3)\""},{"typeIdentifier":"t_bytes3","typeString":"bytes3"}],"expression":{"id":51418,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2577:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51419,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2581:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2577:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2577:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51417,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2561:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2561:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51424,"nodeType":"ExpressionStatement","src":"2561:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes3","nameLocation":"2516:9:64","parameters":{"id":51415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51414,"mutability":"mutable","name":"p0","nameLocation":"2533:2:64","nodeType":"VariableDeclaration","scope":51426,"src":"2526:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"},"typeName":{"id":51413,"name":"bytes3","nodeType":"ElementaryTypeName","src":"2526:6:64","typeDescriptions":{"typeIdentifier":"t_bytes3","typeString":"bytes3"}},"visibility":"internal"}],"src":"2525:11:64"},"returnParameters":{"id":51416,"nodeType":"ParameterList","parameters":[],"src":"2551:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51440,"nodeType":"FunctionDefinition","src":"2633:120:64","nodes":[],"body":{"id":51439,"nodeType":"Block","src":"2677:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733429","id":51434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2727:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},"value":"log(bytes4)"},{"id":51435,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51428,"src":"2742:2:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55","typeString":"literal_string \"log(bytes4)\""},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":51432,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2703:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2707:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2703:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2703:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51431,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2687:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2687:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51438,"nodeType":"ExpressionStatement","src":"2687:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes4","nameLocation":"2642:9:64","parameters":{"id":51429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51428,"mutability":"mutable","name":"p0","nameLocation":"2659:2:64","nodeType":"VariableDeclaration","scope":51440,"src":"2652:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":51427,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2652:6:64","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2651:11:64"},"returnParameters":{"id":51430,"nodeType":"ParameterList","parameters":[],"src":"2677:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51454,"nodeType":"FunctionDefinition","src":"2759:120:64","nodes":[],"body":{"id":51453,"nodeType":"Block","src":"2803:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733529","id":51448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2853:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},"value":"log(bytes5)"},{"id":51449,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51442,"src":"2868:2:64","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a","typeString":"literal_string \"log(bytes5)\""},{"typeIdentifier":"t_bytes5","typeString":"bytes5"}],"expression":{"id":51446,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2829:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51447,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2833:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2829:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2829:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51445,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2813:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51451,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2813:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51452,"nodeType":"ExpressionStatement","src":"2813:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes5","nameLocation":"2768:9:64","parameters":{"id":51443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51442,"mutability":"mutable","name":"p0","nameLocation":"2785:2:64","nodeType":"VariableDeclaration","scope":51454,"src":"2778:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"},"typeName":{"id":51441,"name":"bytes5","nodeType":"ElementaryTypeName","src":"2778:6:64","typeDescriptions":{"typeIdentifier":"t_bytes5","typeString":"bytes5"}},"visibility":"internal"}],"src":"2777:11:64"},"returnParameters":{"id":51444,"nodeType":"ParameterList","parameters":[],"src":"2803:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51468,"nodeType":"FunctionDefinition","src":"2885:120:64","nodes":[],"body":{"id":51467,"nodeType":"Block","src":"2929:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733629","id":51462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2979:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},"value":"log(bytes6)"},{"id":51463,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51456,"src":"2994:2:64","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330","typeString":"literal_string \"log(bytes6)\""},{"typeIdentifier":"t_bytes6","typeString":"bytes6"}],"expression":{"id":51460,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2955:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2959:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"2955:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2955:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51459,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"2939:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51465,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2939:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51466,"nodeType":"ExpressionStatement","src":"2939:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes6","nameLocation":"2894:9:64","parameters":{"id":51457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51456,"mutability":"mutable","name":"p0","nameLocation":"2911:2:64","nodeType":"VariableDeclaration","scope":51468,"src":"2904:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"},"typeName":{"id":51455,"name":"bytes6","nodeType":"ElementaryTypeName","src":"2904:6:64","typeDescriptions":{"typeIdentifier":"t_bytes6","typeString":"bytes6"}},"visibility":"internal"}],"src":"2903:11:64"},"returnParameters":{"id":51458,"nodeType":"ParameterList","parameters":[],"src":"2929:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51482,"nodeType":"FunctionDefinition","src":"3011:120:64","nodes":[],"body":{"id":51481,"nodeType":"Block","src":"3055:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733729","id":51476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3105:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},"value":"log(bytes7)"},{"id":51477,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51470,"src":"3120:2:64","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29","typeString":"literal_string \"log(bytes7)\""},{"typeIdentifier":"t_bytes7","typeString":"bytes7"}],"expression":{"id":51474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3081:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3085:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3081:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3081:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51473,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3065:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3065:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51480,"nodeType":"ExpressionStatement","src":"3065:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes7","nameLocation":"3020:9:64","parameters":{"id":51471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51470,"mutability":"mutable","name":"p0","nameLocation":"3037:2:64","nodeType":"VariableDeclaration","scope":51482,"src":"3030:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"},"typeName":{"id":51469,"name":"bytes7","nodeType":"ElementaryTypeName","src":"3030:6:64","typeDescriptions":{"typeIdentifier":"t_bytes7","typeString":"bytes7"}},"visibility":"internal"}],"src":"3029:11:64"},"returnParameters":{"id":51472,"nodeType":"ParameterList","parameters":[],"src":"3055:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51496,"nodeType":"FunctionDefinition","src":"3137:120:64","nodes":[],"body":{"id":51495,"nodeType":"Block","src":"3181:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733829","id":51490,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3231:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},"value":"log(bytes8)"},{"id":51491,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51484,"src":"3246:2:64","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3","typeString":"literal_string \"log(bytes8)\""},{"typeIdentifier":"t_bytes8","typeString":"bytes8"}],"expression":{"id":51488,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3207:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51489,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3211:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3207:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3207:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51487,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3191:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3191:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51494,"nodeType":"ExpressionStatement","src":"3191:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes8","nameLocation":"3146:9:64","parameters":{"id":51485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51484,"mutability":"mutable","name":"p0","nameLocation":"3163:2:64","nodeType":"VariableDeclaration","scope":51496,"src":"3156:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"},"typeName":{"id":51483,"name":"bytes8","nodeType":"ElementaryTypeName","src":"3156:6:64","typeDescriptions":{"typeIdentifier":"t_bytes8","typeString":"bytes8"}},"visibility":"internal"}],"src":"3155:11:64"},"returnParameters":{"id":51486,"nodeType":"ParameterList","parameters":[],"src":"3181:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51510,"nodeType":"FunctionDefinition","src":"3263:120:64","nodes":[],"body":{"id":51509,"nodeType":"Block","src":"3307:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672862797465733929","id":51504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3357:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},"value":"log(bytes9)"},{"id":51505,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51498,"src":"3372:2:64","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667","typeString":"literal_string \"log(bytes9)\""},{"typeIdentifier":"t_bytes9","typeString":"bytes9"}],"expression":{"id":51502,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3333:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51503,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3337:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3333:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51506,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3333:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51501,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3317:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3317:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51508,"nodeType":"ExpressionStatement","src":"3317:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes9","nameLocation":"3272:9:64","parameters":{"id":51499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51498,"mutability":"mutable","name":"p0","nameLocation":"3289:2:64","nodeType":"VariableDeclaration","scope":51510,"src":"3282:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"},"typeName":{"id":51497,"name":"bytes9","nodeType":"ElementaryTypeName","src":"3282:6:64","typeDescriptions":{"typeIdentifier":"t_bytes9","typeString":"bytes9"}},"visibility":"internal"}],"src":"3281:11:64"},"returnParameters":{"id":51500,"nodeType":"ParameterList","parameters":[],"src":"3307:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51524,"nodeType":"FunctionDefinition","src":"3389:123:64","nodes":[],"body":{"id":51523,"nodeType":"Block","src":"3435:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313029","id":51518,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3485:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},"value":"log(bytes10)"},{"id":51519,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51512,"src":"3501:2:64","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66","typeString":"literal_string \"log(bytes10)\""},{"typeIdentifier":"t_bytes10","typeString":"bytes10"}],"expression":{"id":51516,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3461:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51517,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3465:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3461:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3461:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51515,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3445:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3445:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51522,"nodeType":"ExpressionStatement","src":"3445:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes10","nameLocation":"3398:10:64","parameters":{"id":51513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51512,"mutability":"mutable","name":"p0","nameLocation":"3417:2:64","nodeType":"VariableDeclaration","scope":51524,"src":"3409:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"},"typeName":{"id":51511,"name":"bytes10","nodeType":"ElementaryTypeName","src":"3409:7:64","typeDescriptions":{"typeIdentifier":"t_bytes10","typeString":"bytes10"}},"visibility":"internal"}],"src":"3408:12:64"},"returnParameters":{"id":51514,"nodeType":"ParameterList","parameters":[],"src":"3435:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51538,"nodeType":"FunctionDefinition","src":"3518:123:64","nodes":[],"body":{"id":51537,"nodeType":"Block","src":"3564:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313129","id":51532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3614:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},"value":"log(bytes11)"},{"id":51533,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51526,"src":"3630:2:64","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9","typeString":"literal_string \"log(bytes11)\""},{"typeIdentifier":"t_bytes11","typeString":"bytes11"}],"expression":{"id":51530,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3590:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3594:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3590:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3590:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3574:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51535,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3574:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51536,"nodeType":"ExpressionStatement","src":"3574:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes11","nameLocation":"3527:10:64","parameters":{"id":51527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51526,"mutability":"mutable","name":"p0","nameLocation":"3546:2:64","nodeType":"VariableDeclaration","scope":51538,"src":"3538:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"},"typeName":{"id":51525,"name":"bytes11","nodeType":"ElementaryTypeName","src":"3538:7:64","typeDescriptions":{"typeIdentifier":"t_bytes11","typeString":"bytes11"}},"visibility":"internal"}],"src":"3537:12:64"},"returnParameters":{"id":51528,"nodeType":"ParameterList","parameters":[],"src":"3564:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51552,"nodeType":"FunctionDefinition","src":"3647:123:64","nodes":[],"body":{"id":51551,"nodeType":"Block","src":"3693:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313229","id":51546,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3743:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},"value":"log(bytes12)"},{"id":51547,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51540,"src":"3759:2:64","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2","typeString":"literal_string \"log(bytes12)\""},{"typeIdentifier":"t_bytes12","typeString":"bytes12"}],"expression":{"id":51544,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3719:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51545,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3723:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3719:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3719:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51543,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3703:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3703:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51550,"nodeType":"ExpressionStatement","src":"3703:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes12","nameLocation":"3656:10:64","parameters":{"id":51541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51540,"mutability":"mutable","name":"p0","nameLocation":"3675:2:64","nodeType":"VariableDeclaration","scope":51552,"src":"3667:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"typeName":{"id":51539,"name":"bytes12","nodeType":"ElementaryTypeName","src":"3667:7:64","typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"visibility":"internal"}],"src":"3666:12:64"},"returnParameters":{"id":51542,"nodeType":"ParameterList","parameters":[],"src":"3693:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51566,"nodeType":"FunctionDefinition","src":"3776:123:64","nodes":[],"body":{"id":51565,"nodeType":"Block","src":"3822:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313329","id":51560,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3872:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},"value":"log(bytes13)"},{"id":51561,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51554,"src":"3888:2:64","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec","typeString":"literal_string \"log(bytes13)\""},{"typeIdentifier":"t_bytes13","typeString":"bytes13"}],"expression":{"id":51558,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3848:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51559,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3852:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3848:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3848:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51557,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3832:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3832:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51564,"nodeType":"ExpressionStatement","src":"3832:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes13","nameLocation":"3785:10:64","parameters":{"id":51555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51554,"mutability":"mutable","name":"p0","nameLocation":"3804:2:64","nodeType":"VariableDeclaration","scope":51566,"src":"3796:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"},"typeName":{"id":51553,"name":"bytes13","nodeType":"ElementaryTypeName","src":"3796:7:64","typeDescriptions":{"typeIdentifier":"t_bytes13","typeString":"bytes13"}},"visibility":"internal"}],"src":"3795:12:64"},"returnParameters":{"id":51556,"nodeType":"ParameterList","parameters":[],"src":"3822:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51580,"nodeType":"FunctionDefinition","src":"3905:123:64","nodes":[],"body":{"id":51579,"nodeType":"Block","src":"3951:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313429","id":51574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4001:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},"value":"log(bytes14)"},{"id":51575,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51568,"src":"4017:2:64","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278","typeString":"literal_string \"log(bytes14)\""},{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":51572,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3977:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51573,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3981:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"3977:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3977:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51571,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"3961:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3961:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51578,"nodeType":"ExpressionStatement","src":"3961:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes14","nameLocation":"3914:10:64","parameters":{"id":51569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51568,"mutability":"mutable","name":"p0","nameLocation":"3933:2:64","nodeType":"VariableDeclaration","scope":51580,"src":"3925:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":51567,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3925:7:64","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3924:12:64"},"returnParameters":{"id":51570,"nodeType":"ParameterList","parameters":[],"src":"3951:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51594,"nodeType":"FunctionDefinition","src":"4034:123:64","nodes":[],"body":{"id":51593,"nodeType":"Block","src":"4080:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313529","id":51588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4130:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},"value":"log(bytes15)"},{"id":51589,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51582,"src":"4146:2:64","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606","typeString":"literal_string \"log(bytes15)\""},{"typeIdentifier":"t_bytes15","typeString":"bytes15"}],"expression":{"id":51586,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4106:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51587,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4110:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4106:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4106:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51585,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4090:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4090:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51592,"nodeType":"ExpressionStatement","src":"4090:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes15","nameLocation":"4043:10:64","parameters":{"id":51583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51582,"mutability":"mutable","name":"p0","nameLocation":"4062:2:64","nodeType":"VariableDeclaration","scope":51594,"src":"4054:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"},"typeName":{"id":51581,"name":"bytes15","nodeType":"ElementaryTypeName","src":"4054:7:64","typeDescriptions":{"typeIdentifier":"t_bytes15","typeString":"bytes15"}},"visibility":"internal"}],"src":"4053:12:64"},"returnParameters":{"id":51584,"nodeType":"ParameterList","parameters":[],"src":"4080:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51608,"nodeType":"FunctionDefinition","src":"4163:123:64","nodes":[],"body":{"id":51607,"nodeType":"Block","src":"4209:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313629","id":51602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4259:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},"value":"log(bytes16)"},{"id":51603,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51596,"src":"4275:2:64","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3","typeString":"literal_string \"log(bytes16)\""},{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":51600,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4235:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4239:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4235:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4235:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51599,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4219:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4219:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51606,"nodeType":"ExpressionStatement","src":"4219:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes16","nameLocation":"4172:10:64","parameters":{"id":51597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51596,"mutability":"mutable","name":"p0","nameLocation":"4191:2:64","nodeType":"VariableDeclaration","scope":51608,"src":"4183:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":51595,"name":"bytes16","nodeType":"ElementaryTypeName","src":"4183:7:64","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"4182:12:64"},"returnParameters":{"id":51598,"nodeType":"ParameterList","parameters":[],"src":"4209:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51622,"nodeType":"FunctionDefinition","src":"4292:123:64","nodes":[],"body":{"id":51621,"nodeType":"Block","src":"4338:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313729","id":51616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4388:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},"value":"log(bytes17)"},{"id":51617,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51610,"src":"4404:2:64","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3","typeString":"literal_string \"log(bytes17)\""},{"typeIdentifier":"t_bytes17","typeString":"bytes17"}],"expression":{"id":51614,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4364:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51615,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4368:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4364:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4364:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51613,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4348:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4348:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51620,"nodeType":"ExpressionStatement","src":"4348:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes17","nameLocation":"4301:10:64","parameters":{"id":51611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51610,"mutability":"mutable","name":"p0","nameLocation":"4320:2:64","nodeType":"VariableDeclaration","scope":51622,"src":"4312:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"},"typeName":{"id":51609,"name":"bytes17","nodeType":"ElementaryTypeName","src":"4312:7:64","typeDescriptions":{"typeIdentifier":"t_bytes17","typeString":"bytes17"}},"visibility":"internal"}],"src":"4311:12:64"},"returnParameters":{"id":51612,"nodeType":"ParameterList","parameters":[],"src":"4338:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51636,"nodeType":"FunctionDefinition","src":"4421:123:64","nodes":[],"body":{"id":51635,"nodeType":"Block","src":"4467:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313829","id":51630,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4517:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},"value":"log(bytes18)"},{"id":51631,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51624,"src":"4533:2:64","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116","typeString":"literal_string \"log(bytes18)\""},{"typeIdentifier":"t_bytes18","typeString":"bytes18"}],"expression":{"id":51628,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4493:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4497:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4493:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4493:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51627,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4477:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4477:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51634,"nodeType":"ExpressionStatement","src":"4477:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes18","nameLocation":"4430:10:64","parameters":{"id":51625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51624,"mutability":"mutable","name":"p0","nameLocation":"4449:2:64","nodeType":"VariableDeclaration","scope":51636,"src":"4441:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"},"typeName":{"id":51623,"name":"bytes18","nodeType":"ElementaryTypeName","src":"4441:7:64","typeDescriptions":{"typeIdentifier":"t_bytes18","typeString":"bytes18"}},"visibility":"internal"}],"src":"4440:12:64"},"returnParameters":{"id":51626,"nodeType":"ParameterList","parameters":[],"src":"4467:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51650,"nodeType":"FunctionDefinition","src":"4550:123:64","nodes":[],"body":{"id":51649,"nodeType":"Block","src":"4596:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573313929","id":51644,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4646:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},"value":"log(bytes19)"},{"id":51645,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51638,"src":"4662:2:64","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada","typeString":"literal_string \"log(bytes19)\""},{"typeIdentifier":"t_bytes19","typeString":"bytes19"}],"expression":{"id":51642,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4622:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51643,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4626:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4622:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51646,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4622:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51641,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4606:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4606:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51648,"nodeType":"ExpressionStatement","src":"4606:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes19","nameLocation":"4559:10:64","parameters":{"id":51639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51638,"mutability":"mutable","name":"p0","nameLocation":"4578:2:64","nodeType":"VariableDeclaration","scope":51650,"src":"4570:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"},"typeName":{"id":51637,"name":"bytes19","nodeType":"ElementaryTypeName","src":"4570:7:64","typeDescriptions":{"typeIdentifier":"t_bytes19","typeString":"bytes19"}},"visibility":"internal"}],"src":"4569:12:64"},"returnParameters":{"id":51640,"nodeType":"ParameterList","parameters":[],"src":"4596:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51664,"nodeType":"FunctionDefinition","src":"4679:123:64","nodes":[],"body":{"id":51663,"nodeType":"Block","src":"4725:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323029","id":51658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4775:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},"value":"log(bytes20)"},{"id":51659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51652,"src":"4791:2:64","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231","typeString":"literal_string \"log(bytes20)\""},{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"expression":{"id":51656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4751:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4755:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4751:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51660,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4751:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4735:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4735:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51662,"nodeType":"ExpressionStatement","src":"4735:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes20","nameLocation":"4688:10:64","parameters":{"id":51653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51652,"mutability":"mutable","name":"p0","nameLocation":"4707:2:64","nodeType":"VariableDeclaration","scope":51664,"src":"4699:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"typeName":{"id":51651,"name":"bytes20","nodeType":"ElementaryTypeName","src":"4699:7:64","typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"visibility":"internal"}],"src":"4698:12:64"},"returnParameters":{"id":51654,"nodeType":"ParameterList","parameters":[],"src":"4725:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51678,"nodeType":"FunctionDefinition","src":"4808:123:64","nodes":[],"body":{"id":51677,"nodeType":"Block","src":"4854:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323129","id":51672,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4904:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},"value":"log(bytes21)"},{"id":51673,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51666,"src":"4920:2:64","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7","typeString":"literal_string \"log(bytes21)\""},{"typeIdentifier":"t_bytes21","typeString":"bytes21"}],"expression":{"id":51670,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4880:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51671,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4884:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"4880:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4880:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51669,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4864:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4864:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51676,"nodeType":"ExpressionStatement","src":"4864:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes21","nameLocation":"4817:10:64","parameters":{"id":51667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51666,"mutability":"mutable","name":"p0","nameLocation":"4836:2:64","nodeType":"VariableDeclaration","scope":51678,"src":"4828:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"},"typeName":{"id":51665,"name":"bytes21","nodeType":"ElementaryTypeName","src":"4828:7:64","typeDescriptions":{"typeIdentifier":"t_bytes21","typeString":"bytes21"}},"visibility":"internal"}],"src":"4827:12:64"},"returnParameters":{"id":51668,"nodeType":"ParameterList","parameters":[],"src":"4854:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51692,"nodeType":"FunctionDefinition","src":"4937:123:64","nodes":[],"body":{"id":51691,"nodeType":"Block","src":"4983:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323229","id":51686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5033:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},"value":"log(bytes22)"},{"id":51687,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51680,"src":"5049:2:64","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575","typeString":"literal_string \"log(bytes22)\""},{"typeIdentifier":"t_bytes22","typeString":"bytes22"}],"expression":{"id":51684,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5009:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51685,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5013:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5009:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5009:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51683,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"4993:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4993:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51690,"nodeType":"ExpressionStatement","src":"4993:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes22","nameLocation":"4946:10:64","parameters":{"id":51681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51680,"mutability":"mutable","name":"p0","nameLocation":"4965:2:64","nodeType":"VariableDeclaration","scope":51692,"src":"4957:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"},"typeName":{"id":51679,"name":"bytes22","nodeType":"ElementaryTypeName","src":"4957:7:64","typeDescriptions":{"typeIdentifier":"t_bytes22","typeString":"bytes22"}},"visibility":"internal"}],"src":"4956:12:64"},"returnParameters":{"id":51682,"nodeType":"ParameterList","parameters":[],"src":"4983:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51706,"nodeType":"FunctionDefinition","src":"5066:123:64","nodes":[],"body":{"id":51705,"nodeType":"Block","src":"5112:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323329","id":51700,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5162:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},"value":"log(bytes23)"},{"id":51701,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51694,"src":"5178:2:64","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061","typeString":"literal_string \"log(bytes23)\""},{"typeIdentifier":"t_bytes23","typeString":"bytes23"}],"expression":{"id":51698,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5138:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51699,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5142:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5138:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5138:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51697,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5122:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51703,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5122:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51704,"nodeType":"ExpressionStatement","src":"5122:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes23","nameLocation":"5075:10:64","parameters":{"id":51695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51694,"mutability":"mutable","name":"p0","nameLocation":"5094:2:64","nodeType":"VariableDeclaration","scope":51706,"src":"5086:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"},"typeName":{"id":51693,"name":"bytes23","nodeType":"ElementaryTypeName","src":"5086:7:64","typeDescriptions":{"typeIdentifier":"t_bytes23","typeString":"bytes23"}},"visibility":"internal"}],"src":"5085:12:64"},"returnParameters":{"id":51696,"nodeType":"ParameterList","parameters":[],"src":"5112:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51720,"nodeType":"FunctionDefinition","src":"5195:123:64","nodes":[],"body":{"id":51719,"nodeType":"Block","src":"5241:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323429","id":51714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5291:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},"value":"log(bytes24)"},{"id":51715,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51708,"src":"5307:2:64","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4","typeString":"literal_string \"log(bytes24)\""},{"typeIdentifier":"t_bytes24","typeString":"bytes24"}],"expression":{"id":51712,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5267:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51713,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5271:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5267:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51716,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5267:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51711,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5251:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5251:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51718,"nodeType":"ExpressionStatement","src":"5251:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes24","nameLocation":"5204:10:64","parameters":{"id":51709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51708,"mutability":"mutable","name":"p0","nameLocation":"5223:2:64","nodeType":"VariableDeclaration","scope":51720,"src":"5215:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"},"typeName":{"id":51707,"name":"bytes24","nodeType":"ElementaryTypeName","src":"5215:7:64","typeDescriptions":{"typeIdentifier":"t_bytes24","typeString":"bytes24"}},"visibility":"internal"}],"src":"5214:12:64"},"returnParameters":{"id":51710,"nodeType":"ParameterList","parameters":[],"src":"5241:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51734,"nodeType":"FunctionDefinition","src":"5324:123:64","nodes":[],"body":{"id":51733,"nodeType":"Block","src":"5370:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323529","id":51728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5420:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},"value":"log(bytes25)"},{"id":51729,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51722,"src":"5436:2:64","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25","typeString":"literal_string \"log(bytes25)\""},{"typeIdentifier":"t_bytes25","typeString":"bytes25"}],"expression":{"id":51726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5396:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5400:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5396:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5396:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51725,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5380:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5380:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51732,"nodeType":"ExpressionStatement","src":"5380:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes25","nameLocation":"5333:10:64","parameters":{"id":51723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51722,"mutability":"mutable","name":"p0","nameLocation":"5352:2:64","nodeType":"VariableDeclaration","scope":51734,"src":"5344:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"},"typeName":{"id":51721,"name":"bytes25","nodeType":"ElementaryTypeName","src":"5344:7:64","typeDescriptions":{"typeIdentifier":"t_bytes25","typeString":"bytes25"}},"visibility":"internal"}],"src":"5343:12:64"},"returnParameters":{"id":51724,"nodeType":"ParameterList","parameters":[],"src":"5370:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51748,"nodeType":"FunctionDefinition","src":"5453:123:64","nodes":[],"body":{"id":51747,"nodeType":"Block","src":"5499:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323629","id":51742,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5549:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},"value":"log(bytes26)"},{"id":51743,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51736,"src":"5565:2:64","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b","typeString":"literal_string \"log(bytes26)\""},{"typeIdentifier":"t_bytes26","typeString":"bytes26"}],"expression":{"id":51740,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5525:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51741,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5529:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5525:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5525:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51739,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5509:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5509:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51746,"nodeType":"ExpressionStatement","src":"5509:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes26","nameLocation":"5462:10:64","parameters":{"id":51737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51736,"mutability":"mutable","name":"p0","nameLocation":"5481:2:64","nodeType":"VariableDeclaration","scope":51748,"src":"5473:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"},"typeName":{"id":51735,"name":"bytes26","nodeType":"ElementaryTypeName","src":"5473:7:64","typeDescriptions":{"typeIdentifier":"t_bytes26","typeString":"bytes26"}},"visibility":"internal"}],"src":"5472:12:64"},"returnParameters":{"id":51738,"nodeType":"ParameterList","parameters":[],"src":"5499:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51762,"nodeType":"FunctionDefinition","src":"5582:123:64","nodes":[],"body":{"id":51761,"nodeType":"Block","src":"5628:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323729","id":51756,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5678:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},"value":"log(bytes27)"},{"id":51757,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51750,"src":"5694:2:64","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6","typeString":"literal_string \"log(bytes27)\""},{"typeIdentifier":"t_bytes27","typeString":"bytes27"}],"expression":{"id":51754,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5654:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51755,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5658:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5654:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5654:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51753,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5638:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5638:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51760,"nodeType":"ExpressionStatement","src":"5638:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes27","nameLocation":"5591:10:64","parameters":{"id":51751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51750,"mutability":"mutable","name":"p0","nameLocation":"5610:2:64","nodeType":"VariableDeclaration","scope":51762,"src":"5602:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"},"typeName":{"id":51749,"name":"bytes27","nodeType":"ElementaryTypeName","src":"5602:7:64","typeDescriptions":{"typeIdentifier":"t_bytes27","typeString":"bytes27"}},"visibility":"internal"}],"src":"5601:12:64"},"returnParameters":{"id":51752,"nodeType":"ParameterList","parameters":[],"src":"5628:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51776,"nodeType":"FunctionDefinition","src":"5711:123:64","nodes":[],"body":{"id":51775,"nodeType":"Block","src":"5757:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323829","id":51770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5807:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},"value":"log(bytes28)"},{"id":51771,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51764,"src":"5823:2:64","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042","typeString":"literal_string \"log(bytes28)\""},{"typeIdentifier":"t_bytes28","typeString":"bytes28"}],"expression":{"id":51768,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5783:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51769,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5787:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5783:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5783:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51767,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5767:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5767:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51774,"nodeType":"ExpressionStatement","src":"5767:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes28","nameLocation":"5720:10:64","parameters":{"id":51765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51764,"mutability":"mutable","name":"p0","nameLocation":"5739:2:64","nodeType":"VariableDeclaration","scope":51776,"src":"5731:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"},"typeName":{"id":51763,"name":"bytes28","nodeType":"ElementaryTypeName","src":"5731:7:64","typeDescriptions":{"typeIdentifier":"t_bytes28","typeString":"bytes28"}},"visibility":"internal"}],"src":"5730:12:64"},"returnParameters":{"id":51766,"nodeType":"ParameterList","parameters":[],"src":"5757:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51790,"nodeType":"FunctionDefinition","src":"5840:123:64","nodes":[],"body":{"id":51789,"nodeType":"Block","src":"5886:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573323929","id":51784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5936:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},"value":"log(bytes29)"},{"id":51785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51778,"src":"5952:2:64","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667","typeString":"literal_string \"log(bytes29)\""},{"typeIdentifier":"t_bytes29","typeString":"bytes29"}],"expression":{"id":51782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5912:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5916:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"5912:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5912:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"5896:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5896:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51788,"nodeType":"ExpressionStatement","src":"5896:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes29","nameLocation":"5849:10:64","parameters":{"id":51779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51778,"mutability":"mutable","name":"p0","nameLocation":"5868:2:64","nodeType":"VariableDeclaration","scope":51790,"src":"5860:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"},"typeName":{"id":51777,"name":"bytes29","nodeType":"ElementaryTypeName","src":"5860:7:64","typeDescriptions":{"typeIdentifier":"t_bytes29","typeString":"bytes29"}},"visibility":"internal"}],"src":"5859:12:64"},"returnParameters":{"id":51780,"nodeType":"ParameterList","parameters":[],"src":"5886:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51804,"nodeType":"FunctionDefinition","src":"5969:123:64","nodes":[],"body":{"id":51803,"nodeType":"Block","src":"6015:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333029","id":51798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6065:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},"value":"log(bytes30)"},{"id":51799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51792,"src":"6081:2:64","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad","typeString":"literal_string \"log(bytes30)\""},{"typeIdentifier":"t_bytes30","typeString":"bytes30"}],"expression":{"id":51796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6041:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6045:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6041:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51800,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6041:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6025:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6025:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51802,"nodeType":"ExpressionStatement","src":"6025:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes30","nameLocation":"5978:10:64","parameters":{"id":51793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51792,"mutability":"mutable","name":"p0","nameLocation":"5997:2:64","nodeType":"VariableDeclaration","scope":51804,"src":"5989:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"},"typeName":{"id":51791,"name":"bytes30","nodeType":"ElementaryTypeName","src":"5989:7:64","typeDescriptions":{"typeIdentifier":"t_bytes30","typeString":"bytes30"}},"visibility":"internal"}],"src":"5988:12:64"},"returnParameters":{"id":51794,"nodeType":"ParameterList","parameters":[],"src":"6015:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51818,"nodeType":"FunctionDefinition","src":"6098:123:64","nodes":[],"body":{"id":51817,"nodeType":"Block","src":"6144:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333129","id":51812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6194:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},"value":"log(bytes31)"},{"id":51813,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51806,"src":"6210:2:64","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce","typeString":"literal_string \"log(bytes31)\""},{"typeIdentifier":"t_bytes31","typeString":"bytes31"}],"expression":{"id":51810,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6170:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51811,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6174:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6170:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6170:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51809,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6154:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6154:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51816,"nodeType":"ExpressionStatement","src":"6154:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes31","nameLocation":"6107:10:64","parameters":{"id":51807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51806,"mutability":"mutable","name":"p0","nameLocation":"6126:2:64","nodeType":"VariableDeclaration","scope":51818,"src":"6118:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"},"typeName":{"id":51805,"name":"bytes31","nodeType":"ElementaryTypeName","src":"6118:7:64","typeDescriptions":{"typeIdentifier":"t_bytes31","typeString":"bytes31"}},"visibility":"internal"}],"src":"6117:12:64"},"returnParameters":{"id":51808,"nodeType":"ParameterList","parameters":[],"src":"6144:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51832,"nodeType":"FunctionDefinition","src":"6227:123:64","nodes":[],"body":{"id":51831,"nodeType":"Block","src":"6273:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286279746573333229","id":51826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6323:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},"value":"log(bytes32)"},{"id":51827,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51820,"src":"6339:2:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da","typeString":"literal_string \"log(bytes32)\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":51824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6299:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6303:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6299:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6299:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51823,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6283:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6283:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51830,"nodeType":"ExpressionStatement","src":"6283:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"logBytes32","nameLocation":"6236:10:64","parameters":{"id":51821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51820,"mutability":"mutable","name":"p0","nameLocation":"6255:2:64","nodeType":"VariableDeclaration","scope":51832,"src":"6247:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":51819,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6247:7:64","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"6246:12:64"},"returnParameters":{"id":51822,"nodeType":"ParameterList","parameters":[],"src":"6273:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51846,"nodeType":"FunctionDefinition","src":"6356:116:64","nodes":[],"body":{"id":51845,"nodeType":"Block","src":"6395:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e7432353629","id":51840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6445:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},"value":"log(uint256)"},{"id":51841,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51834,"src":"6461:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f82c50f1848136e6c140b186ea0c768b7deda5efffe42c25e96336a90b26c744","typeString":"literal_string \"log(uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6421:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6425:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6421:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6421:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51837,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6405:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6405:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51844,"nodeType":"ExpressionStatement","src":"6405:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6365:3:64","parameters":{"id":51835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51834,"mutability":"mutable","name":"p0","nameLocation":"6377:2:64","nodeType":"VariableDeclaration","scope":51846,"src":"6369:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51833,"name":"uint256","nodeType":"ElementaryTypeName","src":"6369:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6368:12:64"},"returnParameters":{"id":51836,"nodeType":"ParameterList","parameters":[],"src":"6395:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51860,"nodeType":"FunctionDefinition","src":"6478:114:64","nodes":[],"body":{"id":51859,"nodeType":"Block","src":"6516:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728696e7432353629","id":51854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6566:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},"value":"log(int256)"},{"id":51855,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51848,"src":"6581:2:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d5b6cb95ba2d00a93cd4ffa61ec07ef4bb1694f20c02a3cccb170a38df81ef8","typeString":"literal_string \"log(int256)\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":51852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6542:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6546:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6542:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6542:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51851,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6526:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51857,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6526:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51858,"nodeType":"ExpressionStatement","src":"6526:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6487:3:64","parameters":{"id":51849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51848,"mutability":"mutable","name":"p0","nameLocation":"6498:2:64","nodeType":"VariableDeclaration","scope":51860,"src":"6491:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51847,"name":"int256","nodeType":"ElementaryTypeName","src":"6491:6:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"6490:11:64"},"returnParameters":{"id":51850,"nodeType":"ParameterList","parameters":[],"src":"6516:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51874,"nodeType":"FunctionDefinition","src":"6598:121:64","nodes":[],"body":{"id":51873,"nodeType":"Block","src":"6643:76:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e6729","id":51868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6693:13:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},"value":"log(string)"},{"id":51869,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51862,"src":"6708:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","typeString":"literal_string \"log(string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":51866,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6669:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6673:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6669:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6669:42:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51865,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6653:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6653:59:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51872,"nodeType":"ExpressionStatement","src":"6653:59:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6607:3:64","parameters":{"id":51863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51862,"mutability":"mutable","name":"p0","nameLocation":"6625:2:64","nodeType":"VariableDeclaration","scope":51874,"src":"6611:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51861,"name":"string","nodeType":"ElementaryTypeName","src":"6611:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6610:18:64"},"returnParameters":{"id":51864,"nodeType":"ParameterList","parameters":[],"src":"6643:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51888,"nodeType":"FunctionDefinition","src":"6725:110:64","nodes":[],"body":{"id":51887,"nodeType":"Block","src":"6761:74:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c29","id":51882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6811:11:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},"value":"log(bool)"},{"id":51883,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51876,"src":"6824:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7","typeString":"literal_string \"log(bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51880,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6787:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51881,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6791:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6787:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6787:40:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51879,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6771:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6771:57:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51886,"nodeType":"ExpressionStatement","src":"6771:57:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6734:3:64","parameters":{"id":51877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51876,"mutability":"mutable","name":"p0","nameLocation":"6743:2:64","nodeType":"VariableDeclaration","scope":51888,"src":"6738:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51875,"name":"bool","nodeType":"ElementaryTypeName","src":"6738:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6737:9:64"},"returnParameters":{"id":51878,"nodeType":"ParameterList","parameters":[],"src":"6761:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51902,"nodeType":"FunctionDefinition","src":"6841:116:64","nodes":[],"body":{"id":51901,"nodeType":"Block","src":"6880:77:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f67286164647265737329","id":51896,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6930:14:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},"value":"log(address)"},{"id":51897,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51890,"src":"6946:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428","typeString":"literal_string \"log(address)\""},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51894,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6906:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51895,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6910:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"6906:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6906:43:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51893,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"6890:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51899,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6890:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51900,"nodeType":"ExpressionStatement","src":"6890:60:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6850:3:64","parameters":{"id":51891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51890,"mutability":"mutable","name":"p0","nameLocation":"6862:2:64","nodeType":"VariableDeclaration","scope":51902,"src":"6854:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51889,"name":"address","nodeType":"ElementaryTypeName","src":"6854:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6853:12:64"},"returnParameters":{"id":51892,"nodeType":"ParameterList","parameters":[],"src":"6880:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51919,"nodeType":"FunctionDefinition","src":"6963:140:64","nodes":[],"body":{"id":51918,"nodeType":"Block","src":"7014:89:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e7432353629","id":51912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7064:22:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},"value":"log(uint256,uint256)"},{"id":51913,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51904,"src":"7088:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51914,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51906,"src":"7092:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f666715aa6b8e8ce32bd39173f51eea0643fdd246a826c4756c2f168022b6eb5","typeString":"literal_string \"log(uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7040:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7044:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7040:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7040:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51909,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7024:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7024:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51917,"nodeType":"ExpressionStatement","src":"7024:72:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"6972:3:64","parameters":{"id":51907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51904,"mutability":"mutable","name":"p0","nameLocation":"6984:2:64","nodeType":"VariableDeclaration","scope":51919,"src":"6976:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51903,"name":"uint256","nodeType":"ElementaryTypeName","src":"6976:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51906,"mutability":"mutable","name":"p1","nameLocation":"6996:2:64","nodeType":"VariableDeclaration","scope":51919,"src":"6988:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51905,"name":"uint256","nodeType":"ElementaryTypeName","src":"6988:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6975:24:64"},"returnParameters":{"id":51908,"nodeType":"ParameterList","parameters":[],"src":"7014:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51936,"nodeType":"FunctionDefinition","src":"7109:145:64","nodes":[],"body":{"id":51935,"nodeType":"Block","src":"7166:88:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e6729","id":51929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7216:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},"value":"log(uint256,string)"},{"id":51930,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51921,"src":"7239:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51931,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51923,"src":"7243:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_643fd0df4c7dfb004c6169012c8aec390bd7246941d7fe467022f10f2da987c3","typeString":"literal_string \"log(uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":51927,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7192:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51928,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7196:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7192:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51926,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7176:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7176:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51934,"nodeType":"ExpressionStatement","src":"7176:71:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7118:3:64","parameters":{"id":51924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51921,"mutability":"mutable","name":"p0","nameLocation":"7130:2:64","nodeType":"VariableDeclaration","scope":51936,"src":"7122:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51920,"name":"uint256","nodeType":"ElementaryTypeName","src":"7122:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51923,"mutability":"mutable","name":"p1","nameLocation":"7148:2:64","nodeType":"VariableDeclaration","scope":51936,"src":"7134:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51922,"name":"string","nodeType":"ElementaryTypeName","src":"7134:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7121:30:64"},"returnParameters":{"id":51925,"nodeType":"ParameterList","parameters":[],"src":"7166:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51953,"nodeType":"FunctionDefinition","src":"7260:134:64","nodes":[],"body":{"id":51952,"nodeType":"Block","src":"7308:86:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c29","id":51946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7358:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},"value":"log(uint256,bool)"},{"id":51947,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51938,"src":"7379:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51948,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51940,"src":"7383:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c9d7eb3a75db315653a5c0996fcea52a2b2692643ce8ace4d8b12bb9da6c1f2","typeString":"literal_string \"log(uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":51944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7334:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7338:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7334:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7334:52:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51943,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7318:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7318:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51951,"nodeType":"ExpressionStatement","src":"7318:69:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7269:3:64","parameters":{"id":51941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51938,"mutability":"mutable","name":"p0","nameLocation":"7281:2:64","nodeType":"VariableDeclaration","scope":51953,"src":"7273:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51937,"name":"uint256","nodeType":"ElementaryTypeName","src":"7273:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51940,"mutability":"mutable","name":"p1","nameLocation":"7290:2:64","nodeType":"VariableDeclaration","scope":51953,"src":"7285:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":51939,"name":"bool","nodeType":"ElementaryTypeName","src":"7285:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7272:21:64"},"returnParameters":{"id":51942,"nodeType":"ParameterList","parameters":[],"src":"7308:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51970,"nodeType":"FunctionDefinition","src":"7400:140:64","nodes":[],"body":{"id":51969,"nodeType":"Block","src":"7451:89:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c6164647265737329","id":51963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7501:22:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},"value":"log(uint256,address)"},{"id":51964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51955,"src":"7525:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":51965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51957,"src":"7529:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69276c86d20522c49707664308d424b84905ef92219f3146bcaacedc72eaed27","typeString":"literal_string \"log(uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":51961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7477:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7481:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7477:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7477:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7461:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7461:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51968,"nodeType":"ExpressionStatement","src":"7461:72:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7409:3:64","parameters":{"id":51958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51955,"mutability":"mutable","name":"p0","nameLocation":"7421:2:64","nodeType":"VariableDeclaration","scope":51970,"src":"7413:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51954,"name":"uint256","nodeType":"ElementaryTypeName","src":"7413:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":51957,"mutability":"mutable","name":"p1","nameLocation":"7433:2:64","nodeType":"VariableDeclaration","scope":51970,"src":"7425:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":51956,"name":"address","nodeType":"ElementaryTypeName","src":"7425:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7412:24:64"},"returnParameters":{"id":51959,"nodeType":"ParameterList","parameters":[],"src":"7451:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":51987,"nodeType":"FunctionDefinition","src":"7546:145:64","nodes":[],"body":{"id":51986,"nodeType":"Block","src":"7603:88:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e7432353629","id":51980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7653:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},"value":"log(string,uint256)"},{"id":51981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51972,"src":"7676:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51974,"src":"7680:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b60e72ccf6d57ab53eb84d7e94a9545806ed7f93c4d5673f11a64f03471e584e","typeString":"literal_string \"log(string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":51978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7629:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7633:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7629:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":51983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7629:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7613:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":51984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7613:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":51985,"nodeType":"ExpressionStatement","src":"7613:71:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7555:3:64","parameters":{"id":51975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51972,"mutability":"mutable","name":"p0","nameLocation":"7573:2:64","nodeType":"VariableDeclaration","scope":51987,"src":"7559:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51971,"name":"string","nodeType":"ElementaryTypeName","src":"7559:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51974,"mutability":"mutable","name":"p1","nameLocation":"7585:2:64","nodeType":"VariableDeclaration","scope":51987,"src":"7577:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51973,"name":"uint256","nodeType":"ElementaryTypeName","src":"7577:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7558:30:64"},"returnParameters":{"id":51976,"nodeType":"ParameterList","parameters":[],"src":"7603:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52004,"nodeType":"FunctionDefinition","src":"7697:143:64","nodes":[],"body":{"id":52003,"nodeType":"Block","src":"7753:87:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c696e7432353629","id":51997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7803:20:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},"value":"log(string,int256)"},{"id":51998,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51989,"src":"7825:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":51999,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51991,"src":"7829:2:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ca6268e2d626deb26c45bf74aa3316f24594d4f4b66b5d8fd8e966d88ac4e25","typeString":"literal_string \"log(string,int256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_int256","typeString":"int256"}],"expression":{"id":51995,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7779:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":51996,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7783:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7779:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7779:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":51994,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7763:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7763:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52002,"nodeType":"ExpressionStatement","src":"7763:70:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7706:3:64","parameters":{"id":51992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51989,"mutability":"mutable","name":"p0","nameLocation":"7724:2:64","nodeType":"VariableDeclaration","scope":52004,"src":"7710:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":51988,"name":"string","nodeType":"ElementaryTypeName","src":"7710:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":51991,"mutability":"mutable","name":"p1","nameLocation":"7735:2:64","nodeType":"VariableDeclaration","scope":52004,"src":"7728:9:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":51990,"name":"int256","nodeType":"ElementaryTypeName","src":"7728:6:64","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7709:29:64"},"returnParameters":{"id":51993,"nodeType":"ParameterList","parameters":[],"src":"7753:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52021,"nodeType":"FunctionDefinition","src":"7846:150:64","nodes":[],"body":{"id":52020,"nodeType":"Block","src":"7909:87:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e6729","id":52014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7959:20:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},"value":"log(string,string)"},{"id":52015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52006,"src":"7981:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52008,"src":"7985:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac","typeString":"literal_string \"log(string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7935:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7939:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"7935:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7935:53:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"7919:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7919:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52019,"nodeType":"ExpressionStatement","src":"7919:70:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"7855:3:64","parameters":{"id":52009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52006,"mutability":"mutable","name":"p0","nameLocation":"7873:2:64","nodeType":"VariableDeclaration","scope":52021,"src":"7859:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52005,"name":"string","nodeType":"ElementaryTypeName","src":"7859:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52008,"mutability":"mutable","name":"p1","nameLocation":"7891:2:64","nodeType":"VariableDeclaration","scope":52021,"src":"7877:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52007,"name":"string","nodeType":"ElementaryTypeName","src":"7877:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7858:36:64"},"returnParameters":{"id":52010,"nodeType":"ParameterList","parameters":[],"src":"7909:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52038,"nodeType":"FunctionDefinition","src":"8002:139:64","nodes":[],"body":{"id":52037,"nodeType":"Block","src":"8056:85:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c29","id":52031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8106:18:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},"value":"log(string,bool)"},{"id":52032,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52023,"src":"8126:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52033,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52025,"src":"8130:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870","typeString":"literal_string \"log(string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52029,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8082:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52030,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8086:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8082:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8082:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52028,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8066:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8066:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52036,"nodeType":"ExpressionStatement","src":"8066:68:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8011:3:64","parameters":{"id":52026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52023,"mutability":"mutable","name":"p0","nameLocation":"8029:2:64","nodeType":"VariableDeclaration","scope":52038,"src":"8015:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52022,"name":"string","nodeType":"ElementaryTypeName","src":"8015:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52025,"mutability":"mutable","name":"p1","nameLocation":"8038:2:64","nodeType":"VariableDeclaration","scope":52038,"src":"8033:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52024,"name":"bool","nodeType":"ElementaryTypeName","src":"8033:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8014:27:64"},"returnParameters":{"id":52027,"nodeType":"ParameterList","parameters":[],"src":"8056:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52055,"nodeType":"FunctionDefinition","src":"8147:145:64","nodes":[],"body":{"id":52054,"nodeType":"Block","src":"8204:88:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c6164647265737329","id":52048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8254:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},"value":"log(string,address)"},{"id":52049,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52040,"src":"8277:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52050,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52042,"src":"8281:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72","typeString":"literal_string \"log(string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52046,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8230:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52047,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8234:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8230:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52051,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8230:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52045,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8214:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8214:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52053,"nodeType":"ExpressionStatement","src":"8214:71:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8156:3:64","parameters":{"id":52043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52040,"mutability":"mutable","name":"p0","nameLocation":"8174:2:64","nodeType":"VariableDeclaration","scope":52055,"src":"8160:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52039,"name":"string","nodeType":"ElementaryTypeName","src":"8160:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52042,"mutability":"mutable","name":"p1","nameLocation":"8186:2:64","nodeType":"VariableDeclaration","scope":52055,"src":"8178:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52041,"name":"address","nodeType":"ElementaryTypeName","src":"8178:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8159:30:64"},"returnParameters":{"id":52044,"nodeType":"ParameterList","parameters":[],"src":"8204:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52072,"nodeType":"FunctionDefinition","src":"8298:134:64","nodes":[],"body":{"id":52071,"nodeType":"Block","src":"8346:86:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e7432353629","id":52065,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8396:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},"value":"log(bool,uint256)"},{"id":52066,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52057,"src":"8417:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52067,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52059,"src":"8421:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_399174d3d0c43cb9677bce4fa1b5541fc60a002cbf23e154f1abcbb5f02cf2d7","typeString":"literal_string \"log(bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52063,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8372:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52064,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8376:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8372:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8372:52:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52062,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8356:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52069,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8356:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52070,"nodeType":"ExpressionStatement","src":"8356:69:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8307:3:64","parameters":{"id":52060,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52057,"mutability":"mutable","name":"p0","nameLocation":"8316:2:64","nodeType":"VariableDeclaration","scope":52072,"src":"8311:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52056,"name":"bool","nodeType":"ElementaryTypeName","src":"8311:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52059,"mutability":"mutable","name":"p1","nameLocation":"8328:2:64","nodeType":"VariableDeclaration","scope":52072,"src":"8320:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52058,"name":"uint256","nodeType":"ElementaryTypeName","src":"8320:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8310:21:64"},"returnParameters":{"id":52061,"nodeType":"ParameterList","parameters":[],"src":"8346:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52089,"nodeType":"FunctionDefinition","src":"8438:139:64","nodes":[],"body":{"id":52088,"nodeType":"Block","src":"8492:85:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e6729","id":52082,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8542:18:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},"value":"log(bool,string)"},{"id":52083,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52074,"src":"8562:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52084,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52076,"src":"8566:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84","typeString":"literal_string \"log(bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52080,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8518:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52081,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8522:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8518:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52085,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8518:51:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52079,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8502:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8502:68:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52087,"nodeType":"ExpressionStatement","src":"8502:68:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8447:3:64","parameters":{"id":52077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52074,"mutability":"mutable","name":"p0","nameLocation":"8456:2:64","nodeType":"VariableDeclaration","scope":52089,"src":"8451:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52073,"name":"bool","nodeType":"ElementaryTypeName","src":"8451:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52076,"mutability":"mutable","name":"p1","nameLocation":"8474:2:64","nodeType":"VariableDeclaration","scope":52089,"src":"8460:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52075,"name":"string","nodeType":"ElementaryTypeName","src":"8460:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8450:27:64"},"returnParameters":{"id":52078,"nodeType":"ParameterList","parameters":[],"src":"8492:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52106,"nodeType":"FunctionDefinition","src":"8583:128:64","nodes":[],"body":{"id":52105,"nodeType":"Block","src":"8628:83:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c29","id":52099,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8678:16:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},"value":"log(bool,bool)"},{"id":52100,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52091,"src":"8696:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52101,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52093,"src":"8700:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15","typeString":"literal_string \"log(bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52097,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8654:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52098,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8658:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8654:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8654:49:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52096,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8638:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8638:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52104,"nodeType":"ExpressionStatement","src":"8638:66:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8592:3:64","parameters":{"id":52094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52091,"mutability":"mutable","name":"p0","nameLocation":"8601:2:64","nodeType":"VariableDeclaration","scope":52106,"src":"8596:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52090,"name":"bool","nodeType":"ElementaryTypeName","src":"8596:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52093,"mutability":"mutable","name":"p1","nameLocation":"8610:2:64","nodeType":"VariableDeclaration","scope":52106,"src":"8605:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52092,"name":"bool","nodeType":"ElementaryTypeName","src":"8605:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"8595:18:64"},"returnParameters":{"id":52095,"nodeType":"ParameterList","parameters":[],"src":"8628:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52123,"nodeType":"FunctionDefinition","src":"8717:134:64","nodes":[],"body":{"id":52122,"nodeType":"Block","src":"8765:86:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c6164647265737329","id":52116,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8815:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},"value":"log(bool,address)"},{"id":52117,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52108,"src":"8836:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52118,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52110,"src":"8840:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55","typeString":"literal_string \"log(bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52114,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8791:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52115,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8795:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8791:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52119,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8791:52:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52113,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8775:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8775:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52121,"nodeType":"ExpressionStatement","src":"8775:69:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8726:3:64","parameters":{"id":52111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52108,"mutability":"mutable","name":"p0","nameLocation":"8735:2:64","nodeType":"VariableDeclaration","scope":52123,"src":"8730:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52107,"name":"bool","nodeType":"ElementaryTypeName","src":"8730:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52110,"mutability":"mutable","name":"p1","nameLocation":"8747:2:64","nodeType":"VariableDeclaration","scope":52123,"src":"8739:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52109,"name":"address","nodeType":"ElementaryTypeName","src":"8739:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8729:21:64"},"returnParameters":{"id":52112,"nodeType":"ParameterList","parameters":[],"src":"8765:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52140,"nodeType":"FunctionDefinition","src":"8857:140:64","nodes":[],"body":{"id":52139,"nodeType":"Block","src":"8908:89:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e7432353629","id":52133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8958:22:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},"value":"log(address,uint256)"},{"id":52134,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52125,"src":"8982:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52135,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52127,"src":"8986:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8309e8a8b132619bdb25dffa9d595ba1ecb7835540fd62622dad33018c4a0d3e","typeString":"literal_string \"log(address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52131,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"8934:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52132,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8938:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"8934:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8934:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52130,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"8918:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8918:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52138,"nodeType":"ExpressionStatement","src":"8918:72:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"8866:3:64","parameters":{"id":52128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52125,"mutability":"mutable","name":"p0","nameLocation":"8878:2:64","nodeType":"VariableDeclaration","scope":52140,"src":"8870:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52124,"name":"address","nodeType":"ElementaryTypeName","src":"8870:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52127,"mutability":"mutable","name":"p1","nameLocation":"8890:2:64","nodeType":"VariableDeclaration","scope":52140,"src":"8882:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52126,"name":"uint256","nodeType":"ElementaryTypeName","src":"8882:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8869:24:64"},"returnParameters":{"id":52129,"nodeType":"ParameterList","parameters":[],"src":"8908:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52157,"nodeType":"FunctionDefinition","src":"9003:145:64","nodes":[],"body":{"id":52156,"nodeType":"Block","src":"9060:88:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e6729","id":52150,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9110:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},"value":"log(address,string)"},{"id":52151,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52142,"src":"9133:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52152,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52144,"src":"9137:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab","typeString":"literal_string \"log(address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52148,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9086:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52149,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9090:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9086:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9086:54:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52147,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9070:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9070:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52155,"nodeType":"ExpressionStatement","src":"9070:71:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9012:3:64","parameters":{"id":52145,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52142,"mutability":"mutable","name":"p0","nameLocation":"9024:2:64","nodeType":"VariableDeclaration","scope":52157,"src":"9016:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52141,"name":"address","nodeType":"ElementaryTypeName","src":"9016:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52144,"mutability":"mutable","name":"p1","nameLocation":"9042:2:64","nodeType":"VariableDeclaration","scope":52157,"src":"9028:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52143,"name":"string","nodeType":"ElementaryTypeName","src":"9028:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9015:30:64"},"returnParameters":{"id":52146,"nodeType":"ParameterList","parameters":[],"src":"9060:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52174,"nodeType":"FunctionDefinition","src":"9154:134:64","nodes":[],"body":{"id":52173,"nodeType":"Block","src":"9202:86:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c29","id":52167,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9252:19:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},"value":"log(address,bool)"},{"id":52168,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52159,"src":"9273:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52169,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52161,"src":"9277:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b","typeString":"literal_string \"log(address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52165,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9228:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52166,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9232:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9228:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9228:52:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52164,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9212:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9212:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52172,"nodeType":"ExpressionStatement","src":"9212:69:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9163:3:64","parameters":{"id":52162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52159,"mutability":"mutable","name":"p0","nameLocation":"9175:2:64","nodeType":"VariableDeclaration","scope":52174,"src":"9167:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52158,"name":"address","nodeType":"ElementaryTypeName","src":"9167:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52161,"mutability":"mutable","name":"p1","nameLocation":"9184:2:64","nodeType":"VariableDeclaration","scope":52174,"src":"9179:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52160,"name":"bool","nodeType":"ElementaryTypeName","src":"9179:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9166:21:64"},"returnParameters":{"id":52163,"nodeType":"ParameterList","parameters":[],"src":"9202:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52191,"nodeType":"FunctionDefinition","src":"9294:140:64","nodes":[],"body":{"id":52190,"nodeType":"Block","src":"9345:89:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c6164647265737329","id":52184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9395:22:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},"value":"log(address,address)"},{"id":52185,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52176,"src":"9419:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52186,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52178,"src":"9423:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161","typeString":"literal_string \"log(address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52182,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9371:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52183,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9375:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9371:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9371:55:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52181,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9355:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9355:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52189,"nodeType":"ExpressionStatement","src":"9355:72:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9303:3:64","parameters":{"id":52179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52176,"mutability":"mutable","name":"p0","nameLocation":"9315:2:64","nodeType":"VariableDeclaration","scope":52191,"src":"9307:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52175,"name":"address","nodeType":"ElementaryTypeName","src":"9307:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52178,"mutability":"mutable","name":"p1","nameLocation":"9327:2:64","nodeType":"VariableDeclaration","scope":52191,"src":"9319:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52177,"name":"address","nodeType":"ElementaryTypeName","src":"9319:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9306:24:64"},"returnParameters":{"id":52180,"nodeType":"ParameterList","parameters":[],"src":"9345:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52211,"nodeType":"FunctionDefinition","src":"9440:164:64","nodes":[],"body":{"id":52210,"nodeType":"Block","src":"9503:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e7432353629","id":52203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9553:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256)"},{"id":52204,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52193,"src":"9585:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52205,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52195,"src":"9589:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52206,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52197,"src":"9593:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d1ed7a3c020c4f5939654147940a147a8e4e638fa1e8f5664b5efbd1e1f3c4a6","typeString":"literal_string \"log(uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9529:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9533:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9529:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9529:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9513:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9513:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52209,"nodeType":"ExpressionStatement","src":"9513:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9449:3:64","parameters":{"id":52198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52193,"mutability":"mutable","name":"p0","nameLocation":"9461:2:64","nodeType":"VariableDeclaration","scope":52211,"src":"9453:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52192,"name":"uint256","nodeType":"ElementaryTypeName","src":"9453:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52195,"mutability":"mutable","name":"p1","nameLocation":"9473:2:64","nodeType":"VariableDeclaration","scope":52211,"src":"9465:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52194,"name":"uint256","nodeType":"ElementaryTypeName","src":"9465:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52197,"mutability":"mutable","name":"p2","nameLocation":"9485:2:64","nodeType":"VariableDeclaration","scope":52211,"src":"9477:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52196,"name":"uint256","nodeType":"ElementaryTypeName","src":"9477:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9452:36:64"},"returnParameters":{"id":52199,"nodeType":"ParameterList","parameters":[],"src":"9503:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52231,"nodeType":"FunctionDefinition","src":"9610:169:64","nodes":[],"body":{"id":52230,"nodeType":"Block","src":"9679:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e6729","id":52223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9729:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},"value":"log(uint256,uint256,string)"},{"id":52224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52213,"src":"9760:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52215,"src":"9764:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52217,"src":"9768:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71d04af2c0d71f035017c73ec9440d8cef06157a84f0febe8ec74eca98138262","typeString":"literal_string \"log(uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9705:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9709:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9705:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9705:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9689:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9689:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52229,"nodeType":"ExpressionStatement","src":"9689:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9619:3:64","parameters":{"id":52218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52213,"mutability":"mutable","name":"p0","nameLocation":"9631:2:64","nodeType":"VariableDeclaration","scope":52231,"src":"9623:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52212,"name":"uint256","nodeType":"ElementaryTypeName","src":"9623:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52215,"mutability":"mutable","name":"p1","nameLocation":"9643:2:64","nodeType":"VariableDeclaration","scope":52231,"src":"9635:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52214,"name":"uint256","nodeType":"ElementaryTypeName","src":"9635:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52217,"mutability":"mutable","name":"p2","nameLocation":"9661:2:64","nodeType":"VariableDeclaration","scope":52231,"src":"9647:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52216,"name":"string","nodeType":"ElementaryTypeName","src":"9647:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9622:42:64"},"returnParameters":{"id":52219,"nodeType":"ParameterList","parameters":[],"src":"9679:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52251,"nodeType":"FunctionDefinition","src":"9785:158:64","nodes":[],"body":{"id":52250,"nodeType":"Block","src":"9845:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c29","id":52243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9895:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},"value":"log(uint256,uint256,bool)"},{"id":52244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52233,"src":"9924:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52235,"src":"9928:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52237,"src":"9932:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4766da72b632663e3b9911d02d6f30e0cf213f928bdb9f6fd840851875d9fce0","typeString":"literal_string \"log(uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"9871:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9875:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"9871:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9871:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"9855:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9855:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52249,"nodeType":"ExpressionStatement","src":"9855:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9794:3:64","parameters":{"id":52238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52233,"mutability":"mutable","name":"p0","nameLocation":"9806:2:64","nodeType":"VariableDeclaration","scope":52251,"src":"9798:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52232,"name":"uint256","nodeType":"ElementaryTypeName","src":"9798:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52235,"mutability":"mutable","name":"p1","nameLocation":"9818:2:64","nodeType":"VariableDeclaration","scope":52251,"src":"9810:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52234,"name":"uint256","nodeType":"ElementaryTypeName","src":"9810:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52237,"mutability":"mutable","name":"p2","nameLocation":"9827:2:64","nodeType":"VariableDeclaration","scope":52251,"src":"9822:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52236,"name":"bool","nodeType":"ElementaryTypeName","src":"9822:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9797:33:64"},"returnParameters":{"id":52239,"nodeType":"ParameterList","parameters":[],"src":"9845:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52271,"nodeType":"FunctionDefinition","src":"9949:164:64","nodes":[],"body":{"id":52270,"nodeType":"Block","src":"10012:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c6164647265737329","id":52263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10062:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},"value":"log(uint256,uint256,address)"},{"id":52264,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52253,"src":"10094:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52265,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52255,"src":"10098:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52266,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52257,"src":"10102:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c96b331e359852d9a7254105926ce8dfcc42dd4fce56a736cfb981b4c2984c1","typeString":"literal_string \"log(uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10038:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10042:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10038:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10038:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52260,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10022:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10022:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52269,"nodeType":"ExpressionStatement","src":"10022:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"9958:3:64","parameters":{"id":52258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52253,"mutability":"mutable","name":"p0","nameLocation":"9970:2:64","nodeType":"VariableDeclaration","scope":52271,"src":"9962:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52252,"name":"uint256","nodeType":"ElementaryTypeName","src":"9962:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52255,"mutability":"mutable","name":"p1","nameLocation":"9982:2:64","nodeType":"VariableDeclaration","scope":52271,"src":"9974:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52254,"name":"uint256","nodeType":"ElementaryTypeName","src":"9974:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52257,"mutability":"mutable","name":"p2","nameLocation":"9994:2:64","nodeType":"VariableDeclaration","scope":52271,"src":"9986:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52256,"name":"address","nodeType":"ElementaryTypeName","src":"9986:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9961:36:64"},"returnParameters":{"id":52259,"nodeType":"ParameterList","parameters":[],"src":"10012:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52291,"nodeType":"FunctionDefinition","src":"10119:169:64","nodes":[],"body":{"id":52290,"nodeType":"Block","src":"10188:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e7432353629","id":52283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10238:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},"value":"log(uint256,string,uint256)"},{"id":52284,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52273,"src":"10269:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52285,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52275,"src":"10273:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52286,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52277,"src":"10277:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_37aa7d4c835edd965b1201d9c03f13272bd937d8e244ab84a153693e2f2f30c0","typeString":"literal_string \"log(uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52281,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10214:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10218:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10214:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10214:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52280,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10198:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10198:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52289,"nodeType":"ExpressionStatement","src":"10198:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10128:3:64","parameters":{"id":52278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52273,"mutability":"mutable","name":"p0","nameLocation":"10140:2:64","nodeType":"VariableDeclaration","scope":52291,"src":"10132:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52272,"name":"uint256","nodeType":"ElementaryTypeName","src":"10132:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52275,"mutability":"mutable","name":"p1","nameLocation":"10158:2:64","nodeType":"VariableDeclaration","scope":52291,"src":"10144:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52274,"name":"string","nodeType":"ElementaryTypeName","src":"10144:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52277,"mutability":"mutable","name":"p2","nameLocation":"10170:2:64","nodeType":"VariableDeclaration","scope":52291,"src":"10162:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52276,"name":"uint256","nodeType":"ElementaryTypeName","src":"10162:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10131:42:64"},"returnParameters":{"id":52279,"nodeType":"ParameterList","parameters":[],"src":"10188:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52311,"nodeType":"FunctionDefinition","src":"10294:174:64","nodes":[],"body":{"id":52310,"nodeType":"Block","src":"10369:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e6729","id":52303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10419:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},"value":"log(uint256,string,string)"},{"id":52304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52293,"src":"10449:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52295,"src":"10453:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52297,"src":"10457:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b115611f13262589f336fb650c9278bd1879123a635e6a638f94e6cbdb1c1b35","typeString":"literal_string \"log(uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10395:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10399:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10395:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10395:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10379:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10379:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52309,"nodeType":"ExpressionStatement","src":"10379:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10303:3:64","parameters":{"id":52298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52293,"mutability":"mutable","name":"p0","nameLocation":"10315:2:64","nodeType":"VariableDeclaration","scope":52311,"src":"10307:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52292,"name":"uint256","nodeType":"ElementaryTypeName","src":"10307:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52295,"mutability":"mutable","name":"p1","nameLocation":"10333:2:64","nodeType":"VariableDeclaration","scope":52311,"src":"10319:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52294,"name":"string","nodeType":"ElementaryTypeName","src":"10319:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52297,"mutability":"mutable","name":"p2","nameLocation":"10351:2:64","nodeType":"VariableDeclaration","scope":52311,"src":"10337:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52296,"name":"string","nodeType":"ElementaryTypeName","src":"10337:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10306:48:64"},"returnParameters":{"id":52299,"nodeType":"ParameterList","parameters":[],"src":"10369:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52331,"nodeType":"FunctionDefinition","src":"10474:163:64","nodes":[],"body":{"id":52330,"nodeType":"Block","src":"10540:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c29","id":52323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10590:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},"value":"log(uint256,string,bool)"},{"id":52324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52313,"src":"10618:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52315,"src":"10622:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52317,"src":"10626:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4ceda75ad13e534e8b5089564c6a40ae80cd33aac3e77ef1f87a233c1d43067a","typeString":"literal_string \"log(uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10566:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10570:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10566:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10566:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10550:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10550:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52329,"nodeType":"ExpressionStatement","src":"10550:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10483:3:64","parameters":{"id":52318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52313,"mutability":"mutable","name":"p0","nameLocation":"10495:2:64","nodeType":"VariableDeclaration","scope":52331,"src":"10487:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52312,"name":"uint256","nodeType":"ElementaryTypeName","src":"10487:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52315,"mutability":"mutable","name":"p1","nameLocation":"10513:2:64","nodeType":"VariableDeclaration","scope":52331,"src":"10499:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52314,"name":"string","nodeType":"ElementaryTypeName","src":"10499:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52317,"mutability":"mutable","name":"p2","nameLocation":"10522:2:64","nodeType":"VariableDeclaration","scope":52331,"src":"10517:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52316,"name":"bool","nodeType":"ElementaryTypeName","src":"10517:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10486:39:64"},"returnParameters":{"id":52319,"nodeType":"ParameterList","parameters":[],"src":"10540:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52351,"nodeType":"FunctionDefinition","src":"10643:169:64","nodes":[],"body":{"id":52350,"nodeType":"Block","src":"10712:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c6164647265737329","id":52343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10762:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},"value":"log(uint256,string,address)"},{"id":52344,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52333,"src":"10793:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52345,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52335,"src":"10797:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52346,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52337,"src":"10801:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7afac959002f7dcdccdf461a7e6db7810eebd7217c0b7c30905b3c7e89b561f2","typeString":"literal_string \"log(uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10738:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10742:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10738:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10738:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52340,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10722:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10722:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52349,"nodeType":"ExpressionStatement","src":"10722:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10652:3:64","parameters":{"id":52338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52333,"mutability":"mutable","name":"p0","nameLocation":"10664:2:64","nodeType":"VariableDeclaration","scope":52351,"src":"10656:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52332,"name":"uint256","nodeType":"ElementaryTypeName","src":"10656:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52335,"mutability":"mutable","name":"p1","nameLocation":"10682:2:64","nodeType":"VariableDeclaration","scope":52351,"src":"10668:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52334,"name":"string","nodeType":"ElementaryTypeName","src":"10668:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52337,"mutability":"mutable","name":"p2","nameLocation":"10694:2:64","nodeType":"VariableDeclaration","scope":52351,"src":"10686:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52336,"name":"address","nodeType":"ElementaryTypeName","src":"10686:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10655:42:64"},"returnParameters":{"id":52339,"nodeType":"ParameterList","parameters":[],"src":"10712:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52371,"nodeType":"FunctionDefinition","src":"10818:158:64","nodes":[],"body":{"id":52370,"nodeType":"Block","src":"10878:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e7432353629","id":52363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10928:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},"value":"log(uint256,bool,uint256)"},{"id":52364,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52353,"src":"10957:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52365,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52355,"src":"10961:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52366,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52357,"src":"10965:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_200980147f19b368809aab41084ebebcf1e19d47edd13f2d540a6327cec213d1","typeString":"literal_string \"log(uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"10904:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"10908:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"10904:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10904:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"10888:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10888:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52369,"nodeType":"ExpressionStatement","src":"10888:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10827:3:64","parameters":{"id":52358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52353,"mutability":"mutable","name":"p0","nameLocation":"10839:2:64","nodeType":"VariableDeclaration","scope":52371,"src":"10831:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52352,"name":"uint256","nodeType":"ElementaryTypeName","src":"10831:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52355,"mutability":"mutable","name":"p1","nameLocation":"10848:2:64","nodeType":"VariableDeclaration","scope":52371,"src":"10843:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52354,"name":"bool","nodeType":"ElementaryTypeName","src":"10843:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52357,"mutability":"mutable","name":"p2","nameLocation":"10860:2:64","nodeType":"VariableDeclaration","scope":52371,"src":"10852:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52356,"name":"uint256","nodeType":"ElementaryTypeName","src":"10852:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10830:33:64"},"returnParameters":{"id":52359,"nodeType":"ParameterList","parameters":[],"src":"10878:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52391,"nodeType":"FunctionDefinition","src":"10982:163:64","nodes":[],"body":{"id":52390,"nodeType":"Block","src":"11048:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e6729","id":52383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11098:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},"value":"log(uint256,bool,string)"},{"id":52384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52373,"src":"11126:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52375,"src":"11130:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52377,"src":"11134:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85775021582c57b14e9e0b33e0f693439478099486817fe4214a503f559f37df","typeString":"literal_string \"log(uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11074:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11078:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11074:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11074:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11058:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11058:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52389,"nodeType":"ExpressionStatement","src":"11058:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"10991:3:64","parameters":{"id":52378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52373,"mutability":"mutable","name":"p0","nameLocation":"11003:2:64","nodeType":"VariableDeclaration","scope":52391,"src":"10995:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52372,"name":"uint256","nodeType":"ElementaryTypeName","src":"10995:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52375,"mutability":"mutable","name":"p1","nameLocation":"11012:2:64","nodeType":"VariableDeclaration","scope":52391,"src":"11007:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52374,"name":"bool","nodeType":"ElementaryTypeName","src":"11007:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52377,"mutability":"mutable","name":"p2","nameLocation":"11030:2:64","nodeType":"VariableDeclaration","scope":52391,"src":"11016:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52376,"name":"string","nodeType":"ElementaryTypeName","src":"11016:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10994:39:64"},"returnParameters":{"id":52379,"nodeType":"ParameterList","parameters":[],"src":"11048:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52411,"nodeType":"FunctionDefinition","src":"11151:152:64","nodes":[],"body":{"id":52410,"nodeType":"Block","src":"11208:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c29","id":52403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11258:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},"value":"log(uint256,bool,bool)"},{"id":52404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52393,"src":"11284:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52395,"src":"11288:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52397,"src":"11292:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_207186500d54a80dae0e8fae760b583cb518c2c49967db59c8f7e5596879c0b6","typeString":"literal_string \"log(uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11234:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11238:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11234:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11234:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11218:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11218:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52409,"nodeType":"ExpressionStatement","src":"11218:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11160:3:64","parameters":{"id":52398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52393,"mutability":"mutable","name":"p0","nameLocation":"11172:2:64","nodeType":"VariableDeclaration","scope":52411,"src":"11164:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52392,"name":"uint256","nodeType":"ElementaryTypeName","src":"11164:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52395,"mutability":"mutable","name":"p1","nameLocation":"11181:2:64","nodeType":"VariableDeclaration","scope":52411,"src":"11176:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52394,"name":"bool","nodeType":"ElementaryTypeName","src":"11176:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52397,"mutability":"mutable","name":"p2","nameLocation":"11190:2:64","nodeType":"VariableDeclaration","scope":52411,"src":"11185:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52396,"name":"bool","nodeType":"ElementaryTypeName","src":"11185:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11163:30:64"},"returnParameters":{"id":52399,"nodeType":"ParameterList","parameters":[],"src":"11208:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52431,"nodeType":"FunctionDefinition","src":"11309:158:64","nodes":[],"body":{"id":52430,"nodeType":"Block","src":"11369:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c6164647265737329","id":52423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11419:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},"value":"log(uint256,bool,address)"},{"id":52424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52413,"src":"11448:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52415,"src":"11452:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52417,"src":"11456:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35085f7b74fe0b67ab2d779d94b2a1efc14ce8d637e06ffda83ca305116f3c99","typeString":"literal_string \"log(uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11395:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11399:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11395:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11395:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11379:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11379:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52429,"nodeType":"ExpressionStatement","src":"11379:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11318:3:64","parameters":{"id":52418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52413,"mutability":"mutable","name":"p0","nameLocation":"11330:2:64","nodeType":"VariableDeclaration","scope":52431,"src":"11322:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52412,"name":"uint256","nodeType":"ElementaryTypeName","src":"11322:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52415,"mutability":"mutable","name":"p1","nameLocation":"11339:2:64","nodeType":"VariableDeclaration","scope":52431,"src":"11334:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52414,"name":"bool","nodeType":"ElementaryTypeName","src":"11334:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52417,"mutability":"mutable","name":"p2","nameLocation":"11351:2:64","nodeType":"VariableDeclaration","scope":52431,"src":"11343:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52416,"name":"address","nodeType":"ElementaryTypeName","src":"11343:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11321:33:64"},"returnParameters":{"id":52419,"nodeType":"ParameterList","parameters":[],"src":"11369:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52451,"nodeType":"FunctionDefinition","src":"11473:164:64","nodes":[],"body":{"id":52450,"nodeType":"Block","src":"11536:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e7432353629","id":52443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11586:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},"value":"log(uint256,address,uint256)"},{"id":52444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52433,"src":"11618:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52445,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52435,"src":"11622:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52446,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52437,"src":"11626:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a9b5ed5e0cc67953f5b0a58c12e9694944af5a126321ab88870dec3bc05a9ae","typeString":"literal_string \"log(uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11562:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11566:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11562:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11562:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11546:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11546:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52449,"nodeType":"ExpressionStatement","src":"11546:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11482:3:64","parameters":{"id":52438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52433,"mutability":"mutable","name":"p0","nameLocation":"11494:2:64","nodeType":"VariableDeclaration","scope":52451,"src":"11486:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52432,"name":"uint256","nodeType":"ElementaryTypeName","src":"11486:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52435,"mutability":"mutable","name":"p1","nameLocation":"11506:2:64","nodeType":"VariableDeclaration","scope":52451,"src":"11498:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52434,"name":"address","nodeType":"ElementaryTypeName","src":"11498:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52437,"mutability":"mutable","name":"p2","nameLocation":"11518:2:64","nodeType":"VariableDeclaration","scope":52451,"src":"11510:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52436,"name":"uint256","nodeType":"ElementaryTypeName","src":"11510:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11485:36:64"},"returnParameters":{"id":52439,"nodeType":"ParameterList","parameters":[],"src":"11536:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52471,"nodeType":"FunctionDefinition","src":"11643:169:64","nodes":[],"body":{"id":52470,"nodeType":"Block","src":"11712:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e6729","id":52463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11762:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},"value":"log(uint256,address,string)"},{"id":52464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52453,"src":"11793:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52455,"src":"11797:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52457,"src":"11801:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63cb41f9a63efe5dfacd3a2836bdef664d136fd6113f8e931c31a919af38935c","typeString":"literal_string \"log(uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11738:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11742:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11738:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11738:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11722:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11722:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52469,"nodeType":"ExpressionStatement","src":"11722:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11652:3:64","parameters":{"id":52458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52453,"mutability":"mutable","name":"p0","nameLocation":"11664:2:64","nodeType":"VariableDeclaration","scope":52471,"src":"11656:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52452,"name":"uint256","nodeType":"ElementaryTypeName","src":"11656:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52455,"mutability":"mutable","name":"p1","nameLocation":"11676:2:64","nodeType":"VariableDeclaration","scope":52471,"src":"11668:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52454,"name":"address","nodeType":"ElementaryTypeName","src":"11668:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52457,"mutability":"mutable","name":"p2","nameLocation":"11694:2:64","nodeType":"VariableDeclaration","scope":52471,"src":"11680:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52456,"name":"string","nodeType":"ElementaryTypeName","src":"11680:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11655:42:64"},"returnParameters":{"id":52459,"nodeType":"ParameterList","parameters":[],"src":"11712:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52491,"nodeType":"FunctionDefinition","src":"11818:158:64","nodes":[],"body":{"id":52490,"nodeType":"Block","src":"11878:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c29","id":52483,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11928:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},"value":"log(uint256,address,bool)"},{"id":52484,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52473,"src":"11957:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52485,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52475,"src":"11961:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52486,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52477,"src":"11965:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b6ec042c5598a780a5bfae5e9ea2c50c251da4c38db3a134b8857be618f0c5c","typeString":"literal_string \"log(uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52481,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"11904:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52482,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"11908:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"11904:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52487,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11904:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52480,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"11888:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11888:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52489,"nodeType":"ExpressionStatement","src":"11888:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11827:3:64","parameters":{"id":52478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52473,"mutability":"mutable","name":"p0","nameLocation":"11839:2:64","nodeType":"VariableDeclaration","scope":52491,"src":"11831:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52472,"name":"uint256","nodeType":"ElementaryTypeName","src":"11831:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52475,"mutability":"mutable","name":"p1","nameLocation":"11851:2:64","nodeType":"VariableDeclaration","scope":52491,"src":"11843:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52474,"name":"address","nodeType":"ElementaryTypeName","src":"11843:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52477,"mutability":"mutable","name":"p2","nameLocation":"11860:2:64","nodeType":"VariableDeclaration","scope":52491,"src":"11855:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52476,"name":"bool","nodeType":"ElementaryTypeName","src":"11855:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11830:33:64"},"returnParameters":{"id":52479,"nodeType":"ParameterList","parameters":[],"src":"11878:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52511,"nodeType":"FunctionDefinition","src":"11982:164:64","nodes":[],"body":{"id":52510,"nodeType":"Block","src":"12045:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c6164647265737329","id":52503,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12095:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},"value":"log(uint256,address,address)"},{"id":52504,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52493,"src":"12127:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52505,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52495,"src":"12131:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52506,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52497,"src":"12135:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bcfd9be04f8d6b8ee1ae73075f8fe8db10e4b254a56103daa450197029a55fda","typeString":"literal_string \"log(uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52501,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12071:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52502,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12075:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12071:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12071:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52500,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12055:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12055:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52509,"nodeType":"ExpressionStatement","src":"12055:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"11991:3:64","parameters":{"id":52498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52493,"mutability":"mutable","name":"p0","nameLocation":"12003:2:64","nodeType":"VariableDeclaration","scope":52511,"src":"11995:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52492,"name":"uint256","nodeType":"ElementaryTypeName","src":"11995:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52495,"mutability":"mutable","name":"p1","nameLocation":"12015:2:64","nodeType":"VariableDeclaration","scope":52511,"src":"12007:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52494,"name":"address","nodeType":"ElementaryTypeName","src":"12007:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52497,"mutability":"mutable","name":"p2","nameLocation":"12027:2:64","nodeType":"VariableDeclaration","scope":52511,"src":"12019:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52496,"name":"address","nodeType":"ElementaryTypeName","src":"12019:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"11994:36:64"},"returnParameters":{"id":52499,"nodeType":"ParameterList","parameters":[],"src":"12045:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52531,"nodeType":"FunctionDefinition","src":"12152:169:64","nodes":[],"body":{"id":52530,"nodeType":"Block","src":"12221:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e7432353629","id":52523,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12271:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},"value":"log(string,uint256,uint256)"},{"id":52524,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52513,"src":"12302:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52525,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52515,"src":"12306:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52526,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52517,"src":"12310:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca47c4ebe9fba29faff9e6b57fbe69e17216e7526486c463d61c06e8992beece","typeString":"literal_string \"log(string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52521,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12247:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52522,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12251:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12247:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12247:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52520,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12231:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12231:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52529,"nodeType":"ExpressionStatement","src":"12231:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12161:3:64","parameters":{"id":52518,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52513,"mutability":"mutable","name":"p0","nameLocation":"12179:2:64","nodeType":"VariableDeclaration","scope":52531,"src":"12165:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52512,"name":"string","nodeType":"ElementaryTypeName","src":"12165:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52515,"mutability":"mutable","name":"p1","nameLocation":"12191:2:64","nodeType":"VariableDeclaration","scope":52531,"src":"12183:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52514,"name":"uint256","nodeType":"ElementaryTypeName","src":"12183:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52517,"mutability":"mutable","name":"p2","nameLocation":"12203:2:64","nodeType":"VariableDeclaration","scope":52531,"src":"12195:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52516,"name":"uint256","nodeType":"ElementaryTypeName","src":"12195:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12164:42:64"},"returnParameters":{"id":52519,"nodeType":"ParameterList","parameters":[],"src":"12221:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52551,"nodeType":"FunctionDefinition","src":"12327:174:64","nodes":[],"body":{"id":52550,"nodeType":"Block","src":"12402:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e6729","id":52543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12452:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},"value":"log(string,uint256,string)"},{"id":52544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52533,"src":"12482:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52535,"src":"12486:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52537,"src":"12490:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5970e089c65c5d431d60f26e6cf1ec3984c873a96b59f1aed9fc44cdf9078bcf","typeString":"literal_string \"log(string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12428:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12432:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12428:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12428:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12412:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12412:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52549,"nodeType":"ExpressionStatement","src":"12412:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12336:3:64","parameters":{"id":52538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52533,"mutability":"mutable","name":"p0","nameLocation":"12354:2:64","nodeType":"VariableDeclaration","scope":52551,"src":"12340:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52532,"name":"string","nodeType":"ElementaryTypeName","src":"12340:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52535,"mutability":"mutable","name":"p1","nameLocation":"12366:2:64","nodeType":"VariableDeclaration","scope":52551,"src":"12358:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52534,"name":"uint256","nodeType":"ElementaryTypeName","src":"12358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52537,"mutability":"mutable","name":"p2","nameLocation":"12384:2:64","nodeType":"VariableDeclaration","scope":52551,"src":"12370:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52536,"name":"string","nodeType":"ElementaryTypeName","src":"12370:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12339:48:64"},"returnParameters":{"id":52539,"nodeType":"ParameterList","parameters":[],"src":"12402:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52571,"nodeType":"FunctionDefinition","src":"12507:163:64","nodes":[],"body":{"id":52570,"nodeType":"Block","src":"12573:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c29","id":52563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12623:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},"value":"log(string,uint256,bool)"},{"id":52564,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52553,"src":"12651:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52565,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52555,"src":"12655:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52566,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52557,"src":"12659:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ca7733b1b473f13a94152fab2b969755f42d925703a46c93a1825aad614f145e","typeString":"literal_string \"log(string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52561,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12599:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12603:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12599:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12599:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52560,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12583:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12583:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52569,"nodeType":"ExpressionStatement","src":"12583:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12516:3:64","parameters":{"id":52558,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52553,"mutability":"mutable","name":"p0","nameLocation":"12534:2:64","nodeType":"VariableDeclaration","scope":52571,"src":"12520:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52552,"name":"string","nodeType":"ElementaryTypeName","src":"12520:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52555,"mutability":"mutable","name":"p1","nameLocation":"12546:2:64","nodeType":"VariableDeclaration","scope":52571,"src":"12538:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52554,"name":"uint256","nodeType":"ElementaryTypeName","src":"12538:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52557,"mutability":"mutable","name":"p2","nameLocation":"12555:2:64","nodeType":"VariableDeclaration","scope":52571,"src":"12550:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52556,"name":"bool","nodeType":"ElementaryTypeName","src":"12550:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"12519:39:64"},"returnParameters":{"id":52559,"nodeType":"ParameterList","parameters":[],"src":"12573:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52591,"nodeType":"FunctionDefinition","src":"12676:169:64","nodes":[],"body":{"id":52590,"nodeType":"Block","src":"12745:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c6164647265737329","id":52583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12795:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},"value":"log(string,uint256,address)"},{"id":52584,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52573,"src":"12826:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52585,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52575,"src":"12830:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52586,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52577,"src":"12834:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c7ec4485ea8bf18e646e5381f7318f45423199ed371307bc9171a4242f27335","typeString":"literal_string \"log(string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52581,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12771:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52582,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12775:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12771:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12771:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52580,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12755:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12755:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52589,"nodeType":"ExpressionStatement","src":"12755:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12685:3:64","parameters":{"id":52578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52573,"mutability":"mutable","name":"p0","nameLocation":"12703:2:64","nodeType":"VariableDeclaration","scope":52591,"src":"12689:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52572,"name":"string","nodeType":"ElementaryTypeName","src":"12689:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52575,"mutability":"mutable","name":"p1","nameLocation":"12715:2:64","nodeType":"VariableDeclaration","scope":52591,"src":"12707:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52574,"name":"uint256","nodeType":"ElementaryTypeName","src":"12707:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52577,"mutability":"mutable","name":"p2","nameLocation":"12727:2:64","nodeType":"VariableDeclaration","scope":52591,"src":"12719:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52576,"name":"address","nodeType":"ElementaryTypeName","src":"12719:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"12688:42:64"},"returnParameters":{"id":52579,"nodeType":"ParameterList","parameters":[],"src":"12745:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52611,"nodeType":"FunctionDefinition","src":"12851:174:64","nodes":[],"body":{"id":52610,"nodeType":"Block","src":"12926:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e7432353629","id":52603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12976:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},"value":"log(string,string,uint256)"},{"id":52604,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52593,"src":"13006:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52605,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52595,"src":"13010:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52606,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52597,"src":"13014:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5821efa12787fd2b80909e807f1dcc73717b87128d89e827e5b876178f2fdbd0","typeString":"literal_string \"log(string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52601,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"12952:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52602,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"12956:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"12952:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12952:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52600,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"12936:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12936:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52609,"nodeType":"ExpressionStatement","src":"12936:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"12860:3:64","parameters":{"id":52598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52593,"mutability":"mutable","name":"p0","nameLocation":"12878:2:64","nodeType":"VariableDeclaration","scope":52611,"src":"12864:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52592,"name":"string","nodeType":"ElementaryTypeName","src":"12864:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52595,"mutability":"mutable","name":"p1","nameLocation":"12896:2:64","nodeType":"VariableDeclaration","scope":52611,"src":"12882:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52594,"name":"string","nodeType":"ElementaryTypeName","src":"12882:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52597,"mutability":"mutable","name":"p2","nameLocation":"12908:2:64","nodeType":"VariableDeclaration","scope":52611,"src":"12900:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52596,"name":"uint256","nodeType":"ElementaryTypeName","src":"12900:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12863:48:64"},"returnParameters":{"id":52599,"nodeType":"ParameterList","parameters":[],"src":"12926:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52631,"nodeType":"FunctionDefinition","src":"13031:179:64","nodes":[],"body":{"id":52630,"nodeType":"Block","src":"13112:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e6729","id":52623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13162:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},"value":"log(string,string,string)"},{"id":52624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52613,"src":"13191:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52615,"src":"13195:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52617,"src":"13199:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f","typeString":"literal_string \"log(string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13138:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13142:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13138:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52627,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13138:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13122:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13122:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52629,"nodeType":"ExpressionStatement","src":"13122:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13040:3:64","parameters":{"id":52618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52613,"mutability":"mutable","name":"p0","nameLocation":"13058:2:64","nodeType":"VariableDeclaration","scope":52631,"src":"13044:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52612,"name":"string","nodeType":"ElementaryTypeName","src":"13044:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52615,"mutability":"mutable","name":"p1","nameLocation":"13076:2:64","nodeType":"VariableDeclaration","scope":52631,"src":"13062:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52614,"name":"string","nodeType":"ElementaryTypeName","src":"13062:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52617,"mutability":"mutable","name":"p2","nameLocation":"13094:2:64","nodeType":"VariableDeclaration","scope":52631,"src":"13080:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52616,"name":"string","nodeType":"ElementaryTypeName","src":"13080:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13043:54:64"},"returnParameters":{"id":52619,"nodeType":"ParameterList","parameters":[],"src":"13112:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52651,"nodeType":"FunctionDefinition","src":"13216:168:64","nodes":[],"body":{"id":52650,"nodeType":"Block","src":"13288:96:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c29","id":52643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13338:25:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},"value":"log(string,string,bool)"},{"id":52644,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52633,"src":"13365:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52645,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52635,"src":"13369:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52646,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52637,"src":"13373:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb","typeString":"literal_string \"log(string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52641,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13314:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52642,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13318:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13314:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13314:62:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52640,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13298:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13298:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52649,"nodeType":"ExpressionStatement","src":"13298:79:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13225:3:64","parameters":{"id":52638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52633,"mutability":"mutable","name":"p0","nameLocation":"13243:2:64","nodeType":"VariableDeclaration","scope":52651,"src":"13229:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52632,"name":"string","nodeType":"ElementaryTypeName","src":"13229:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52635,"mutability":"mutable","name":"p1","nameLocation":"13261:2:64","nodeType":"VariableDeclaration","scope":52651,"src":"13247:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52634,"name":"string","nodeType":"ElementaryTypeName","src":"13247:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52637,"mutability":"mutable","name":"p2","nameLocation":"13270:2:64","nodeType":"VariableDeclaration","scope":52651,"src":"13265:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52636,"name":"bool","nodeType":"ElementaryTypeName","src":"13265:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13228:45:64"},"returnParameters":{"id":52639,"nodeType":"ParameterList","parameters":[],"src":"13288:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52671,"nodeType":"FunctionDefinition","src":"13390:174:64","nodes":[],"body":{"id":52670,"nodeType":"Block","src":"13465:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c6164647265737329","id":52663,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13515:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},"value":"log(string,string,address)"},{"id":52664,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52653,"src":"13545:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52665,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52655,"src":"13549:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52666,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52657,"src":"13553:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768","typeString":"literal_string \"log(string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52661,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13491:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52662,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13495:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13491:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13491:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52660,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13475:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13475:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52669,"nodeType":"ExpressionStatement","src":"13475:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13399:3:64","parameters":{"id":52658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52653,"mutability":"mutable","name":"p0","nameLocation":"13417:2:64","nodeType":"VariableDeclaration","scope":52671,"src":"13403:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52652,"name":"string","nodeType":"ElementaryTypeName","src":"13403:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52655,"mutability":"mutable","name":"p1","nameLocation":"13435:2:64","nodeType":"VariableDeclaration","scope":52671,"src":"13421:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52654,"name":"string","nodeType":"ElementaryTypeName","src":"13421:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52657,"mutability":"mutable","name":"p2","nameLocation":"13447:2:64","nodeType":"VariableDeclaration","scope":52671,"src":"13439:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52656,"name":"address","nodeType":"ElementaryTypeName","src":"13439:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"13402:48:64"},"returnParameters":{"id":52659,"nodeType":"ParameterList","parameters":[],"src":"13465:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52691,"nodeType":"FunctionDefinition","src":"13570:163:64","nodes":[],"body":{"id":52690,"nodeType":"Block","src":"13636:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e7432353629","id":52683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13686:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},"value":"log(string,bool,uint256)"},{"id":52684,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52673,"src":"13714:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52685,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52675,"src":"13718:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52686,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52677,"src":"13722:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c95958d6bc6e492868f9bea34fa0d5d3bf60736d44598880e7a9a99746b5d26a","typeString":"literal_string \"log(string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52681,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13662:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13666:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13662:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13662:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13646:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13646:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52689,"nodeType":"ExpressionStatement","src":"13646:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13579:3:64","parameters":{"id":52678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52673,"mutability":"mutable","name":"p0","nameLocation":"13597:2:64","nodeType":"VariableDeclaration","scope":52691,"src":"13583:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52672,"name":"string","nodeType":"ElementaryTypeName","src":"13583:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52675,"mutability":"mutable","name":"p1","nameLocation":"13606:2:64","nodeType":"VariableDeclaration","scope":52691,"src":"13601:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52674,"name":"bool","nodeType":"ElementaryTypeName","src":"13601:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52677,"mutability":"mutable","name":"p2","nameLocation":"13618:2:64","nodeType":"VariableDeclaration","scope":52691,"src":"13610:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52676,"name":"uint256","nodeType":"ElementaryTypeName","src":"13610:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13582:39:64"},"returnParameters":{"id":52679,"nodeType":"ParameterList","parameters":[],"src":"13636:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52711,"nodeType":"FunctionDefinition","src":"13739:168:64","nodes":[],"body":{"id":52710,"nodeType":"Block","src":"13811:96:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e6729","id":52703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13861:25:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},"value":"log(string,bool,string)"},{"id":52704,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52693,"src":"13888:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52705,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52695,"src":"13892:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52706,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52697,"src":"13896:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7","typeString":"literal_string \"log(string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52701,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"13837:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52702,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"13841:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"13837:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52707,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13837:62:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52700,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13821:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13821:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52709,"nodeType":"ExpressionStatement","src":"13821:79:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13748:3:64","parameters":{"id":52698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52693,"mutability":"mutable","name":"p0","nameLocation":"13766:2:64","nodeType":"VariableDeclaration","scope":52711,"src":"13752:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52692,"name":"string","nodeType":"ElementaryTypeName","src":"13752:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52695,"mutability":"mutable","name":"p1","nameLocation":"13775:2:64","nodeType":"VariableDeclaration","scope":52711,"src":"13770:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52694,"name":"bool","nodeType":"ElementaryTypeName","src":"13770:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52697,"mutability":"mutable","name":"p2","nameLocation":"13793:2:64","nodeType":"VariableDeclaration","scope":52711,"src":"13779:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52696,"name":"string","nodeType":"ElementaryTypeName","src":"13779:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13751:45:64"},"returnParameters":{"id":52699,"nodeType":"ParameterList","parameters":[],"src":"13811:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52731,"nodeType":"FunctionDefinition","src":"13913:157:64","nodes":[],"body":{"id":52730,"nodeType":"Block","src":"13976:94:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c29","id":52723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14026:23:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},"value":"log(string,bool,bool)"},{"id":52724,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52713,"src":"14051:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52725,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52715,"src":"14055:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52726,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52717,"src":"14059:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d","typeString":"literal_string \"log(string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52721,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14002:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52722,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14006:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14002:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14002:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52720,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"13986:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13986:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52729,"nodeType":"ExpressionStatement","src":"13986:77:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"13922:3:64","parameters":{"id":52718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52713,"mutability":"mutable","name":"p0","nameLocation":"13940:2:64","nodeType":"VariableDeclaration","scope":52731,"src":"13926:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52712,"name":"string","nodeType":"ElementaryTypeName","src":"13926:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52715,"mutability":"mutable","name":"p1","nameLocation":"13949:2:64","nodeType":"VariableDeclaration","scope":52731,"src":"13944:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52714,"name":"bool","nodeType":"ElementaryTypeName","src":"13944:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52717,"mutability":"mutable","name":"p2","nameLocation":"13958:2:64","nodeType":"VariableDeclaration","scope":52731,"src":"13953:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52716,"name":"bool","nodeType":"ElementaryTypeName","src":"13953:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"13925:36:64"},"returnParameters":{"id":52719,"nodeType":"ParameterList","parameters":[],"src":"13976:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52751,"nodeType":"FunctionDefinition","src":"14076:163:64","nodes":[],"body":{"id":52750,"nodeType":"Block","src":"14142:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c6164647265737329","id":52743,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14192:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},"value":"log(string,bool,address)"},{"id":52744,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52733,"src":"14220:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52745,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52735,"src":"14224:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52746,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52737,"src":"14228:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f","typeString":"literal_string \"log(string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14168:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14172:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14168:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14168:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52740,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"14152:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14152:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52749,"nodeType":"ExpressionStatement","src":"14152:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14085:3:64","parameters":{"id":52738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52733,"mutability":"mutable","name":"p0","nameLocation":"14103:2:64","nodeType":"VariableDeclaration","scope":52751,"src":"14089:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52732,"name":"string","nodeType":"ElementaryTypeName","src":"14089:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52735,"mutability":"mutable","name":"p1","nameLocation":"14112:2:64","nodeType":"VariableDeclaration","scope":52751,"src":"14107:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52734,"name":"bool","nodeType":"ElementaryTypeName","src":"14107:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52737,"mutability":"mutable","name":"p2","nameLocation":"14124:2:64","nodeType":"VariableDeclaration","scope":52751,"src":"14116:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52736,"name":"address","nodeType":"ElementaryTypeName","src":"14116:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14088:39:64"},"returnParameters":{"id":52739,"nodeType":"ParameterList","parameters":[],"src":"14142:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52771,"nodeType":"FunctionDefinition","src":"14245:169:64","nodes":[],"body":{"id":52770,"nodeType":"Block","src":"14314:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e7432353629","id":52763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14364:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},"value":"log(string,address,uint256)"},{"id":52764,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52753,"src":"14395:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52765,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52755,"src":"14399:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52766,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52757,"src":"14403:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d26b92533630e908cb95a1b2ed09291c6aa98f8da7094a2325f8c86cd45e5e4","typeString":"literal_string \"log(string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14340:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14344:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14340:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14340:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52760,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"14324:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14324:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52769,"nodeType":"ExpressionStatement","src":"14324:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14254:3:64","parameters":{"id":52758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52753,"mutability":"mutable","name":"p0","nameLocation":"14272:2:64","nodeType":"VariableDeclaration","scope":52771,"src":"14258:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52752,"name":"string","nodeType":"ElementaryTypeName","src":"14258:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52755,"mutability":"mutable","name":"p1","nameLocation":"14284:2:64","nodeType":"VariableDeclaration","scope":52771,"src":"14276:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52754,"name":"address","nodeType":"ElementaryTypeName","src":"14276:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52757,"mutability":"mutable","name":"p2","nameLocation":"14296:2:64","nodeType":"VariableDeclaration","scope":52771,"src":"14288:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52756,"name":"uint256","nodeType":"ElementaryTypeName","src":"14288:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14257:42:64"},"returnParameters":{"id":52759,"nodeType":"ParameterList","parameters":[],"src":"14314:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52791,"nodeType":"FunctionDefinition","src":"14420:174:64","nodes":[],"body":{"id":52790,"nodeType":"Block","src":"14495:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e6729","id":52783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14545:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},"value":"log(string,address,string)"},{"id":52784,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52773,"src":"14575:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52785,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52775,"src":"14579:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52786,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52777,"src":"14583:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634","typeString":"literal_string \"log(string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52781,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14521:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52782,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14525:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14521:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14521:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52780,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"14505:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14505:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52789,"nodeType":"ExpressionStatement","src":"14505:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14429:3:64","parameters":{"id":52778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52773,"mutability":"mutable","name":"p0","nameLocation":"14447:2:64","nodeType":"VariableDeclaration","scope":52791,"src":"14433:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52772,"name":"string","nodeType":"ElementaryTypeName","src":"14433:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52775,"mutability":"mutable","name":"p1","nameLocation":"14459:2:64","nodeType":"VariableDeclaration","scope":52791,"src":"14451:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52774,"name":"address","nodeType":"ElementaryTypeName","src":"14451:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52777,"mutability":"mutable","name":"p2","nameLocation":"14477:2:64","nodeType":"VariableDeclaration","scope":52791,"src":"14463:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52776,"name":"string","nodeType":"ElementaryTypeName","src":"14463:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14432:48:64"},"returnParameters":{"id":52779,"nodeType":"ParameterList","parameters":[],"src":"14495:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52811,"nodeType":"FunctionDefinition","src":"14600:163:64","nodes":[],"body":{"id":52810,"nodeType":"Block","src":"14666:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c29","id":52803,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14716:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},"value":"log(string,address,bool)"},{"id":52804,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52793,"src":"14744:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52805,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52795,"src":"14748:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52806,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52797,"src":"14752:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8","typeString":"literal_string \"log(string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52801,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14692:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52802,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14696:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14692:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52807,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14692:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52800,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"14676:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52808,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14676:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52809,"nodeType":"ExpressionStatement","src":"14676:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14609:3:64","parameters":{"id":52798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52793,"mutability":"mutable","name":"p0","nameLocation":"14627:2:64","nodeType":"VariableDeclaration","scope":52811,"src":"14613:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52792,"name":"string","nodeType":"ElementaryTypeName","src":"14613:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52795,"mutability":"mutable","name":"p1","nameLocation":"14639:2:64","nodeType":"VariableDeclaration","scope":52811,"src":"14631:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52794,"name":"address","nodeType":"ElementaryTypeName","src":"14631:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52797,"mutability":"mutable","name":"p2","nameLocation":"14648:2:64","nodeType":"VariableDeclaration","scope":52811,"src":"14643:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52796,"name":"bool","nodeType":"ElementaryTypeName","src":"14643:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14612:39:64"},"returnParameters":{"id":52799,"nodeType":"ParameterList","parameters":[],"src":"14666:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52831,"nodeType":"FunctionDefinition","src":"14769:169:64","nodes":[],"body":{"id":52830,"nodeType":"Block","src":"14838:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c6164647265737329","id":52823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14888:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},"value":"log(string,address,address)"},{"id":52824,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52813,"src":"14919:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52825,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52815,"src":"14923:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":52826,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52817,"src":"14927:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8","typeString":"literal_string \"log(string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52821,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"14864:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14868:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"14864:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14864:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52820,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"14848:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14848:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52829,"nodeType":"ExpressionStatement","src":"14848:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14778:3:64","parameters":{"id":52818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52813,"mutability":"mutable","name":"p0","nameLocation":"14796:2:64","nodeType":"VariableDeclaration","scope":52831,"src":"14782:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52812,"name":"string","nodeType":"ElementaryTypeName","src":"14782:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52815,"mutability":"mutable","name":"p1","nameLocation":"14808:2:64","nodeType":"VariableDeclaration","scope":52831,"src":"14800:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52814,"name":"address","nodeType":"ElementaryTypeName","src":"14800:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":52817,"mutability":"mutable","name":"p2","nameLocation":"14820:2:64","nodeType":"VariableDeclaration","scope":52831,"src":"14812:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52816,"name":"address","nodeType":"ElementaryTypeName","src":"14812:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14781:42:64"},"returnParameters":{"id":52819,"nodeType":"ParameterList","parameters":[],"src":"14838:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52851,"nodeType":"FunctionDefinition","src":"14944:158:64","nodes":[],"body":{"id":52850,"nodeType":"Block","src":"15004:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e7432353629","id":52843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15054:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},"value":"log(bool,uint256,uint256)"},{"id":52844,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52833,"src":"15083:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52845,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52835,"src":"15087:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52846,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52837,"src":"15091:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_371033677da72158a60d6dc6ec9fa4683ad37ad854670ba3fcf814603cf8bb28","typeString":"literal_string \"log(bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15030:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15034:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15030:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15030:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15014:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15014:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52849,"nodeType":"ExpressionStatement","src":"15014:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"14953:3:64","parameters":{"id":52838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52833,"mutability":"mutable","name":"p0","nameLocation":"14962:2:64","nodeType":"VariableDeclaration","scope":52851,"src":"14957:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52832,"name":"bool","nodeType":"ElementaryTypeName","src":"14957:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52835,"mutability":"mutable","name":"p1","nameLocation":"14974:2:64","nodeType":"VariableDeclaration","scope":52851,"src":"14966:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52834,"name":"uint256","nodeType":"ElementaryTypeName","src":"14966:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52837,"mutability":"mutable","name":"p2","nameLocation":"14986:2:64","nodeType":"VariableDeclaration","scope":52851,"src":"14978:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52836,"name":"uint256","nodeType":"ElementaryTypeName","src":"14978:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14956:33:64"},"returnParameters":{"id":52839,"nodeType":"ParameterList","parameters":[],"src":"15004:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52871,"nodeType":"FunctionDefinition","src":"15108:163:64","nodes":[],"body":{"id":52870,"nodeType":"Block","src":"15174:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e6729","id":52863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15224:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},"value":"log(bool,uint256,string)"},{"id":52864,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52853,"src":"15252:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52865,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52855,"src":"15256:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52866,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52857,"src":"15260:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3fc3970359ec5bcd4a409af812c658e77b7983043c9e7299db566fbd8131447","typeString":"literal_string \"log(bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15200:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15204:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15200:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15200:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52860,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15184:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15184:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52869,"nodeType":"ExpressionStatement","src":"15184:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15117:3:64","parameters":{"id":52858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52853,"mutability":"mutable","name":"p0","nameLocation":"15126:2:64","nodeType":"VariableDeclaration","scope":52871,"src":"15121:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52852,"name":"bool","nodeType":"ElementaryTypeName","src":"15121:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52855,"mutability":"mutable","name":"p1","nameLocation":"15138:2:64","nodeType":"VariableDeclaration","scope":52871,"src":"15130:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52854,"name":"uint256","nodeType":"ElementaryTypeName","src":"15130:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52857,"mutability":"mutable","name":"p2","nameLocation":"15156:2:64","nodeType":"VariableDeclaration","scope":52871,"src":"15142:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52856,"name":"string","nodeType":"ElementaryTypeName","src":"15142:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15120:39:64"},"returnParameters":{"id":52859,"nodeType":"ParameterList","parameters":[],"src":"15174:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52891,"nodeType":"FunctionDefinition","src":"15277:152:64","nodes":[],"body":{"id":52890,"nodeType":"Block","src":"15334:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c29","id":52883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15384:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},"value":"log(bool,uint256,bool)"},{"id":52884,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52873,"src":"15410:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52885,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52875,"src":"15414:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52886,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52877,"src":"15418:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8defba9dac8a3ed4ad0f711b733171fd223b5d127b3485540d69bec05995a26","typeString":"literal_string \"log(bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52881,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15360:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52882,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15364:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15360:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15360:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52880,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15344:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15344:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52889,"nodeType":"ExpressionStatement","src":"15344:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15286:3:64","parameters":{"id":52878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52873,"mutability":"mutable","name":"p0","nameLocation":"15295:2:64","nodeType":"VariableDeclaration","scope":52891,"src":"15290:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52872,"name":"bool","nodeType":"ElementaryTypeName","src":"15290:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52875,"mutability":"mutable","name":"p1","nameLocation":"15307:2:64","nodeType":"VariableDeclaration","scope":52891,"src":"15299:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52874,"name":"uint256","nodeType":"ElementaryTypeName","src":"15299:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52877,"mutability":"mutable","name":"p2","nameLocation":"15316:2:64","nodeType":"VariableDeclaration","scope":52891,"src":"15311:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52876,"name":"bool","nodeType":"ElementaryTypeName","src":"15311:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15289:30:64"},"returnParameters":{"id":52879,"nodeType":"ParameterList","parameters":[],"src":"15334:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52911,"nodeType":"FunctionDefinition","src":"15435:158:64","nodes":[],"body":{"id":52910,"nodeType":"Block","src":"15495:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c6164647265737329","id":52903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15545:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},"value":"log(bool,uint256,address)"},{"id":52904,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52893,"src":"15574:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52905,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52895,"src":"15578:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":52906,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52897,"src":"15582:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_088ef9d2f4d01d13401423c19b7f189200a7ad3f567d9e20f37299f94f92f574","typeString":"literal_string \"log(bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52901,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15521:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52902,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15525:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15521:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15521:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52900,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15505:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15505:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52909,"nodeType":"ExpressionStatement","src":"15505:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15444:3:64","parameters":{"id":52898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52893,"mutability":"mutable","name":"p0","nameLocation":"15453:2:64","nodeType":"VariableDeclaration","scope":52911,"src":"15448:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52892,"name":"bool","nodeType":"ElementaryTypeName","src":"15448:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52895,"mutability":"mutable","name":"p1","nameLocation":"15465:2:64","nodeType":"VariableDeclaration","scope":52911,"src":"15457:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52894,"name":"uint256","nodeType":"ElementaryTypeName","src":"15457:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52897,"mutability":"mutable","name":"p2","nameLocation":"15477:2:64","nodeType":"VariableDeclaration","scope":52911,"src":"15469:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52896,"name":"address","nodeType":"ElementaryTypeName","src":"15469:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"15447:33:64"},"returnParameters":{"id":52899,"nodeType":"ParameterList","parameters":[],"src":"15495:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52931,"nodeType":"FunctionDefinition","src":"15599:163:64","nodes":[],"body":{"id":52930,"nodeType":"Block","src":"15665:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e7432353629","id":52923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15715:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},"value":"log(bool,string,uint256)"},{"id":52924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52913,"src":"15743:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52915,"src":"15747:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52926,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52917,"src":"15751:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1093ee11e671928331708700100b356c86a8494f33b170ddcffd95462a0adf64","typeString":"literal_string \"log(bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":52921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15691:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15695:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15691:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15691:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15675:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15675:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52929,"nodeType":"ExpressionStatement","src":"15675:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15608:3:64","parameters":{"id":52918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52913,"mutability":"mutable","name":"p0","nameLocation":"15617:2:64","nodeType":"VariableDeclaration","scope":52931,"src":"15612:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52912,"name":"bool","nodeType":"ElementaryTypeName","src":"15612:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52915,"mutability":"mutable","name":"p1","nameLocation":"15635:2:64","nodeType":"VariableDeclaration","scope":52931,"src":"15621:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52914,"name":"string","nodeType":"ElementaryTypeName","src":"15621:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52917,"mutability":"mutable","name":"p2","nameLocation":"15647:2:64","nodeType":"VariableDeclaration","scope":52931,"src":"15639:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52916,"name":"uint256","nodeType":"ElementaryTypeName","src":"15639:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15611:39:64"},"returnParameters":{"id":52919,"nodeType":"ParameterList","parameters":[],"src":"15665:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52951,"nodeType":"FunctionDefinition","src":"15768:168:64","nodes":[],"body":{"id":52950,"nodeType":"Block","src":"15840:96:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e6729","id":52943,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15890:25:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},"value":"log(bool,string,string)"},{"id":52944,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52933,"src":"15917:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52945,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52935,"src":"15921:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52946,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52937,"src":"15925:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102","typeString":"literal_string \"log(bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":52941,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"15866:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52942,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"15870:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"15866:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15866:62:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52940,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"15850:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52948,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15850:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52949,"nodeType":"ExpressionStatement","src":"15850:79:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15777:3:64","parameters":{"id":52938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52933,"mutability":"mutable","name":"p0","nameLocation":"15786:2:64","nodeType":"VariableDeclaration","scope":52951,"src":"15781:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52932,"name":"bool","nodeType":"ElementaryTypeName","src":"15781:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52935,"mutability":"mutable","name":"p1","nameLocation":"15804:2:64","nodeType":"VariableDeclaration","scope":52951,"src":"15790:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52934,"name":"string","nodeType":"ElementaryTypeName","src":"15790:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52937,"mutability":"mutable","name":"p2","nameLocation":"15822:2:64","nodeType":"VariableDeclaration","scope":52951,"src":"15808:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52936,"name":"string","nodeType":"ElementaryTypeName","src":"15808:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15780:45:64"},"returnParameters":{"id":52939,"nodeType":"ParameterList","parameters":[],"src":"15840:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52971,"nodeType":"FunctionDefinition","src":"15942:157:64","nodes":[],"body":{"id":52970,"nodeType":"Block","src":"16005:94:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c29","id":52963,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16055:23:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},"value":"log(bool,string,bool)"},{"id":52964,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52953,"src":"16080:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52965,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52955,"src":"16084:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52966,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52957,"src":"16088:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa","typeString":"literal_string \"log(bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":52961,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16031:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52962,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16035:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16031:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16031:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52960,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16015:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16015:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52969,"nodeType":"ExpressionStatement","src":"16015:77:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"15951:3:64","parameters":{"id":52958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52953,"mutability":"mutable","name":"p0","nameLocation":"15960:2:64","nodeType":"VariableDeclaration","scope":52971,"src":"15955:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52952,"name":"bool","nodeType":"ElementaryTypeName","src":"15955:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52955,"mutability":"mutable","name":"p1","nameLocation":"15978:2:64","nodeType":"VariableDeclaration","scope":52971,"src":"15964:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52954,"name":"string","nodeType":"ElementaryTypeName","src":"15964:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52957,"mutability":"mutable","name":"p2","nameLocation":"15987:2:64","nodeType":"VariableDeclaration","scope":52971,"src":"15982:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52956,"name":"bool","nodeType":"ElementaryTypeName","src":"15982:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"15954:36:64"},"returnParameters":{"id":52959,"nodeType":"ParameterList","parameters":[],"src":"16005:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":52991,"nodeType":"FunctionDefinition","src":"16105:163:64","nodes":[],"body":{"id":52990,"nodeType":"Block","src":"16171:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c6164647265737329","id":52983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16221:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},"value":"log(bool,string,address)"},{"id":52984,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52973,"src":"16249:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":52985,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52975,"src":"16253:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":52986,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52977,"src":"16257:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79","typeString":"literal_string \"log(bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":52981,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16197:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":52982,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16201:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16197:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":52987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16197:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":52980,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16181:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":52988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16181:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":52989,"nodeType":"ExpressionStatement","src":"16181:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16114:3:64","parameters":{"id":52978,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52973,"mutability":"mutable","name":"p0","nameLocation":"16123:2:64","nodeType":"VariableDeclaration","scope":52991,"src":"16118:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52972,"name":"bool","nodeType":"ElementaryTypeName","src":"16118:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52975,"mutability":"mutable","name":"p1","nameLocation":"16141:2:64","nodeType":"VariableDeclaration","scope":52991,"src":"16127:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":52974,"name":"string","nodeType":"ElementaryTypeName","src":"16127:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":52977,"mutability":"mutable","name":"p2","nameLocation":"16153:2:64","nodeType":"VariableDeclaration","scope":52991,"src":"16145:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":52976,"name":"address","nodeType":"ElementaryTypeName","src":"16145:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16117:39:64"},"returnParameters":{"id":52979,"nodeType":"ParameterList","parameters":[],"src":"16171:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53011,"nodeType":"FunctionDefinition","src":"16274:152:64","nodes":[],"body":{"id":53010,"nodeType":"Block","src":"16331:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e7432353629","id":53003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16381:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},"value":"log(bool,bool,uint256)"},{"id":53004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52993,"src":"16407:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52995,"src":"16411:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52997,"src":"16415:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12f216023a0243e7ece19b75fc4619b59ea663e0aefdf2e4b1faa16a9fa3a211","typeString":"literal_string \"log(bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16357:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16361:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16357:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16357:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16341:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16341:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53009,"nodeType":"ExpressionStatement","src":"16341:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16283:3:64","parameters":{"id":52998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":52993,"mutability":"mutable","name":"p0","nameLocation":"16292:2:64","nodeType":"VariableDeclaration","scope":53011,"src":"16287:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52992,"name":"bool","nodeType":"ElementaryTypeName","src":"16287:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52995,"mutability":"mutable","name":"p1","nameLocation":"16301:2:64","nodeType":"VariableDeclaration","scope":53011,"src":"16296:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":52994,"name":"bool","nodeType":"ElementaryTypeName","src":"16296:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":52997,"mutability":"mutable","name":"p2","nameLocation":"16313:2:64","nodeType":"VariableDeclaration","scope":53011,"src":"16305:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":52996,"name":"uint256","nodeType":"ElementaryTypeName","src":"16305:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16286:30:64"},"returnParameters":{"id":52999,"nodeType":"ParameterList","parameters":[],"src":"16331:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53031,"nodeType":"FunctionDefinition","src":"16432:157:64","nodes":[],"body":{"id":53030,"nodeType":"Block","src":"16495:94:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e6729","id":53023,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16545:23:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},"value":"log(bool,bool,string)"},{"id":53024,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53013,"src":"16570:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53025,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53015,"src":"16574:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53026,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53017,"src":"16578:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc","typeString":"literal_string \"log(bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53021,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16521:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53022,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16525:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16521:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16521:60:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53020,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16505:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53028,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16505:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53029,"nodeType":"ExpressionStatement","src":"16505:77:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16441:3:64","parameters":{"id":53018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53013,"mutability":"mutable","name":"p0","nameLocation":"16450:2:64","nodeType":"VariableDeclaration","scope":53031,"src":"16445:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53012,"name":"bool","nodeType":"ElementaryTypeName","src":"16445:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53015,"mutability":"mutable","name":"p1","nameLocation":"16459:2:64","nodeType":"VariableDeclaration","scope":53031,"src":"16454:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53014,"name":"bool","nodeType":"ElementaryTypeName","src":"16454:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53017,"mutability":"mutable","name":"p2","nameLocation":"16477:2:64","nodeType":"VariableDeclaration","scope":53031,"src":"16463:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53016,"name":"string","nodeType":"ElementaryTypeName","src":"16463:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16444:36:64"},"returnParameters":{"id":53019,"nodeType":"ParameterList","parameters":[],"src":"16495:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53051,"nodeType":"FunctionDefinition","src":"16595:146:64","nodes":[],"body":{"id":53050,"nodeType":"Block","src":"16649:92:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c29","id":53043,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16699:21:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},"value":"log(bool,bool,bool)"},{"id":53044,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53033,"src":"16722:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53045,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53035,"src":"16726:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53046,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53037,"src":"16730:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590","typeString":"literal_string \"log(bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53041,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16675:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53042,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16679:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16675:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16675:58:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53040,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16659:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53048,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16659:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53049,"nodeType":"ExpressionStatement","src":"16659:75:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16604:3:64","parameters":{"id":53038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53033,"mutability":"mutable","name":"p0","nameLocation":"16613:2:64","nodeType":"VariableDeclaration","scope":53051,"src":"16608:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53032,"name":"bool","nodeType":"ElementaryTypeName","src":"16608:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53035,"mutability":"mutable","name":"p1","nameLocation":"16622:2:64","nodeType":"VariableDeclaration","scope":53051,"src":"16617:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53034,"name":"bool","nodeType":"ElementaryTypeName","src":"16617:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53037,"mutability":"mutable","name":"p2","nameLocation":"16631:2:64","nodeType":"VariableDeclaration","scope":53051,"src":"16626:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53036,"name":"bool","nodeType":"ElementaryTypeName","src":"16626:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"16607:27:64"},"returnParameters":{"id":53039,"nodeType":"ParameterList","parameters":[],"src":"16649:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53071,"nodeType":"FunctionDefinition","src":"16747:152:64","nodes":[],"body":{"id":53070,"nodeType":"Block","src":"16804:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c6164647265737329","id":53063,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16854:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},"value":"log(bool,bool,address)"},{"id":53064,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53053,"src":"16880:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53065,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53055,"src":"16884:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53066,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53057,"src":"16888:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81","typeString":"literal_string \"log(bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53061,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16830:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53062,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16834:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16830:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16830:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53060,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16814:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16814:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53069,"nodeType":"ExpressionStatement","src":"16814:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16756:3:64","parameters":{"id":53058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53053,"mutability":"mutable","name":"p0","nameLocation":"16765:2:64","nodeType":"VariableDeclaration","scope":53071,"src":"16760:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53052,"name":"bool","nodeType":"ElementaryTypeName","src":"16760:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53055,"mutability":"mutable","name":"p1","nameLocation":"16774:2:64","nodeType":"VariableDeclaration","scope":53071,"src":"16769:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53054,"name":"bool","nodeType":"ElementaryTypeName","src":"16769:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53057,"mutability":"mutable","name":"p2","nameLocation":"16786:2:64","nodeType":"VariableDeclaration","scope":53071,"src":"16778:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53056,"name":"address","nodeType":"ElementaryTypeName","src":"16778:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"16759:30:64"},"returnParameters":{"id":53059,"nodeType":"ParameterList","parameters":[],"src":"16804:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53091,"nodeType":"FunctionDefinition","src":"16905:158:64","nodes":[],"body":{"id":53090,"nodeType":"Block","src":"16965:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e7432353629","id":53083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17015:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},"value":"log(bool,address,uint256)"},{"id":53084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53073,"src":"17044:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53075,"src":"17048:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53077,"src":"17052:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f7b9afb4f9ee9df3fee50155d0accfa23536f443bcbc89ec11f75df422d05ac","typeString":"literal_string \"log(bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"16991:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"16995:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"16991:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16991:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"16975:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16975:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53089,"nodeType":"ExpressionStatement","src":"16975:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"16914:3:64","parameters":{"id":53078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53073,"mutability":"mutable","name":"p0","nameLocation":"16923:2:64","nodeType":"VariableDeclaration","scope":53091,"src":"16918:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53072,"name":"bool","nodeType":"ElementaryTypeName","src":"16918:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53075,"mutability":"mutable","name":"p1","nameLocation":"16935:2:64","nodeType":"VariableDeclaration","scope":53091,"src":"16927:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53074,"name":"address","nodeType":"ElementaryTypeName","src":"16927:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53077,"mutability":"mutable","name":"p2","nameLocation":"16947:2:64","nodeType":"VariableDeclaration","scope":53091,"src":"16939:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53076,"name":"uint256","nodeType":"ElementaryTypeName","src":"16939:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16917:33:64"},"returnParameters":{"id":53079,"nodeType":"ParameterList","parameters":[],"src":"16965:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53111,"nodeType":"FunctionDefinition","src":"17069:163:64","nodes":[],"body":{"id":53110,"nodeType":"Block","src":"17135:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e6729","id":53103,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17185:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},"value":"log(bool,address,string)"},{"id":53104,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53093,"src":"17213:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53105,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53095,"src":"17217:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53106,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53097,"src":"17221:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d","typeString":"literal_string \"log(bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53101,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17161:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53102,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17165:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17161:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53107,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17161:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53100,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17145:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17145:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53109,"nodeType":"ExpressionStatement","src":"17145:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17078:3:64","parameters":{"id":53098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53093,"mutability":"mutable","name":"p0","nameLocation":"17087:2:64","nodeType":"VariableDeclaration","scope":53111,"src":"17082:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53092,"name":"bool","nodeType":"ElementaryTypeName","src":"17082:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53095,"mutability":"mutable","name":"p1","nameLocation":"17099:2:64","nodeType":"VariableDeclaration","scope":53111,"src":"17091:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53094,"name":"address","nodeType":"ElementaryTypeName","src":"17091:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53097,"mutability":"mutable","name":"p2","nameLocation":"17117:2:64","nodeType":"VariableDeclaration","scope":53111,"src":"17103:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53096,"name":"string","nodeType":"ElementaryTypeName","src":"17103:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17081:39:64"},"returnParameters":{"id":53099,"nodeType":"ParameterList","parameters":[],"src":"17135:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53131,"nodeType":"FunctionDefinition","src":"17238:152:64","nodes":[],"body":{"id":53130,"nodeType":"Block","src":"17295:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c29","id":53123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17345:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},"value":"log(bool,address,bool)"},{"id":53124,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53113,"src":"17371:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53125,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53115,"src":"17375:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53126,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53117,"src":"17379:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908","typeString":"literal_string \"log(bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53121,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17321:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53122,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17325:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17321:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53127,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17321:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53120,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17305:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17305:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53129,"nodeType":"ExpressionStatement","src":"17305:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17247:3:64","parameters":{"id":53118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53113,"mutability":"mutable","name":"p0","nameLocation":"17256:2:64","nodeType":"VariableDeclaration","scope":53131,"src":"17251:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53112,"name":"bool","nodeType":"ElementaryTypeName","src":"17251:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53115,"mutability":"mutable","name":"p1","nameLocation":"17268:2:64","nodeType":"VariableDeclaration","scope":53131,"src":"17260:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53114,"name":"address","nodeType":"ElementaryTypeName","src":"17260:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53117,"mutability":"mutable","name":"p2","nameLocation":"17277:2:64","nodeType":"VariableDeclaration","scope":53131,"src":"17272:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53116,"name":"bool","nodeType":"ElementaryTypeName","src":"17272:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17250:30:64"},"returnParameters":{"id":53119,"nodeType":"ParameterList","parameters":[],"src":"17295:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53151,"nodeType":"FunctionDefinition","src":"17396:158:64","nodes":[],"body":{"id":53150,"nodeType":"Block","src":"17456:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c6164647265737329","id":53143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17506:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},"value":"log(bool,address,address)"},{"id":53144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53133,"src":"17535:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53135,"src":"17539:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53137,"src":"17543:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265","typeString":"literal_string \"log(bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17482:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17486:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17482:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17482:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17466:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17466:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53149,"nodeType":"ExpressionStatement","src":"17466:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17405:3:64","parameters":{"id":53138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53133,"mutability":"mutable","name":"p0","nameLocation":"17414:2:64","nodeType":"VariableDeclaration","scope":53151,"src":"17409:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53132,"name":"bool","nodeType":"ElementaryTypeName","src":"17409:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53135,"mutability":"mutable","name":"p1","nameLocation":"17426:2:64","nodeType":"VariableDeclaration","scope":53151,"src":"17418:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53134,"name":"address","nodeType":"ElementaryTypeName","src":"17418:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53137,"mutability":"mutable","name":"p2","nameLocation":"17438:2:64","nodeType":"VariableDeclaration","scope":53151,"src":"17430:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53136,"name":"address","nodeType":"ElementaryTypeName","src":"17430:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17408:33:64"},"returnParameters":{"id":53139,"nodeType":"ParameterList","parameters":[],"src":"17456:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53171,"nodeType":"FunctionDefinition","src":"17560:164:64","nodes":[],"body":{"id":53170,"nodeType":"Block","src":"17623:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e7432353629","id":53163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17673:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},"value":"log(address,uint256,uint256)"},{"id":53164,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53153,"src":"17705:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53165,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53155,"src":"17709:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53166,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53157,"src":"17713:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b69bcaf6823fa467c87c127df102001d1ca4e8a6dc08cab8aa1e5ab4a0ae8c76","typeString":"literal_string \"log(address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53161,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17649:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17653:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17649:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17649:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53160,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17633:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17633:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53169,"nodeType":"ExpressionStatement","src":"17633:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17569:3:64","parameters":{"id":53158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53153,"mutability":"mutable","name":"p0","nameLocation":"17581:2:64","nodeType":"VariableDeclaration","scope":53171,"src":"17573:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53152,"name":"address","nodeType":"ElementaryTypeName","src":"17573:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53155,"mutability":"mutable","name":"p1","nameLocation":"17593:2:64","nodeType":"VariableDeclaration","scope":53171,"src":"17585:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53154,"name":"uint256","nodeType":"ElementaryTypeName","src":"17585:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53157,"mutability":"mutable","name":"p2","nameLocation":"17605:2:64","nodeType":"VariableDeclaration","scope":53171,"src":"17597:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53156,"name":"uint256","nodeType":"ElementaryTypeName","src":"17597:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17572:36:64"},"returnParameters":{"id":53159,"nodeType":"ParameterList","parameters":[],"src":"17623:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53191,"nodeType":"FunctionDefinition","src":"17730:169:64","nodes":[],"body":{"id":53190,"nodeType":"Block","src":"17799:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e6729","id":53183,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17849:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},"value":"log(address,uint256,string)"},{"id":53184,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53173,"src":"17880:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53185,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53175,"src":"17884:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53186,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53177,"src":"17888:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1f2e8aa7ff0c088860d7b3f0d1dc288d8e8a07808525cc31a5691f1bc0e149d","typeString":"literal_string \"log(address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53181,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17825:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53182,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17829:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17825:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53187,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17825:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53180,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17809:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17809:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53189,"nodeType":"ExpressionStatement","src":"17809:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17739:3:64","parameters":{"id":53178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53173,"mutability":"mutable","name":"p0","nameLocation":"17751:2:64","nodeType":"VariableDeclaration","scope":53191,"src":"17743:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53172,"name":"address","nodeType":"ElementaryTypeName","src":"17743:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53175,"mutability":"mutable","name":"p1","nameLocation":"17763:2:64","nodeType":"VariableDeclaration","scope":53191,"src":"17755:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53174,"name":"uint256","nodeType":"ElementaryTypeName","src":"17755:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53177,"mutability":"mutable","name":"p2","nameLocation":"17781:2:64","nodeType":"VariableDeclaration","scope":53191,"src":"17767:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53176,"name":"string","nodeType":"ElementaryTypeName","src":"17767:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17742:42:64"},"returnParameters":{"id":53179,"nodeType":"ParameterList","parameters":[],"src":"17799:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53211,"nodeType":"FunctionDefinition","src":"17905:158:64","nodes":[],"body":{"id":53210,"nodeType":"Block","src":"17965:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c29","id":53203,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18015:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},"value":"log(address,uint256,bool)"},{"id":53204,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53193,"src":"18044:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53205,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53195,"src":"18048:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53206,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53197,"src":"18052:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_678209a8f42181c670dc624bae130f552678a896a5cb06db485524796aca1390","typeString":"literal_string \"log(address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53201,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17991:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53202,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17995:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"17991:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17991:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53200,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"17975:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53208,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17975:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53209,"nodeType":"ExpressionStatement","src":"17975:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"17914:3:64","parameters":{"id":53198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53193,"mutability":"mutable","name":"p0","nameLocation":"17926:2:64","nodeType":"VariableDeclaration","scope":53211,"src":"17918:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53192,"name":"address","nodeType":"ElementaryTypeName","src":"17918:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53195,"mutability":"mutable","name":"p1","nameLocation":"17938:2:64","nodeType":"VariableDeclaration","scope":53211,"src":"17930:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53194,"name":"uint256","nodeType":"ElementaryTypeName","src":"17930:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53197,"mutability":"mutable","name":"p2","nameLocation":"17947:2:64","nodeType":"VariableDeclaration","scope":53211,"src":"17942:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53196,"name":"bool","nodeType":"ElementaryTypeName","src":"17942:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17917:33:64"},"returnParameters":{"id":53199,"nodeType":"ParameterList","parameters":[],"src":"17965:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53231,"nodeType":"FunctionDefinition","src":"18069:164:64","nodes":[],"body":{"id":53230,"nodeType":"Block","src":"18132:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c6164647265737329","id":53223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18182:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},"value":"log(address,uint256,address)"},{"id":53224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53213,"src":"18214:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53215,"src":"18218:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53217,"src":"18222:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bc0d848840f8a2b7df87b30af9a8d9856aea86658fd890c9e8abce72cda0b36","typeString":"literal_string \"log(address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18158:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18162:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18158:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18158:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"18142:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18142:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53229,"nodeType":"ExpressionStatement","src":"18142:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18078:3:64","parameters":{"id":53218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53213,"mutability":"mutable","name":"p0","nameLocation":"18090:2:64","nodeType":"VariableDeclaration","scope":53231,"src":"18082:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53212,"name":"address","nodeType":"ElementaryTypeName","src":"18082:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53215,"mutability":"mutable","name":"p1","nameLocation":"18102:2:64","nodeType":"VariableDeclaration","scope":53231,"src":"18094:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53214,"name":"uint256","nodeType":"ElementaryTypeName","src":"18094:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53217,"mutability":"mutable","name":"p2","nameLocation":"18114:2:64","nodeType":"VariableDeclaration","scope":53231,"src":"18106:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53216,"name":"address","nodeType":"ElementaryTypeName","src":"18106:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18081:36:64"},"returnParameters":{"id":53219,"nodeType":"ParameterList","parameters":[],"src":"18132:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53251,"nodeType":"FunctionDefinition","src":"18239:169:64","nodes":[],"body":{"id":53250,"nodeType":"Block","src":"18308:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e7432353629","id":53243,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18358:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},"value":"log(address,string,uint256)"},{"id":53244,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53233,"src":"18389:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53245,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53235,"src":"18393:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53246,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53237,"src":"18397:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_67dd6ff15de5c635b9900811039f919659774d9843a07b7bcdfb1b54315e9200","typeString":"literal_string \"log(address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53241,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18334:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53242,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18338:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18334:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18334:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53240,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"18318:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18318:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53249,"nodeType":"ExpressionStatement","src":"18318:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18248:3:64","parameters":{"id":53238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53233,"mutability":"mutable","name":"p0","nameLocation":"18260:2:64","nodeType":"VariableDeclaration","scope":53251,"src":"18252:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53232,"name":"address","nodeType":"ElementaryTypeName","src":"18252:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53235,"mutability":"mutable","name":"p1","nameLocation":"18278:2:64","nodeType":"VariableDeclaration","scope":53251,"src":"18264:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53234,"name":"string","nodeType":"ElementaryTypeName","src":"18264:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53237,"mutability":"mutable","name":"p2","nameLocation":"18290:2:64","nodeType":"VariableDeclaration","scope":53251,"src":"18282:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53236,"name":"uint256","nodeType":"ElementaryTypeName","src":"18282:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18251:42:64"},"returnParameters":{"id":53239,"nodeType":"ParameterList","parameters":[],"src":"18308:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53271,"nodeType":"FunctionDefinition","src":"18414:174:64","nodes":[],"body":{"id":53270,"nodeType":"Block","src":"18489:99:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e6729","id":53263,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18539:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},"value":"log(address,string,string)"},{"id":53264,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53253,"src":"18569:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53265,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53255,"src":"18573:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53266,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53257,"src":"18577:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158","typeString":"literal_string \"log(address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53261,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18515:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53262,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18519:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18515:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53267,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18515:65:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53260,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"18499:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18499:82:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53269,"nodeType":"ExpressionStatement","src":"18499:82:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18423:3:64","parameters":{"id":53258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53253,"mutability":"mutable","name":"p0","nameLocation":"18435:2:64","nodeType":"VariableDeclaration","scope":53271,"src":"18427:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53252,"name":"address","nodeType":"ElementaryTypeName","src":"18427:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53255,"mutability":"mutable","name":"p1","nameLocation":"18453:2:64","nodeType":"VariableDeclaration","scope":53271,"src":"18439:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53254,"name":"string","nodeType":"ElementaryTypeName","src":"18439:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53257,"mutability":"mutable","name":"p2","nameLocation":"18471:2:64","nodeType":"VariableDeclaration","scope":53271,"src":"18457:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53256,"name":"string","nodeType":"ElementaryTypeName","src":"18457:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18426:48:64"},"returnParameters":{"id":53259,"nodeType":"ParameterList","parameters":[],"src":"18489:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53291,"nodeType":"FunctionDefinition","src":"18594:163:64","nodes":[],"body":{"id":53290,"nodeType":"Block","src":"18660:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c29","id":53283,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18710:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},"value":"log(address,string,bool)"},{"id":53284,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53273,"src":"18738:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53285,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53275,"src":"18742:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53286,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53277,"src":"18746:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96","typeString":"literal_string \"log(address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53281,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18686:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53282,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18690:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18686:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18686:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53280,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"18670:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18670:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53289,"nodeType":"ExpressionStatement","src":"18670:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18603:3:64","parameters":{"id":53278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53273,"mutability":"mutable","name":"p0","nameLocation":"18615:2:64","nodeType":"VariableDeclaration","scope":53291,"src":"18607:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53272,"name":"address","nodeType":"ElementaryTypeName","src":"18607:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53275,"mutability":"mutable","name":"p1","nameLocation":"18633:2:64","nodeType":"VariableDeclaration","scope":53291,"src":"18619:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53274,"name":"string","nodeType":"ElementaryTypeName","src":"18619:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53277,"mutability":"mutable","name":"p2","nameLocation":"18642:2:64","nodeType":"VariableDeclaration","scope":53291,"src":"18637:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53276,"name":"bool","nodeType":"ElementaryTypeName","src":"18637:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"18606:39:64"},"returnParameters":{"id":53279,"nodeType":"ParameterList","parameters":[],"src":"18660:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53311,"nodeType":"FunctionDefinition","src":"18763:169:64","nodes":[],"body":{"id":53310,"nodeType":"Block","src":"18832:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c6164647265737329","id":53303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18882:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},"value":"log(address,string,address)"},{"id":53304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53293,"src":"18913:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53295,"src":"18917:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53297,"src":"18921:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231","typeString":"literal_string \"log(address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18858:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18862:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"18858:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18858:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"18842:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18842:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53309,"nodeType":"ExpressionStatement","src":"18842:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18772:3:64","parameters":{"id":53298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53293,"mutability":"mutable","name":"p0","nameLocation":"18784:2:64","nodeType":"VariableDeclaration","scope":53311,"src":"18776:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53292,"name":"address","nodeType":"ElementaryTypeName","src":"18776:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53295,"mutability":"mutable","name":"p1","nameLocation":"18802:2:64","nodeType":"VariableDeclaration","scope":53311,"src":"18788:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53294,"name":"string","nodeType":"ElementaryTypeName","src":"18788:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53297,"mutability":"mutable","name":"p2","nameLocation":"18814:2:64","nodeType":"VariableDeclaration","scope":53311,"src":"18806:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53296,"name":"address","nodeType":"ElementaryTypeName","src":"18806:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"18775:42:64"},"returnParameters":{"id":53299,"nodeType":"ParameterList","parameters":[],"src":"18832:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53331,"nodeType":"FunctionDefinition","src":"18938:158:64","nodes":[],"body":{"id":53330,"nodeType":"Block","src":"18998:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e7432353629","id":53323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19048:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},"value":"log(address,bool,uint256)"},{"id":53324,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53313,"src":"19077:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53325,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53315,"src":"19081:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53326,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53317,"src":"19085:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c4f99fb8e27f663a71adc9f15ace4bdc959202f3b7faa1c8ca25e5e7e8568f9","typeString":"literal_string \"log(address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53321,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19024:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19028:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19024:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19024:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53320,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19008:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19008:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53329,"nodeType":"ExpressionStatement","src":"19008:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"18947:3:64","parameters":{"id":53318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53313,"mutability":"mutable","name":"p0","nameLocation":"18959:2:64","nodeType":"VariableDeclaration","scope":53331,"src":"18951:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53312,"name":"address","nodeType":"ElementaryTypeName","src":"18951:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53315,"mutability":"mutable","name":"p1","nameLocation":"18968:2:64","nodeType":"VariableDeclaration","scope":53331,"src":"18963:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53314,"name":"bool","nodeType":"ElementaryTypeName","src":"18963:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53317,"mutability":"mutable","name":"p2","nameLocation":"18980:2:64","nodeType":"VariableDeclaration","scope":53331,"src":"18972:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53316,"name":"uint256","nodeType":"ElementaryTypeName","src":"18972:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18950:33:64"},"returnParameters":{"id":53319,"nodeType":"ParameterList","parameters":[],"src":"18998:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53351,"nodeType":"FunctionDefinition","src":"19102:163:64","nodes":[],"body":{"id":53350,"nodeType":"Block","src":"19168:97:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e6729","id":53343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19218:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},"value":"log(address,bool,string)"},{"id":53344,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53333,"src":"19246:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53345,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53335,"src":"19250:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53346,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53337,"src":"19254:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750","typeString":"literal_string \"log(address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53341,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19194:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19198:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19194:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53347,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19194:63:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53340,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19178:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53348,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19178:80:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53349,"nodeType":"ExpressionStatement","src":"19178:80:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19111:3:64","parameters":{"id":53338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53333,"mutability":"mutable","name":"p0","nameLocation":"19123:2:64","nodeType":"VariableDeclaration","scope":53351,"src":"19115:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53332,"name":"address","nodeType":"ElementaryTypeName","src":"19115:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53335,"mutability":"mutable","name":"p1","nameLocation":"19132:2:64","nodeType":"VariableDeclaration","scope":53351,"src":"19127:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53334,"name":"bool","nodeType":"ElementaryTypeName","src":"19127:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53337,"mutability":"mutable","name":"p2","nameLocation":"19150:2:64","nodeType":"VariableDeclaration","scope":53351,"src":"19136:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53336,"name":"string","nodeType":"ElementaryTypeName","src":"19136:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19114:39:64"},"returnParameters":{"id":53339,"nodeType":"ParameterList","parameters":[],"src":"19168:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53371,"nodeType":"FunctionDefinition","src":"19271:152:64","nodes":[],"body":{"id":53370,"nodeType":"Block","src":"19328:95:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c29","id":53363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19378:24:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},"value":"log(address,bool,bool)"},{"id":53364,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53353,"src":"19404:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53365,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53355,"src":"19408:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53366,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53357,"src":"19412:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279","typeString":"literal_string \"log(address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53361,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19354:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19358:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19354:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19354:61:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53360,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19338:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19338:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53369,"nodeType":"ExpressionStatement","src":"19338:78:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19280:3:64","parameters":{"id":53358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53353,"mutability":"mutable","name":"p0","nameLocation":"19292:2:64","nodeType":"VariableDeclaration","scope":53371,"src":"19284:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53352,"name":"address","nodeType":"ElementaryTypeName","src":"19284:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53355,"mutability":"mutable","name":"p1","nameLocation":"19301:2:64","nodeType":"VariableDeclaration","scope":53371,"src":"19296:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53354,"name":"bool","nodeType":"ElementaryTypeName","src":"19296:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53357,"mutability":"mutable","name":"p2","nameLocation":"19310:2:64","nodeType":"VariableDeclaration","scope":53371,"src":"19305:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53356,"name":"bool","nodeType":"ElementaryTypeName","src":"19305:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19283:30:64"},"returnParameters":{"id":53359,"nodeType":"ParameterList","parameters":[],"src":"19328:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53391,"nodeType":"FunctionDefinition","src":"19429:158:64","nodes":[],"body":{"id":53390,"nodeType":"Block","src":"19489:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c6164647265737329","id":53383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19539:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},"value":"log(address,bool,address)"},{"id":53384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53373,"src":"19568:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53375,"src":"19572:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53377,"src":"19576:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d","typeString":"literal_string \"log(address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19515:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19519:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19515:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19515:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19499:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19499:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53389,"nodeType":"ExpressionStatement","src":"19499:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19438:3:64","parameters":{"id":53378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53373,"mutability":"mutable","name":"p0","nameLocation":"19450:2:64","nodeType":"VariableDeclaration","scope":53391,"src":"19442:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53372,"name":"address","nodeType":"ElementaryTypeName","src":"19442:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53375,"mutability":"mutable","name":"p1","nameLocation":"19459:2:64","nodeType":"VariableDeclaration","scope":53391,"src":"19454:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53374,"name":"bool","nodeType":"ElementaryTypeName","src":"19454:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53377,"mutability":"mutable","name":"p2","nameLocation":"19471:2:64","nodeType":"VariableDeclaration","scope":53391,"src":"19463:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53376,"name":"address","nodeType":"ElementaryTypeName","src":"19463:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"19441:33:64"},"returnParameters":{"id":53379,"nodeType":"ParameterList","parameters":[],"src":"19489:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53411,"nodeType":"FunctionDefinition","src":"19593:164:64","nodes":[],"body":{"id":53410,"nodeType":"Block","src":"19656:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e7432353629","id":53403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19706:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},"value":"log(address,address,uint256)"},{"id":53404,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53393,"src":"19738:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53405,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53395,"src":"19742:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53406,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53397,"src":"19746:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_17fe6185890336f35fbbd1b2962ba4f7207a4a65eb5b7443a7be8a152af930a4","typeString":"literal_string \"log(address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53401,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19682:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53402,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19686:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19682:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19682:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53400,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19666:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19666:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53409,"nodeType":"ExpressionStatement","src":"19666:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19602:3:64","parameters":{"id":53398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53393,"mutability":"mutable","name":"p0","nameLocation":"19614:2:64","nodeType":"VariableDeclaration","scope":53411,"src":"19606:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53392,"name":"address","nodeType":"ElementaryTypeName","src":"19606:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53395,"mutability":"mutable","name":"p1","nameLocation":"19626:2:64","nodeType":"VariableDeclaration","scope":53411,"src":"19618:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53394,"name":"address","nodeType":"ElementaryTypeName","src":"19618:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53397,"mutability":"mutable","name":"p2","nameLocation":"19638:2:64","nodeType":"VariableDeclaration","scope":53411,"src":"19630:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53396,"name":"uint256","nodeType":"ElementaryTypeName","src":"19630:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19605:36:64"},"returnParameters":{"id":53399,"nodeType":"ParameterList","parameters":[],"src":"19656:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53431,"nodeType":"FunctionDefinition","src":"19763:169:64","nodes":[],"body":{"id":53430,"nodeType":"Block","src":"19832:100:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e6729","id":53423,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19882:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},"value":"log(address,address,string)"},{"id":53424,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53413,"src":"19913:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53425,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53415,"src":"19917:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53426,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53417,"src":"19921:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee","typeString":"literal_string \"log(address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53421,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19858:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53422,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19862:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"19858:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19858:66:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53420,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"19842:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53428,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19842:83:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53429,"nodeType":"ExpressionStatement","src":"19842:83:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19772:3:64","parameters":{"id":53418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53413,"mutability":"mutable","name":"p0","nameLocation":"19784:2:64","nodeType":"VariableDeclaration","scope":53431,"src":"19776:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53412,"name":"address","nodeType":"ElementaryTypeName","src":"19776:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53415,"mutability":"mutable","name":"p1","nameLocation":"19796:2:64","nodeType":"VariableDeclaration","scope":53431,"src":"19788:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53414,"name":"address","nodeType":"ElementaryTypeName","src":"19788:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53417,"mutability":"mutable","name":"p2","nameLocation":"19814:2:64","nodeType":"VariableDeclaration","scope":53431,"src":"19800:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53416,"name":"string","nodeType":"ElementaryTypeName","src":"19800:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19775:42:64"},"returnParameters":{"id":53419,"nodeType":"ParameterList","parameters":[],"src":"19832:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53451,"nodeType":"FunctionDefinition","src":"19938:158:64","nodes":[],"body":{"id":53450,"nodeType":"Block","src":"19998:98:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c29","id":53443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20048:27:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},"value":"log(address,address,bool)"},{"id":53444,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53433,"src":"20077:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53445,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53435,"src":"20081:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53446,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53437,"src":"20085:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc","typeString":"literal_string \"log(address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53441,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20024:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53442,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20028:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20024:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20024:64:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53440,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20008:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20008:81:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53449,"nodeType":"ExpressionStatement","src":"20008:81:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"19947:3:64","parameters":{"id":53438,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53433,"mutability":"mutable","name":"p0","nameLocation":"19959:2:64","nodeType":"VariableDeclaration","scope":53451,"src":"19951:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53432,"name":"address","nodeType":"ElementaryTypeName","src":"19951:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53435,"mutability":"mutable","name":"p1","nameLocation":"19971:2:64","nodeType":"VariableDeclaration","scope":53451,"src":"19963:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53434,"name":"address","nodeType":"ElementaryTypeName","src":"19963:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53437,"mutability":"mutable","name":"p2","nameLocation":"19980:2:64","nodeType":"VariableDeclaration","scope":53451,"src":"19975:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53436,"name":"bool","nodeType":"ElementaryTypeName","src":"19975:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19950:33:64"},"returnParameters":{"id":53439,"nodeType":"ParameterList","parameters":[],"src":"19998:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53471,"nodeType":"FunctionDefinition","src":"20102:164:64","nodes":[],"body":{"id":53470,"nodeType":"Block","src":"20165:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c6164647265737329","id":53463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20215:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},"value":"log(address,address,address)"},{"id":53464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53453,"src":"20247:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53455,"src":"20251:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53457,"src":"20255:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830","typeString":"literal_string \"log(address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20191:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20195:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20191:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20191:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20175:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20175:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53469,"nodeType":"ExpressionStatement","src":"20175:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20111:3:64","parameters":{"id":53458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53453,"mutability":"mutable","name":"p0","nameLocation":"20123:2:64","nodeType":"VariableDeclaration","scope":53471,"src":"20115:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53452,"name":"address","nodeType":"ElementaryTypeName","src":"20115:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53455,"mutability":"mutable","name":"p1","nameLocation":"20135:2:64","nodeType":"VariableDeclaration","scope":53471,"src":"20127:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53454,"name":"address","nodeType":"ElementaryTypeName","src":"20127:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53457,"mutability":"mutable","name":"p2","nameLocation":"20147:2:64","nodeType":"VariableDeclaration","scope":53471,"src":"20139:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53456,"name":"address","nodeType":"ElementaryTypeName","src":"20139:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20114:36:64"},"returnParameters":{"id":53459,"nodeType":"ParameterList","parameters":[],"src":"20165:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53494,"nodeType":"FunctionDefinition","src":"20272:188:64","nodes":[],"body":{"id":53493,"nodeType":"Block","src":"20347:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c75696e7432353629","id":53485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20397:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},"value":"log(uint256,uint256,uint256,uint256)"},{"id":53486,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53473,"src":"20437:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53487,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53475,"src":"20441:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53488,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53477,"src":"20445:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53489,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53479,"src":"20449:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_193fb8009d4d1e3c22da0dd831b1e3aed72b8cabd1ebf3967b4ab3c2bbcf1c4f","typeString":"literal_string \"log(uint256,uint256,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53483,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20373:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53484,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20377:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20373:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20373:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53482,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20357:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20357:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53492,"nodeType":"ExpressionStatement","src":"20357:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20281:3:64","parameters":{"id":53480,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53473,"mutability":"mutable","name":"p0","nameLocation":"20293:2:64","nodeType":"VariableDeclaration","scope":53494,"src":"20285:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53472,"name":"uint256","nodeType":"ElementaryTypeName","src":"20285:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53475,"mutability":"mutable","name":"p1","nameLocation":"20305:2:64","nodeType":"VariableDeclaration","scope":53494,"src":"20297:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53474,"name":"uint256","nodeType":"ElementaryTypeName","src":"20297:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53477,"mutability":"mutable","name":"p2","nameLocation":"20317:2:64","nodeType":"VariableDeclaration","scope":53494,"src":"20309:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53476,"name":"uint256","nodeType":"ElementaryTypeName","src":"20309:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53479,"mutability":"mutable","name":"p3","nameLocation":"20329:2:64","nodeType":"VariableDeclaration","scope":53494,"src":"20321:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53478,"name":"uint256","nodeType":"ElementaryTypeName","src":"20321:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"20284:48:64"},"returnParameters":{"id":53481,"nodeType":"ParameterList","parameters":[],"src":"20347:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53517,"nodeType":"FunctionDefinition","src":"20466:193:64","nodes":[],"body":{"id":53516,"nodeType":"Block","src":"20547:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c737472696e6729","id":53508,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20597:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},"value":"log(uint256,uint256,uint256,string)"},{"id":53509,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53496,"src":"20636:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53510,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53498,"src":"20640:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53511,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53500,"src":"20644:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53512,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53502,"src":"20648:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_59cfcbe3e387f57023dcccd8733484dcb5a23a41a25c4015c01a4e8d3520c4ef","typeString":"literal_string \"log(uint256,uint256,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20573:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20577:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20573:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20573:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53505,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20557:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20557:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53515,"nodeType":"ExpressionStatement","src":"20557:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20475:3:64","parameters":{"id":53503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53496,"mutability":"mutable","name":"p0","nameLocation":"20487:2:64","nodeType":"VariableDeclaration","scope":53517,"src":"20479:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53495,"name":"uint256","nodeType":"ElementaryTypeName","src":"20479:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53498,"mutability":"mutable","name":"p1","nameLocation":"20499:2:64","nodeType":"VariableDeclaration","scope":53517,"src":"20491:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53497,"name":"uint256","nodeType":"ElementaryTypeName","src":"20491:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53500,"mutability":"mutable","name":"p2","nameLocation":"20511:2:64","nodeType":"VariableDeclaration","scope":53517,"src":"20503:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53499,"name":"uint256","nodeType":"ElementaryTypeName","src":"20503:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53502,"mutability":"mutable","name":"p3","nameLocation":"20529:2:64","nodeType":"VariableDeclaration","scope":53517,"src":"20515:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53501,"name":"string","nodeType":"ElementaryTypeName","src":"20515:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20478:54:64"},"returnParameters":{"id":53504,"nodeType":"ParameterList","parameters":[],"src":"20547:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53540,"nodeType":"FunctionDefinition","src":"20665:182:64","nodes":[],"body":{"id":53539,"nodeType":"Block","src":"20737:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c626f6f6c29","id":53531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20787:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},"value":"log(uint256,uint256,uint256,bool)"},{"id":53532,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53519,"src":"20824:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53533,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53521,"src":"20828:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53534,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53523,"src":"20832:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53535,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53525,"src":"20836:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c598d18505e9c7404a061484d6144251d0ef342167a57ace85723d498abac8e3","typeString":"literal_string \"log(uint256,uint256,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53529,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20763:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53530,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20767:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20763:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20763:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53528,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20747:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20747:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53538,"nodeType":"ExpressionStatement","src":"20747:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20674:3:64","parameters":{"id":53526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53519,"mutability":"mutable","name":"p0","nameLocation":"20686:2:64","nodeType":"VariableDeclaration","scope":53540,"src":"20678:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53518,"name":"uint256","nodeType":"ElementaryTypeName","src":"20678:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53521,"mutability":"mutable","name":"p1","nameLocation":"20698:2:64","nodeType":"VariableDeclaration","scope":53540,"src":"20690:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53520,"name":"uint256","nodeType":"ElementaryTypeName","src":"20690:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53523,"mutability":"mutable","name":"p2","nameLocation":"20710:2:64","nodeType":"VariableDeclaration","scope":53540,"src":"20702:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53522,"name":"uint256","nodeType":"ElementaryTypeName","src":"20702:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53525,"mutability":"mutable","name":"p3","nameLocation":"20719:2:64","nodeType":"VariableDeclaration","scope":53540,"src":"20714:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53524,"name":"bool","nodeType":"ElementaryTypeName","src":"20714:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"20677:45:64"},"returnParameters":{"id":53527,"nodeType":"ParameterList","parameters":[],"src":"20737:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53563,"nodeType":"FunctionDefinition","src":"20853:188:64","nodes":[],"body":{"id":53562,"nodeType":"Block","src":"20928:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c75696e743235362c6164647265737329","id":53554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20978:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},"value":"log(uint256,uint256,uint256,address)"},{"id":53555,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53542,"src":"21018:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53556,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53544,"src":"21022:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53557,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53546,"src":"21026:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53558,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53548,"src":"21030:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fa8185afaca325eb459625959e5610b99e97bbcba8d5834d7632610b4f237c79","typeString":"literal_string \"log(uint256,uint256,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53552,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"20954:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53553,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"20958:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"20954:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20954:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53551,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"20938:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20938:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53561,"nodeType":"ExpressionStatement","src":"20938:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"20862:3:64","parameters":{"id":53549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53542,"mutability":"mutable","name":"p0","nameLocation":"20874:2:64","nodeType":"VariableDeclaration","scope":53563,"src":"20866:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53541,"name":"uint256","nodeType":"ElementaryTypeName","src":"20866:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53544,"mutability":"mutable","name":"p1","nameLocation":"20886:2:64","nodeType":"VariableDeclaration","scope":53563,"src":"20878:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53543,"name":"uint256","nodeType":"ElementaryTypeName","src":"20878:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53546,"mutability":"mutable","name":"p2","nameLocation":"20898:2:64","nodeType":"VariableDeclaration","scope":53563,"src":"20890:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53545,"name":"uint256","nodeType":"ElementaryTypeName","src":"20890:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53548,"mutability":"mutable","name":"p3","nameLocation":"20910:2:64","nodeType":"VariableDeclaration","scope":53563,"src":"20902:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53547,"name":"address","nodeType":"ElementaryTypeName","src":"20902:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20865:48:64"},"returnParameters":{"id":53550,"nodeType":"ParameterList","parameters":[],"src":"20928:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53586,"nodeType":"FunctionDefinition","src":"21047:193:64","nodes":[],"body":{"id":53585,"nodeType":"Block","src":"21128:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c75696e7432353629","id":53577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21178:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},"value":"log(uint256,uint256,string,uint256)"},{"id":53578,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53565,"src":"21217:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53579,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53567,"src":"21221:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53580,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53569,"src":"21225:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53581,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53571,"src":"21229:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5da297eb5acf47b1a9c0089c080d654cc07f2a8c9aa94fc68af26a6405cde114","typeString":"literal_string \"log(uint256,uint256,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53575,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21154:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53576,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21158:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21154:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21154:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53574,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"21138:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21138:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53584,"nodeType":"ExpressionStatement","src":"21138:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21056:3:64","parameters":{"id":53572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53565,"mutability":"mutable","name":"p0","nameLocation":"21068:2:64","nodeType":"VariableDeclaration","scope":53586,"src":"21060:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53564,"name":"uint256","nodeType":"ElementaryTypeName","src":"21060:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53567,"mutability":"mutable","name":"p1","nameLocation":"21080:2:64","nodeType":"VariableDeclaration","scope":53586,"src":"21072:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53566,"name":"uint256","nodeType":"ElementaryTypeName","src":"21072:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53569,"mutability":"mutable","name":"p2","nameLocation":"21098:2:64","nodeType":"VariableDeclaration","scope":53586,"src":"21084:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53568,"name":"string","nodeType":"ElementaryTypeName","src":"21084:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53571,"mutability":"mutable","name":"p3","nameLocation":"21110:2:64","nodeType":"VariableDeclaration","scope":53586,"src":"21102:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53570,"name":"uint256","nodeType":"ElementaryTypeName","src":"21102:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21059:54:64"},"returnParameters":{"id":53573,"nodeType":"ParameterList","parameters":[],"src":"21128:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53609,"nodeType":"FunctionDefinition","src":"21246:198:64","nodes":[],"body":{"id":53608,"nodeType":"Block","src":"21333:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c737472696e6729","id":53600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21383:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},"value":"log(uint256,uint256,string,string)"},{"id":53601,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53588,"src":"21421:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53602,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53590,"src":"21425:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53603,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53592,"src":"21429:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53604,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53594,"src":"21433:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_27d8afd2525217fff7302dbf79acc81edc09cb300d94f2503a4fb8a8115910e0","typeString":"literal_string \"log(uint256,uint256,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53598,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21359:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21363:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21359:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21359:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53597,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"21343:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21343:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53607,"nodeType":"ExpressionStatement","src":"21343:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21255:3:64","parameters":{"id":53595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53588,"mutability":"mutable","name":"p0","nameLocation":"21267:2:64","nodeType":"VariableDeclaration","scope":53609,"src":"21259:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53587,"name":"uint256","nodeType":"ElementaryTypeName","src":"21259:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53590,"mutability":"mutable","name":"p1","nameLocation":"21279:2:64","nodeType":"VariableDeclaration","scope":53609,"src":"21271:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53589,"name":"uint256","nodeType":"ElementaryTypeName","src":"21271:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53592,"mutability":"mutable","name":"p2","nameLocation":"21297:2:64","nodeType":"VariableDeclaration","scope":53609,"src":"21283:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53591,"name":"string","nodeType":"ElementaryTypeName","src":"21283:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53594,"mutability":"mutable","name":"p3","nameLocation":"21315:2:64","nodeType":"VariableDeclaration","scope":53609,"src":"21301:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53593,"name":"string","nodeType":"ElementaryTypeName","src":"21301:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21258:60:64"},"returnParameters":{"id":53596,"nodeType":"ParameterList","parameters":[],"src":"21333:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53632,"nodeType":"FunctionDefinition","src":"21450:187:64","nodes":[],"body":{"id":53631,"nodeType":"Block","src":"21528:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c626f6f6c29","id":53623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21578:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},"value":"log(uint256,uint256,string,bool)"},{"id":53624,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53611,"src":"21614:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53625,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53613,"src":"21618:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53626,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53615,"src":"21622:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53627,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53617,"src":"21626:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7af6ab2578caf14043420c6b292dcb787d09d31b13365d7673f201f9b2e310c9","typeString":"literal_string \"log(uint256,uint256,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53621,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21554:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53622,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21558:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21554:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53628,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21554:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53620,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"21538:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21538:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53630,"nodeType":"ExpressionStatement","src":"21538:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21459:3:64","parameters":{"id":53618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53611,"mutability":"mutable","name":"p0","nameLocation":"21471:2:64","nodeType":"VariableDeclaration","scope":53632,"src":"21463:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53610,"name":"uint256","nodeType":"ElementaryTypeName","src":"21463:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53613,"mutability":"mutable","name":"p1","nameLocation":"21483:2:64","nodeType":"VariableDeclaration","scope":53632,"src":"21475:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53612,"name":"uint256","nodeType":"ElementaryTypeName","src":"21475:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53615,"mutability":"mutable","name":"p2","nameLocation":"21501:2:64","nodeType":"VariableDeclaration","scope":53632,"src":"21487:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53614,"name":"string","nodeType":"ElementaryTypeName","src":"21487:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53617,"mutability":"mutable","name":"p3","nameLocation":"21510:2:64","nodeType":"VariableDeclaration","scope":53632,"src":"21505:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53616,"name":"bool","nodeType":"ElementaryTypeName","src":"21505:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"21462:51:64"},"returnParameters":{"id":53619,"nodeType":"ParameterList","parameters":[],"src":"21528:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53655,"nodeType":"FunctionDefinition","src":"21643:193:64","nodes":[],"body":{"id":53654,"nodeType":"Block","src":"21724:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c737472696e672c6164647265737329","id":53646,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21774:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},"value":"log(uint256,uint256,string,address)"},{"id":53647,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53634,"src":"21813:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53648,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53636,"src":"21817:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53649,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53638,"src":"21821:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53650,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53640,"src":"21825:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_42d21db701843c064ab7fb7cddd0cda130fcc29c7289dd90519dfea1322b1a53","typeString":"literal_string \"log(uint256,uint256,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53644,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21750:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53645,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21754:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21750:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21750:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53643,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"21734:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21734:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53653,"nodeType":"ExpressionStatement","src":"21734:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21652:3:64","parameters":{"id":53641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53634,"mutability":"mutable","name":"p0","nameLocation":"21664:2:64","nodeType":"VariableDeclaration","scope":53655,"src":"21656:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53633,"name":"uint256","nodeType":"ElementaryTypeName","src":"21656:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53636,"mutability":"mutable","name":"p1","nameLocation":"21676:2:64","nodeType":"VariableDeclaration","scope":53655,"src":"21668:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53635,"name":"uint256","nodeType":"ElementaryTypeName","src":"21668:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53638,"mutability":"mutable","name":"p2","nameLocation":"21694:2:64","nodeType":"VariableDeclaration","scope":53655,"src":"21680:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53637,"name":"string","nodeType":"ElementaryTypeName","src":"21680:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53640,"mutability":"mutable","name":"p3","nameLocation":"21706:2:64","nodeType":"VariableDeclaration","scope":53655,"src":"21698:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53639,"name":"address","nodeType":"ElementaryTypeName","src":"21698:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"21655:54:64"},"returnParameters":{"id":53642,"nodeType":"ParameterList","parameters":[],"src":"21724:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53678,"nodeType":"FunctionDefinition","src":"21842:182:64","nodes":[],"body":{"id":53677,"nodeType":"Block","src":"21914:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c75696e7432353629","id":53669,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"21964:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},"value":"log(uint256,uint256,bool,uint256)"},{"id":53670,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53657,"src":"22001:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53671,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53659,"src":"22005:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53672,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53661,"src":"22009:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53673,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53663,"src":"22013:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb7f6fd2c2005d3f08b2528135265cced621d1abf62716b05a9b62bc732577fd","typeString":"literal_string \"log(uint256,uint256,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53667,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"21940:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53668,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"21944:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"21940:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21940:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53666,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"21924:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"21924:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53676,"nodeType":"ExpressionStatement","src":"21924:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"21851:3:64","parameters":{"id":53664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53657,"mutability":"mutable","name":"p0","nameLocation":"21863:2:64","nodeType":"VariableDeclaration","scope":53678,"src":"21855:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53656,"name":"uint256","nodeType":"ElementaryTypeName","src":"21855:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53659,"mutability":"mutable","name":"p1","nameLocation":"21875:2:64","nodeType":"VariableDeclaration","scope":53678,"src":"21867:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53658,"name":"uint256","nodeType":"ElementaryTypeName","src":"21867:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53661,"mutability":"mutable","name":"p2","nameLocation":"21884:2:64","nodeType":"VariableDeclaration","scope":53678,"src":"21879:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53660,"name":"bool","nodeType":"ElementaryTypeName","src":"21879:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53663,"mutability":"mutable","name":"p3","nameLocation":"21896:2:64","nodeType":"VariableDeclaration","scope":53678,"src":"21888:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53662,"name":"uint256","nodeType":"ElementaryTypeName","src":"21888:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"21854:45:64"},"returnParameters":{"id":53665,"nodeType":"ParameterList","parameters":[],"src":"21914:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53701,"nodeType":"FunctionDefinition","src":"22030:187:64","nodes":[],"body":{"id":53700,"nodeType":"Block","src":"22108:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c737472696e6729","id":53692,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22158:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},"value":"log(uint256,uint256,bool,string)"},{"id":53693,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53680,"src":"22194:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53694,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53682,"src":"22198:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53695,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53684,"src":"22202:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53696,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53686,"src":"22206:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5b4fc99467445b3de47079da2d48b3031bb8d3adcbee781cbdca55596f1414a","typeString":"literal_string \"log(uint256,uint256,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53690,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22134:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53691,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22138:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22134:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53697,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22134:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53689,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"22118:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22118:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53699,"nodeType":"ExpressionStatement","src":"22118:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22039:3:64","parameters":{"id":53687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53680,"mutability":"mutable","name":"p0","nameLocation":"22051:2:64","nodeType":"VariableDeclaration","scope":53701,"src":"22043:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53679,"name":"uint256","nodeType":"ElementaryTypeName","src":"22043:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53682,"mutability":"mutable","name":"p1","nameLocation":"22063:2:64","nodeType":"VariableDeclaration","scope":53701,"src":"22055:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53681,"name":"uint256","nodeType":"ElementaryTypeName","src":"22055:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53684,"mutability":"mutable","name":"p2","nameLocation":"22072:2:64","nodeType":"VariableDeclaration","scope":53701,"src":"22067:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53683,"name":"bool","nodeType":"ElementaryTypeName","src":"22067:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53686,"mutability":"mutable","name":"p3","nameLocation":"22090:2:64","nodeType":"VariableDeclaration","scope":53701,"src":"22076:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53685,"name":"string","nodeType":"ElementaryTypeName","src":"22076:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22042:51:64"},"returnParameters":{"id":53688,"nodeType":"ParameterList","parameters":[],"src":"22108:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53724,"nodeType":"FunctionDefinition","src":"22223:176:64","nodes":[],"body":{"id":53723,"nodeType":"Block","src":"22292:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c626f6f6c29","id":53715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22342:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},"value":"log(uint256,uint256,bool,bool)"},{"id":53716,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53703,"src":"22376:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53717,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53705,"src":"22380:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53718,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53707,"src":"22384:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53719,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53709,"src":"22388:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ab085ae680de5118cde80cb5e8cb1f7383786238f1394e82b7ab82553a0dd7fe","typeString":"literal_string \"log(uint256,uint256,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53713,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22318:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53714,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22322:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22318:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22318:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53712,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"22302:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22302:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53722,"nodeType":"ExpressionStatement","src":"22302:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22232:3:64","parameters":{"id":53710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53703,"mutability":"mutable","name":"p0","nameLocation":"22244:2:64","nodeType":"VariableDeclaration","scope":53724,"src":"22236:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53702,"name":"uint256","nodeType":"ElementaryTypeName","src":"22236:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53705,"mutability":"mutable","name":"p1","nameLocation":"22256:2:64","nodeType":"VariableDeclaration","scope":53724,"src":"22248:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53704,"name":"uint256","nodeType":"ElementaryTypeName","src":"22248:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53707,"mutability":"mutable","name":"p2","nameLocation":"22265:2:64","nodeType":"VariableDeclaration","scope":53724,"src":"22260:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53706,"name":"bool","nodeType":"ElementaryTypeName","src":"22260:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53709,"mutability":"mutable","name":"p3","nameLocation":"22274:2:64","nodeType":"VariableDeclaration","scope":53724,"src":"22269:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53708,"name":"bool","nodeType":"ElementaryTypeName","src":"22269:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22235:42:64"},"returnParameters":{"id":53711,"nodeType":"ParameterList","parameters":[],"src":"22292:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53747,"nodeType":"FunctionDefinition","src":"22405:182:64","nodes":[],"body":{"id":53746,"nodeType":"Block","src":"22477:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c626f6f6c2c6164647265737329","id":53738,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22527:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},"value":"log(uint256,uint256,bool,address)"},{"id":53739,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53726,"src":"22564:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53740,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53728,"src":"22568:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53741,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53730,"src":"22572:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":53742,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53732,"src":"22576:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9a816a83f59c7e2fc96bb179b1fa8fd5307277d58bad9d6b835a280d4474fc1b","typeString":"literal_string \"log(uint256,uint256,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53736,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22503:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53737,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22507:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22503:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53743,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22503:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53735,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"22487:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22487:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53745,"nodeType":"ExpressionStatement","src":"22487:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22414:3:64","parameters":{"id":53733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53726,"mutability":"mutable","name":"p0","nameLocation":"22426:2:64","nodeType":"VariableDeclaration","scope":53747,"src":"22418:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53725,"name":"uint256","nodeType":"ElementaryTypeName","src":"22418:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53728,"mutability":"mutable","name":"p1","nameLocation":"22438:2:64","nodeType":"VariableDeclaration","scope":53747,"src":"22430:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53727,"name":"uint256","nodeType":"ElementaryTypeName","src":"22430:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53730,"mutability":"mutable","name":"p2","nameLocation":"22447:2:64","nodeType":"VariableDeclaration","scope":53747,"src":"22442:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53729,"name":"bool","nodeType":"ElementaryTypeName","src":"22442:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":53732,"mutability":"mutable","name":"p3","nameLocation":"22459:2:64","nodeType":"VariableDeclaration","scope":53747,"src":"22451:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53731,"name":"address","nodeType":"ElementaryTypeName","src":"22451:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"22417:45:64"},"returnParameters":{"id":53734,"nodeType":"ParameterList","parameters":[],"src":"22477:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53770,"nodeType":"FunctionDefinition","src":"22593:188:64","nodes":[],"body":{"id":53769,"nodeType":"Block","src":"22668:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c75696e7432353629","id":53761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22718:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},"value":"log(uint256,uint256,address,uint256)"},{"id":53762,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53749,"src":"22758:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53763,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53751,"src":"22762:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53764,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53753,"src":"22766:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53765,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53755,"src":"22770:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88f6e4b2e9fd1797748b31e8b1564d27784c7a0b5de7a75df225524205baab36","typeString":"literal_string \"log(uint256,uint256,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53759,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22694:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53760,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22698:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22694:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22694:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53758,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"22678:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22678:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53768,"nodeType":"ExpressionStatement","src":"22678:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22602:3:64","parameters":{"id":53756,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53749,"mutability":"mutable","name":"p0","nameLocation":"22614:2:64","nodeType":"VariableDeclaration","scope":53770,"src":"22606:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53748,"name":"uint256","nodeType":"ElementaryTypeName","src":"22606:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53751,"mutability":"mutable","name":"p1","nameLocation":"22626:2:64","nodeType":"VariableDeclaration","scope":53770,"src":"22618:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53750,"name":"uint256","nodeType":"ElementaryTypeName","src":"22618:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53753,"mutability":"mutable","name":"p2","nameLocation":"22638:2:64","nodeType":"VariableDeclaration","scope":53770,"src":"22630:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53752,"name":"address","nodeType":"ElementaryTypeName","src":"22630:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53755,"mutability":"mutable","name":"p3","nameLocation":"22650:2:64","nodeType":"VariableDeclaration","scope":53770,"src":"22642:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53754,"name":"uint256","nodeType":"ElementaryTypeName","src":"22642:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"22605:48:64"},"returnParameters":{"id":53757,"nodeType":"ParameterList","parameters":[],"src":"22668:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53793,"nodeType":"FunctionDefinition","src":"22787:193:64","nodes":[],"body":{"id":53792,"nodeType":"Block","src":"22868:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c737472696e6729","id":53784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"22918:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},"value":"log(uint256,uint256,address,string)"},{"id":53785,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53772,"src":"22957:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53786,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53774,"src":"22961:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53787,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53776,"src":"22965:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53788,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53778,"src":"22969:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6cde40b8d4f88da65710732f1ce432c86447f486bf713e5763c0ab174df12f40","typeString":"literal_string \"log(uint256,uint256,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53782,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"22894:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"22898:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"22894:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22894:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53781,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"22878:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"22878:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53791,"nodeType":"ExpressionStatement","src":"22878:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22796:3:64","parameters":{"id":53779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53772,"mutability":"mutable","name":"p0","nameLocation":"22808:2:64","nodeType":"VariableDeclaration","scope":53793,"src":"22800:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53771,"name":"uint256","nodeType":"ElementaryTypeName","src":"22800:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53774,"mutability":"mutable","name":"p1","nameLocation":"22820:2:64","nodeType":"VariableDeclaration","scope":53793,"src":"22812:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53773,"name":"uint256","nodeType":"ElementaryTypeName","src":"22812:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53776,"mutability":"mutable","name":"p2","nameLocation":"22832:2:64","nodeType":"VariableDeclaration","scope":53793,"src":"22824:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53775,"name":"address","nodeType":"ElementaryTypeName","src":"22824:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53778,"mutability":"mutable","name":"p3","nameLocation":"22850:2:64","nodeType":"VariableDeclaration","scope":53793,"src":"22836:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53777,"name":"string","nodeType":"ElementaryTypeName","src":"22836:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"22799:54:64"},"returnParameters":{"id":53780,"nodeType":"ParameterList","parameters":[],"src":"22868:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53816,"nodeType":"FunctionDefinition","src":"22986:182:64","nodes":[],"body":{"id":53815,"nodeType":"Block","src":"23058:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c626f6f6c29","id":53807,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23108:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},"value":"log(uint256,uint256,address,bool)"},{"id":53808,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53795,"src":"23145:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53809,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53797,"src":"23149:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53810,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53799,"src":"23153:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53811,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53801,"src":"23157:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15cac47617578377cd39f9593e7bb3ffa0e284336b9741dcc2c4151a93e1b201","typeString":"literal_string \"log(uint256,uint256,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53805,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23084:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53806,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23088:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23084:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23084:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53804,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"23068:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23068:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53814,"nodeType":"ExpressionStatement","src":"23068:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"22995:3:64","parameters":{"id":53802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53795,"mutability":"mutable","name":"p0","nameLocation":"23007:2:64","nodeType":"VariableDeclaration","scope":53816,"src":"22999:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53794,"name":"uint256","nodeType":"ElementaryTypeName","src":"22999:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53797,"mutability":"mutable","name":"p1","nameLocation":"23019:2:64","nodeType":"VariableDeclaration","scope":53816,"src":"23011:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53796,"name":"uint256","nodeType":"ElementaryTypeName","src":"23011:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53799,"mutability":"mutable","name":"p2","nameLocation":"23031:2:64","nodeType":"VariableDeclaration","scope":53816,"src":"23023:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53798,"name":"address","nodeType":"ElementaryTypeName","src":"23023:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53801,"mutability":"mutable","name":"p3","nameLocation":"23040:2:64","nodeType":"VariableDeclaration","scope":53816,"src":"23035:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53800,"name":"bool","nodeType":"ElementaryTypeName","src":"23035:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"22998:45:64"},"returnParameters":{"id":53803,"nodeType":"ParameterList","parameters":[],"src":"23058:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53839,"nodeType":"FunctionDefinition","src":"23174:188:64","nodes":[],"body":{"id":53838,"nodeType":"Block","src":"23249:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c75696e743235362c616464726573732c6164647265737329","id":53830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23299:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},"value":"log(uint256,uint256,address,address)"},{"id":53831,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53818,"src":"23339:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53832,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53820,"src":"23343:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53833,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53822,"src":"23347:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":53834,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53824,"src":"23351:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_56a5d1b1d2f0613b93371fc2b5ec91f6c2ba1375e1e4ff59b5061b56ca88e88d","typeString":"literal_string \"log(uint256,uint256,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53828,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23275:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53829,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23279:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23275:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53835,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23275:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53827,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"23259:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23259:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53837,"nodeType":"ExpressionStatement","src":"23259:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23183:3:64","parameters":{"id":53825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53818,"mutability":"mutable","name":"p0","nameLocation":"23195:2:64","nodeType":"VariableDeclaration","scope":53839,"src":"23187:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53817,"name":"uint256","nodeType":"ElementaryTypeName","src":"23187:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53820,"mutability":"mutable","name":"p1","nameLocation":"23207:2:64","nodeType":"VariableDeclaration","scope":53839,"src":"23199:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53819,"name":"uint256","nodeType":"ElementaryTypeName","src":"23199:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53822,"mutability":"mutable","name":"p2","nameLocation":"23219:2:64","nodeType":"VariableDeclaration","scope":53839,"src":"23211:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53821,"name":"address","nodeType":"ElementaryTypeName","src":"23211:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":53824,"mutability":"mutable","name":"p3","nameLocation":"23231:2:64","nodeType":"VariableDeclaration","scope":53839,"src":"23223:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53823,"name":"address","nodeType":"ElementaryTypeName","src":"23223:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23186:48:64"},"returnParameters":{"id":53826,"nodeType":"ParameterList","parameters":[],"src":"23249:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53862,"nodeType":"FunctionDefinition","src":"23368:193:64","nodes":[],"body":{"id":53861,"nodeType":"Block","src":"23449:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c75696e7432353629","id":53853,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23499:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},"value":"log(uint256,string,uint256,uint256)"},{"id":53854,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53841,"src":"23538:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53855,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53843,"src":"23542:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53856,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53845,"src":"23546:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53857,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53847,"src":"23550:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82c25b74e3ddb6ea40e867e0a41af8848bdc6a88fd5e365497c46917573fd66f","typeString":"literal_string \"log(uint256,string,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53851,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23475:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53852,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23479:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23475:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23475:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53850,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"23459:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23459:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53860,"nodeType":"ExpressionStatement","src":"23459:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23377:3:64","parameters":{"id":53848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53841,"mutability":"mutable","name":"p0","nameLocation":"23389:2:64","nodeType":"VariableDeclaration","scope":53862,"src":"23381:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53840,"name":"uint256","nodeType":"ElementaryTypeName","src":"23381:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53843,"mutability":"mutable","name":"p1","nameLocation":"23407:2:64","nodeType":"VariableDeclaration","scope":53862,"src":"23393:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53842,"name":"string","nodeType":"ElementaryTypeName","src":"23393:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53845,"mutability":"mutable","name":"p2","nameLocation":"23419:2:64","nodeType":"VariableDeclaration","scope":53862,"src":"23411:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53844,"name":"uint256","nodeType":"ElementaryTypeName","src":"23411:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53847,"mutability":"mutable","name":"p3","nameLocation":"23431:2:64","nodeType":"VariableDeclaration","scope":53862,"src":"23423:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53846,"name":"uint256","nodeType":"ElementaryTypeName","src":"23423:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"23380:54:64"},"returnParameters":{"id":53849,"nodeType":"ParameterList","parameters":[],"src":"23449:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53885,"nodeType":"FunctionDefinition","src":"23567:198:64","nodes":[],"body":{"id":53884,"nodeType":"Block","src":"23654:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c737472696e6729","id":53876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23704:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},"value":"log(uint256,string,uint256,string)"},{"id":53877,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53864,"src":"23742:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53878,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53866,"src":"23746:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53879,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53868,"src":"23750:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53880,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53870,"src":"23754:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7b914cad3c94167dcd4b5ef970076918e96b3894a20503b7d3f9648bea8aace","typeString":"literal_string \"log(uint256,string,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53874,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23680:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53875,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23684:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23680:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23680:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53873,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"23664:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23664:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53883,"nodeType":"ExpressionStatement","src":"23664:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23576:3:64","parameters":{"id":53871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53864,"mutability":"mutable","name":"p0","nameLocation":"23588:2:64","nodeType":"VariableDeclaration","scope":53885,"src":"23580:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53863,"name":"uint256","nodeType":"ElementaryTypeName","src":"23580:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53866,"mutability":"mutable","name":"p1","nameLocation":"23606:2:64","nodeType":"VariableDeclaration","scope":53885,"src":"23592:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53865,"name":"string","nodeType":"ElementaryTypeName","src":"23592:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53868,"mutability":"mutable","name":"p2","nameLocation":"23618:2:64","nodeType":"VariableDeclaration","scope":53885,"src":"23610:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53867,"name":"uint256","nodeType":"ElementaryTypeName","src":"23610:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53870,"mutability":"mutable","name":"p3","nameLocation":"23636:2:64","nodeType":"VariableDeclaration","scope":53885,"src":"23622:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53869,"name":"string","nodeType":"ElementaryTypeName","src":"23622:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23579:60:64"},"returnParameters":{"id":53872,"nodeType":"ParameterList","parameters":[],"src":"23654:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53908,"nodeType":"FunctionDefinition","src":"23771:187:64","nodes":[],"body":{"id":53907,"nodeType":"Block","src":"23849:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c626f6f6c29","id":53899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"23899:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},"value":"log(uint256,string,uint256,bool)"},{"id":53900,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53887,"src":"23935:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53901,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53889,"src":"23939:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53902,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53891,"src":"23943:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53903,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53893,"src":"23947:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_691a8f74cbf1a313fd1bdfd5dda19feaf4f9deac56f7ca7c4fa6386e5382a03c","typeString":"literal_string \"log(uint256,string,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53897,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"23875:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53898,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"23879:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"23875:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23875:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53896,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"23859:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"23859:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53906,"nodeType":"ExpressionStatement","src":"23859:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23780:3:64","parameters":{"id":53894,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53887,"mutability":"mutable","name":"p0","nameLocation":"23792:2:64","nodeType":"VariableDeclaration","scope":53908,"src":"23784:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53886,"name":"uint256","nodeType":"ElementaryTypeName","src":"23784:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53889,"mutability":"mutable","name":"p1","nameLocation":"23810:2:64","nodeType":"VariableDeclaration","scope":53908,"src":"23796:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53888,"name":"string","nodeType":"ElementaryTypeName","src":"23796:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53891,"mutability":"mutable","name":"p2","nameLocation":"23822:2:64","nodeType":"VariableDeclaration","scope":53908,"src":"23814:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53890,"name":"uint256","nodeType":"ElementaryTypeName","src":"23814:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53893,"mutability":"mutable","name":"p3","nameLocation":"23831:2:64","nodeType":"VariableDeclaration","scope":53908,"src":"23826:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53892,"name":"bool","nodeType":"ElementaryTypeName","src":"23826:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23783:51:64"},"returnParameters":{"id":53895,"nodeType":"ParameterList","parameters":[],"src":"23849:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53931,"nodeType":"FunctionDefinition","src":"23964:193:64","nodes":[],"body":{"id":53930,"nodeType":"Block","src":"24045:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c75696e743235362c6164647265737329","id":53922,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24095:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},"value":"log(uint256,string,uint256,address)"},{"id":53923,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53910,"src":"24134:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53924,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53912,"src":"24138:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53925,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53914,"src":"24142:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53926,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53916,"src":"24146:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2279b4b3c26cbcd4374acce75e4c447a59a65883d849a72eaa051b3a07ec08","typeString":"literal_string \"log(uint256,string,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":53920,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24071:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53921,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24075:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24071:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53927,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24071:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53919,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"24055:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24055:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53929,"nodeType":"ExpressionStatement","src":"24055:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"23973:3:64","parameters":{"id":53917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53910,"mutability":"mutable","name":"p0","nameLocation":"23985:2:64","nodeType":"VariableDeclaration","scope":53931,"src":"23977:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53909,"name":"uint256","nodeType":"ElementaryTypeName","src":"23977:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53912,"mutability":"mutable","name":"p1","nameLocation":"24003:2:64","nodeType":"VariableDeclaration","scope":53931,"src":"23989:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53911,"name":"string","nodeType":"ElementaryTypeName","src":"23989:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53914,"mutability":"mutable","name":"p2","nameLocation":"24015:2:64","nodeType":"VariableDeclaration","scope":53931,"src":"24007:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53913,"name":"uint256","nodeType":"ElementaryTypeName","src":"24007:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53916,"mutability":"mutable","name":"p3","nameLocation":"24027:2:64","nodeType":"VariableDeclaration","scope":53931,"src":"24019:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":53915,"name":"address","nodeType":"ElementaryTypeName","src":"24019:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"23976:54:64"},"returnParameters":{"id":53918,"nodeType":"ParameterList","parameters":[],"src":"24045:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53954,"nodeType":"FunctionDefinition","src":"24163:198:64","nodes":[],"body":{"id":53953,"nodeType":"Block","src":"24250:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c75696e7432353629","id":53945,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24300:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},"value":"log(uint256,string,string,uint256)"},{"id":53946,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53933,"src":"24338:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53947,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53935,"src":"24342:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53948,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53937,"src":"24346:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53949,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53939,"src":"24350:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b028c9bd0105e32bab3e2b1b4678f4cd49b1f267c4fcb1899043ad16b67c3dd1","typeString":"literal_string \"log(uint256,string,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":53943,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24276:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53944,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24280:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24276:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24276:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53942,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"24260:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24260:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53952,"nodeType":"ExpressionStatement","src":"24260:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24172:3:64","parameters":{"id":53940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53933,"mutability":"mutable","name":"p0","nameLocation":"24184:2:64","nodeType":"VariableDeclaration","scope":53954,"src":"24176:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53932,"name":"uint256","nodeType":"ElementaryTypeName","src":"24176:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53935,"mutability":"mutable","name":"p1","nameLocation":"24202:2:64","nodeType":"VariableDeclaration","scope":53954,"src":"24188:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53934,"name":"string","nodeType":"ElementaryTypeName","src":"24188:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53937,"mutability":"mutable","name":"p2","nameLocation":"24220:2:64","nodeType":"VariableDeclaration","scope":53954,"src":"24206:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53936,"name":"string","nodeType":"ElementaryTypeName","src":"24206:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53939,"mutability":"mutable","name":"p3","nameLocation":"24232:2:64","nodeType":"VariableDeclaration","scope":53954,"src":"24224:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53938,"name":"uint256","nodeType":"ElementaryTypeName","src":"24224:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24175:60:64"},"returnParameters":{"id":53941,"nodeType":"ParameterList","parameters":[],"src":"24250:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":53977,"nodeType":"FunctionDefinition","src":"24367:203:64","nodes":[],"body":{"id":53976,"nodeType":"Block","src":"24460:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c737472696e6729","id":53968,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24510:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},"value":"log(uint256,string,string,string)"},{"id":53969,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53956,"src":"24547:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53970,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53958,"src":"24551:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53971,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53960,"src":"24555:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53972,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53962,"src":"24559:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21ad06836085541851abea445814b5a1baf9d3be52c1169a6570c83010dbea5a","typeString":"literal_string \"log(uint256,string,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":53966,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24486:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53967,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24490:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24486:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24486:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53965,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"24470:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24470:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53975,"nodeType":"ExpressionStatement","src":"24470:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24376:3:64","parameters":{"id":53963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53956,"mutability":"mutable","name":"p0","nameLocation":"24388:2:64","nodeType":"VariableDeclaration","scope":53977,"src":"24380:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53955,"name":"uint256","nodeType":"ElementaryTypeName","src":"24380:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53958,"mutability":"mutable","name":"p1","nameLocation":"24406:2:64","nodeType":"VariableDeclaration","scope":53977,"src":"24392:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53957,"name":"string","nodeType":"ElementaryTypeName","src":"24392:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53960,"mutability":"mutable","name":"p2","nameLocation":"24424:2:64","nodeType":"VariableDeclaration","scope":53977,"src":"24410:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53959,"name":"string","nodeType":"ElementaryTypeName","src":"24410:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53962,"mutability":"mutable","name":"p3","nameLocation":"24442:2:64","nodeType":"VariableDeclaration","scope":53977,"src":"24428:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53961,"name":"string","nodeType":"ElementaryTypeName","src":"24428:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24379:66:64"},"returnParameters":{"id":53964,"nodeType":"ParameterList","parameters":[],"src":"24460:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54000,"nodeType":"FunctionDefinition","src":"24576:192:64","nodes":[],"body":{"id":53999,"nodeType":"Block","src":"24660:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c626f6f6c29","id":53991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24710:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},"value":"log(uint256,string,string,bool)"},{"id":53992,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53979,"src":"24745:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":53993,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53981,"src":"24749:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53994,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53983,"src":"24753:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":53995,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53985,"src":"24757:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b3a6b6bdf3265665181b9a9ab1338c75ebc293704c96a9a669654a5ba9f6d3e9","typeString":"literal_string \"log(uint256,string,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":53989,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24686:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":53990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24690:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24686:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":53996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24686:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":53988,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"24670:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":53997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24670:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":53998,"nodeType":"ExpressionStatement","src":"24670:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24585:3:64","parameters":{"id":53986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":53979,"mutability":"mutable","name":"p0","nameLocation":"24597:2:64","nodeType":"VariableDeclaration","scope":54000,"src":"24589:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":53978,"name":"uint256","nodeType":"ElementaryTypeName","src":"24589:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":53981,"mutability":"mutable","name":"p1","nameLocation":"24615:2:64","nodeType":"VariableDeclaration","scope":54000,"src":"24601:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53980,"name":"string","nodeType":"ElementaryTypeName","src":"24601:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53983,"mutability":"mutable","name":"p2","nameLocation":"24633:2:64","nodeType":"VariableDeclaration","scope":54000,"src":"24619:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":53982,"name":"string","nodeType":"ElementaryTypeName","src":"24619:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":53985,"mutability":"mutable","name":"p3","nameLocation":"24642:2:64","nodeType":"VariableDeclaration","scope":54000,"src":"24637:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":53984,"name":"bool","nodeType":"ElementaryTypeName","src":"24637:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24588:57:64"},"returnParameters":{"id":53987,"nodeType":"ParameterList","parameters":[],"src":"24660:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54023,"nodeType":"FunctionDefinition","src":"24774:198:64","nodes":[],"body":{"id":54022,"nodeType":"Block","src":"24861:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c737472696e672c6164647265737329","id":54014,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"24911:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},"value":"log(uint256,string,string,address)"},{"id":54015,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54002,"src":"24949:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54016,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54004,"src":"24953:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54017,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54006,"src":"24957:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54018,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54008,"src":"24961:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d583c60265ad086fe6216ef9aea37bf5de1e77bdf9055c734c55781d5f4b81d7","typeString":"literal_string \"log(uint256,string,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54012,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"24887:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54013,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"24891:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"24887:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54019,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24887:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54011,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"24871:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"24871:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54021,"nodeType":"ExpressionStatement","src":"24871:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24783:3:64","parameters":{"id":54009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54002,"mutability":"mutable","name":"p0","nameLocation":"24795:2:64","nodeType":"VariableDeclaration","scope":54023,"src":"24787:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54001,"name":"uint256","nodeType":"ElementaryTypeName","src":"24787:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54004,"mutability":"mutable","name":"p1","nameLocation":"24813:2:64","nodeType":"VariableDeclaration","scope":54023,"src":"24799:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54003,"name":"string","nodeType":"ElementaryTypeName","src":"24799:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54006,"mutability":"mutable","name":"p2","nameLocation":"24831:2:64","nodeType":"VariableDeclaration","scope":54023,"src":"24817:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54005,"name":"string","nodeType":"ElementaryTypeName","src":"24817:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54008,"mutability":"mutable","name":"p3","nameLocation":"24843:2:64","nodeType":"VariableDeclaration","scope":54023,"src":"24835:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54007,"name":"address","nodeType":"ElementaryTypeName","src":"24835:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"24786:60:64"},"returnParameters":{"id":54010,"nodeType":"ParameterList","parameters":[],"src":"24861:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54046,"nodeType":"FunctionDefinition","src":"24978:187:64","nodes":[],"body":{"id":54045,"nodeType":"Block","src":"25056:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c75696e7432353629","id":54037,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25106:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},"value":"log(uint256,string,bool,uint256)"},{"id":54038,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54025,"src":"25142:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54039,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54027,"src":"25146:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54040,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54029,"src":"25150:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54041,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54031,"src":"25154:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf00988004d982e10d8d4fa7f603a1414e3b2b91cdfcf6f72808ca6c3100f96a","typeString":"literal_string \"log(uint256,string,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54035,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25082:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54036,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25086:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25082:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25082:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54034,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"25066:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25066:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54044,"nodeType":"ExpressionStatement","src":"25066:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"24987:3:64","parameters":{"id":54032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54025,"mutability":"mutable","name":"p0","nameLocation":"24999:2:64","nodeType":"VariableDeclaration","scope":54046,"src":"24991:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54024,"name":"uint256","nodeType":"ElementaryTypeName","src":"24991:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54027,"mutability":"mutable","name":"p1","nameLocation":"25017:2:64","nodeType":"VariableDeclaration","scope":54046,"src":"25003:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54026,"name":"string","nodeType":"ElementaryTypeName","src":"25003:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54029,"mutability":"mutable","name":"p2","nameLocation":"25026:2:64","nodeType":"VariableDeclaration","scope":54046,"src":"25021:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54028,"name":"bool","nodeType":"ElementaryTypeName","src":"25021:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54031,"mutability":"mutable","name":"p3","nameLocation":"25038:2:64","nodeType":"VariableDeclaration","scope":54046,"src":"25030:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54030,"name":"uint256","nodeType":"ElementaryTypeName","src":"25030:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"24990:51:64"},"returnParameters":{"id":54033,"nodeType":"ParameterList","parameters":[],"src":"25056:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54069,"nodeType":"FunctionDefinition","src":"25171:192:64","nodes":[],"body":{"id":54068,"nodeType":"Block","src":"25255:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c737472696e6729","id":54060,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25305:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},"value":"log(uint256,string,bool,string)"},{"id":54061,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54048,"src":"25340:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54062,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54050,"src":"25344:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54063,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54052,"src":"25348:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54064,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54054,"src":"25352:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d2d423cdca0e3ae7a0a1a283a67d891c85787b75e0c5291c02d15317d67fe45c","typeString":"literal_string \"log(uint256,string,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54058,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25281:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54059,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25285:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25281:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25281:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54057,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"25265:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25265:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54067,"nodeType":"ExpressionStatement","src":"25265:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25180:3:64","parameters":{"id":54055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54048,"mutability":"mutable","name":"p0","nameLocation":"25192:2:64","nodeType":"VariableDeclaration","scope":54069,"src":"25184:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54047,"name":"uint256","nodeType":"ElementaryTypeName","src":"25184:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54050,"mutability":"mutable","name":"p1","nameLocation":"25210:2:64","nodeType":"VariableDeclaration","scope":54069,"src":"25196:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54049,"name":"string","nodeType":"ElementaryTypeName","src":"25196:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54052,"mutability":"mutable","name":"p2","nameLocation":"25219:2:64","nodeType":"VariableDeclaration","scope":54069,"src":"25214:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54051,"name":"bool","nodeType":"ElementaryTypeName","src":"25214:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54054,"mutability":"mutable","name":"p3","nameLocation":"25237:2:64","nodeType":"VariableDeclaration","scope":54069,"src":"25223:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54053,"name":"string","nodeType":"ElementaryTypeName","src":"25223:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25183:57:64"},"returnParameters":{"id":54056,"nodeType":"ParameterList","parameters":[],"src":"25255:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54092,"nodeType":"FunctionDefinition","src":"25369:181:64","nodes":[],"body":{"id":54091,"nodeType":"Block","src":"25444:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c626f6f6c29","id":54083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25494:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},"value":"log(uint256,string,bool,bool)"},{"id":54084,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54071,"src":"25527:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54085,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54073,"src":"25531:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54086,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54075,"src":"25535:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54087,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54077,"src":"25539:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ba535d9cec0fb8bbd83e61b83d0f575d149cba6778a192239c1bdc5170053e4f","typeString":"literal_string \"log(uint256,string,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54081,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25470:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54082,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25474:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25470:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54088,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25470:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54080,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"25454:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25454:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54090,"nodeType":"ExpressionStatement","src":"25454:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25378:3:64","parameters":{"id":54078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54071,"mutability":"mutable","name":"p0","nameLocation":"25390:2:64","nodeType":"VariableDeclaration","scope":54092,"src":"25382:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54070,"name":"uint256","nodeType":"ElementaryTypeName","src":"25382:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54073,"mutability":"mutable","name":"p1","nameLocation":"25408:2:64","nodeType":"VariableDeclaration","scope":54092,"src":"25394:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54072,"name":"string","nodeType":"ElementaryTypeName","src":"25394:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54075,"mutability":"mutable","name":"p2","nameLocation":"25417:2:64","nodeType":"VariableDeclaration","scope":54092,"src":"25412:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54074,"name":"bool","nodeType":"ElementaryTypeName","src":"25412:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54077,"mutability":"mutable","name":"p3","nameLocation":"25426:2:64","nodeType":"VariableDeclaration","scope":54092,"src":"25421:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54076,"name":"bool","nodeType":"ElementaryTypeName","src":"25421:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25381:48:64"},"returnParameters":{"id":54079,"nodeType":"ParameterList","parameters":[],"src":"25444:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54115,"nodeType":"FunctionDefinition","src":"25556:187:64","nodes":[],"body":{"id":54114,"nodeType":"Block","src":"25634:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c626f6f6c2c6164647265737329","id":54106,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25684:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},"value":"log(uint256,string,bool,address)"},{"id":54107,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54094,"src":"25720:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54108,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54096,"src":"25724:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54109,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54098,"src":"25728:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54110,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54100,"src":"25732:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ae2ec581fba979c4f79aae94f13936ff6bb7e283817b2ec0602d9daa028a1550","typeString":"literal_string \"log(uint256,string,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54104,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25660:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54105,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25664:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25660:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25660:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54103,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"25644:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25644:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54113,"nodeType":"ExpressionStatement","src":"25644:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25565:3:64","parameters":{"id":54101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54094,"mutability":"mutable","name":"p0","nameLocation":"25577:2:64","nodeType":"VariableDeclaration","scope":54115,"src":"25569:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54093,"name":"uint256","nodeType":"ElementaryTypeName","src":"25569:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54096,"mutability":"mutable","name":"p1","nameLocation":"25595:2:64","nodeType":"VariableDeclaration","scope":54115,"src":"25581:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54095,"name":"string","nodeType":"ElementaryTypeName","src":"25581:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54098,"mutability":"mutable","name":"p2","nameLocation":"25604:2:64","nodeType":"VariableDeclaration","scope":54115,"src":"25599:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54097,"name":"bool","nodeType":"ElementaryTypeName","src":"25599:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54100,"mutability":"mutable","name":"p3","nameLocation":"25616:2:64","nodeType":"VariableDeclaration","scope":54115,"src":"25608:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54099,"name":"address","nodeType":"ElementaryTypeName","src":"25608:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25568:51:64"},"returnParameters":{"id":54102,"nodeType":"ParameterList","parameters":[],"src":"25634:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54138,"nodeType":"FunctionDefinition","src":"25749:193:64","nodes":[],"body":{"id":54137,"nodeType":"Block","src":"25830:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c75696e7432353629","id":54129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"25880:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},"value":"log(uint256,string,address,uint256)"},{"id":54130,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54117,"src":"25919:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54131,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54119,"src":"25923:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54132,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54121,"src":"25927:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54133,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54123,"src":"25931:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8d3018d32ee5012095e63c81679b366f06035e83d43be351e9c327886860908","typeString":"literal_string \"log(uint256,string,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54127,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"25856:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54128,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"25860:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"25856:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25856:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54126,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"25840:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"25840:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54136,"nodeType":"ExpressionStatement","src":"25840:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25758:3:64","parameters":{"id":54124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54117,"mutability":"mutable","name":"p0","nameLocation":"25770:2:64","nodeType":"VariableDeclaration","scope":54138,"src":"25762:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54116,"name":"uint256","nodeType":"ElementaryTypeName","src":"25762:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54119,"mutability":"mutable","name":"p1","nameLocation":"25788:2:64","nodeType":"VariableDeclaration","scope":54138,"src":"25774:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54118,"name":"string","nodeType":"ElementaryTypeName","src":"25774:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54121,"mutability":"mutable","name":"p2","nameLocation":"25800:2:64","nodeType":"VariableDeclaration","scope":54138,"src":"25792:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54120,"name":"address","nodeType":"ElementaryTypeName","src":"25792:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54123,"mutability":"mutable","name":"p3","nameLocation":"25812:2:64","nodeType":"VariableDeclaration","scope":54138,"src":"25804:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54122,"name":"uint256","nodeType":"ElementaryTypeName","src":"25804:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"25761:54:64"},"returnParameters":{"id":54125,"nodeType":"ParameterList","parameters":[],"src":"25830:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54161,"nodeType":"FunctionDefinition","src":"25948:198:64","nodes":[],"body":{"id":54160,"nodeType":"Block","src":"26035:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c737472696e6729","id":54152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26085:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},"value":"log(uint256,string,address,string)"},{"id":54153,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54140,"src":"26123:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54154,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54142,"src":"26127:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54155,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54144,"src":"26131:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54156,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54146,"src":"26135:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9c3adfa1394c3989d93ade538d03d04b05867057c1dd54721ae2c85f9a1a4720","typeString":"literal_string \"log(uint256,string,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54150,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26061:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54151,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26065:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26061:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54157,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26061:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54149,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"26045:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26045:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54159,"nodeType":"ExpressionStatement","src":"26045:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"25957:3:64","parameters":{"id":54147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54140,"mutability":"mutable","name":"p0","nameLocation":"25969:2:64","nodeType":"VariableDeclaration","scope":54161,"src":"25961:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54139,"name":"uint256","nodeType":"ElementaryTypeName","src":"25961:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54142,"mutability":"mutable","name":"p1","nameLocation":"25987:2:64","nodeType":"VariableDeclaration","scope":54161,"src":"25973:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54141,"name":"string","nodeType":"ElementaryTypeName","src":"25973:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54144,"mutability":"mutable","name":"p2","nameLocation":"25999:2:64","nodeType":"VariableDeclaration","scope":54161,"src":"25991:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54143,"name":"address","nodeType":"ElementaryTypeName","src":"25991:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54146,"mutability":"mutable","name":"p3","nameLocation":"26017:2:64","nodeType":"VariableDeclaration","scope":54161,"src":"26003:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54145,"name":"string","nodeType":"ElementaryTypeName","src":"26003:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25960:60:64"},"returnParameters":{"id":54148,"nodeType":"ParameterList","parameters":[],"src":"26035:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54184,"nodeType":"FunctionDefinition","src":"26152:187:64","nodes":[],"body":{"id":54183,"nodeType":"Block","src":"26230:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c626f6f6c29","id":54175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26280:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},"value":"log(uint256,string,address,bool)"},{"id":54176,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54163,"src":"26316:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54177,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54165,"src":"26320:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54178,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54167,"src":"26324:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54179,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54169,"src":"26328:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90c30a564e5b352d6dfee73888402a5685ca327aad7827d5040904440ee085c5","typeString":"literal_string \"log(uint256,string,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54173,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26256:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54174,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26260:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26256:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26256:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54172,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"26240:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26240:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54182,"nodeType":"ExpressionStatement","src":"26240:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26161:3:64","parameters":{"id":54170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54163,"mutability":"mutable","name":"p0","nameLocation":"26173:2:64","nodeType":"VariableDeclaration","scope":54184,"src":"26165:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54162,"name":"uint256","nodeType":"ElementaryTypeName","src":"26165:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54165,"mutability":"mutable","name":"p1","nameLocation":"26191:2:64","nodeType":"VariableDeclaration","scope":54184,"src":"26177:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54164,"name":"string","nodeType":"ElementaryTypeName","src":"26177:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54167,"mutability":"mutable","name":"p2","nameLocation":"26203:2:64","nodeType":"VariableDeclaration","scope":54184,"src":"26195:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54166,"name":"address","nodeType":"ElementaryTypeName","src":"26195:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54169,"mutability":"mutable","name":"p3","nameLocation":"26212:2:64","nodeType":"VariableDeclaration","scope":54184,"src":"26207:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54168,"name":"bool","nodeType":"ElementaryTypeName","src":"26207:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26164:51:64"},"returnParameters":{"id":54171,"nodeType":"ParameterList","parameters":[],"src":"26230:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54207,"nodeType":"FunctionDefinition","src":"26345:193:64","nodes":[],"body":{"id":54206,"nodeType":"Block","src":"26426:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c737472696e672c616464726573732c6164647265737329","id":54198,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26476:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},"value":"log(uint256,string,address,address)"},{"id":54199,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54186,"src":"26515:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54200,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54188,"src":"26519:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54201,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54190,"src":"26523:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54202,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54192,"src":"26527:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6168ed618844a2c75dc49207e69cdff562cd2faf2e74aa5192211a023611c6bd","typeString":"literal_string \"log(uint256,string,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54196,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26452:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54197,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26456:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26452:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54203,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26452:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54195,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"26436:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26436:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54205,"nodeType":"ExpressionStatement","src":"26436:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26354:3:64","parameters":{"id":54193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54186,"mutability":"mutable","name":"p0","nameLocation":"26366:2:64","nodeType":"VariableDeclaration","scope":54207,"src":"26358:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54185,"name":"uint256","nodeType":"ElementaryTypeName","src":"26358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54188,"mutability":"mutable","name":"p1","nameLocation":"26384:2:64","nodeType":"VariableDeclaration","scope":54207,"src":"26370:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54187,"name":"string","nodeType":"ElementaryTypeName","src":"26370:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54190,"mutability":"mutable","name":"p2","nameLocation":"26396:2:64","nodeType":"VariableDeclaration","scope":54207,"src":"26388:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54189,"name":"address","nodeType":"ElementaryTypeName","src":"26388:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54192,"mutability":"mutable","name":"p3","nameLocation":"26408:2:64","nodeType":"VariableDeclaration","scope":54207,"src":"26400:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54191,"name":"address","nodeType":"ElementaryTypeName","src":"26400:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"26357:54:64"},"returnParameters":{"id":54194,"nodeType":"ParameterList","parameters":[],"src":"26426:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54230,"nodeType":"FunctionDefinition","src":"26544:182:64","nodes":[],"body":{"id":54229,"nodeType":"Block","src":"26616:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c75696e7432353629","id":54221,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26666:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},"value":"log(uint256,bool,uint256,uint256)"},{"id":54222,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54209,"src":"26703:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54223,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54211,"src":"26707:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54224,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54213,"src":"26711:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54225,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54215,"src":"26715:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6acc7a8396e6de9a5a1476aecf2cbff57758b174747b0371b7f3994e930b8b4","typeString":"literal_string \"log(uint256,bool,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54219,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26642:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54220,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26646:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26642:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26642:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54218,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"26626:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26626:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54228,"nodeType":"ExpressionStatement","src":"26626:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26553:3:64","parameters":{"id":54216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54209,"mutability":"mutable","name":"p0","nameLocation":"26565:2:64","nodeType":"VariableDeclaration","scope":54230,"src":"26557:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54208,"name":"uint256","nodeType":"ElementaryTypeName","src":"26557:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54211,"mutability":"mutable","name":"p1","nameLocation":"26574:2:64","nodeType":"VariableDeclaration","scope":54230,"src":"26569:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54210,"name":"bool","nodeType":"ElementaryTypeName","src":"26569:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54213,"mutability":"mutable","name":"p2","nameLocation":"26586:2:64","nodeType":"VariableDeclaration","scope":54230,"src":"26578:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54212,"name":"uint256","nodeType":"ElementaryTypeName","src":"26578:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54215,"mutability":"mutable","name":"p3","nameLocation":"26598:2:64","nodeType":"VariableDeclaration","scope":54230,"src":"26590:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54214,"name":"uint256","nodeType":"ElementaryTypeName","src":"26590:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26556:45:64"},"returnParameters":{"id":54217,"nodeType":"ParameterList","parameters":[],"src":"26616:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54253,"nodeType":"FunctionDefinition","src":"26732:187:64","nodes":[],"body":{"id":54252,"nodeType":"Block","src":"26810:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c737472696e6729","id":54244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"26860:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},"value":"log(uint256,bool,uint256,string)"},{"id":54245,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54232,"src":"26896:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54246,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54234,"src":"26900:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54247,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54236,"src":"26904:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54248,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54238,"src":"26908:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de03e77403acbacf9b1b18c1115984c9fba2c45e2eec9f12c266ada3f62a0d1b","typeString":"literal_string \"log(uint256,bool,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54242,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"26836:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54243,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"26840:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"26836:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54249,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26836:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54241,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"26820:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"26820:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54251,"nodeType":"ExpressionStatement","src":"26820:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26741:3:64","parameters":{"id":54239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54232,"mutability":"mutable","name":"p0","nameLocation":"26753:2:64","nodeType":"VariableDeclaration","scope":54253,"src":"26745:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54231,"name":"uint256","nodeType":"ElementaryTypeName","src":"26745:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54234,"mutability":"mutable","name":"p1","nameLocation":"26762:2:64","nodeType":"VariableDeclaration","scope":54253,"src":"26757:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54233,"name":"bool","nodeType":"ElementaryTypeName","src":"26757:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54236,"mutability":"mutable","name":"p2","nameLocation":"26774:2:64","nodeType":"VariableDeclaration","scope":54253,"src":"26766:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54235,"name":"uint256","nodeType":"ElementaryTypeName","src":"26766:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54238,"mutability":"mutable","name":"p3","nameLocation":"26792:2:64","nodeType":"VariableDeclaration","scope":54253,"src":"26778:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54237,"name":"string","nodeType":"ElementaryTypeName","src":"26778:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26744:51:64"},"returnParameters":{"id":54240,"nodeType":"ParameterList","parameters":[],"src":"26810:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54276,"nodeType":"FunctionDefinition","src":"26925:176:64","nodes":[],"body":{"id":54275,"nodeType":"Block","src":"26994:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c626f6f6c29","id":54267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27044:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},"value":"log(uint256,bool,uint256,bool)"},{"id":54268,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54255,"src":"27078:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54269,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54257,"src":"27082:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54270,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54259,"src":"27086:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54271,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54261,"src":"27090:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91a02e2ac8ae09683fa28beba3fd130b88054c89e51901b8e0510c8e25aa37d1","typeString":"literal_string \"log(uint256,bool,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54265,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27020:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54266,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27024:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27020:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27020:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54264,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27004:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27004:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54274,"nodeType":"ExpressionStatement","src":"27004:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"26934:3:64","parameters":{"id":54262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54255,"mutability":"mutable","name":"p0","nameLocation":"26946:2:64","nodeType":"VariableDeclaration","scope":54276,"src":"26938:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54254,"name":"uint256","nodeType":"ElementaryTypeName","src":"26938:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54257,"mutability":"mutable","name":"p1","nameLocation":"26955:2:64","nodeType":"VariableDeclaration","scope":54276,"src":"26950:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54256,"name":"bool","nodeType":"ElementaryTypeName","src":"26950:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54259,"mutability":"mutable","name":"p2","nameLocation":"26967:2:64","nodeType":"VariableDeclaration","scope":54276,"src":"26959:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54258,"name":"uint256","nodeType":"ElementaryTypeName","src":"26959:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54261,"mutability":"mutable","name":"p3","nameLocation":"26976:2:64","nodeType":"VariableDeclaration","scope":54276,"src":"26971:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54260,"name":"bool","nodeType":"ElementaryTypeName","src":"26971:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26937:42:64"},"returnParameters":{"id":54263,"nodeType":"ParameterList","parameters":[],"src":"26994:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54299,"nodeType":"FunctionDefinition","src":"27107:182:64","nodes":[],"body":{"id":54298,"nodeType":"Block","src":"27179:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c75696e743235362c6164647265737329","id":54290,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27229:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},"value":"log(uint256,bool,uint256,address)"},{"id":54291,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54278,"src":"27266:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54292,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54280,"src":"27270:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54293,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54282,"src":"27274:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54294,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54284,"src":"27278:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88cb6041693b97a5282ad65a65484c065fbc3d3a4dac698c427f5b30bb33b29b","typeString":"literal_string \"log(uint256,bool,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54288,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27205:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54289,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27209:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27205:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27205:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54287,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27189:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27189:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54297,"nodeType":"ExpressionStatement","src":"27189:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27116:3:64","parameters":{"id":54285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54278,"mutability":"mutable","name":"p0","nameLocation":"27128:2:64","nodeType":"VariableDeclaration","scope":54299,"src":"27120:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54277,"name":"uint256","nodeType":"ElementaryTypeName","src":"27120:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54280,"mutability":"mutable","name":"p1","nameLocation":"27137:2:64","nodeType":"VariableDeclaration","scope":54299,"src":"27132:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54279,"name":"bool","nodeType":"ElementaryTypeName","src":"27132:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54282,"mutability":"mutable","name":"p2","nameLocation":"27149:2:64","nodeType":"VariableDeclaration","scope":54299,"src":"27141:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54281,"name":"uint256","nodeType":"ElementaryTypeName","src":"27141:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54284,"mutability":"mutable","name":"p3","nameLocation":"27161:2:64","nodeType":"VariableDeclaration","scope":54299,"src":"27153:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54283,"name":"address","nodeType":"ElementaryTypeName","src":"27153:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27119:45:64"},"returnParameters":{"id":54286,"nodeType":"ParameterList","parameters":[],"src":"27179:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54322,"nodeType":"FunctionDefinition","src":"27295:187:64","nodes":[],"body":{"id":54321,"nodeType":"Block","src":"27373:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c75696e7432353629","id":54313,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27423:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},"value":"log(uint256,bool,string,uint256)"},{"id":54314,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54301,"src":"27459:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54315,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54303,"src":"27463:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54316,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54305,"src":"27467:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54317,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54307,"src":"27471:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1d07463509a567bf9962980ac948a2ea7c76a53c189a607b7b35b14e806be8","typeString":"literal_string \"log(uint256,bool,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54311,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27399:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54312,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27403:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27399:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54318,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27399:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54310,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27383:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27383:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54320,"nodeType":"ExpressionStatement","src":"27383:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27304:3:64","parameters":{"id":54308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54301,"mutability":"mutable","name":"p0","nameLocation":"27316:2:64","nodeType":"VariableDeclaration","scope":54322,"src":"27308:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54300,"name":"uint256","nodeType":"ElementaryTypeName","src":"27308:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54303,"mutability":"mutable","name":"p1","nameLocation":"27325:2:64","nodeType":"VariableDeclaration","scope":54322,"src":"27320:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54302,"name":"bool","nodeType":"ElementaryTypeName","src":"27320:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54305,"mutability":"mutable","name":"p2","nameLocation":"27343:2:64","nodeType":"VariableDeclaration","scope":54322,"src":"27329:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54304,"name":"string","nodeType":"ElementaryTypeName","src":"27329:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54307,"mutability":"mutable","name":"p3","nameLocation":"27355:2:64","nodeType":"VariableDeclaration","scope":54322,"src":"27347:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54306,"name":"uint256","nodeType":"ElementaryTypeName","src":"27347:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"27307:51:64"},"returnParameters":{"id":54309,"nodeType":"ParameterList","parameters":[],"src":"27373:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54345,"nodeType":"FunctionDefinition","src":"27488:192:64","nodes":[],"body":{"id":54344,"nodeType":"Block","src":"27572:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c737472696e6729","id":54336,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27622:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},"value":"log(uint256,bool,string,string)"},{"id":54337,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54324,"src":"27657:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54338,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54326,"src":"27661:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54339,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54328,"src":"27665:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54340,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54330,"src":"27669:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_68c8b8bd8cd0cfd8add7c6745840520db0bd1049365ac415de6367b3b79b5ddd","typeString":"literal_string \"log(uint256,bool,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54334,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27598:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54335,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27602:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27598:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27598:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54333,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27582:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27582:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54343,"nodeType":"ExpressionStatement","src":"27582:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27497:3:64","parameters":{"id":54331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54324,"mutability":"mutable","name":"p0","nameLocation":"27509:2:64","nodeType":"VariableDeclaration","scope":54345,"src":"27501:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54323,"name":"uint256","nodeType":"ElementaryTypeName","src":"27501:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54326,"mutability":"mutable","name":"p1","nameLocation":"27518:2:64","nodeType":"VariableDeclaration","scope":54345,"src":"27513:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54325,"name":"bool","nodeType":"ElementaryTypeName","src":"27513:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54328,"mutability":"mutable","name":"p2","nameLocation":"27536:2:64","nodeType":"VariableDeclaration","scope":54345,"src":"27522:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54327,"name":"string","nodeType":"ElementaryTypeName","src":"27522:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54330,"mutability":"mutable","name":"p3","nameLocation":"27554:2:64","nodeType":"VariableDeclaration","scope":54345,"src":"27540:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54329,"name":"string","nodeType":"ElementaryTypeName","src":"27540:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27500:57:64"},"returnParameters":{"id":54332,"nodeType":"ParameterList","parameters":[],"src":"27572:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54368,"nodeType":"FunctionDefinition","src":"27686:181:64","nodes":[],"body":{"id":54367,"nodeType":"Block","src":"27761:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c626f6f6c29","id":54359,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"27811:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},"value":"log(uint256,bool,string,bool)"},{"id":54360,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54347,"src":"27844:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54361,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54349,"src":"27848:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54362,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54351,"src":"27852:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54363,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54353,"src":"27856:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb928d7f2c458ba40d8ba853c60153b2f73ca9189d4be051103bc8a6c10d45ad","typeString":"literal_string \"log(uint256,bool,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54357,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27787:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27791:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27787:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27787:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54356,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27771:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27771:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54366,"nodeType":"ExpressionStatement","src":"27771:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27695:3:64","parameters":{"id":54354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54347,"mutability":"mutable","name":"p0","nameLocation":"27707:2:64","nodeType":"VariableDeclaration","scope":54368,"src":"27699:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54346,"name":"uint256","nodeType":"ElementaryTypeName","src":"27699:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54349,"mutability":"mutable","name":"p1","nameLocation":"27716:2:64","nodeType":"VariableDeclaration","scope":54368,"src":"27711:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54348,"name":"bool","nodeType":"ElementaryTypeName","src":"27711:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54351,"mutability":"mutable","name":"p2","nameLocation":"27734:2:64","nodeType":"VariableDeclaration","scope":54368,"src":"27720:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54350,"name":"string","nodeType":"ElementaryTypeName","src":"27720:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54353,"mutability":"mutable","name":"p3","nameLocation":"27743:2:64","nodeType":"VariableDeclaration","scope":54368,"src":"27738:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54352,"name":"bool","nodeType":"ElementaryTypeName","src":"27738:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"27698:48:64"},"returnParameters":{"id":54355,"nodeType":"ParameterList","parameters":[],"src":"27761:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54391,"nodeType":"FunctionDefinition","src":"27873:187:64","nodes":[],"body":{"id":54390,"nodeType":"Block","src":"27951:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c737472696e672c6164647265737329","id":54382,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28001:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},"value":"log(uint256,bool,string,address)"},{"id":54383,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54370,"src":"28037:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54384,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54372,"src":"28041:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54385,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54374,"src":"28045:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54386,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54376,"src":"28049:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef529018e81552426f837435fb92b39b88965df2736546faff28c9f06e5f58b5","typeString":"literal_string \"log(uint256,bool,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54380,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"27977:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"27981:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"27977:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27977:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54379,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"27961:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"27961:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54389,"nodeType":"ExpressionStatement","src":"27961:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"27882:3:64","parameters":{"id":54377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54370,"mutability":"mutable","name":"p0","nameLocation":"27894:2:64","nodeType":"VariableDeclaration","scope":54391,"src":"27886:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54369,"name":"uint256","nodeType":"ElementaryTypeName","src":"27886:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54372,"mutability":"mutable","name":"p1","nameLocation":"27903:2:64","nodeType":"VariableDeclaration","scope":54391,"src":"27898:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54371,"name":"bool","nodeType":"ElementaryTypeName","src":"27898:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54374,"mutability":"mutable","name":"p2","nameLocation":"27921:2:64","nodeType":"VariableDeclaration","scope":54391,"src":"27907:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54373,"name":"string","nodeType":"ElementaryTypeName","src":"27907:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54376,"mutability":"mutable","name":"p3","nameLocation":"27933:2:64","nodeType":"VariableDeclaration","scope":54391,"src":"27925:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54375,"name":"address","nodeType":"ElementaryTypeName","src":"27925:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"27885:51:64"},"returnParameters":{"id":54378,"nodeType":"ParameterList","parameters":[],"src":"27951:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54414,"nodeType":"FunctionDefinition","src":"28066:176:64","nodes":[],"body":{"id":54413,"nodeType":"Block","src":"28135:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c75696e7432353629","id":54405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28185:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},"value":"log(uint256,bool,bool,uint256)"},{"id":54406,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54393,"src":"28219:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54407,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54395,"src":"28223:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54408,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54397,"src":"28227:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54409,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54399,"src":"28231:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7464ce2380e6490f75dd524dd03612157b27bca22ecbf1bc2f0ca22ac41015d1","typeString":"literal_string \"log(uint256,bool,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54403,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28161:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54404,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28165:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28161:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28161:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54402,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"28145:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28145:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54412,"nodeType":"ExpressionStatement","src":"28145:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28075:3:64","parameters":{"id":54400,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54393,"mutability":"mutable","name":"p0","nameLocation":"28087:2:64","nodeType":"VariableDeclaration","scope":54414,"src":"28079:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54392,"name":"uint256","nodeType":"ElementaryTypeName","src":"28079:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54395,"mutability":"mutable","name":"p1","nameLocation":"28096:2:64","nodeType":"VariableDeclaration","scope":54414,"src":"28091:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54394,"name":"bool","nodeType":"ElementaryTypeName","src":"28091:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54397,"mutability":"mutable","name":"p2","nameLocation":"28105:2:64","nodeType":"VariableDeclaration","scope":54414,"src":"28100:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54396,"name":"bool","nodeType":"ElementaryTypeName","src":"28100:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54399,"mutability":"mutable","name":"p3","nameLocation":"28117:2:64","nodeType":"VariableDeclaration","scope":54414,"src":"28109:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54398,"name":"uint256","nodeType":"ElementaryTypeName","src":"28109:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28078:42:64"},"returnParameters":{"id":54401,"nodeType":"ParameterList","parameters":[],"src":"28135:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54437,"nodeType":"FunctionDefinition","src":"28248:181:64","nodes":[],"body":{"id":54436,"nodeType":"Block","src":"28323:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c737472696e6729","id":54428,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28373:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},"value":"log(uint256,bool,bool,string)"},{"id":54429,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54416,"src":"28406:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54430,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54418,"src":"28410:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54431,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54420,"src":"28414:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54432,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54422,"src":"28418:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dddb956172e374c580dd136b5b8151c6400d22ece6b561a1010b6b9e902dd439","typeString":"literal_string \"log(uint256,bool,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54426,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28349:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54427,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28353:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28349:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54433,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28349:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54425,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"28333:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28333:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54435,"nodeType":"ExpressionStatement","src":"28333:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28257:3:64","parameters":{"id":54423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54416,"mutability":"mutable","name":"p0","nameLocation":"28269:2:64","nodeType":"VariableDeclaration","scope":54437,"src":"28261:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54415,"name":"uint256","nodeType":"ElementaryTypeName","src":"28261:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54418,"mutability":"mutable","name":"p1","nameLocation":"28278:2:64","nodeType":"VariableDeclaration","scope":54437,"src":"28273:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54417,"name":"bool","nodeType":"ElementaryTypeName","src":"28273:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54420,"mutability":"mutable","name":"p2","nameLocation":"28287:2:64","nodeType":"VariableDeclaration","scope":54437,"src":"28282:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54419,"name":"bool","nodeType":"ElementaryTypeName","src":"28282:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54422,"mutability":"mutable","name":"p3","nameLocation":"28305:2:64","nodeType":"VariableDeclaration","scope":54437,"src":"28291:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54421,"name":"string","nodeType":"ElementaryTypeName","src":"28291:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28260:48:64"},"returnParameters":{"id":54424,"nodeType":"ParameterList","parameters":[],"src":"28323:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54460,"nodeType":"FunctionDefinition","src":"28435:170:64","nodes":[],"body":{"id":54459,"nodeType":"Block","src":"28501:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c626f6f6c29","id":54451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28551:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},"value":"log(uint256,bool,bool,bool)"},{"id":54452,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54439,"src":"28582:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54453,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54441,"src":"28586:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54454,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54443,"src":"28590:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54455,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54445,"src":"28594:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b6f577a1520f8fa7d40eaff9dcd5f293e28b7606bd07d0a450b13db93da80473","typeString":"literal_string \"log(uint256,bool,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54449,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28527:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54450,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28531:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28527:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28527:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54448,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"28511:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28511:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54458,"nodeType":"ExpressionStatement","src":"28511:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28444:3:64","parameters":{"id":54446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54439,"mutability":"mutable","name":"p0","nameLocation":"28456:2:64","nodeType":"VariableDeclaration","scope":54460,"src":"28448:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54438,"name":"uint256","nodeType":"ElementaryTypeName","src":"28448:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54441,"mutability":"mutable","name":"p1","nameLocation":"28465:2:64","nodeType":"VariableDeclaration","scope":54460,"src":"28460:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54440,"name":"bool","nodeType":"ElementaryTypeName","src":"28460:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54443,"mutability":"mutable","name":"p2","nameLocation":"28474:2:64","nodeType":"VariableDeclaration","scope":54460,"src":"28469:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54442,"name":"bool","nodeType":"ElementaryTypeName","src":"28469:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54445,"mutability":"mutable","name":"p3","nameLocation":"28483:2:64","nodeType":"VariableDeclaration","scope":54460,"src":"28478:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54444,"name":"bool","nodeType":"ElementaryTypeName","src":"28478:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28447:39:64"},"returnParameters":{"id":54447,"nodeType":"ParameterList","parameters":[],"src":"28501:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54483,"nodeType":"FunctionDefinition","src":"28611:176:64","nodes":[],"body":{"id":54482,"nodeType":"Block","src":"28680:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c626f6f6c2c6164647265737329","id":54474,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28730:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},"value":"log(uint256,bool,bool,address)"},{"id":54475,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54462,"src":"28764:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54476,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54464,"src":"28768:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54477,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54466,"src":"28772:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54478,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54468,"src":"28776:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_69640b598ea5b9e4e68e932871cb8a509ce832c6718a902773532568b8c95c31","typeString":"literal_string \"log(uint256,bool,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28706:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28710:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28706:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28706:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54471,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"28690:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28690:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54481,"nodeType":"ExpressionStatement","src":"28690:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28620:3:64","parameters":{"id":54469,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54462,"mutability":"mutable","name":"p0","nameLocation":"28632:2:64","nodeType":"VariableDeclaration","scope":54483,"src":"28624:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54461,"name":"uint256","nodeType":"ElementaryTypeName","src":"28624:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54464,"mutability":"mutable","name":"p1","nameLocation":"28641:2:64","nodeType":"VariableDeclaration","scope":54483,"src":"28636:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54463,"name":"bool","nodeType":"ElementaryTypeName","src":"28636:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54466,"mutability":"mutable","name":"p2","nameLocation":"28650:2:64","nodeType":"VariableDeclaration","scope":54483,"src":"28645:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54465,"name":"bool","nodeType":"ElementaryTypeName","src":"28645:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54468,"mutability":"mutable","name":"p3","nameLocation":"28662:2:64","nodeType":"VariableDeclaration","scope":54483,"src":"28654:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54467,"name":"address","nodeType":"ElementaryTypeName","src":"28654:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"28623:42:64"},"returnParameters":{"id":54470,"nodeType":"ParameterList","parameters":[],"src":"28680:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54506,"nodeType":"FunctionDefinition","src":"28793:182:64","nodes":[],"body":{"id":54505,"nodeType":"Block","src":"28865:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c75696e7432353629","id":54497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"28915:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},"value":"log(uint256,bool,address,uint256)"},{"id":54498,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54485,"src":"28952:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54499,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54487,"src":"28956:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54500,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54489,"src":"28960:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54501,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54491,"src":"28964:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_078287f5d654caee11cca90bb8c074a9529509cd07319dc17a93fa036ea5ea88","typeString":"literal_string \"log(uint256,bool,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54495,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"28891:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54496,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"28895:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"28891:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28891:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54494,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"28875:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"28875:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54504,"nodeType":"ExpressionStatement","src":"28875:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28802:3:64","parameters":{"id":54492,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54485,"mutability":"mutable","name":"p0","nameLocation":"28814:2:64","nodeType":"VariableDeclaration","scope":54506,"src":"28806:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54484,"name":"uint256","nodeType":"ElementaryTypeName","src":"28806:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54487,"mutability":"mutable","name":"p1","nameLocation":"28823:2:64","nodeType":"VariableDeclaration","scope":54506,"src":"28818:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54486,"name":"bool","nodeType":"ElementaryTypeName","src":"28818:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54489,"mutability":"mutable","name":"p2","nameLocation":"28835:2:64","nodeType":"VariableDeclaration","scope":54506,"src":"28827:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54488,"name":"address","nodeType":"ElementaryTypeName","src":"28827:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54491,"mutability":"mutable","name":"p3","nameLocation":"28847:2:64","nodeType":"VariableDeclaration","scope":54506,"src":"28839:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54490,"name":"uint256","nodeType":"ElementaryTypeName","src":"28839:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28805:45:64"},"returnParameters":{"id":54493,"nodeType":"ParameterList","parameters":[],"src":"28865:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54529,"nodeType":"FunctionDefinition","src":"28981:187:64","nodes":[],"body":{"id":54528,"nodeType":"Block","src":"29059:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c737472696e6729","id":54520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29109:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},"value":"log(uint256,bool,address,string)"},{"id":54521,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54508,"src":"29145:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54522,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54510,"src":"29149:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54523,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54512,"src":"29153:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54524,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54514,"src":"29157:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ade052c70a8f7736e3d4ca12bfb5de52ba51cd4551a71eb41200e5ca9b193461","typeString":"literal_string \"log(uint256,bool,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54518,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29085:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54519,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29089:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29085:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29085:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54517,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"29069:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29069:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54527,"nodeType":"ExpressionStatement","src":"29069:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"28990:3:64","parameters":{"id":54515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54508,"mutability":"mutable","name":"p0","nameLocation":"29002:2:64","nodeType":"VariableDeclaration","scope":54529,"src":"28994:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54507,"name":"uint256","nodeType":"ElementaryTypeName","src":"28994:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54510,"mutability":"mutable","name":"p1","nameLocation":"29011:2:64","nodeType":"VariableDeclaration","scope":54529,"src":"29006:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54509,"name":"bool","nodeType":"ElementaryTypeName","src":"29006:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54512,"mutability":"mutable","name":"p2","nameLocation":"29023:2:64","nodeType":"VariableDeclaration","scope":54529,"src":"29015:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54511,"name":"address","nodeType":"ElementaryTypeName","src":"29015:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54514,"mutability":"mutable","name":"p3","nameLocation":"29041:2:64","nodeType":"VariableDeclaration","scope":54529,"src":"29027:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54513,"name":"string","nodeType":"ElementaryTypeName","src":"29027:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28993:51:64"},"returnParameters":{"id":54516,"nodeType":"ParameterList","parameters":[],"src":"29059:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54552,"nodeType":"FunctionDefinition","src":"29174:176:64","nodes":[],"body":{"id":54551,"nodeType":"Block","src":"29243:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c626f6f6c29","id":54543,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29293:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},"value":"log(uint256,bool,address,bool)"},{"id":54544,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54531,"src":"29327:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54545,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54533,"src":"29331:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54546,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54535,"src":"29335:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54547,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54537,"src":"29339:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_454d54a5a1119d55883b5fbee0d6f19af54017eb1650d2284224aac472880f6a","typeString":"literal_string \"log(uint256,bool,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54541,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29269:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54542,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29273:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29269:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29269:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54540,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"29253:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29253:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54550,"nodeType":"ExpressionStatement","src":"29253:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29183:3:64","parameters":{"id":54538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54531,"mutability":"mutable","name":"p0","nameLocation":"29195:2:64","nodeType":"VariableDeclaration","scope":54552,"src":"29187:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54530,"name":"uint256","nodeType":"ElementaryTypeName","src":"29187:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54533,"mutability":"mutable","name":"p1","nameLocation":"29204:2:64","nodeType":"VariableDeclaration","scope":54552,"src":"29199:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54532,"name":"bool","nodeType":"ElementaryTypeName","src":"29199:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54535,"mutability":"mutable","name":"p2","nameLocation":"29216:2:64","nodeType":"VariableDeclaration","scope":54552,"src":"29208:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54534,"name":"address","nodeType":"ElementaryTypeName","src":"29208:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54537,"mutability":"mutable","name":"p3","nameLocation":"29225:2:64","nodeType":"VariableDeclaration","scope":54552,"src":"29220:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54536,"name":"bool","nodeType":"ElementaryTypeName","src":"29220:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29186:42:64"},"returnParameters":{"id":54539,"nodeType":"ParameterList","parameters":[],"src":"29243:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54575,"nodeType":"FunctionDefinition","src":"29356:182:64","nodes":[],"body":{"id":54574,"nodeType":"Block","src":"29428:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c626f6f6c2c616464726573732c6164647265737329","id":54566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29478:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},"value":"log(uint256,bool,address,address)"},{"id":54567,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54554,"src":"29515:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54568,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54556,"src":"29519:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54569,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54558,"src":"29523:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54570,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54560,"src":"29527:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1ef4cbbfd0316a849f14b661567c9c341a49bccb745dfb6a3d9b82c389ac190","typeString":"literal_string \"log(uint256,bool,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54564,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29454:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54565,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29458:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29454:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29454:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54563,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"29438:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29438:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54573,"nodeType":"ExpressionStatement","src":"29438:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29365:3:64","parameters":{"id":54561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54554,"mutability":"mutable","name":"p0","nameLocation":"29377:2:64","nodeType":"VariableDeclaration","scope":54575,"src":"29369:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54553,"name":"uint256","nodeType":"ElementaryTypeName","src":"29369:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54556,"mutability":"mutable","name":"p1","nameLocation":"29386:2:64","nodeType":"VariableDeclaration","scope":54575,"src":"29381:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54555,"name":"bool","nodeType":"ElementaryTypeName","src":"29381:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54558,"mutability":"mutable","name":"p2","nameLocation":"29398:2:64","nodeType":"VariableDeclaration","scope":54575,"src":"29390:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54557,"name":"address","nodeType":"ElementaryTypeName","src":"29390:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54560,"mutability":"mutable","name":"p3","nameLocation":"29410:2:64","nodeType":"VariableDeclaration","scope":54575,"src":"29402:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54559,"name":"address","nodeType":"ElementaryTypeName","src":"29402:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"29368:45:64"},"returnParameters":{"id":54562,"nodeType":"ParameterList","parameters":[],"src":"29428:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54598,"nodeType":"FunctionDefinition","src":"29544:188:64","nodes":[],"body":{"id":54597,"nodeType":"Block","src":"29619:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c75696e7432353629","id":54589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29669:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},"value":"log(uint256,address,uint256,uint256)"},{"id":54590,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54577,"src":"29709:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54591,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54579,"src":"29713:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54592,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54581,"src":"29717:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54593,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54583,"src":"29721:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c9cd9c12a2e17a9af800ac7e9a2b379066135ecb5b197bdb13381ac61cbc59a","typeString":"literal_string \"log(uint256,address,uint256,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54587,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29645:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54588,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29649:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29645:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29645:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54586,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"29629:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29629:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54596,"nodeType":"ExpressionStatement","src":"29629:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29553:3:64","parameters":{"id":54584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54577,"mutability":"mutable","name":"p0","nameLocation":"29565:2:64","nodeType":"VariableDeclaration","scope":54598,"src":"29557:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54576,"name":"uint256","nodeType":"ElementaryTypeName","src":"29557:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54579,"mutability":"mutable","name":"p1","nameLocation":"29577:2:64","nodeType":"VariableDeclaration","scope":54598,"src":"29569:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54578,"name":"address","nodeType":"ElementaryTypeName","src":"29569:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54581,"mutability":"mutable","name":"p2","nameLocation":"29589:2:64","nodeType":"VariableDeclaration","scope":54598,"src":"29581:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54580,"name":"uint256","nodeType":"ElementaryTypeName","src":"29581:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54583,"mutability":"mutable","name":"p3","nameLocation":"29601:2:64","nodeType":"VariableDeclaration","scope":54598,"src":"29593:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54582,"name":"uint256","nodeType":"ElementaryTypeName","src":"29593:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"29556:48:64"},"returnParameters":{"id":54585,"nodeType":"ParameterList","parameters":[],"src":"29619:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54621,"nodeType":"FunctionDefinition","src":"29738:193:64","nodes":[],"body":{"id":54620,"nodeType":"Block","src":"29819:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c737472696e6729","id":54612,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"29869:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},"value":"log(uint256,address,uint256,string)"},{"id":54613,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54600,"src":"29908:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54614,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54602,"src":"29912:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54615,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54604,"src":"29916:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54616,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54606,"src":"29920:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ddb06521f885b932f9898b05830c564a50fea82133f47ad308278affbd84d0bd","typeString":"literal_string \"log(uint256,address,uint256,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54610,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"29845:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54611,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"29849:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"29845:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29845:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54609,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"29829:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"29829:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54619,"nodeType":"ExpressionStatement","src":"29829:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29747:3:64","parameters":{"id":54607,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54600,"mutability":"mutable","name":"p0","nameLocation":"29759:2:64","nodeType":"VariableDeclaration","scope":54621,"src":"29751:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54599,"name":"uint256","nodeType":"ElementaryTypeName","src":"29751:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54602,"mutability":"mutable","name":"p1","nameLocation":"29771:2:64","nodeType":"VariableDeclaration","scope":54621,"src":"29763:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54601,"name":"address","nodeType":"ElementaryTypeName","src":"29763:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54604,"mutability":"mutable","name":"p2","nameLocation":"29783:2:64","nodeType":"VariableDeclaration","scope":54621,"src":"29775:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54603,"name":"uint256","nodeType":"ElementaryTypeName","src":"29775:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54606,"mutability":"mutable","name":"p3","nameLocation":"29801:2:64","nodeType":"VariableDeclaration","scope":54621,"src":"29787:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54605,"name":"string","nodeType":"ElementaryTypeName","src":"29787:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29750:54:64"},"returnParameters":{"id":54608,"nodeType":"ParameterList","parameters":[],"src":"29819:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54644,"nodeType":"FunctionDefinition","src":"29937:182:64","nodes":[],"body":{"id":54643,"nodeType":"Block","src":"30009:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c626f6f6c29","id":54635,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30059:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},"value":"log(uint256,address,uint256,bool)"},{"id":54636,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54623,"src":"30096:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54637,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54625,"src":"30100:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54638,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54627,"src":"30104:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54639,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54629,"src":"30108:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f743a7c155871069fb5e6df4e57e25e572bb3015b18294cc69630b2e0ae2e5f","typeString":"literal_string \"log(uint256,address,uint256,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54633,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30035:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54634,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30039:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30035:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30035:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54632,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"30019:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30019:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54642,"nodeType":"ExpressionStatement","src":"30019:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"29946:3:64","parameters":{"id":54630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54623,"mutability":"mutable","name":"p0","nameLocation":"29958:2:64","nodeType":"VariableDeclaration","scope":54644,"src":"29950:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54622,"name":"uint256","nodeType":"ElementaryTypeName","src":"29950:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54625,"mutability":"mutable","name":"p1","nameLocation":"29970:2:64","nodeType":"VariableDeclaration","scope":54644,"src":"29962:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54624,"name":"address","nodeType":"ElementaryTypeName","src":"29962:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54627,"mutability":"mutable","name":"p2","nameLocation":"29982:2:64","nodeType":"VariableDeclaration","scope":54644,"src":"29974:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54626,"name":"uint256","nodeType":"ElementaryTypeName","src":"29974:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54629,"mutability":"mutable","name":"p3","nameLocation":"29991:2:64","nodeType":"VariableDeclaration","scope":54644,"src":"29986:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54628,"name":"bool","nodeType":"ElementaryTypeName","src":"29986:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29949:45:64"},"returnParameters":{"id":54631,"nodeType":"ParameterList","parameters":[],"src":"30009:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54667,"nodeType":"FunctionDefinition","src":"30125:188:64","nodes":[],"body":{"id":54666,"nodeType":"Block","src":"30200:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c75696e743235362c6164647265737329","id":54658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30250:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},"value":"log(uint256,address,uint256,address)"},{"id":54659,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54646,"src":"30290:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54660,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54648,"src":"30294:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54661,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54650,"src":"30298:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54662,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54652,"src":"30302:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_15c127b50404cc1f9627d5115fd42bf400df548658b1002bf25e12f94854b379","typeString":"literal_string \"log(uint256,address,uint256,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54656,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30226:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54657,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30230:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30226:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30226:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54655,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"30210:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30210:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54665,"nodeType":"ExpressionStatement","src":"30210:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30134:3:64","parameters":{"id":54653,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54646,"mutability":"mutable","name":"p0","nameLocation":"30146:2:64","nodeType":"VariableDeclaration","scope":54667,"src":"30138:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54645,"name":"uint256","nodeType":"ElementaryTypeName","src":"30138:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54648,"mutability":"mutable","name":"p1","nameLocation":"30158:2:64","nodeType":"VariableDeclaration","scope":54667,"src":"30150:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54647,"name":"address","nodeType":"ElementaryTypeName","src":"30150:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54650,"mutability":"mutable","name":"p2","nameLocation":"30170:2:64","nodeType":"VariableDeclaration","scope":54667,"src":"30162:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54649,"name":"uint256","nodeType":"ElementaryTypeName","src":"30162:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54652,"mutability":"mutable","name":"p3","nameLocation":"30182:2:64","nodeType":"VariableDeclaration","scope":54667,"src":"30174:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54651,"name":"address","nodeType":"ElementaryTypeName","src":"30174:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30137:48:64"},"returnParameters":{"id":54654,"nodeType":"ParameterList","parameters":[],"src":"30200:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54690,"nodeType":"FunctionDefinition","src":"30319:193:64","nodes":[],"body":{"id":54689,"nodeType":"Block","src":"30400:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c75696e7432353629","id":54681,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30450:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},"value":"log(uint256,address,string,uint256)"},{"id":54682,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54669,"src":"30489:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54683,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54671,"src":"30493:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54684,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54673,"src":"30497:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54685,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54675,"src":"30501:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46826b5dec5e8aeff4504f2c138d4e9c8aadb89d9034725f3050269a35303ba0","typeString":"literal_string \"log(uint256,address,string,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54679,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30426:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54680,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30430:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30426:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30426:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54678,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"30410:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30410:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54688,"nodeType":"ExpressionStatement","src":"30410:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30328:3:64","parameters":{"id":54676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54669,"mutability":"mutable","name":"p0","nameLocation":"30340:2:64","nodeType":"VariableDeclaration","scope":54690,"src":"30332:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54668,"name":"uint256","nodeType":"ElementaryTypeName","src":"30332:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54671,"mutability":"mutable","name":"p1","nameLocation":"30352:2:64","nodeType":"VariableDeclaration","scope":54690,"src":"30344:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54670,"name":"address","nodeType":"ElementaryTypeName","src":"30344:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54673,"mutability":"mutable","name":"p2","nameLocation":"30370:2:64","nodeType":"VariableDeclaration","scope":54690,"src":"30356:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54672,"name":"string","nodeType":"ElementaryTypeName","src":"30356:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54675,"mutability":"mutable","name":"p3","nameLocation":"30382:2:64","nodeType":"VariableDeclaration","scope":54690,"src":"30374:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54674,"name":"uint256","nodeType":"ElementaryTypeName","src":"30374:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"30331:54:64"},"returnParameters":{"id":54677,"nodeType":"ParameterList","parameters":[],"src":"30400:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54713,"nodeType":"FunctionDefinition","src":"30518:198:64","nodes":[],"body":{"id":54712,"nodeType":"Block","src":"30605:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c737472696e6729","id":54704,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30655:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},"value":"log(uint256,address,string,string)"},{"id":54705,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54692,"src":"30693:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54706,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54694,"src":"30697:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54707,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54696,"src":"30701:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54708,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54698,"src":"30705:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e128ca3cc785552dc4e62d3c73af79fb5f114dc6f0c0eb2bc0e3bdbbd4a1d3b","typeString":"literal_string \"log(uint256,address,string,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30631:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30635:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30631:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54709,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30631:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54701,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"30615:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30615:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54711,"nodeType":"ExpressionStatement","src":"30615:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30527:3:64","parameters":{"id":54699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54692,"mutability":"mutable","name":"p0","nameLocation":"30539:2:64","nodeType":"VariableDeclaration","scope":54713,"src":"30531:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54691,"name":"uint256","nodeType":"ElementaryTypeName","src":"30531:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54694,"mutability":"mutable","name":"p1","nameLocation":"30551:2:64","nodeType":"VariableDeclaration","scope":54713,"src":"30543:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54693,"name":"address","nodeType":"ElementaryTypeName","src":"30543:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54696,"mutability":"mutable","name":"p2","nameLocation":"30569:2:64","nodeType":"VariableDeclaration","scope":54713,"src":"30555:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54695,"name":"string","nodeType":"ElementaryTypeName","src":"30555:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54698,"mutability":"mutable","name":"p3","nameLocation":"30587:2:64","nodeType":"VariableDeclaration","scope":54713,"src":"30573:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54697,"name":"string","nodeType":"ElementaryTypeName","src":"30573:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30530:60:64"},"returnParameters":{"id":54700,"nodeType":"ParameterList","parameters":[],"src":"30605:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54736,"nodeType":"FunctionDefinition","src":"30722:187:64","nodes":[],"body":{"id":54735,"nodeType":"Block","src":"30800:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c626f6f6c29","id":54727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"30850:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},"value":"log(uint256,address,string,bool)"},{"id":54728,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54715,"src":"30886:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54729,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54717,"src":"30890:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54730,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54719,"src":"30894:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54731,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54721,"src":"30898:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc32ab07df108ae88df1c6b9771e60e5cd39cbe0f0e92481af8633000db2c64b","typeString":"literal_string \"log(uint256,address,string,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54725,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"30826:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54726,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"30830:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"30826:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30826:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54724,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"30810:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"30810:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54734,"nodeType":"ExpressionStatement","src":"30810:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30731:3:64","parameters":{"id":54722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54715,"mutability":"mutable","name":"p0","nameLocation":"30743:2:64","nodeType":"VariableDeclaration","scope":54736,"src":"30735:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54714,"name":"uint256","nodeType":"ElementaryTypeName","src":"30735:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54717,"mutability":"mutable","name":"p1","nameLocation":"30755:2:64","nodeType":"VariableDeclaration","scope":54736,"src":"30747:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54716,"name":"address","nodeType":"ElementaryTypeName","src":"30747:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54719,"mutability":"mutable","name":"p2","nameLocation":"30773:2:64","nodeType":"VariableDeclaration","scope":54736,"src":"30759:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54718,"name":"string","nodeType":"ElementaryTypeName","src":"30759:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54721,"mutability":"mutable","name":"p3","nameLocation":"30782:2:64","nodeType":"VariableDeclaration","scope":54736,"src":"30777:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54720,"name":"bool","nodeType":"ElementaryTypeName","src":"30777:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30734:51:64"},"returnParameters":{"id":54723,"nodeType":"ParameterList","parameters":[],"src":"30800:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54759,"nodeType":"FunctionDefinition","src":"30915:193:64","nodes":[],"body":{"id":54758,"nodeType":"Block","src":"30996:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c737472696e672c6164647265737329","id":54750,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31046:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},"value":"log(uint256,address,string,address)"},{"id":54751,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54738,"src":"31085:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54752,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54740,"src":"31089:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54753,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54742,"src":"31093:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54754,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54744,"src":"31097:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9cba8fffa4a3e6f47d307a71f619bf1719d0a75680c6c916d7776ea0341039b9","typeString":"literal_string \"log(uint256,address,string,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54748,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31022:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54749,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31026:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31022:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54755,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31022:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54747,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31006:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31006:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54757,"nodeType":"ExpressionStatement","src":"31006:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"30924:3:64","parameters":{"id":54745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54738,"mutability":"mutable","name":"p0","nameLocation":"30936:2:64","nodeType":"VariableDeclaration","scope":54759,"src":"30928:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54737,"name":"uint256","nodeType":"ElementaryTypeName","src":"30928:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54740,"mutability":"mutable","name":"p1","nameLocation":"30948:2:64","nodeType":"VariableDeclaration","scope":54759,"src":"30940:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54739,"name":"address","nodeType":"ElementaryTypeName","src":"30940:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54742,"mutability":"mutable","name":"p2","nameLocation":"30966:2:64","nodeType":"VariableDeclaration","scope":54759,"src":"30952:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54741,"name":"string","nodeType":"ElementaryTypeName","src":"30952:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54744,"mutability":"mutable","name":"p3","nameLocation":"30978:2:64","nodeType":"VariableDeclaration","scope":54759,"src":"30970:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54743,"name":"address","nodeType":"ElementaryTypeName","src":"30970:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30927:54:64"},"returnParameters":{"id":54746,"nodeType":"ParameterList","parameters":[],"src":"30996:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54782,"nodeType":"FunctionDefinition","src":"31114:182:64","nodes":[],"body":{"id":54781,"nodeType":"Block","src":"31186:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c75696e7432353629","id":54773,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31236:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},"value":"log(uint256,address,bool,uint256)"},{"id":54774,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54761,"src":"31273:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54775,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54763,"src":"31277:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54776,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54765,"src":"31281:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54777,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54767,"src":"31285:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5abd992a7a64be8afc8745d44215dd5b4a31f8b03abd4cb03ff6565b7f51c1b1","typeString":"literal_string \"log(uint256,address,bool,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54771,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31212:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54772,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31216:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31212:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31212:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54770,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31196:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31196:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54780,"nodeType":"ExpressionStatement","src":"31196:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31123:3:64","parameters":{"id":54768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54761,"mutability":"mutable","name":"p0","nameLocation":"31135:2:64","nodeType":"VariableDeclaration","scope":54782,"src":"31127:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54760,"name":"uint256","nodeType":"ElementaryTypeName","src":"31127:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54763,"mutability":"mutable","name":"p1","nameLocation":"31147:2:64","nodeType":"VariableDeclaration","scope":54782,"src":"31139:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54762,"name":"address","nodeType":"ElementaryTypeName","src":"31139:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54765,"mutability":"mutable","name":"p2","nameLocation":"31156:2:64","nodeType":"VariableDeclaration","scope":54782,"src":"31151:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54764,"name":"bool","nodeType":"ElementaryTypeName","src":"31151:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54767,"mutability":"mutable","name":"p3","nameLocation":"31168:2:64","nodeType":"VariableDeclaration","scope":54782,"src":"31160:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54766,"name":"uint256","nodeType":"ElementaryTypeName","src":"31160:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31126:45:64"},"returnParameters":{"id":54769,"nodeType":"ParameterList","parameters":[],"src":"31186:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54805,"nodeType":"FunctionDefinition","src":"31302:187:64","nodes":[],"body":{"id":54804,"nodeType":"Block","src":"31380:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c737472696e6729","id":54796,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31430:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},"value":"log(uint256,address,bool,string)"},{"id":54797,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54784,"src":"31466:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54798,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54786,"src":"31470:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54799,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54788,"src":"31474:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54800,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54790,"src":"31478:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_90fb06aa0f94ddb9149d9a0d0271a9fd2b331af93ebc6a4aece22e4f82154c7d","typeString":"literal_string \"log(uint256,address,bool,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54794,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31406:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54795,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31410:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31406:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54801,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31406:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54793,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31390:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31390:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54803,"nodeType":"ExpressionStatement","src":"31390:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31311:3:64","parameters":{"id":54791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54784,"mutability":"mutable","name":"p0","nameLocation":"31323:2:64","nodeType":"VariableDeclaration","scope":54805,"src":"31315:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54783,"name":"uint256","nodeType":"ElementaryTypeName","src":"31315:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54786,"mutability":"mutable","name":"p1","nameLocation":"31335:2:64","nodeType":"VariableDeclaration","scope":54805,"src":"31327:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54785,"name":"address","nodeType":"ElementaryTypeName","src":"31327:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54788,"mutability":"mutable","name":"p2","nameLocation":"31344:2:64","nodeType":"VariableDeclaration","scope":54805,"src":"31339:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54787,"name":"bool","nodeType":"ElementaryTypeName","src":"31339:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54790,"mutability":"mutable","name":"p3","nameLocation":"31362:2:64","nodeType":"VariableDeclaration","scope":54805,"src":"31348:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54789,"name":"string","nodeType":"ElementaryTypeName","src":"31348:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31314:51:64"},"returnParameters":{"id":54792,"nodeType":"ParameterList","parameters":[],"src":"31380:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54828,"nodeType":"FunctionDefinition","src":"31495:176:64","nodes":[],"body":{"id":54827,"nodeType":"Block","src":"31564:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c626f6f6c29","id":54819,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31614:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},"value":"log(uint256,address,bool,bool)"},{"id":54820,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54807,"src":"31648:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54821,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54809,"src":"31652:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54822,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54811,"src":"31656:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54823,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54813,"src":"31660:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e351140f919f09731a4793c7bb4d5f07234902f499ced9e1e3c9639d2685c6f1","typeString":"literal_string \"log(uint256,address,bool,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54817,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31590:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54818,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31594:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31590:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31590:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54816,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31574:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31574:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54826,"nodeType":"ExpressionStatement","src":"31574:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31504:3:64","parameters":{"id":54814,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54807,"mutability":"mutable","name":"p0","nameLocation":"31516:2:64","nodeType":"VariableDeclaration","scope":54828,"src":"31508:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54806,"name":"uint256","nodeType":"ElementaryTypeName","src":"31508:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54809,"mutability":"mutable","name":"p1","nameLocation":"31528:2:64","nodeType":"VariableDeclaration","scope":54828,"src":"31520:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54808,"name":"address","nodeType":"ElementaryTypeName","src":"31520:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54811,"mutability":"mutable","name":"p2","nameLocation":"31537:2:64","nodeType":"VariableDeclaration","scope":54828,"src":"31532:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54810,"name":"bool","nodeType":"ElementaryTypeName","src":"31532:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54813,"mutability":"mutable","name":"p3","nameLocation":"31546:2:64","nodeType":"VariableDeclaration","scope":54828,"src":"31541:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54812,"name":"bool","nodeType":"ElementaryTypeName","src":"31541:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"31507:42:64"},"returnParameters":{"id":54815,"nodeType":"ParameterList","parameters":[],"src":"31564:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54851,"nodeType":"FunctionDefinition","src":"31677:182:64","nodes":[],"body":{"id":54850,"nodeType":"Block","src":"31749:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c626f6f6c2c6164647265737329","id":54842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31799:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},"value":"log(uint256,address,bool,address)"},{"id":54843,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54830,"src":"31836:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54844,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54832,"src":"31840:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54845,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54834,"src":"31844:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":54846,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54836,"src":"31848:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef72c5130890d3b81e89bdbf9a039a84547328dd01c955d6bb1088aaf2252d05","typeString":"literal_string \"log(uint256,address,bool,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54840,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31775:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54841,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31779:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31775:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54847,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31775:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54839,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31759:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31759:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54849,"nodeType":"ExpressionStatement","src":"31759:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31686:3:64","parameters":{"id":54837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54830,"mutability":"mutable","name":"p0","nameLocation":"31698:2:64","nodeType":"VariableDeclaration","scope":54851,"src":"31690:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54829,"name":"uint256","nodeType":"ElementaryTypeName","src":"31690:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54832,"mutability":"mutable","name":"p1","nameLocation":"31710:2:64","nodeType":"VariableDeclaration","scope":54851,"src":"31702:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54831,"name":"address","nodeType":"ElementaryTypeName","src":"31702:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54834,"mutability":"mutable","name":"p2","nameLocation":"31719:2:64","nodeType":"VariableDeclaration","scope":54851,"src":"31714:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54833,"name":"bool","nodeType":"ElementaryTypeName","src":"31714:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":54836,"mutability":"mutable","name":"p3","nameLocation":"31731:2:64","nodeType":"VariableDeclaration","scope":54851,"src":"31723:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54835,"name":"address","nodeType":"ElementaryTypeName","src":"31723:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"31689:45:64"},"returnParameters":{"id":54838,"nodeType":"ParameterList","parameters":[],"src":"31749:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54874,"nodeType":"FunctionDefinition","src":"31865:188:64","nodes":[],"body":{"id":54873,"nodeType":"Block","src":"31940:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c75696e7432353629","id":54865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"31990:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},"value":"log(uint256,address,address,uint256)"},{"id":54866,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54853,"src":"32030:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54867,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54855,"src":"32034:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54868,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54857,"src":"32038:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54869,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54859,"src":"32042:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_736efbb692cd4ba0c879f89673f1c5a7eb58e7bd2b833c4d30d41d3aa9c7a23a","typeString":"literal_string \"log(uint256,address,address,uint256)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"31966:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"31970:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"31966:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31966:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54862,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"31950:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"31950:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54872,"nodeType":"ExpressionStatement","src":"31950:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"31874:3:64","parameters":{"id":54860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54853,"mutability":"mutable","name":"p0","nameLocation":"31886:2:64","nodeType":"VariableDeclaration","scope":54874,"src":"31878:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54852,"name":"uint256","nodeType":"ElementaryTypeName","src":"31878:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54855,"mutability":"mutable","name":"p1","nameLocation":"31898:2:64","nodeType":"VariableDeclaration","scope":54874,"src":"31890:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54854,"name":"address","nodeType":"ElementaryTypeName","src":"31890:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54857,"mutability":"mutable","name":"p2","nameLocation":"31910:2:64","nodeType":"VariableDeclaration","scope":54874,"src":"31902:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54856,"name":"address","nodeType":"ElementaryTypeName","src":"31902:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54859,"mutability":"mutable","name":"p3","nameLocation":"31922:2:64","nodeType":"VariableDeclaration","scope":54874,"src":"31914:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54858,"name":"uint256","nodeType":"ElementaryTypeName","src":"31914:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"31877:48:64"},"returnParameters":{"id":54861,"nodeType":"ParameterList","parameters":[],"src":"31940:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54897,"nodeType":"FunctionDefinition","src":"32059:193:64","nodes":[],"body":{"id":54896,"nodeType":"Block","src":"32140:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c737472696e6729","id":54888,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32190:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},"value":"log(uint256,address,address,string)"},{"id":54889,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54876,"src":"32229:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54890,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54878,"src":"32233:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54891,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54880,"src":"32237:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54892,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54882,"src":"32241:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_031c6f73458c2a0d841ad5d5914dceb24973d9df898a3826eec79330397cd882","typeString":"literal_string \"log(uint256,address,address,string)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54886,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32166:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54887,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32170:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32166:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54893,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32166:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54885,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"32150:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32150:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54895,"nodeType":"ExpressionStatement","src":"32150:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32068:3:64","parameters":{"id":54883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54876,"mutability":"mutable","name":"p0","nameLocation":"32080:2:64","nodeType":"VariableDeclaration","scope":54897,"src":"32072:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54875,"name":"uint256","nodeType":"ElementaryTypeName","src":"32072:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54878,"mutability":"mutable","name":"p1","nameLocation":"32092:2:64","nodeType":"VariableDeclaration","scope":54897,"src":"32084:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54877,"name":"address","nodeType":"ElementaryTypeName","src":"32084:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54880,"mutability":"mutable","name":"p2","nameLocation":"32104:2:64","nodeType":"VariableDeclaration","scope":54897,"src":"32096:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54879,"name":"address","nodeType":"ElementaryTypeName","src":"32096:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54882,"mutability":"mutable","name":"p3","nameLocation":"32122:2:64","nodeType":"VariableDeclaration","scope":54897,"src":"32108:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54881,"name":"string","nodeType":"ElementaryTypeName","src":"32108:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32071:54:64"},"returnParameters":{"id":54884,"nodeType":"ParameterList","parameters":[],"src":"32140:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54920,"nodeType":"FunctionDefinition","src":"32258:182:64","nodes":[],"body":{"id":54919,"nodeType":"Block","src":"32330:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c626f6f6c29","id":54911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32380:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},"value":"log(uint256,address,address,bool)"},{"id":54912,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54899,"src":"32417:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54913,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54901,"src":"32421:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54914,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54903,"src":"32425:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54915,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54905,"src":"32429:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_091ffaf5e3365a794bfeb97b8157886a9ba00c981ee88d8a8fdb0cc96a5e6c1d","typeString":"literal_string \"log(uint256,address,address,bool)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":54909,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32356:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54910,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32360:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32356:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32356:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54908,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"32340:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32340:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54918,"nodeType":"ExpressionStatement","src":"32340:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32267:3:64","parameters":{"id":54906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54899,"mutability":"mutable","name":"p0","nameLocation":"32279:2:64","nodeType":"VariableDeclaration","scope":54920,"src":"32271:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54898,"name":"uint256","nodeType":"ElementaryTypeName","src":"32271:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54901,"mutability":"mutable","name":"p1","nameLocation":"32291:2:64","nodeType":"VariableDeclaration","scope":54920,"src":"32283:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54900,"name":"address","nodeType":"ElementaryTypeName","src":"32283:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54903,"mutability":"mutable","name":"p2","nameLocation":"32303:2:64","nodeType":"VariableDeclaration","scope":54920,"src":"32295:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54902,"name":"address","nodeType":"ElementaryTypeName","src":"32295:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54905,"mutability":"mutable","name":"p3","nameLocation":"32312:2:64","nodeType":"VariableDeclaration","scope":54920,"src":"32307:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54904,"name":"bool","nodeType":"ElementaryTypeName","src":"32307:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"32270:45:64"},"returnParameters":{"id":54907,"nodeType":"ParameterList","parameters":[],"src":"32330:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54943,"nodeType":"FunctionDefinition","src":"32446:188:64","nodes":[],"body":{"id":54942,"nodeType":"Block","src":"32521:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f672875696e743235362c616464726573732c616464726573732c6164647265737329","id":54934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32571:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},"value":"log(uint256,address,address,address)"},{"id":54935,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54922,"src":"32611:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54936,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54924,"src":"32615:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54937,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54926,"src":"32619:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":54938,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54928,"src":"32623:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2488b414330cbd4ddab2b849dacd8bed50b19b82318ec6e4a5ccdf72ee519553","typeString":"literal_string \"log(uint256,address,address,address)\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":54932,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32547:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54933,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32551:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32547:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32547:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54931,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"32531:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32531:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54941,"nodeType":"ExpressionStatement","src":"32531:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32455:3:64","parameters":{"id":54929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54922,"mutability":"mutable","name":"p0","nameLocation":"32467:2:64","nodeType":"VariableDeclaration","scope":54943,"src":"32459:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54921,"name":"uint256","nodeType":"ElementaryTypeName","src":"32459:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54924,"mutability":"mutable","name":"p1","nameLocation":"32479:2:64","nodeType":"VariableDeclaration","scope":54943,"src":"32471:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54923,"name":"address","nodeType":"ElementaryTypeName","src":"32471:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54926,"mutability":"mutable","name":"p2","nameLocation":"32491:2:64","nodeType":"VariableDeclaration","scope":54943,"src":"32483:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54925,"name":"address","nodeType":"ElementaryTypeName","src":"32483:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":54928,"mutability":"mutable","name":"p3","nameLocation":"32503:2:64","nodeType":"VariableDeclaration","scope":54943,"src":"32495:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":54927,"name":"address","nodeType":"ElementaryTypeName","src":"32495:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"32458:48:64"},"returnParameters":{"id":54930,"nodeType":"ParameterList","parameters":[],"src":"32521:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54966,"nodeType":"FunctionDefinition","src":"32640:193:64","nodes":[],"body":{"id":54965,"nodeType":"Block","src":"32721:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c75696e7432353629","id":54957,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32771:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},"value":"log(string,uint256,uint256,uint256)"},{"id":54958,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54945,"src":"32810:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54959,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54947,"src":"32814:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54960,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54949,"src":"32818:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54961,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54951,"src":"32822:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a7a8785394d9aadf7945b4e3d27726dea716dc88e3f64cc80b3aa9abbd2751c5","typeString":"literal_string \"log(string,uint256,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":54955,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32747:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54956,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32751:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32747:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32747:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54954,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"32731:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32731:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54964,"nodeType":"ExpressionStatement","src":"32731:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32649:3:64","parameters":{"id":54952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54945,"mutability":"mutable","name":"p0","nameLocation":"32667:2:64","nodeType":"VariableDeclaration","scope":54966,"src":"32653:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54944,"name":"string","nodeType":"ElementaryTypeName","src":"32653:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54947,"mutability":"mutable","name":"p1","nameLocation":"32679:2:64","nodeType":"VariableDeclaration","scope":54966,"src":"32671:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54946,"name":"uint256","nodeType":"ElementaryTypeName","src":"32671:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54949,"mutability":"mutable","name":"p2","nameLocation":"32691:2:64","nodeType":"VariableDeclaration","scope":54966,"src":"32683:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54948,"name":"uint256","nodeType":"ElementaryTypeName","src":"32683:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54951,"mutability":"mutable","name":"p3","nameLocation":"32703:2:64","nodeType":"VariableDeclaration","scope":54966,"src":"32695:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54950,"name":"uint256","nodeType":"ElementaryTypeName","src":"32695:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32652:54:64"},"returnParameters":{"id":54953,"nodeType":"ParameterList","parameters":[],"src":"32721:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":54989,"nodeType":"FunctionDefinition","src":"32839:198:64","nodes":[],"body":{"id":54988,"nodeType":"Block","src":"32926:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c737472696e6729","id":54980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"32976:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},"value":"log(string,uint256,uint256,string)"},{"id":54981,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54968,"src":"33014:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":54982,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54970,"src":"33018:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54983,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54972,"src":"33022:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":54984,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54974,"src":"33026:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_854b34964800cd321ba295da547026c9cfe69753667a81487e80d237f63c927f","typeString":"literal_string \"log(string,uint256,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":54978,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"32952:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":54979,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"32956:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"32952:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":54985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32952:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":54977,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"32936:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":54986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"32936:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54987,"nodeType":"ExpressionStatement","src":"32936:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"32848:3:64","parameters":{"id":54975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54968,"mutability":"mutable","name":"p0","nameLocation":"32866:2:64","nodeType":"VariableDeclaration","scope":54989,"src":"32852:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54967,"name":"string","nodeType":"ElementaryTypeName","src":"32852:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54970,"mutability":"mutable","name":"p1","nameLocation":"32878:2:64","nodeType":"VariableDeclaration","scope":54989,"src":"32870:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54969,"name":"uint256","nodeType":"ElementaryTypeName","src":"32870:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54972,"mutability":"mutable","name":"p2","nameLocation":"32890:2:64","nodeType":"VariableDeclaration","scope":54989,"src":"32882:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54971,"name":"uint256","nodeType":"ElementaryTypeName","src":"32882:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54974,"mutability":"mutable","name":"p3","nameLocation":"32908:2:64","nodeType":"VariableDeclaration","scope":54989,"src":"32894:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54973,"name":"string","nodeType":"ElementaryTypeName","src":"32894:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32851:60:64"},"returnParameters":{"id":54976,"nodeType":"ParameterList","parameters":[],"src":"32926:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55012,"nodeType":"FunctionDefinition","src":"33043:187:64","nodes":[],"body":{"id":55011,"nodeType":"Block","src":"33121:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c626f6f6c29","id":55003,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33171:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},"value":"log(string,uint256,uint256,bool)"},{"id":55004,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54991,"src":"33207:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55005,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54993,"src":"33211:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55006,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54995,"src":"33215:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55007,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":54997,"src":"33219:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7626db92bcbe8fb38799da91134ebae6bc6c7b10cb0db567e752720b8fd9ae0f","typeString":"literal_string \"log(string,uint256,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55001,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33147:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55002,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33151:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33147:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33147:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55000,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"33131:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33131:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55010,"nodeType":"ExpressionStatement","src":"33131:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33052:3:64","parameters":{"id":54998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":54991,"mutability":"mutable","name":"p0","nameLocation":"33070:2:64","nodeType":"VariableDeclaration","scope":55012,"src":"33056:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":54990,"name":"string","nodeType":"ElementaryTypeName","src":"33056:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":54993,"mutability":"mutable","name":"p1","nameLocation":"33082:2:64","nodeType":"VariableDeclaration","scope":55012,"src":"33074:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54992,"name":"uint256","nodeType":"ElementaryTypeName","src":"33074:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54995,"mutability":"mutable","name":"p2","nameLocation":"33094:2:64","nodeType":"VariableDeclaration","scope":55012,"src":"33086:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":54994,"name":"uint256","nodeType":"ElementaryTypeName","src":"33086:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":54997,"mutability":"mutable","name":"p3","nameLocation":"33103:2:64","nodeType":"VariableDeclaration","scope":55012,"src":"33098:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":54996,"name":"bool","nodeType":"ElementaryTypeName","src":"33098:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33055:51:64"},"returnParameters":{"id":54999,"nodeType":"ParameterList","parameters":[],"src":"33121:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55035,"nodeType":"FunctionDefinition","src":"33236:193:64","nodes":[],"body":{"id":55034,"nodeType":"Block","src":"33317:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c75696e743235362c6164647265737329","id":55026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33367:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},"value":"log(string,uint256,uint256,address)"},{"id":55027,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55014,"src":"33406:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55028,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55016,"src":"33410:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55029,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55018,"src":"33414:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55030,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55020,"src":"33418:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e21de278b3902dab5803384c9ad03fb95c973bc87490e387079e41c7f244f118","typeString":"literal_string \"log(string,uint256,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55024,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33343:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55025,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33347:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33343:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55031,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33343:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55023,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"33327:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33327:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55033,"nodeType":"ExpressionStatement","src":"33327:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33245:3:64","parameters":{"id":55021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55014,"mutability":"mutable","name":"p0","nameLocation":"33263:2:64","nodeType":"VariableDeclaration","scope":55035,"src":"33249:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55013,"name":"string","nodeType":"ElementaryTypeName","src":"33249:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55016,"mutability":"mutable","name":"p1","nameLocation":"33275:2:64","nodeType":"VariableDeclaration","scope":55035,"src":"33267:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55015,"name":"uint256","nodeType":"ElementaryTypeName","src":"33267:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55018,"mutability":"mutable","name":"p2","nameLocation":"33287:2:64","nodeType":"VariableDeclaration","scope":55035,"src":"33279:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55017,"name":"uint256","nodeType":"ElementaryTypeName","src":"33279:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55020,"mutability":"mutable","name":"p3","nameLocation":"33299:2:64","nodeType":"VariableDeclaration","scope":55035,"src":"33291:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55019,"name":"address","nodeType":"ElementaryTypeName","src":"33291:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33248:54:64"},"returnParameters":{"id":55022,"nodeType":"ParameterList","parameters":[],"src":"33317:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55058,"nodeType":"FunctionDefinition","src":"33435:198:64","nodes":[],"body":{"id":55057,"nodeType":"Block","src":"33522:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c75696e7432353629","id":55049,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33572:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},"value":"log(string,uint256,string,uint256)"},{"id":55050,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55037,"src":"33610:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55051,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55039,"src":"33614:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55052,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55041,"src":"33618:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55053,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55043,"src":"33622:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c67ea9d1db4353b82da41ad5e5b85243320ba3a89399b41c13eee1ab804e84c9","typeString":"literal_string \"log(string,uint256,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55047,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33548:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55048,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33552:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33548:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33548:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55046,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"33532:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33532:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55056,"nodeType":"ExpressionStatement","src":"33532:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33444:3:64","parameters":{"id":55044,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55037,"mutability":"mutable","name":"p0","nameLocation":"33462:2:64","nodeType":"VariableDeclaration","scope":55058,"src":"33448:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55036,"name":"string","nodeType":"ElementaryTypeName","src":"33448:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55039,"mutability":"mutable","name":"p1","nameLocation":"33474:2:64","nodeType":"VariableDeclaration","scope":55058,"src":"33466:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55038,"name":"uint256","nodeType":"ElementaryTypeName","src":"33466:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55041,"mutability":"mutable","name":"p2","nameLocation":"33492:2:64","nodeType":"VariableDeclaration","scope":55058,"src":"33478:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55040,"name":"string","nodeType":"ElementaryTypeName","src":"33478:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55043,"mutability":"mutable","name":"p3","nameLocation":"33504:2:64","nodeType":"VariableDeclaration","scope":55058,"src":"33496:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55042,"name":"uint256","nodeType":"ElementaryTypeName","src":"33496:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"33447:60:64"},"returnParameters":{"id":55045,"nodeType":"ParameterList","parameters":[],"src":"33522:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55081,"nodeType":"FunctionDefinition","src":"33639:203:64","nodes":[],"body":{"id":55080,"nodeType":"Block","src":"33732:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c737472696e6729","id":55072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33782:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},"value":"log(string,uint256,string,string)"},{"id":55073,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55060,"src":"33819:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55074,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55062,"src":"33823:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55075,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55064,"src":"33827:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55076,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55066,"src":"33831:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ab84e1fba099b79ad99dc62242807811428e5c36b5f473a3b74e319a04c4089","typeString":"literal_string \"log(string,uint256,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55070,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33758:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55071,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33762:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33758:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55077,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33758:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55069,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"33742:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33742:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55079,"nodeType":"ExpressionStatement","src":"33742:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33648:3:64","parameters":{"id":55067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55060,"mutability":"mutable","name":"p0","nameLocation":"33666:2:64","nodeType":"VariableDeclaration","scope":55081,"src":"33652:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55059,"name":"string","nodeType":"ElementaryTypeName","src":"33652:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55062,"mutability":"mutable","name":"p1","nameLocation":"33678:2:64","nodeType":"VariableDeclaration","scope":55081,"src":"33670:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55061,"name":"uint256","nodeType":"ElementaryTypeName","src":"33670:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55064,"mutability":"mutable","name":"p2","nameLocation":"33696:2:64","nodeType":"VariableDeclaration","scope":55081,"src":"33682:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55063,"name":"string","nodeType":"ElementaryTypeName","src":"33682:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55066,"mutability":"mutable","name":"p3","nameLocation":"33714:2:64","nodeType":"VariableDeclaration","scope":55081,"src":"33700:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55065,"name":"string","nodeType":"ElementaryTypeName","src":"33700:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33651:66:64"},"returnParameters":{"id":55068,"nodeType":"ParameterList","parameters":[],"src":"33732:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55104,"nodeType":"FunctionDefinition","src":"33848:192:64","nodes":[],"body":{"id":55103,"nodeType":"Block","src":"33932:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c626f6f6c29","id":55095,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"33982:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},"value":"log(string,uint256,string,bool)"},{"id":55096,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55083,"src":"34017:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55097,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55085,"src":"34021:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55098,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55087,"src":"34025:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55099,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55089,"src":"34029:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7d24491d69f4bc88a6e68cd8228b6698af11fe37f60f65c80e3f11428a8eba2f","typeString":"literal_string \"log(string,uint256,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55093,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"33958:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55094,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"33962:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"33958:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55100,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33958:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55092,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"33942:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"33942:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55102,"nodeType":"ExpressionStatement","src":"33942:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"33857:3:64","parameters":{"id":55090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55083,"mutability":"mutable","name":"p0","nameLocation":"33875:2:64","nodeType":"VariableDeclaration","scope":55104,"src":"33861:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55082,"name":"string","nodeType":"ElementaryTypeName","src":"33861:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55085,"mutability":"mutable","name":"p1","nameLocation":"33887:2:64","nodeType":"VariableDeclaration","scope":55104,"src":"33879:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55084,"name":"uint256","nodeType":"ElementaryTypeName","src":"33879:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55087,"mutability":"mutable","name":"p2","nameLocation":"33905:2:64","nodeType":"VariableDeclaration","scope":55104,"src":"33891:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55086,"name":"string","nodeType":"ElementaryTypeName","src":"33891:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55089,"mutability":"mutable","name":"p3","nameLocation":"33914:2:64","nodeType":"VariableDeclaration","scope":55104,"src":"33909:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55088,"name":"bool","nodeType":"ElementaryTypeName","src":"33909:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33860:57:64"},"returnParameters":{"id":55091,"nodeType":"ParameterList","parameters":[],"src":"33932:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55127,"nodeType":"FunctionDefinition","src":"34046:198:64","nodes":[],"body":{"id":55126,"nodeType":"Block","src":"34133:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c737472696e672c6164647265737329","id":55118,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34183:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},"value":"log(string,uint256,string,address)"},{"id":55119,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55106,"src":"34221:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55120,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55108,"src":"34225:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55121,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55110,"src":"34229:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55122,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55112,"src":"34233:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7c4632a48572fa2d4647539e525c9742d692f8e780540d6116f897ab472257cb","typeString":"literal_string \"log(string,uint256,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55116,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34159:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34163:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34159:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34159:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55115,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"34143:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34143:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55125,"nodeType":"ExpressionStatement","src":"34143:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34055:3:64","parameters":{"id":55113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55106,"mutability":"mutable","name":"p0","nameLocation":"34073:2:64","nodeType":"VariableDeclaration","scope":55127,"src":"34059:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55105,"name":"string","nodeType":"ElementaryTypeName","src":"34059:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55108,"mutability":"mutable","name":"p1","nameLocation":"34085:2:64","nodeType":"VariableDeclaration","scope":55127,"src":"34077:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55107,"name":"uint256","nodeType":"ElementaryTypeName","src":"34077:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55110,"mutability":"mutable","name":"p2","nameLocation":"34103:2:64","nodeType":"VariableDeclaration","scope":55127,"src":"34089:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55109,"name":"string","nodeType":"ElementaryTypeName","src":"34089:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55112,"mutability":"mutable","name":"p3","nameLocation":"34115:2:64","nodeType":"VariableDeclaration","scope":55127,"src":"34107:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55111,"name":"address","nodeType":"ElementaryTypeName","src":"34107:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34058:60:64"},"returnParameters":{"id":55114,"nodeType":"ParameterList","parameters":[],"src":"34133:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55150,"nodeType":"FunctionDefinition","src":"34250:187:64","nodes":[],"body":{"id":55149,"nodeType":"Block","src":"34328:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c75696e7432353629","id":55141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34378:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},"value":"log(string,uint256,bool,uint256)"},{"id":55142,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55129,"src":"34414:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55143,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55131,"src":"34418:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55144,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55133,"src":"34422:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55145,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55135,"src":"34426:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e41b6f6f58a4f880a3266f23bebaff73175ff4306317c20982bc2eabc04edd13","typeString":"literal_string \"log(string,uint256,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55139,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34354:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55140,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34358:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34354:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34354:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55138,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"34338:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34338:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55148,"nodeType":"ExpressionStatement","src":"34338:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34259:3:64","parameters":{"id":55136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55129,"mutability":"mutable","name":"p0","nameLocation":"34277:2:64","nodeType":"VariableDeclaration","scope":55150,"src":"34263:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55128,"name":"string","nodeType":"ElementaryTypeName","src":"34263:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55131,"mutability":"mutable","name":"p1","nameLocation":"34289:2:64","nodeType":"VariableDeclaration","scope":55150,"src":"34281:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55130,"name":"uint256","nodeType":"ElementaryTypeName","src":"34281:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55133,"mutability":"mutable","name":"p2","nameLocation":"34298:2:64","nodeType":"VariableDeclaration","scope":55150,"src":"34293:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55132,"name":"bool","nodeType":"ElementaryTypeName","src":"34293:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55135,"mutability":"mutable","name":"p3","nameLocation":"34310:2:64","nodeType":"VariableDeclaration","scope":55150,"src":"34302:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55134,"name":"uint256","nodeType":"ElementaryTypeName","src":"34302:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"34262:51:64"},"returnParameters":{"id":55137,"nodeType":"ParameterList","parameters":[],"src":"34328:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55173,"nodeType":"FunctionDefinition","src":"34443:192:64","nodes":[],"body":{"id":55172,"nodeType":"Block","src":"34527:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c737472696e6729","id":55164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34577:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},"value":"log(string,uint256,bool,string)"},{"id":55165,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55152,"src":"34612:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55166,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55154,"src":"34616:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55167,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55156,"src":"34620:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55168,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55158,"src":"34624:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_abf73a9831ab2bdeb8da9d06a81eab42196b20e336ab670ecba37bac94839d87","typeString":"literal_string \"log(string,uint256,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55162,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34553:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55163,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34557:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34553:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55169,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34553:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55161,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"34537:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34537:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55171,"nodeType":"ExpressionStatement","src":"34537:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34452:3:64","parameters":{"id":55159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55152,"mutability":"mutable","name":"p0","nameLocation":"34470:2:64","nodeType":"VariableDeclaration","scope":55173,"src":"34456:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55151,"name":"string","nodeType":"ElementaryTypeName","src":"34456:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55154,"mutability":"mutable","name":"p1","nameLocation":"34482:2:64","nodeType":"VariableDeclaration","scope":55173,"src":"34474:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55153,"name":"uint256","nodeType":"ElementaryTypeName","src":"34474:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55156,"mutability":"mutable","name":"p2","nameLocation":"34491:2:64","nodeType":"VariableDeclaration","scope":55173,"src":"34486:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55155,"name":"bool","nodeType":"ElementaryTypeName","src":"34486:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55158,"mutability":"mutable","name":"p3","nameLocation":"34509:2:64","nodeType":"VariableDeclaration","scope":55173,"src":"34495:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55157,"name":"string","nodeType":"ElementaryTypeName","src":"34495:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34455:57:64"},"returnParameters":{"id":55160,"nodeType":"ParameterList","parameters":[],"src":"34527:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55196,"nodeType":"FunctionDefinition","src":"34641:181:64","nodes":[],"body":{"id":55195,"nodeType":"Block","src":"34716:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c626f6f6c29","id":55187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34766:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},"value":"log(string,uint256,bool,bool)"},{"id":55188,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55175,"src":"34799:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55189,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55177,"src":"34803:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55190,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55179,"src":"34807:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55191,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55181,"src":"34811:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_354c36d6798abb81721fb2beaef51c92cab9d4cf16be10f0a4724648784ecb76","typeString":"literal_string \"log(string,uint256,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55185,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34742:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55186,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34746:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34742:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34742:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55184,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"34726:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34726:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55194,"nodeType":"ExpressionStatement","src":"34726:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34650:3:64","parameters":{"id":55182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55175,"mutability":"mutable","name":"p0","nameLocation":"34668:2:64","nodeType":"VariableDeclaration","scope":55196,"src":"34654:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55174,"name":"string","nodeType":"ElementaryTypeName","src":"34654:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55177,"mutability":"mutable","name":"p1","nameLocation":"34680:2:64","nodeType":"VariableDeclaration","scope":55196,"src":"34672:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55176,"name":"uint256","nodeType":"ElementaryTypeName","src":"34672:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55179,"mutability":"mutable","name":"p2","nameLocation":"34689:2:64","nodeType":"VariableDeclaration","scope":55196,"src":"34684:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55178,"name":"bool","nodeType":"ElementaryTypeName","src":"34684:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55181,"mutability":"mutable","name":"p3","nameLocation":"34698:2:64","nodeType":"VariableDeclaration","scope":55196,"src":"34693:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55180,"name":"bool","nodeType":"ElementaryTypeName","src":"34693:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"34653:48:64"},"returnParameters":{"id":55183,"nodeType":"ParameterList","parameters":[],"src":"34716:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55219,"nodeType":"FunctionDefinition","src":"34828:187:64","nodes":[],"body":{"id":55218,"nodeType":"Block","src":"34906:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c626f6f6c2c6164647265737329","id":55210,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"34956:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},"value":"log(string,uint256,bool,address)"},{"id":55211,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55198,"src":"34992:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55212,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55200,"src":"34996:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55213,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55202,"src":"35000:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55214,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55204,"src":"35004:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0e95b9833a204b7ba633bd63a60ec523906565f2c86d8936f7ff3e9937880f7","typeString":"literal_string \"log(string,uint256,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55208,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"34932:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"34936:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"34932:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34932:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55207,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"34916:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"34916:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55217,"nodeType":"ExpressionStatement","src":"34916:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"34837:3:64","parameters":{"id":55205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55198,"mutability":"mutable","name":"p0","nameLocation":"34855:2:64","nodeType":"VariableDeclaration","scope":55219,"src":"34841:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55197,"name":"string","nodeType":"ElementaryTypeName","src":"34841:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55200,"mutability":"mutable","name":"p1","nameLocation":"34867:2:64","nodeType":"VariableDeclaration","scope":55219,"src":"34859:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55199,"name":"uint256","nodeType":"ElementaryTypeName","src":"34859:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55202,"mutability":"mutable","name":"p2","nameLocation":"34876:2:64","nodeType":"VariableDeclaration","scope":55219,"src":"34871:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55201,"name":"bool","nodeType":"ElementaryTypeName","src":"34871:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55204,"mutability":"mutable","name":"p3","nameLocation":"34888:2:64","nodeType":"VariableDeclaration","scope":55219,"src":"34880:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55203,"name":"address","nodeType":"ElementaryTypeName","src":"34880:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"34840:51:64"},"returnParameters":{"id":55206,"nodeType":"ParameterList","parameters":[],"src":"34906:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55242,"nodeType":"FunctionDefinition","src":"35021:193:64","nodes":[],"body":{"id":55241,"nodeType":"Block","src":"35102:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c75696e7432353629","id":55233,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35152:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},"value":"log(string,uint256,address,uint256)"},{"id":55234,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55221,"src":"35191:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55235,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55223,"src":"35195:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55236,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55225,"src":"35199:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55237,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55227,"src":"35203:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4f04fdc6b6271b036262883bae0d1ea5155524010fed0023b5c71c574fb937ff","typeString":"literal_string \"log(string,uint256,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55231,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35128:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55232,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35132:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35128:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35128:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55230,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"35112:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35112:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55240,"nodeType":"ExpressionStatement","src":"35112:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35030:3:64","parameters":{"id":55228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55221,"mutability":"mutable","name":"p0","nameLocation":"35048:2:64","nodeType":"VariableDeclaration","scope":55242,"src":"35034:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55220,"name":"string","nodeType":"ElementaryTypeName","src":"35034:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55223,"mutability":"mutable","name":"p1","nameLocation":"35060:2:64","nodeType":"VariableDeclaration","scope":55242,"src":"35052:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55222,"name":"uint256","nodeType":"ElementaryTypeName","src":"35052:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55225,"mutability":"mutable","name":"p2","nameLocation":"35072:2:64","nodeType":"VariableDeclaration","scope":55242,"src":"35064:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55224,"name":"address","nodeType":"ElementaryTypeName","src":"35064:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55227,"mutability":"mutable","name":"p3","nameLocation":"35084:2:64","nodeType":"VariableDeclaration","scope":55242,"src":"35076:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55226,"name":"uint256","nodeType":"ElementaryTypeName","src":"35076:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35033:54:64"},"returnParameters":{"id":55229,"nodeType":"ParameterList","parameters":[],"src":"35102:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55265,"nodeType":"FunctionDefinition","src":"35220:198:64","nodes":[],"body":{"id":55264,"nodeType":"Block","src":"35307:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c737472696e6729","id":55256,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35357:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},"value":"log(string,uint256,address,string)"},{"id":55257,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55244,"src":"35395:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55258,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55246,"src":"35399:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55259,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55248,"src":"35403:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55260,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55250,"src":"35407:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9ffb2f93ff043d0a86ff6dc2ddf23d28dfc95ecde23d406177dfe6f19d070d2b","typeString":"literal_string \"log(string,uint256,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55254,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35333:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55255,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35337:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35333:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35333:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55253,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"35317:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35317:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55263,"nodeType":"ExpressionStatement","src":"35317:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35229:3:64","parameters":{"id":55251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55244,"mutability":"mutable","name":"p0","nameLocation":"35247:2:64","nodeType":"VariableDeclaration","scope":55265,"src":"35233:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55243,"name":"string","nodeType":"ElementaryTypeName","src":"35233:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55246,"mutability":"mutable","name":"p1","nameLocation":"35259:2:64","nodeType":"VariableDeclaration","scope":55265,"src":"35251:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55245,"name":"uint256","nodeType":"ElementaryTypeName","src":"35251:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55248,"mutability":"mutable","name":"p2","nameLocation":"35271:2:64","nodeType":"VariableDeclaration","scope":55265,"src":"35263:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55247,"name":"address","nodeType":"ElementaryTypeName","src":"35263:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55250,"mutability":"mutable","name":"p3","nameLocation":"35289:2:64","nodeType":"VariableDeclaration","scope":55265,"src":"35275:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55249,"name":"string","nodeType":"ElementaryTypeName","src":"35275:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35232:60:64"},"returnParameters":{"id":55252,"nodeType":"ParameterList","parameters":[],"src":"35307:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55288,"nodeType":"FunctionDefinition","src":"35424:187:64","nodes":[],"body":{"id":55287,"nodeType":"Block","src":"35502:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c626f6f6c29","id":55279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35552:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},"value":"log(string,uint256,address,bool)"},{"id":55280,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55267,"src":"35588:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55281,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55269,"src":"35592:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55282,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55271,"src":"35596:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55283,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55273,"src":"35600:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_82112a429657399db0318af6ca78ff56626aa907939e7cf56b60b07035dcc190","typeString":"literal_string \"log(string,uint256,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55277,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35528:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55278,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35532:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35528:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35528:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55276,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"35512:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35512:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55286,"nodeType":"ExpressionStatement","src":"35512:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35433:3:64","parameters":{"id":55274,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55267,"mutability":"mutable","name":"p0","nameLocation":"35451:2:64","nodeType":"VariableDeclaration","scope":55288,"src":"35437:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55266,"name":"string","nodeType":"ElementaryTypeName","src":"35437:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55269,"mutability":"mutable","name":"p1","nameLocation":"35463:2:64","nodeType":"VariableDeclaration","scope":55288,"src":"35455:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55268,"name":"uint256","nodeType":"ElementaryTypeName","src":"35455:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55271,"mutability":"mutable","name":"p2","nameLocation":"35475:2:64","nodeType":"VariableDeclaration","scope":55288,"src":"35467:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55270,"name":"address","nodeType":"ElementaryTypeName","src":"35467:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55273,"mutability":"mutable","name":"p3","nameLocation":"35484:2:64","nodeType":"VariableDeclaration","scope":55288,"src":"35479:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55272,"name":"bool","nodeType":"ElementaryTypeName","src":"35479:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"35436:51:64"},"returnParameters":{"id":55275,"nodeType":"ParameterList","parameters":[],"src":"35502:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55311,"nodeType":"FunctionDefinition","src":"35617:193:64","nodes":[],"body":{"id":55310,"nodeType":"Block","src":"35698:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c75696e743235362c616464726573732c6164647265737329","id":55302,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35748:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},"value":"log(string,uint256,address,address)"},{"id":55303,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55290,"src":"35787:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55304,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55292,"src":"35791:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55305,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55294,"src":"35795:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55306,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55296,"src":"35799:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ea2b7aea4409bbe3ef8ca502419b3574b002a6123a1f864be076316b8efcd1d","typeString":"literal_string \"log(string,uint256,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55300,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35724:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55301,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35728:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35724:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35724:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55299,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"35708:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35708:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55309,"nodeType":"ExpressionStatement","src":"35708:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35626:3:64","parameters":{"id":55297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55290,"mutability":"mutable","name":"p0","nameLocation":"35644:2:64","nodeType":"VariableDeclaration","scope":55311,"src":"35630:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55289,"name":"string","nodeType":"ElementaryTypeName","src":"35630:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55292,"mutability":"mutable","name":"p1","nameLocation":"35656:2:64","nodeType":"VariableDeclaration","scope":55311,"src":"35648:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55291,"name":"uint256","nodeType":"ElementaryTypeName","src":"35648:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55294,"mutability":"mutable","name":"p2","nameLocation":"35668:2:64","nodeType":"VariableDeclaration","scope":55311,"src":"35660:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55293,"name":"address","nodeType":"ElementaryTypeName","src":"35660:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55296,"mutability":"mutable","name":"p3","nameLocation":"35680:2:64","nodeType":"VariableDeclaration","scope":55311,"src":"35672:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55295,"name":"address","nodeType":"ElementaryTypeName","src":"35672:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"35629:54:64"},"returnParameters":{"id":55298,"nodeType":"ParameterList","parameters":[],"src":"35698:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55334,"nodeType":"FunctionDefinition","src":"35816:198:64","nodes":[],"body":{"id":55333,"nodeType":"Block","src":"35903:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c75696e7432353629","id":55325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"35953:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},"value":"log(string,string,uint256,uint256)"},{"id":55326,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55313,"src":"35991:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55327,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55315,"src":"35995:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55328,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55317,"src":"35999:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55329,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55319,"src":"36003:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f45d7d2cd1abe030b09347ce21ce66b503ffdad3e7a1ad6df9e55da5d9367776","typeString":"literal_string \"log(string,string,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55323,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"35929:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55324,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"35933:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"35929:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35929:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55322,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"35913:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"35913:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55332,"nodeType":"ExpressionStatement","src":"35913:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"35825:3:64","parameters":{"id":55320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55313,"mutability":"mutable","name":"p0","nameLocation":"35843:2:64","nodeType":"VariableDeclaration","scope":55334,"src":"35829:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55312,"name":"string","nodeType":"ElementaryTypeName","src":"35829:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55315,"mutability":"mutable","name":"p1","nameLocation":"35861:2:64","nodeType":"VariableDeclaration","scope":55334,"src":"35847:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55314,"name":"string","nodeType":"ElementaryTypeName","src":"35847:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55317,"mutability":"mutable","name":"p2","nameLocation":"35873:2:64","nodeType":"VariableDeclaration","scope":55334,"src":"35865:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55316,"name":"uint256","nodeType":"ElementaryTypeName","src":"35865:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55319,"mutability":"mutable","name":"p3","nameLocation":"35885:2:64","nodeType":"VariableDeclaration","scope":55334,"src":"35877:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55318,"name":"uint256","nodeType":"ElementaryTypeName","src":"35877:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35828:60:64"},"returnParameters":{"id":55321,"nodeType":"ParameterList","parameters":[],"src":"35903:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55357,"nodeType":"FunctionDefinition","src":"36020:203:64","nodes":[],"body":{"id":55356,"nodeType":"Block","src":"36113:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c737472696e6729","id":55348,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36163:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},"value":"log(string,string,uint256,string)"},{"id":55349,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55336,"src":"36200:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55350,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55338,"src":"36204:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55351,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55340,"src":"36208:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55352,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55342,"src":"36212:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d1a971aebb8f2fbb7526a470ca55e409230d59ee63217090d29ce11b768e909","typeString":"literal_string \"log(string,string,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55346,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36139:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55347,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36143:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36139:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36139:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55345,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"36123:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36123:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55355,"nodeType":"ExpressionStatement","src":"36123:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36029:3:64","parameters":{"id":55343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55336,"mutability":"mutable","name":"p0","nameLocation":"36047:2:64","nodeType":"VariableDeclaration","scope":55357,"src":"36033:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55335,"name":"string","nodeType":"ElementaryTypeName","src":"36033:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55338,"mutability":"mutable","name":"p1","nameLocation":"36065:2:64","nodeType":"VariableDeclaration","scope":55357,"src":"36051:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55337,"name":"string","nodeType":"ElementaryTypeName","src":"36051:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55340,"mutability":"mutable","name":"p2","nameLocation":"36077:2:64","nodeType":"VariableDeclaration","scope":55357,"src":"36069:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55339,"name":"uint256","nodeType":"ElementaryTypeName","src":"36069:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55342,"mutability":"mutable","name":"p3","nameLocation":"36095:2:64","nodeType":"VariableDeclaration","scope":55357,"src":"36081:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55341,"name":"string","nodeType":"ElementaryTypeName","src":"36081:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36032:66:64"},"returnParameters":{"id":55344,"nodeType":"ParameterList","parameters":[],"src":"36113:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55380,"nodeType":"FunctionDefinition","src":"36229:192:64","nodes":[],"body":{"id":55379,"nodeType":"Block","src":"36313:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c626f6f6c29","id":55371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36363:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},"value":"log(string,string,uint256,bool)"},{"id":55372,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55359,"src":"36398:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55373,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55361,"src":"36402:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55374,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55363,"src":"36406:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55375,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55365,"src":"36410:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c3a8a6546b97cf01562dd9ca797c4955f3bab9bc163d02081737c20b686446d2","typeString":"literal_string \"log(string,string,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55369,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36339:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55370,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36343:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36339:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36339:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55368,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"36323:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36323:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55378,"nodeType":"ExpressionStatement","src":"36323:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36238:3:64","parameters":{"id":55366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55359,"mutability":"mutable","name":"p0","nameLocation":"36256:2:64","nodeType":"VariableDeclaration","scope":55380,"src":"36242:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55358,"name":"string","nodeType":"ElementaryTypeName","src":"36242:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55361,"mutability":"mutable","name":"p1","nameLocation":"36274:2:64","nodeType":"VariableDeclaration","scope":55380,"src":"36260:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55360,"name":"string","nodeType":"ElementaryTypeName","src":"36260:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55363,"mutability":"mutable","name":"p2","nameLocation":"36286:2:64","nodeType":"VariableDeclaration","scope":55380,"src":"36278:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55362,"name":"uint256","nodeType":"ElementaryTypeName","src":"36278:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55365,"mutability":"mutable","name":"p3","nameLocation":"36295:2:64","nodeType":"VariableDeclaration","scope":55380,"src":"36290:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55364,"name":"bool","nodeType":"ElementaryTypeName","src":"36290:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"36241:57:64"},"returnParameters":{"id":55367,"nodeType":"ParameterList","parameters":[],"src":"36313:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55403,"nodeType":"FunctionDefinition","src":"36427:198:64","nodes":[],"body":{"id":55402,"nodeType":"Block","src":"36514:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c75696e743235362c6164647265737329","id":55394,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36564:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},"value":"log(string,string,uint256,address)"},{"id":55395,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55382,"src":"36602:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55396,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55384,"src":"36606:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55397,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55386,"src":"36610:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55398,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55388,"src":"36614:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1023f7b286378387abf24b7020dbd1ddde789519cf7f13da727146a2a8a61fc6","typeString":"literal_string \"log(string,string,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55392,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36540:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55393,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36544:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36540:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36540:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55391,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"36524:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36524:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55401,"nodeType":"ExpressionStatement","src":"36524:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36436:3:64","parameters":{"id":55389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55382,"mutability":"mutable","name":"p0","nameLocation":"36454:2:64","nodeType":"VariableDeclaration","scope":55403,"src":"36440:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55381,"name":"string","nodeType":"ElementaryTypeName","src":"36440:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55384,"mutability":"mutable","name":"p1","nameLocation":"36472:2:64","nodeType":"VariableDeclaration","scope":55403,"src":"36458:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55383,"name":"string","nodeType":"ElementaryTypeName","src":"36458:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55386,"mutability":"mutable","name":"p2","nameLocation":"36484:2:64","nodeType":"VariableDeclaration","scope":55403,"src":"36476:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55385,"name":"uint256","nodeType":"ElementaryTypeName","src":"36476:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55388,"mutability":"mutable","name":"p3","nameLocation":"36496:2:64","nodeType":"VariableDeclaration","scope":55403,"src":"36488:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55387,"name":"address","nodeType":"ElementaryTypeName","src":"36488:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"36439:60:64"},"returnParameters":{"id":55390,"nodeType":"ParameterList","parameters":[],"src":"36514:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55426,"nodeType":"FunctionDefinition","src":"36631:203:64","nodes":[],"body":{"id":55425,"nodeType":"Block","src":"36724:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c75696e7432353629","id":55417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36774:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},"value":"log(string,string,string,uint256)"},{"id":55418,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55405,"src":"36811:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55419,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55407,"src":"36815:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55420,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55409,"src":"36819:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55421,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55411,"src":"36823:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8eafb02b2f27070f4cef3c26d2b8a8d041c7bf077352780062dc5a70550ac689","typeString":"literal_string \"log(string,string,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55415,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36750:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55416,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36754:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36750:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36750:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55414,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"36734:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36734:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55424,"nodeType":"ExpressionStatement","src":"36734:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36640:3:64","parameters":{"id":55412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55405,"mutability":"mutable","name":"p0","nameLocation":"36658:2:64","nodeType":"VariableDeclaration","scope":55426,"src":"36644:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55404,"name":"string","nodeType":"ElementaryTypeName","src":"36644:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55407,"mutability":"mutable","name":"p1","nameLocation":"36676:2:64","nodeType":"VariableDeclaration","scope":55426,"src":"36662:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55406,"name":"string","nodeType":"ElementaryTypeName","src":"36662:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55409,"mutability":"mutable","name":"p2","nameLocation":"36694:2:64","nodeType":"VariableDeclaration","scope":55426,"src":"36680:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55408,"name":"string","nodeType":"ElementaryTypeName","src":"36680:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55411,"mutability":"mutable","name":"p3","nameLocation":"36706:2:64","nodeType":"VariableDeclaration","scope":55426,"src":"36698:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55410,"name":"uint256","nodeType":"ElementaryTypeName","src":"36698:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36643:66:64"},"returnParameters":{"id":55413,"nodeType":"ParameterList","parameters":[],"src":"36724:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55449,"nodeType":"FunctionDefinition","src":"36840:208:64","nodes":[],"body":{"id":55448,"nodeType":"Block","src":"36939:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729","id":55440,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"36989:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},"value":"log(string,string,string,string)"},{"id":55441,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55428,"src":"37025:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55442,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55430,"src":"37029:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55443,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55432,"src":"37033:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55444,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55434,"src":"37037:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe","typeString":"literal_string \"log(string,string,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"36965:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"36969:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"36965:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36965:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55437,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"36949:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"36949:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55447,"nodeType":"ExpressionStatement","src":"36949:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"36849:3:64","parameters":{"id":55435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55428,"mutability":"mutable","name":"p0","nameLocation":"36867:2:64","nodeType":"VariableDeclaration","scope":55449,"src":"36853:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55427,"name":"string","nodeType":"ElementaryTypeName","src":"36853:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55430,"mutability":"mutable","name":"p1","nameLocation":"36885:2:64","nodeType":"VariableDeclaration","scope":55449,"src":"36871:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55429,"name":"string","nodeType":"ElementaryTypeName","src":"36871:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55432,"mutability":"mutable","name":"p2","nameLocation":"36903:2:64","nodeType":"VariableDeclaration","scope":55449,"src":"36889:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55431,"name":"string","nodeType":"ElementaryTypeName","src":"36889:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55434,"mutability":"mutable","name":"p3","nameLocation":"36921:2:64","nodeType":"VariableDeclaration","scope":55449,"src":"36907:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55433,"name":"string","nodeType":"ElementaryTypeName","src":"36907:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36852:72:64"},"returnParameters":{"id":55436,"nodeType":"ParameterList","parameters":[],"src":"36939:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55472,"nodeType":"FunctionDefinition","src":"37054:197:64","nodes":[],"body":{"id":55471,"nodeType":"Block","src":"37144:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29","id":55463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37194:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},"value":"log(string,string,string,bool)"},{"id":55464,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55451,"src":"37228:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55465,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55453,"src":"37232:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55466,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55455,"src":"37236:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55467,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55457,"src":"37240:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332","typeString":"literal_string \"log(string,string,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55461,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37170:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55462,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37174:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37170:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37170:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55460,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"37154:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37154:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55470,"nodeType":"ExpressionStatement","src":"37154:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37063:3:64","parameters":{"id":55458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55451,"mutability":"mutable","name":"p0","nameLocation":"37081:2:64","nodeType":"VariableDeclaration","scope":55472,"src":"37067:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55450,"name":"string","nodeType":"ElementaryTypeName","src":"37067:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55453,"mutability":"mutable","name":"p1","nameLocation":"37099:2:64","nodeType":"VariableDeclaration","scope":55472,"src":"37085:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55452,"name":"string","nodeType":"ElementaryTypeName","src":"37085:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55455,"mutability":"mutable","name":"p2","nameLocation":"37117:2:64","nodeType":"VariableDeclaration","scope":55472,"src":"37103:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55454,"name":"string","nodeType":"ElementaryTypeName","src":"37103:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55457,"mutability":"mutable","name":"p3","nameLocation":"37126:2:64","nodeType":"VariableDeclaration","scope":55472,"src":"37121:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55456,"name":"bool","nodeType":"ElementaryTypeName","src":"37121:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37066:63:64"},"returnParameters":{"id":55459,"nodeType":"ParameterList","parameters":[],"src":"37144:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55495,"nodeType":"FunctionDefinition","src":"37257:203:64","nodes":[],"body":{"id":55494,"nodeType":"Block","src":"37350:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329","id":55486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37400:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},"value":"log(string,string,string,address)"},{"id":55487,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55474,"src":"37437:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55488,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55476,"src":"37441:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55489,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55478,"src":"37445:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55490,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55480,"src":"37449:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16","typeString":"literal_string \"log(string,string,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55484,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37376:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55485,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37380:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37376:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37376:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55483,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"37360:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37360:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55493,"nodeType":"ExpressionStatement","src":"37360:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37266:3:64","parameters":{"id":55481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55474,"mutability":"mutable","name":"p0","nameLocation":"37284:2:64","nodeType":"VariableDeclaration","scope":55495,"src":"37270:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55473,"name":"string","nodeType":"ElementaryTypeName","src":"37270:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55476,"mutability":"mutable","name":"p1","nameLocation":"37302:2:64","nodeType":"VariableDeclaration","scope":55495,"src":"37288:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55475,"name":"string","nodeType":"ElementaryTypeName","src":"37288:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55478,"mutability":"mutable","name":"p2","nameLocation":"37320:2:64","nodeType":"VariableDeclaration","scope":55495,"src":"37306:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55477,"name":"string","nodeType":"ElementaryTypeName","src":"37306:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55480,"mutability":"mutable","name":"p3","nameLocation":"37332:2:64","nodeType":"VariableDeclaration","scope":55495,"src":"37324:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55479,"name":"address","nodeType":"ElementaryTypeName","src":"37324:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37269:66:64"},"returnParameters":{"id":55482,"nodeType":"ParameterList","parameters":[],"src":"37350:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55518,"nodeType":"FunctionDefinition","src":"37466:192:64","nodes":[],"body":{"id":55517,"nodeType":"Block","src":"37550:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7432353629","id":55509,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37600:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},"value":"log(string,string,bool,uint256)"},{"id":55510,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55497,"src":"37635:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55511,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55499,"src":"37639:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55512,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55501,"src":"37643:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55513,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55503,"src":"37647:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6aefad2ecee6d91421acc41f939bded56985ac5c9cf6e49011ee16b1bb31729","typeString":"literal_string \"log(string,string,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55507,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37576:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55508,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37580:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37576:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55514,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37576:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55506,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"37560:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37560:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55516,"nodeType":"ExpressionStatement","src":"37560:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37475:3:64","parameters":{"id":55504,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55497,"mutability":"mutable","name":"p0","nameLocation":"37493:2:64","nodeType":"VariableDeclaration","scope":55518,"src":"37479:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55496,"name":"string","nodeType":"ElementaryTypeName","src":"37479:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55499,"mutability":"mutable","name":"p1","nameLocation":"37511:2:64","nodeType":"VariableDeclaration","scope":55518,"src":"37497:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55498,"name":"string","nodeType":"ElementaryTypeName","src":"37497:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55501,"mutability":"mutable","name":"p2","nameLocation":"37520:2:64","nodeType":"VariableDeclaration","scope":55518,"src":"37515:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55500,"name":"bool","nodeType":"ElementaryTypeName","src":"37515:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55503,"mutability":"mutable","name":"p3","nameLocation":"37532:2:64","nodeType":"VariableDeclaration","scope":55518,"src":"37524:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55502,"name":"uint256","nodeType":"ElementaryTypeName","src":"37524:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37478:57:64"},"returnParameters":{"id":55505,"nodeType":"ParameterList","parameters":[],"src":"37550:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55541,"nodeType":"FunctionDefinition","src":"37664:197:64","nodes":[],"body":{"id":55540,"nodeType":"Block","src":"37754:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729","id":55532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37804:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},"value":"log(string,string,bool,string)"},{"id":55533,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55520,"src":"37838:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55534,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55522,"src":"37842:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55535,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55524,"src":"37846:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55536,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55526,"src":"37850:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b","typeString":"literal_string \"log(string,string,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55530,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37780:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55531,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37784:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37780:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37780:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55529,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"37764:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37764:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55539,"nodeType":"ExpressionStatement","src":"37764:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37673:3:64","parameters":{"id":55527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55520,"mutability":"mutable","name":"p0","nameLocation":"37691:2:64","nodeType":"VariableDeclaration","scope":55541,"src":"37677:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55519,"name":"string","nodeType":"ElementaryTypeName","src":"37677:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55522,"mutability":"mutable","name":"p1","nameLocation":"37709:2:64","nodeType":"VariableDeclaration","scope":55541,"src":"37695:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55521,"name":"string","nodeType":"ElementaryTypeName","src":"37695:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55524,"mutability":"mutable","name":"p2","nameLocation":"37718:2:64","nodeType":"VariableDeclaration","scope":55541,"src":"37713:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55523,"name":"bool","nodeType":"ElementaryTypeName","src":"37713:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55526,"mutability":"mutable","name":"p3","nameLocation":"37736:2:64","nodeType":"VariableDeclaration","scope":55541,"src":"37722:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55525,"name":"string","nodeType":"ElementaryTypeName","src":"37722:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"37676:63:64"},"returnParameters":{"id":55528,"nodeType":"ParameterList","parameters":[],"src":"37754:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55564,"nodeType":"FunctionDefinition","src":"37867:186:64","nodes":[],"body":{"id":55563,"nodeType":"Block","src":"37948:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29","id":55555,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"37998:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},"value":"log(string,string,bool,bool)"},{"id":55556,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55543,"src":"38030:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55557,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55545,"src":"38034:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55558,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55547,"src":"38038:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55559,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55549,"src":"38042:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10","typeString":"literal_string \"log(string,string,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55553,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"37974:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55554,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"37978:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"37974:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37974:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55552,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"37958:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"37958:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55562,"nodeType":"ExpressionStatement","src":"37958:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"37876:3:64","parameters":{"id":55550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55543,"mutability":"mutable","name":"p0","nameLocation":"37894:2:64","nodeType":"VariableDeclaration","scope":55564,"src":"37880:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55542,"name":"string","nodeType":"ElementaryTypeName","src":"37880:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55545,"mutability":"mutable","name":"p1","nameLocation":"37912:2:64","nodeType":"VariableDeclaration","scope":55564,"src":"37898:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55544,"name":"string","nodeType":"ElementaryTypeName","src":"37898:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55547,"mutability":"mutable","name":"p2","nameLocation":"37921:2:64","nodeType":"VariableDeclaration","scope":55564,"src":"37916:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55546,"name":"bool","nodeType":"ElementaryTypeName","src":"37916:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55549,"mutability":"mutable","name":"p3","nameLocation":"37930:2:64","nodeType":"VariableDeclaration","scope":55564,"src":"37925:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55548,"name":"bool","nodeType":"ElementaryTypeName","src":"37925:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"37879:54:64"},"returnParameters":{"id":55551,"nodeType":"ParameterList","parameters":[],"src":"37948:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55587,"nodeType":"FunctionDefinition","src":"38059:192:64","nodes":[],"body":{"id":55586,"nodeType":"Block","src":"38143:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329","id":55578,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38193:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},"value":"log(string,string,bool,address)"},{"id":55579,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55566,"src":"38228:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55580,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55568,"src":"38232:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55581,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55570,"src":"38236:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55582,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55572,"src":"38240:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d","typeString":"literal_string \"log(string,string,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55576,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38169:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55577,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38173:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38169:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55583,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38169:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55575,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"38153:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38153:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55585,"nodeType":"ExpressionStatement","src":"38153:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38068:3:64","parameters":{"id":55573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55566,"mutability":"mutable","name":"p0","nameLocation":"38086:2:64","nodeType":"VariableDeclaration","scope":55587,"src":"38072:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55565,"name":"string","nodeType":"ElementaryTypeName","src":"38072:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55568,"mutability":"mutable","name":"p1","nameLocation":"38104:2:64","nodeType":"VariableDeclaration","scope":55587,"src":"38090:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55567,"name":"string","nodeType":"ElementaryTypeName","src":"38090:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55570,"mutability":"mutable","name":"p2","nameLocation":"38113:2:64","nodeType":"VariableDeclaration","scope":55587,"src":"38108:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55569,"name":"bool","nodeType":"ElementaryTypeName","src":"38108:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55572,"mutability":"mutable","name":"p3","nameLocation":"38125:2:64","nodeType":"VariableDeclaration","scope":55587,"src":"38117:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55571,"name":"address","nodeType":"ElementaryTypeName","src":"38117:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38071:57:64"},"returnParameters":{"id":55574,"nodeType":"ParameterList","parameters":[],"src":"38143:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55610,"nodeType":"FunctionDefinition","src":"38257:198:64","nodes":[],"body":{"id":55609,"nodeType":"Block","src":"38344:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c75696e7432353629","id":55601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38394:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},"value":"log(string,string,address,uint256)"},{"id":55602,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55589,"src":"38432:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55603,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55591,"src":"38436:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55604,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55593,"src":"38440:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55605,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55595,"src":"38444:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7cc3c607046f21bb2d1cc4864448de2e6c44029beb9bfc36cf6ca90777ae5a00","typeString":"literal_string \"log(string,string,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55599,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38370:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55600,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38374:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38370:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38370:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55598,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"38354:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38354:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55608,"nodeType":"ExpressionStatement","src":"38354:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38266:3:64","parameters":{"id":55596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55589,"mutability":"mutable","name":"p0","nameLocation":"38284:2:64","nodeType":"VariableDeclaration","scope":55610,"src":"38270:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55588,"name":"string","nodeType":"ElementaryTypeName","src":"38270:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55591,"mutability":"mutable","name":"p1","nameLocation":"38302:2:64","nodeType":"VariableDeclaration","scope":55610,"src":"38288:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55590,"name":"string","nodeType":"ElementaryTypeName","src":"38288:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55593,"mutability":"mutable","name":"p2","nameLocation":"38314:2:64","nodeType":"VariableDeclaration","scope":55610,"src":"38306:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55592,"name":"address","nodeType":"ElementaryTypeName","src":"38306:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55595,"mutability":"mutable","name":"p3","nameLocation":"38326:2:64","nodeType":"VariableDeclaration","scope":55610,"src":"38318:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55594,"name":"uint256","nodeType":"ElementaryTypeName","src":"38318:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38269:60:64"},"returnParameters":{"id":55597,"nodeType":"ParameterList","parameters":[],"src":"38344:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55633,"nodeType":"FunctionDefinition","src":"38461:203:64","nodes":[],"body":{"id":55632,"nodeType":"Block","src":"38554:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729","id":55624,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38604:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},"value":"log(string,string,address,string)"},{"id":55625,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55612,"src":"38641:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55626,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55614,"src":"38645:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55627,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55616,"src":"38649:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55628,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55618,"src":"38653:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6","typeString":"literal_string \"log(string,string,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55622,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38580:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55623,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38584:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38580:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38580:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55621,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"38564:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38564:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55631,"nodeType":"ExpressionStatement","src":"38564:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38470:3:64","parameters":{"id":55619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55612,"mutability":"mutable","name":"p0","nameLocation":"38488:2:64","nodeType":"VariableDeclaration","scope":55633,"src":"38474:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55611,"name":"string","nodeType":"ElementaryTypeName","src":"38474:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55614,"mutability":"mutable","name":"p1","nameLocation":"38506:2:64","nodeType":"VariableDeclaration","scope":55633,"src":"38492:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55613,"name":"string","nodeType":"ElementaryTypeName","src":"38492:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55616,"mutability":"mutable","name":"p2","nameLocation":"38518:2:64","nodeType":"VariableDeclaration","scope":55633,"src":"38510:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55615,"name":"address","nodeType":"ElementaryTypeName","src":"38510:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55618,"mutability":"mutable","name":"p3","nameLocation":"38536:2:64","nodeType":"VariableDeclaration","scope":55633,"src":"38522:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55617,"name":"string","nodeType":"ElementaryTypeName","src":"38522:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"38473:66:64"},"returnParameters":{"id":55620,"nodeType":"ParameterList","parameters":[],"src":"38554:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55656,"nodeType":"FunctionDefinition","src":"38670:192:64","nodes":[],"body":{"id":55655,"nodeType":"Block","src":"38754:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29","id":55647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"38804:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},"value":"log(string,string,address,bool)"},{"id":55648,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55635,"src":"38839:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55649,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55637,"src":"38843:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55650,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55639,"src":"38847:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55651,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55641,"src":"38851:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63","typeString":"literal_string \"log(string,string,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55645,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38780:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55646,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38784:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38780:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55652,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38780:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55644,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"38764:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38764:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55654,"nodeType":"ExpressionStatement","src":"38764:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38679:3:64","parameters":{"id":55642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55635,"mutability":"mutable","name":"p0","nameLocation":"38697:2:64","nodeType":"VariableDeclaration","scope":55656,"src":"38683:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55634,"name":"string","nodeType":"ElementaryTypeName","src":"38683:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55637,"mutability":"mutable","name":"p1","nameLocation":"38715:2:64","nodeType":"VariableDeclaration","scope":55656,"src":"38701:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55636,"name":"string","nodeType":"ElementaryTypeName","src":"38701:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55639,"mutability":"mutable","name":"p2","nameLocation":"38727:2:64","nodeType":"VariableDeclaration","scope":55656,"src":"38719:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55638,"name":"address","nodeType":"ElementaryTypeName","src":"38719:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55641,"mutability":"mutable","name":"p3","nameLocation":"38736:2:64","nodeType":"VariableDeclaration","scope":55656,"src":"38731:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55640,"name":"bool","nodeType":"ElementaryTypeName","src":"38731:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"38682:57:64"},"returnParameters":{"id":55643,"nodeType":"ParameterList","parameters":[],"src":"38754:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55679,"nodeType":"FunctionDefinition","src":"38868:198:64","nodes":[],"body":{"id":55678,"nodeType":"Block","src":"38955:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329","id":55670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39005:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},"value":"log(string,string,address,address)"},{"id":55671,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55658,"src":"39043:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55672,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55660,"src":"39047:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55673,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55662,"src":"39051:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55674,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55664,"src":"39055:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d","typeString":"literal_string \"log(string,string,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55668,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"38981:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55669,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"38985:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"38981:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55675,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38981:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55667,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"38965:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"38965:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55677,"nodeType":"ExpressionStatement","src":"38965:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"38877:3:64","parameters":{"id":55665,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55658,"mutability":"mutable","name":"p0","nameLocation":"38895:2:64","nodeType":"VariableDeclaration","scope":55679,"src":"38881:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55657,"name":"string","nodeType":"ElementaryTypeName","src":"38881:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55660,"mutability":"mutable","name":"p1","nameLocation":"38913:2:64","nodeType":"VariableDeclaration","scope":55679,"src":"38899:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55659,"name":"string","nodeType":"ElementaryTypeName","src":"38899:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55662,"mutability":"mutable","name":"p2","nameLocation":"38925:2:64","nodeType":"VariableDeclaration","scope":55679,"src":"38917:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55661,"name":"address","nodeType":"ElementaryTypeName","src":"38917:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55664,"mutability":"mutable","name":"p3","nameLocation":"38937:2:64","nodeType":"VariableDeclaration","scope":55679,"src":"38929:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55663,"name":"address","nodeType":"ElementaryTypeName","src":"38929:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38880:60:64"},"returnParameters":{"id":55666,"nodeType":"ParameterList","parameters":[],"src":"38955:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55702,"nodeType":"FunctionDefinition","src":"39072:187:64","nodes":[],"body":{"id":55701,"nodeType":"Block","src":"39150:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c75696e7432353629","id":55693,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39200:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},"value":"log(string,bool,uint256,uint256)"},{"id":55694,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55681,"src":"39236:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55695,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55683,"src":"39240:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55696,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55685,"src":"39244:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55697,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55687,"src":"39248:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_64b5bb671d0911515c2d999ed3f7f689c3b5762a99b342dfee4a1d88fec7b25e","typeString":"literal_string \"log(string,bool,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55691,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39176:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55692,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39180:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39176:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55698,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39176:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55690,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"39160:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39160:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55700,"nodeType":"ExpressionStatement","src":"39160:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39081:3:64","parameters":{"id":55688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55681,"mutability":"mutable","name":"p0","nameLocation":"39099:2:64","nodeType":"VariableDeclaration","scope":55702,"src":"39085:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55680,"name":"string","nodeType":"ElementaryTypeName","src":"39085:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55683,"mutability":"mutable","name":"p1","nameLocation":"39108:2:64","nodeType":"VariableDeclaration","scope":55702,"src":"39103:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55682,"name":"bool","nodeType":"ElementaryTypeName","src":"39103:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55685,"mutability":"mutable","name":"p2","nameLocation":"39120:2:64","nodeType":"VariableDeclaration","scope":55702,"src":"39112:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55684,"name":"uint256","nodeType":"ElementaryTypeName","src":"39112:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55687,"mutability":"mutable","name":"p3","nameLocation":"39132:2:64","nodeType":"VariableDeclaration","scope":55702,"src":"39124:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55686,"name":"uint256","nodeType":"ElementaryTypeName","src":"39124:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39084:51:64"},"returnParameters":{"id":55689,"nodeType":"ParameterList","parameters":[],"src":"39150:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55725,"nodeType":"FunctionDefinition","src":"39265:192:64","nodes":[],"body":{"id":55724,"nodeType":"Block","src":"39349:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c737472696e6729","id":55716,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39399:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},"value":"log(string,bool,uint256,string)"},{"id":55717,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55704,"src":"39434:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55718,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55706,"src":"39438:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55719,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55708,"src":"39442:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55720,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55710,"src":"39446:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_742d6ee771df9df1dec5a8b70ff5f7f41567f6ae9fe27e7e391b2811f9978b00","typeString":"literal_string \"log(string,bool,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55714,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39375:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55715,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39379:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39375:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39375:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55713,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"39359:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39359:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55723,"nodeType":"ExpressionStatement","src":"39359:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39274:3:64","parameters":{"id":55711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55704,"mutability":"mutable","name":"p0","nameLocation":"39292:2:64","nodeType":"VariableDeclaration","scope":55725,"src":"39278:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55703,"name":"string","nodeType":"ElementaryTypeName","src":"39278:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55706,"mutability":"mutable","name":"p1","nameLocation":"39301:2:64","nodeType":"VariableDeclaration","scope":55725,"src":"39296:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55705,"name":"bool","nodeType":"ElementaryTypeName","src":"39296:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55708,"mutability":"mutable","name":"p2","nameLocation":"39313:2:64","nodeType":"VariableDeclaration","scope":55725,"src":"39305:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55707,"name":"uint256","nodeType":"ElementaryTypeName","src":"39305:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55710,"mutability":"mutable","name":"p3","nameLocation":"39331:2:64","nodeType":"VariableDeclaration","scope":55725,"src":"39317:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55709,"name":"string","nodeType":"ElementaryTypeName","src":"39317:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39277:57:64"},"returnParameters":{"id":55712,"nodeType":"ParameterList","parameters":[],"src":"39349:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55748,"nodeType":"FunctionDefinition","src":"39463:181:64","nodes":[],"body":{"id":55747,"nodeType":"Block","src":"39538:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c626f6f6c29","id":55739,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39588:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},"value":"log(string,bool,uint256,bool)"},{"id":55740,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55727,"src":"39621:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55741,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55729,"src":"39625:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55742,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55731,"src":"39629:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55743,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55733,"src":"39633:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8af7cf8a379b674b00a81c3841f4203ce23fde0db10f1f8c2a0017ca424d79e2","typeString":"literal_string \"log(string,bool,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55737,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39564:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55738,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39568:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39564:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39564:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55736,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"39548:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39548:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55746,"nodeType":"ExpressionStatement","src":"39548:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39472:3:64","parameters":{"id":55734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55727,"mutability":"mutable","name":"p0","nameLocation":"39490:2:64","nodeType":"VariableDeclaration","scope":55748,"src":"39476:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55726,"name":"string","nodeType":"ElementaryTypeName","src":"39476:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55729,"mutability":"mutable","name":"p1","nameLocation":"39499:2:64","nodeType":"VariableDeclaration","scope":55748,"src":"39494:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55728,"name":"bool","nodeType":"ElementaryTypeName","src":"39494:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55731,"mutability":"mutable","name":"p2","nameLocation":"39511:2:64","nodeType":"VariableDeclaration","scope":55748,"src":"39503:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55730,"name":"uint256","nodeType":"ElementaryTypeName","src":"39503:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55733,"mutability":"mutable","name":"p3","nameLocation":"39520:2:64","nodeType":"VariableDeclaration","scope":55748,"src":"39515:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55732,"name":"bool","nodeType":"ElementaryTypeName","src":"39515:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39475:48:64"},"returnParameters":{"id":55735,"nodeType":"ParameterList","parameters":[],"src":"39538:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55771,"nodeType":"FunctionDefinition","src":"39650:187:64","nodes":[],"body":{"id":55770,"nodeType":"Block","src":"39728:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c75696e743235362c6164647265737329","id":55762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39778:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},"value":"log(string,bool,uint256,address)"},{"id":55763,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55750,"src":"39814:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55764,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55752,"src":"39818:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55765,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55754,"src":"39822:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":55766,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55756,"src":"39826:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_935e09bfd29779a7e049f17e6e907bb9f7181e93c0c486cf646b7471eb4a9d1e","typeString":"literal_string \"log(string,bool,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55760,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39754:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55761,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39758:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39754:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55767,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39754:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55759,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"39738:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39738:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55769,"nodeType":"ExpressionStatement","src":"39738:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39659:3:64","parameters":{"id":55757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55750,"mutability":"mutable","name":"p0","nameLocation":"39677:2:64","nodeType":"VariableDeclaration","scope":55771,"src":"39663:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55749,"name":"string","nodeType":"ElementaryTypeName","src":"39663:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55752,"mutability":"mutable","name":"p1","nameLocation":"39686:2:64","nodeType":"VariableDeclaration","scope":55771,"src":"39681:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55751,"name":"bool","nodeType":"ElementaryTypeName","src":"39681:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55754,"mutability":"mutable","name":"p2","nameLocation":"39698:2:64","nodeType":"VariableDeclaration","scope":55771,"src":"39690:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55753,"name":"uint256","nodeType":"ElementaryTypeName","src":"39690:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":55756,"mutability":"mutable","name":"p3","nameLocation":"39710:2:64","nodeType":"VariableDeclaration","scope":55771,"src":"39702:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55755,"name":"address","nodeType":"ElementaryTypeName","src":"39702:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39662:51:64"},"returnParameters":{"id":55758,"nodeType":"ParameterList","parameters":[],"src":"39728:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55794,"nodeType":"FunctionDefinition","src":"39843:192:64","nodes":[],"body":{"id":55793,"nodeType":"Block","src":"39927:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7432353629","id":55785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"39977:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},"value":"log(string,bool,string,uint256)"},{"id":55786,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55773,"src":"40012:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55787,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55775,"src":"40016:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55788,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55777,"src":"40020:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55789,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55779,"src":"40024:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_24f9146562ee02c43db65ac014241fab3a51c9e29435f60d2ed133a186cac03a","typeString":"literal_string \"log(string,bool,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"39953:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"39957:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"39953:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55790,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39953:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55782,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"39937:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"39937:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55792,"nodeType":"ExpressionStatement","src":"39937:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"39852:3:64","parameters":{"id":55780,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55773,"mutability":"mutable","name":"p0","nameLocation":"39870:2:64","nodeType":"VariableDeclaration","scope":55794,"src":"39856:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55772,"name":"string","nodeType":"ElementaryTypeName","src":"39856:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55775,"mutability":"mutable","name":"p1","nameLocation":"39879:2:64","nodeType":"VariableDeclaration","scope":55794,"src":"39874:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55774,"name":"bool","nodeType":"ElementaryTypeName","src":"39874:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55777,"mutability":"mutable","name":"p2","nameLocation":"39897:2:64","nodeType":"VariableDeclaration","scope":55794,"src":"39883:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55776,"name":"string","nodeType":"ElementaryTypeName","src":"39883:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55779,"mutability":"mutable","name":"p3","nameLocation":"39909:2:64","nodeType":"VariableDeclaration","scope":55794,"src":"39901:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55778,"name":"uint256","nodeType":"ElementaryTypeName","src":"39901:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39855:57:64"},"returnParameters":{"id":55781,"nodeType":"ParameterList","parameters":[],"src":"39927:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55817,"nodeType":"FunctionDefinition","src":"40041:197:64","nodes":[],"body":{"id":55816,"nodeType":"Block","src":"40131:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729","id":55808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40181:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},"value":"log(string,bool,string,string)"},{"id":55809,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55796,"src":"40215:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55810,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55798,"src":"40219:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55811,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55800,"src":"40223:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55812,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55802,"src":"40227:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d","typeString":"literal_string \"log(string,bool,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55806,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40157:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55807,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40161:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40157:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55813,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40157:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55805,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"40141:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40141:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55815,"nodeType":"ExpressionStatement","src":"40141:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40050:3:64","parameters":{"id":55803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55796,"mutability":"mutable","name":"p0","nameLocation":"40068:2:64","nodeType":"VariableDeclaration","scope":55817,"src":"40054:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55795,"name":"string","nodeType":"ElementaryTypeName","src":"40054:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55798,"mutability":"mutable","name":"p1","nameLocation":"40077:2:64","nodeType":"VariableDeclaration","scope":55817,"src":"40072:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55797,"name":"bool","nodeType":"ElementaryTypeName","src":"40072:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55800,"mutability":"mutable","name":"p2","nameLocation":"40095:2:64","nodeType":"VariableDeclaration","scope":55817,"src":"40081:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55799,"name":"string","nodeType":"ElementaryTypeName","src":"40081:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55802,"mutability":"mutable","name":"p3","nameLocation":"40113:2:64","nodeType":"VariableDeclaration","scope":55817,"src":"40099:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55801,"name":"string","nodeType":"ElementaryTypeName","src":"40099:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40053:63:64"},"returnParameters":{"id":55804,"nodeType":"ParameterList","parameters":[],"src":"40131:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55840,"nodeType":"FunctionDefinition","src":"40244:186:64","nodes":[],"body":{"id":55839,"nodeType":"Block","src":"40325:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29","id":55831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40375:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},"value":"log(string,bool,string,bool)"},{"id":55832,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55819,"src":"40407:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55833,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55821,"src":"40411:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55834,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55823,"src":"40415:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55835,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55825,"src":"40419:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b","typeString":"literal_string \"log(string,bool,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55829,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40351:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55830,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40355:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40351:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40351:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55828,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"40335:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40335:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55838,"nodeType":"ExpressionStatement","src":"40335:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40253:3:64","parameters":{"id":55826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55819,"mutability":"mutable","name":"p0","nameLocation":"40271:2:64","nodeType":"VariableDeclaration","scope":55840,"src":"40257:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55818,"name":"string","nodeType":"ElementaryTypeName","src":"40257:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55821,"mutability":"mutable","name":"p1","nameLocation":"40280:2:64","nodeType":"VariableDeclaration","scope":55840,"src":"40275:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55820,"name":"bool","nodeType":"ElementaryTypeName","src":"40275:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55823,"mutability":"mutable","name":"p2","nameLocation":"40298:2:64","nodeType":"VariableDeclaration","scope":55840,"src":"40284:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55822,"name":"string","nodeType":"ElementaryTypeName","src":"40284:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55825,"mutability":"mutable","name":"p3","nameLocation":"40307:2:64","nodeType":"VariableDeclaration","scope":55840,"src":"40302:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55824,"name":"bool","nodeType":"ElementaryTypeName","src":"40302:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"40256:54:64"},"returnParameters":{"id":55827,"nodeType":"ParameterList","parameters":[],"src":"40325:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55863,"nodeType":"FunctionDefinition","src":"40436:192:64","nodes":[],"body":{"id":55862,"nodeType":"Block","src":"40520:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329","id":55854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40570:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},"value":"log(string,bool,string,address)"},{"id":55855,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55842,"src":"40605:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55856,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55844,"src":"40609:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55857,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55846,"src":"40613:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55858,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55848,"src":"40617:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8","typeString":"literal_string \"log(string,bool,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55852,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40546:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55853,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40550:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40546:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40546:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55851,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"40530:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40530:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55861,"nodeType":"ExpressionStatement","src":"40530:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40445:3:64","parameters":{"id":55849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55842,"mutability":"mutable","name":"p0","nameLocation":"40463:2:64","nodeType":"VariableDeclaration","scope":55863,"src":"40449:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55841,"name":"string","nodeType":"ElementaryTypeName","src":"40449:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55844,"mutability":"mutable","name":"p1","nameLocation":"40472:2:64","nodeType":"VariableDeclaration","scope":55863,"src":"40467:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55843,"name":"bool","nodeType":"ElementaryTypeName","src":"40467:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55846,"mutability":"mutable","name":"p2","nameLocation":"40490:2:64","nodeType":"VariableDeclaration","scope":55863,"src":"40476:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55845,"name":"string","nodeType":"ElementaryTypeName","src":"40476:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55848,"mutability":"mutable","name":"p3","nameLocation":"40502:2:64","nodeType":"VariableDeclaration","scope":55863,"src":"40494:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55847,"name":"address","nodeType":"ElementaryTypeName","src":"40494:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40448:57:64"},"returnParameters":{"id":55850,"nodeType":"ParameterList","parameters":[],"src":"40520:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55886,"nodeType":"FunctionDefinition","src":"40634:181:64","nodes":[],"body":{"id":55885,"nodeType":"Block","src":"40709:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7432353629","id":55877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40759:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},"value":"log(string,bool,bool,uint256)"},{"id":55878,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55865,"src":"40792:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55879,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55867,"src":"40796:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55880,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55869,"src":"40800:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55881,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55871,"src":"40804:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e3f78a95b6137f6ae9ccc69d6fedacb3b283b432b4367bfc497a4b3b428665c","typeString":"literal_string \"log(string,bool,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55875,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40735:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55876,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40739:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40735:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40735:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55874,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"40719:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40719:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55884,"nodeType":"ExpressionStatement","src":"40719:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40643:3:64","parameters":{"id":55872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55865,"mutability":"mutable","name":"p0","nameLocation":"40661:2:64","nodeType":"VariableDeclaration","scope":55886,"src":"40647:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55864,"name":"string","nodeType":"ElementaryTypeName","src":"40647:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55867,"mutability":"mutable","name":"p1","nameLocation":"40670:2:64","nodeType":"VariableDeclaration","scope":55886,"src":"40665:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55866,"name":"bool","nodeType":"ElementaryTypeName","src":"40665:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55869,"mutability":"mutable","name":"p2","nameLocation":"40679:2:64","nodeType":"VariableDeclaration","scope":55886,"src":"40674:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55868,"name":"bool","nodeType":"ElementaryTypeName","src":"40674:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55871,"mutability":"mutable","name":"p3","nameLocation":"40691:2:64","nodeType":"VariableDeclaration","scope":55886,"src":"40683:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55870,"name":"uint256","nodeType":"ElementaryTypeName","src":"40683:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40646:48:64"},"returnParameters":{"id":55873,"nodeType":"ParameterList","parameters":[],"src":"40709:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55909,"nodeType":"FunctionDefinition","src":"40821:186:64","nodes":[],"body":{"id":55908,"nodeType":"Block","src":"40902:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729","id":55900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"40952:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},"value":"log(string,bool,bool,string)"},{"id":55901,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55888,"src":"40984:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55902,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55890,"src":"40988:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55903,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55892,"src":"40992:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55904,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55894,"src":"40996:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058","typeString":"literal_string \"log(string,bool,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55898,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"40928:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55899,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"40932:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"40928:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40928:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55897,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"40912:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"40912:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55907,"nodeType":"ExpressionStatement","src":"40912:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"40830:3:64","parameters":{"id":55895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55888,"mutability":"mutable","name":"p0","nameLocation":"40848:2:64","nodeType":"VariableDeclaration","scope":55909,"src":"40834:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55887,"name":"string","nodeType":"ElementaryTypeName","src":"40834:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55890,"mutability":"mutable","name":"p1","nameLocation":"40857:2:64","nodeType":"VariableDeclaration","scope":55909,"src":"40852:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55889,"name":"bool","nodeType":"ElementaryTypeName","src":"40852:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55892,"mutability":"mutable","name":"p2","nameLocation":"40866:2:64","nodeType":"VariableDeclaration","scope":55909,"src":"40861:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55891,"name":"bool","nodeType":"ElementaryTypeName","src":"40861:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55894,"mutability":"mutable","name":"p3","nameLocation":"40884:2:64","nodeType":"VariableDeclaration","scope":55909,"src":"40870:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55893,"name":"string","nodeType":"ElementaryTypeName","src":"40870:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40833:54:64"},"returnParameters":{"id":55896,"nodeType":"ParameterList","parameters":[],"src":"40902:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55932,"nodeType":"FunctionDefinition","src":"41013:175:64","nodes":[],"body":{"id":55931,"nodeType":"Block","src":"41085:103:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29","id":55923,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41135:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},"value":"log(string,bool,bool,bool)"},{"id":55924,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55911,"src":"41165:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55925,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55913,"src":"41169:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55926,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55915,"src":"41173:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55927,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55917,"src":"41177:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2","typeString":"literal_string \"log(string,bool,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":55921,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41111:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55922,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41115:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41111:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41111:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55920,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"41095:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41095:86:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55930,"nodeType":"ExpressionStatement","src":"41095:86:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41022:3:64","parameters":{"id":55918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55911,"mutability":"mutable","name":"p0","nameLocation":"41040:2:64","nodeType":"VariableDeclaration","scope":55932,"src":"41026:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55910,"name":"string","nodeType":"ElementaryTypeName","src":"41026:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55913,"mutability":"mutable","name":"p1","nameLocation":"41049:2:64","nodeType":"VariableDeclaration","scope":55932,"src":"41044:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55912,"name":"bool","nodeType":"ElementaryTypeName","src":"41044:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55915,"mutability":"mutable","name":"p2","nameLocation":"41058:2:64","nodeType":"VariableDeclaration","scope":55932,"src":"41053:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55914,"name":"bool","nodeType":"ElementaryTypeName","src":"41053:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55917,"mutability":"mutable","name":"p3","nameLocation":"41067:2:64","nodeType":"VariableDeclaration","scope":55932,"src":"41062:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55916,"name":"bool","nodeType":"ElementaryTypeName","src":"41062:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41025:45:64"},"returnParameters":{"id":55919,"nodeType":"ParameterList","parameters":[],"src":"41085:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55955,"nodeType":"FunctionDefinition","src":"41194:181:64","nodes":[],"body":{"id":55954,"nodeType":"Block","src":"41269:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329","id":55946,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41319:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},"value":"log(string,bool,bool,address)"},{"id":55947,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55934,"src":"41352:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55948,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55936,"src":"41356:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55949,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55938,"src":"41360:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55950,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55940,"src":"41364:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d","typeString":"literal_string \"log(string,bool,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":55944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41295:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41299:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41295:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41295:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55943,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"41279:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41279:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55953,"nodeType":"ExpressionStatement","src":"41279:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41203:3:64","parameters":{"id":55941,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55934,"mutability":"mutable","name":"p0","nameLocation":"41221:2:64","nodeType":"VariableDeclaration","scope":55955,"src":"41207:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55933,"name":"string","nodeType":"ElementaryTypeName","src":"41207:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55936,"mutability":"mutable","name":"p1","nameLocation":"41230:2:64","nodeType":"VariableDeclaration","scope":55955,"src":"41225:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55935,"name":"bool","nodeType":"ElementaryTypeName","src":"41225:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55938,"mutability":"mutable","name":"p2","nameLocation":"41239:2:64","nodeType":"VariableDeclaration","scope":55955,"src":"41234:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55937,"name":"bool","nodeType":"ElementaryTypeName","src":"41234:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55940,"mutability":"mutable","name":"p3","nameLocation":"41251:2:64","nodeType":"VariableDeclaration","scope":55955,"src":"41243:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55939,"name":"address","nodeType":"ElementaryTypeName","src":"41243:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41206:48:64"},"returnParameters":{"id":55942,"nodeType":"ParameterList","parameters":[],"src":"41269:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":55978,"nodeType":"FunctionDefinition","src":"41381:187:64","nodes":[],"body":{"id":55977,"nodeType":"Block","src":"41459:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7432353629","id":55969,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41509:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},"value":"log(string,bool,address,uint256)"},{"id":55970,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55957,"src":"41545:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55971,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55959,"src":"41549:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55972,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55961,"src":"41553:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55973,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55963,"src":"41557:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d08bb051545e1af26b8dc05172e6aa8a0bd85212ec19e971b10cea364c21531","typeString":"literal_string \"log(string,bool,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":55967,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41485:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55968,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41489:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41485:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41485:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55966,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"41469:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41469:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55976,"nodeType":"ExpressionStatement","src":"41469:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41390:3:64","parameters":{"id":55964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55957,"mutability":"mutable","name":"p0","nameLocation":"41408:2:64","nodeType":"VariableDeclaration","scope":55978,"src":"41394:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55956,"name":"string","nodeType":"ElementaryTypeName","src":"41394:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55959,"mutability":"mutable","name":"p1","nameLocation":"41417:2:64","nodeType":"VariableDeclaration","scope":55978,"src":"41412:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55958,"name":"bool","nodeType":"ElementaryTypeName","src":"41412:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55961,"mutability":"mutable","name":"p2","nameLocation":"41429:2:64","nodeType":"VariableDeclaration","scope":55978,"src":"41421:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55960,"name":"address","nodeType":"ElementaryTypeName","src":"41421:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55963,"mutability":"mutable","name":"p3","nameLocation":"41441:2:64","nodeType":"VariableDeclaration","scope":55978,"src":"41433:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":55962,"name":"uint256","nodeType":"ElementaryTypeName","src":"41433:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41393:51:64"},"returnParameters":{"id":55965,"nodeType":"ParameterList","parameters":[],"src":"41459:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56001,"nodeType":"FunctionDefinition","src":"41574:192:64","nodes":[],"body":{"id":56000,"nodeType":"Block","src":"41658:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729","id":55992,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41708:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},"value":"log(string,bool,address,string)"},{"id":55993,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55980,"src":"41743:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":55994,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55982,"src":"41747:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":55995,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55984,"src":"41751:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":55996,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":55986,"src":"41755:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef","typeString":"literal_string \"log(string,bool,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":55990,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41684:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":55991,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41688:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41684:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":55997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41684:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":55989,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"41668:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":55998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41668:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":55999,"nodeType":"ExpressionStatement","src":"41668:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41583:3:64","parameters":{"id":55987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55980,"mutability":"mutable","name":"p0","nameLocation":"41601:2:64","nodeType":"VariableDeclaration","scope":56001,"src":"41587:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55979,"name":"string","nodeType":"ElementaryTypeName","src":"41587:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":55982,"mutability":"mutable","name":"p1","nameLocation":"41610:2:64","nodeType":"VariableDeclaration","scope":56001,"src":"41605:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":55981,"name":"bool","nodeType":"ElementaryTypeName","src":"41605:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":55984,"mutability":"mutable","name":"p2","nameLocation":"41622:2:64","nodeType":"VariableDeclaration","scope":56001,"src":"41614:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":55983,"name":"address","nodeType":"ElementaryTypeName","src":"41614:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":55986,"mutability":"mutable","name":"p3","nameLocation":"41640:2:64","nodeType":"VariableDeclaration","scope":56001,"src":"41626:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":55985,"name":"string","nodeType":"ElementaryTypeName","src":"41626:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41586:57:64"},"returnParameters":{"id":55988,"nodeType":"ParameterList","parameters":[],"src":"41658:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56024,"nodeType":"FunctionDefinition","src":"41772:181:64","nodes":[],"body":{"id":56023,"nodeType":"Block","src":"41847:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29","id":56015,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"41897:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},"value":"log(string,bool,address,bool)"},{"id":56016,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56003,"src":"41930:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56017,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56005,"src":"41934:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56018,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56007,"src":"41938:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56019,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56009,"src":"41942:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482","typeString":"literal_string \"log(string,bool,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56013,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"41873:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56014,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"41877:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"41873:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41873:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56012,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"41857:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"41857:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56022,"nodeType":"ExpressionStatement","src":"41857:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41781:3:64","parameters":{"id":56010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56003,"mutability":"mutable","name":"p0","nameLocation":"41799:2:64","nodeType":"VariableDeclaration","scope":56024,"src":"41785:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56002,"name":"string","nodeType":"ElementaryTypeName","src":"41785:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56005,"mutability":"mutable","name":"p1","nameLocation":"41808:2:64","nodeType":"VariableDeclaration","scope":56024,"src":"41803:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56004,"name":"bool","nodeType":"ElementaryTypeName","src":"41803:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56007,"mutability":"mutable","name":"p2","nameLocation":"41820:2:64","nodeType":"VariableDeclaration","scope":56024,"src":"41812:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56006,"name":"address","nodeType":"ElementaryTypeName","src":"41812:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56009,"mutability":"mutable","name":"p3","nameLocation":"41829:2:64","nodeType":"VariableDeclaration","scope":56024,"src":"41824:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56008,"name":"bool","nodeType":"ElementaryTypeName","src":"41824:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41784:48:64"},"returnParameters":{"id":56011,"nodeType":"ParameterList","parameters":[],"src":"41847:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56047,"nodeType":"FunctionDefinition","src":"41959:187:64","nodes":[],"body":{"id":56046,"nodeType":"Block","src":"42037:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329","id":56038,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42087:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},"value":"log(string,bool,address,address)"},{"id":56039,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56026,"src":"42123:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56040,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56028,"src":"42127:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56041,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56030,"src":"42131:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56042,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56032,"src":"42135:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d","typeString":"literal_string \"log(string,bool,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56036,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42063:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56037,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42067:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42063:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42063:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56035,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"42047:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42047:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56045,"nodeType":"ExpressionStatement","src":"42047:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"41968:3:64","parameters":{"id":56033,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56026,"mutability":"mutable","name":"p0","nameLocation":"41986:2:64","nodeType":"VariableDeclaration","scope":56047,"src":"41972:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56025,"name":"string","nodeType":"ElementaryTypeName","src":"41972:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56028,"mutability":"mutable","name":"p1","nameLocation":"41995:2:64","nodeType":"VariableDeclaration","scope":56047,"src":"41990:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56027,"name":"bool","nodeType":"ElementaryTypeName","src":"41990:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56030,"mutability":"mutable","name":"p2","nameLocation":"42007:2:64","nodeType":"VariableDeclaration","scope":56047,"src":"41999:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56029,"name":"address","nodeType":"ElementaryTypeName","src":"41999:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56032,"mutability":"mutable","name":"p3","nameLocation":"42019:2:64","nodeType":"VariableDeclaration","scope":56047,"src":"42011:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56031,"name":"address","nodeType":"ElementaryTypeName","src":"42011:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"41971:51:64"},"returnParameters":{"id":56034,"nodeType":"ParameterList","parameters":[],"src":"42037:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56070,"nodeType":"FunctionDefinition","src":"42152:193:64","nodes":[],"body":{"id":56069,"nodeType":"Block","src":"42233:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c75696e7432353629","id":56061,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42283:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},"value":"log(string,address,uint256,uint256)"},{"id":56062,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56049,"src":"42322:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56063,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56051,"src":"42326:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56064,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56053,"src":"42330:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56065,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56055,"src":"42334:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f8f51b1efa50f24f22e6d84ce2fe784a33e1301484ada1546e913ae05d6370e9","typeString":"literal_string \"log(string,address,uint256,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56059,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42259:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56060,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42263:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42259:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56066,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42259:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56058,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"42243:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42243:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56068,"nodeType":"ExpressionStatement","src":"42243:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42161:3:64","parameters":{"id":56056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56049,"mutability":"mutable","name":"p0","nameLocation":"42179:2:64","nodeType":"VariableDeclaration","scope":56070,"src":"42165:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56048,"name":"string","nodeType":"ElementaryTypeName","src":"42165:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56051,"mutability":"mutable","name":"p1","nameLocation":"42191:2:64","nodeType":"VariableDeclaration","scope":56070,"src":"42183:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56050,"name":"address","nodeType":"ElementaryTypeName","src":"42183:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56053,"mutability":"mutable","name":"p2","nameLocation":"42203:2:64","nodeType":"VariableDeclaration","scope":56070,"src":"42195:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56052,"name":"uint256","nodeType":"ElementaryTypeName","src":"42195:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56055,"mutability":"mutable","name":"p3","nameLocation":"42215:2:64","nodeType":"VariableDeclaration","scope":56070,"src":"42207:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56054,"name":"uint256","nodeType":"ElementaryTypeName","src":"42207:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42164:54:64"},"returnParameters":{"id":56057,"nodeType":"ParameterList","parameters":[],"src":"42233:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56093,"nodeType":"FunctionDefinition","src":"42351:198:64","nodes":[],"body":{"id":56092,"nodeType":"Block","src":"42438:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c737472696e6729","id":56084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42488:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},"value":"log(string,address,uint256,string)"},{"id":56085,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56072,"src":"42526:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56086,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56074,"src":"42530:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56087,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56076,"src":"42534:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56088,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56078,"src":"42538:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5a477632ed0f8b7872a83c9247644de555db395491f2f355c6edb676d8bcb46c","typeString":"literal_string \"log(string,address,uint256,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56082,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42464:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56083,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42468:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42464:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42464:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56081,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"42448:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42448:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56091,"nodeType":"ExpressionStatement","src":"42448:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42360:3:64","parameters":{"id":56079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56072,"mutability":"mutable","name":"p0","nameLocation":"42378:2:64","nodeType":"VariableDeclaration","scope":56093,"src":"42364:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56071,"name":"string","nodeType":"ElementaryTypeName","src":"42364:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56074,"mutability":"mutable","name":"p1","nameLocation":"42390:2:64","nodeType":"VariableDeclaration","scope":56093,"src":"42382:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56073,"name":"address","nodeType":"ElementaryTypeName","src":"42382:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56076,"mutability":"mutable","name":"p2","nameLocation":"42402:2:64","nodeType":"VariableDeclaration","scope":56093,"src":"42394:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56075,"name":"uint256","nodeType":"ElementaryTypeName","src":"42394:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56078,"mutability":"mutable","name":"p3","nameLocation":"42420:2:64","nodeType":"VariableDeclaration","scope":56093,"src":"42406:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56077,"name":"string","nodeType":"ElementaryTypeName","src":"42406:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42363:60:64"},"returnParameters":{"id":56080,"nodeType":"ParameterList","parameters":[],"src":"42438:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56116,"nodeType":"FunctionDefinition","src":"42555:187:64","nodes":[],"body":{"id":56115,"nodeType":"Block","src":"42633:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c626f6f6c29","id":56107,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42683:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},"value":"log(string,address,uint256,bool)"},{"id":56108,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56095,"src":"42719:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56109,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56097,"src":"42723:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56110,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56099,"src":"42727:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56111,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56101,"src":"42731:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fc4845f029f76ed29f7b800fe92a7851214073a807806d7d808676b2cbe7a1c7","typeString":"literal_string \"log(string,address,uint256,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56105,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42659:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56106,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42663:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42659:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56112,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42659:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56104,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"42643:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42643:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56114,"nodeType":"ExpressionStatement","src":"42643:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42564:3:64","parameters":{"id":56102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56095,"mutability":"mutable","name":"p0","nameLocation":"42582:2:64","nodeType":"VariableDeclaration","scope":56116,"src":"42568:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56094,"name":"string","nodeType":"ElementaryTypeName","src":"42568:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56097,"mutability":"mutable","name":"p1","nameLocation":"42594:2:64","nodeType":"VariableDeclaration","scope":56116,"src":"42586:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56096,"name":"address","nodeType":"ElementaryTypeName","src":"42586:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56099,"mutability":"mutable","name":"p2","nameLocation":"42606:2:64","nodeType":"VariableDeclaration","scope":56116,"src":"42598:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56098,"name":"uint256","nodeType":"ElementaryTypeName","src":"42598:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56101,"mutability":"mutable","name":"p3","nameLocation":"42615:2:64","nodeType":"VariableDeclaration","scope":56116,"src":"42610:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56100,"name":"bool","nodeType":"ElementaryTypeName","src":"42610:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"42567:51:64"},"returnParameters":{"id":56103,"nodeType":"ParameterList","parameters":[],"src":"42633:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56139,"nodeType":"FunctionDefinition","src":"42748:193:64","nodes":[],"body":{"id":56138,"nodeType":"Block","src":"42829:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c75696e743235362c6164647265737329","id":56130,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"42879:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},"value":"log(string,address,uint256,address)"},{"id":56131,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56118,"src":"42918:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56132,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56120,"src":"42922:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56133,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56122,"src":"42926:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56134,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56124,"src":"42930:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_63fb8bc57476e3f2139504feb3fa304f43eeecc15ac8e150b7b3c9fdfa4ea83a","typeString":"literal_string \"log(string,address,uint256,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56128,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"42855:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56129,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"42859:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"42855:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42855:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56127,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"42839:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"42839:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56137,"nodeType":"ExpressionStatement","src":"42839:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42757:3:64","parameters":{"id":56125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56118,"mutability":"mutable","name":"p0","nameLocation":"42775:2:64","nodeType":"VariableDeclaration","scope":56139,"src":"42761:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56117,"name":"string","nodeType":"ElementaryTypeName","src":"42761:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56120,"mutability":"mutable","name":"p1","nameLocation":"42787:2:64","nodeType":"VariableDeclaration","scope":56139,"src":"42779:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56119,"name":"address","nodeType":"ElementaryTypeName","src":"42779:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56122,"mutability":"mutable","name":"p2","nameLocation":"42799:2:64","nodeType":"VariableDeclaration","scope":56139,"src":"42791:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56121,"name":"uint256","nodeType":"ElementaryTypeName","src":"42791:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56124,"mutability":"mutable","name":"p3","nameLocation":"42811:2:64","nodeType":"VariableDeclaration","scope":56139,"src":"42803:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56123,"name":"address","nodeType":"ElementaryTypeName","src":"42803:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"42760:54:64"},"returnParameters":{"id":56126,"nodeType":"ParameterList","parameters":[],"src":"42829:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56162,"nodeType":"FunctionDefinition","src":"42947:198:64","nodes":[],"body":{"id":56161,"nodeType":"Block","src":"43034:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c75696e7432353629","id":56153,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43084:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},"value":"log(string,address,string,uint256)"},{"id":56154,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56141,"src":"43122:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56155,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56143,"src":"43126:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56156,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56145,"src":"43130:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56157,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56147,"src":"43134:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91d1112e9ca774de680c78512401449500c1938a4e449f6e73f80a84d95cfcfd","typeString":"literal_string \"log(string,address,string,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56151,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43060:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56152,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43064:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43060:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43060:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56150,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"43044:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43044:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56160,"nodeType":"ExpressionStatement","src":"43044:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"42956:3:64","parameters":{"id":56148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56141,"mutability":"mutable","name":"p0","nameLocation":"42974:2:64","nodeType":"VariableDeclaration","scope":56162,"src":"42960:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56140,"name":"string","nodeType":"ElementaryTypeName","src":"42960:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56143,"mutability":"mutable","name":"p1","nameLocation":"42986:2:64","nodeType":"VariableDeclaration","scope":56162,"src":"42978:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56142,"name":"address","nodeType":"ElementaryTypeName","src":"42978:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56145,"mutability":"mutable","name":"p2","nameLocation":"43004:2:64","nodeType":"VariableDeclaration","scope":56162,"src":"42990:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56144,"name":"string","nodeType":"ElementaryTypeName","src":"42990:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56147,"mutability":"mutable","name":"p3","nameLocation":"43016:2:64","nodeType":"VariableDeclaration","scope":56162,"src":"43008:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56146,"name":"uint256","nodeType":"ElementaryTypeName","src":"43008:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42959:60:64"},"returnParameters":{"id":56149,"nodeType":"ParameterList","parameters":[],"src":"43034:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56185,"nodeType":"FunctionDefinition","src":"43151:203:64","nodes":[],"body":{"id":56184,"nodeType":"Block","src":"43244:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729","id":56176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43294:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},"value":"log(string,address,string,string)"},{"id":56177,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56164,"src":"43331:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56178,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56166,"src":"43335:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56179,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56168,"src":"43339:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56180,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56170,"src":"43343:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797","typeString":"literal_string \"log(string,address,string,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56174,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43270:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56175,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43274:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43270:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43270:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56173,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"43254:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43254:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56183,"nodeType":"ExpressionStatement","src":"43254:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43160:3:64","parameters":{"id":56171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56164,"mutability":"mutable","name":"p0","nameLocation":"43178:2:64","nodeType":"VariableDeclaration","scope":56185,"src":"43164:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56163,"name":"string","nodeType":"ElementaryTypeName","src":"43164:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56166,"mutability":"mutable","name":"p1","nameLocation":"43190:2:64","nodeType":"VariableDeclaration","scope":56185,"src":"43182:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56165,"name":"address","nodeType":"ElementaryTypeName","src":"43182:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56168,"mutability":"mutable","name":"p2","nameLocation":"43208:2:64","nodeType":"VariableDeclaration","scope":56185,"src":"43194:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56167,"name":"string","nodeType":"ElementaryTypeName","src":"43194:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56170,"mutability":"mutable","name":"p3","nameLocation":"43226:2:64","nodeType":"VariableDeclaration","scope":56185,"src":"43212:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56169,"name":"string","nodeType":"ElementaryTypeName","src":"43212:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43163:66:64"},"returnParameters":{"id":56172,"nodeType":"ParameterList","parameters":[],"src":"43244:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56208,"nodeType":"FunctionDefinition","src":"43360:192:64","nodes":[],"body":{"id":56207,"nodeType":"Block","src":"43444:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29","id":56199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43494:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},"value":"log(string,address,string,bool)"},{"id":56200,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56187,"src":"43529:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56201,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56189,"src":"43533:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56202,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56191,"src":"43537:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56203,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56193,"src":"43541:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154","typeString":"literal_string \"log(string,address,string,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56197,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43470:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56198,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43474:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43470:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43470:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56196,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"43454:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43454:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56206,"nodeType":"ExpressionStatement","src":"43454:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43369:3:64","parameters":{"id":56194,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56187,"mutability":"mutable","name":"p0","nameLocation":"43387:2:64","nodeType":"VariableDeclaration","scope":56208,"src":"43373:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56186,"name":"string","nodeType":"ElementaryTypeName","src":"43373:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56189,"mutability":"mutable","name":"p1","nameLocation":"43399:2:64","nodeType":"VariableDeclaration","scope":56208,"src":"43391:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56188,"name":"address","nodeType":"ElementaryTypeName","src":"43391:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56191,"mutability":"mutable","name":"p2","nameLocation":"43417:2:64","nodeType":"VariableDeclaration","scope":56208,"src":"43403:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56190,"name":"string","nodeType":"ElementaryTypeName","src":"43403:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56193,"mutability":"mutable","name":"p3","nameLocation":"43426:2:64","nodeType":"VariableDeclaration","scope":56208,"src":"43421:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56192,"name":"bool","nodeType":"ElementaryTypeName","src":"43421:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"43372:57:64"},"returnParameters":{"id":56195,"nodeType":"ParameterList","parameters":[],"src":"43444:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56231,"nodeType":"FunctionDefinition","src":"43558:198:64","nodes":[],"body":{"id":56230,"nodeType":"Block","src":"43645:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329","id":56222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43695:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},"value":"log(string,address,string,address)"},{"id":56223,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56210,"src":"43733:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56224,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56212,"src":"43737:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56225,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56214,"src":"43741:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56226,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56216,"src":"43745:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d","typeString":"literal_string \"log(string,address,string,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56220,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43671:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43675:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43671:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43671:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56219,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"43655:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43655:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56229,"nodeType":"ExpressionStatement","src":"43655:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43567:3:64","parameters":{"id":56217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56210,"mutability":"mutable","name":"p0","nameLocation":"43585:2:64","nodeType":"VariableDeclaration","scope":56231,"src":"43571:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56209,"name":"string","nodeType":"ElementaryTypeName","src":"43571:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56212,"mutability":"mutable","name":"p1","nameLocation":"43597:2:64","nodeType":"VariableDeclaration","scope":56231,"src":"43589:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56211,"name":"address","nodeType":"ElementaryTypeName","src":"43589:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56214,"mutability":"mutable","name":"p2","nameLocation":"43615:2:64","nodeType":"VariableDeclaration","scope":56231,"src":"43601:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56213,"name":"string","nodeType":"ElementaryTypeName","src":"43601:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56216,"mutability":"mutable","name":"p3","nameLocation":"43627:2:64","nodeType":"VariableDeclaration","scope":56231,"src":"43619:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56215,"name":"address","nodeType":"ElementaryTypeName","src":"43619:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"43570:60:64"},"returnParameters":{"id":56218,"nodeType":"ParameterList","parameters":[],"src":"43645:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56254,"nodeType":"FunctionDefinition","src":"43762:187:64","nodes":[],"body":{"id":56253,"nodeType":"Block","src":"43840:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7432353629","id":56245,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"43890:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},"value":"log(string,address,bool,uint256)"},{"id":56246,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56233,"src":"43926:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56247,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56235,"src":"43930:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56248,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56237,"src":"43934:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56249,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56239,"src":"43938:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3e9f866aadef9b1f2b0257e0ed5e2df8882ba55e598b4f5282674b64ae3f06b5","typeString":"literal_string \"log(string,address,bool,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56243,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"43866:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"43870:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"43866:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56250,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43866:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56242,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"43850:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"43850:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56252,"nodeType":"ExpressionStatement","src":"43850:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43771:3:64","parameters":{"id":56240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56233,"mutability":"mutable","name":"p0","nameLocation":"43789:2:64","nodeType":"VariableDeclaration","scope":56254,"src":"43775:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56232,"name":"string","nodeType":"ElementaryTypeName","src":"43775:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56235,"mutability":"mutable","name":"p1","nameLocation":"43801:2:64","nodeType":"VariableDeclaration","scope":56254,"src":"43793:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56234,"name":"address","nodeType":"ElementaryTypeName","src":"43793:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56237,"mutability":"mutable","name":"p2","nameLocation":"43810:2:64","nodeType":"VariableDeclaration","scope":56254,"src":"43805:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56236,"name":"bool","nodeType":"ElementaryTypeName","src":"43805:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56239,"mutability":"mutable","name":"p3","nameLocation":"43822:2:64","nodeType":"VariableDeclaration","scope":56254,"src":"43814:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56238,"name":"uint256","nodeType":"ElementaryTypeName","src":"43814:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43774:51:64"},"returnParameters":{"id":56241,"nodeType":"ParameterList","parameters":[],"src":"43840:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56277,"nodeType":"FunctionDefinition","src":"43955:192:64","nodes":[],"body":{"id":56276,"nodeType":"Block","src":"44039:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729","id":56268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44089:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},"value":"log(string,address,bool,string)"},{"id":56269,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56256,"src":"44124:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56270,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56258,"src":"44128:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56271,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56260,"src":"44132:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56272,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56262,"src":"44136:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb","typeString":"literal_string \"log(string,address,bool,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56266,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44065:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56267,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44069:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44065:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56273,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44065:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56265,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"44049:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44049:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56275,"nodeType":"ExpressionStatement","src":"44049:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"43964:3:64","parameters":{"id":56263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56256,"mutability":"mutable","name":"p0","nameLocation":"43982:2:64","nodeType":"VariableDeclaration","scope":56277,"src":"43968:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56255,"name":"string","nodeType":"ElementaryTypeName","src":"43968:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56258,"mutability":"mutable","name":"p1","nameLocation":"43994:2:64","nodeType":"VariableDeclaration","scope":56277,"src":"43986:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56257,"name":"address","nodeType":"ElementaryTypeName","src":"43986:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56260,"mutability":"mutable","name":"p2","nameLocation":"44003:2:64","nodeType":"VariableDeclaration","scope":56277,"src":"43998:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56259,"name":"bool","nodeType":"ElementaryTypeName","src":"43998:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56262,"mutability":"mutable","name":"p3","nameLocation":"44021:2:64","nodeType":"VariableDeclaration","scope":56277,"src":"44007:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56261,"name":"string","nodeType":"ElementaryTypeName","src":"44007:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43967:57:64"},"returnParameters":{"id":56264,"nodeType":"ParameterList","parameters":[],"src":"44039:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56300,"nodeType":"FunctionDefinition","src":"44153:181:64","nodes":[],"body":{"id":56299,"nodeType":"Block","src":"44228:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29","id":56291,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44278:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},"value":"log(string,address,bool,bool)"},{"id":56292,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56279,"src":"44311:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56293,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56281,"src":"44315:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56294,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56283,"src":"44319:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56295,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56285,"src":"44323:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039","typeString":"literal_string \"log(string,address,bool,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56289,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44254:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56290,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44258:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44254:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44254:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56288,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"44238:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44238:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56298,"nodeType":"ExpressionStatement","src":"44238:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44162:3:64","parameters":{"id":56286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56279,"mutability":"mutable","name":"p0","nameLocation":"44180:2:64","nodeType":"VariableDeclaration","scope":56300,"src":"44166:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56278,"name":"string","nodeType":"ElementaryTypeName","src":"44166:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56281,"mutability":"mutable","name":"p1","nameLocation":"44192:2:64","nodeType":"VariableDeclaration","scope":56300,"src":"44184:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56280,"name":"address","nodeType":"ElementaryTypeName","src":"44184:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56283,"mutability":"mutable","name":"p2","nameLocation":"44201:2:64","nodeType":"VariableDeclaration","scope":56300,"src":"44196:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56282,"name":"bool","nodeType":"ElementaryTypeName","src":"44196:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56285,"mutability":"mutable","name":"p3","nameLocation":"44210:2:64","nodeType":"VariableDeclaration","scope":56300,"src":"44205:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56284,"name":"bool","nodeType":"ElementaryTypeName","src":"44205:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44165:48:64"},"returnParameters":{"id":56287,"nodeType":"ParameterList","parameters":[],"src":"44228:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56323,"nodeType":"FunctionDefinition","src":"44340:187:64","nodes":[],"body":{"id":56322,"nodeType":"Block","src":"44418:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329","id":56314,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44468:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},"value":"log(string,address,bool,address)"},{"id":56315,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56302,"src":"44504:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56316,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56304,"src":"44508:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56317,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56306,"src":"44512:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56318,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56308,"src":"44516:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76","typeString":"literal_string \"log(string,address,bool,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56312,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44444:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56313,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44448:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44444:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44444:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56311,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"44428:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44428:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56321,"nodeType":"ExpressionStatement","src":"44428:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44349:3:64","parameters":{"id":56309,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56302,"mutability":"mutable","name":"p0","nameLocation":"44367:2:64","nodeType":"VariableDeclaration","scope":56323,"src":"44353:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56301,"name":"string","nodeType":"ElementaryTypeName","src":"44353:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56304,"mutability":"mutable","name":"p1","nameLocation":"44379:2:64","nodeType":"VariableDeclaration","scope":56323,"src":"44371:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56303,"name":"address","nodeType":"ElementaryTypeName","src":"44371:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56306,"mutability":"mutable","name":"p2","nameLocation":"44388:2:64","nodeType":"VariableDeclaration","scope":56323,"src":"44383:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56305,"name":"bool","nodeType":"ElementaryTypeName","src":"44383:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56308,"mutability":"mutable","name":"p3","nameLocation":"44400:2:64","nodeType":"VariableDeclaration","scope":56323,"src":"44392:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56307,"name":"address","nodeType":"ElementaryTypeName","src":"44392:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"44352:51:64"},"returnParameters":{"id":56310,"nodeType":"ParameterList","parameters":[],"src":"44418:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56346,"nodeType":"FunctionDefinition","src":"44533:193:64","nodes":[],"body":{"id":56345,"nodeType":"Block","src":"44614:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c75696e7432353629","id":56337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44664:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},"value":"log(string,address,address,uint256)"},{"id":56338,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56325,"src":"44703:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56339,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56327,"src":"44707:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56340,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56329,"src":"44711:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56341,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56331,"src":"44715:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ef3f399de1ebecd7840dee5f4cdc1bad43021ab37fa3acdd3dfbd36f7092e7b","typeString":"literal_string \"log(string,address,address,uint256)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56335,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44640:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56336,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44644:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44640:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44640:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56334,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"44624:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44624:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56344,"nodeType":"ExpressionStatement","src":"44624:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44542:3:64","parameters":{"id":56332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56325,"mutability":"mutable","name":"p0","nameLocation":"44560:2:64","nodeType":"VariableDeclaration","scope":56346,"src":"44546:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56324,"name":"string","nodeType":"ElementaryTypeName","src":"44546:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56327,"mutability":"mutable","name":"p1","nameLocation":"44572:2:64","nodeType":"VariableDeclaration","scope":56346,"src":"44564:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56326,"name":"address","nodeType":"ElementaryTypeName","src":"44564:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56329,"mutability":"mutable","name":"p2","nameLocation":"44584:2:64","nodeType":"VariableDeclaration","scope":56346,"src":"44576:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56328,"name":"address","nodeType":"ElementaryTypeName","src":"44576:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56331,"mutability":"mutable","name":"p3","nameLocation":"44596:2:64","nodeType":"VariableDeclaration","scope":56346,"src":"44588:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56330,"name":"uint256","nodeType":"ElementaryTypeName","src":"44588:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44545:54:64"},"returnParameters":{"id":56333,"nodeType":"ParameterList","parameters":[],"src":"44614:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56369,"nodeType":"FunctionDefinition","src":"44732:198:64","nodes":[],"body":{"id":56368,"nodeType":"Block","src":"44819:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729","id":56360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"44869:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},"value":"log(string,address,address,string)"},{"id":56361,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56348,"src":"44907:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56362,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56350,"src":"44911:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56363,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56352,"src":"44915:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56364,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56354,"src":"44919:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76","typeString":"literal_string \"log(string,address,address,string)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56358,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"44845:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"44849:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"44845:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44845:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56357,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"44829:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"44829:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56367,"nodeType":"ExpressionStatement","src":"44829:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44741:3:64","parameters":{"id":56355,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56348,"mutability":"mutable","name":"p0","nameLocation":"44759:2:64","nodeType":"VariableDeclaration","scope":56369,"src":"44745:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56347,"name":"string","nodeType":"ElementaryTypeName","src":"44745:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56350,"mutability":"mutable","name":"p1","nameLocation":"44771:2:64","nodeType":"VariableDeclaration","scope":56369,"src":"44763:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56349,"name":"address","nodeType":"ElementaryTypeName","src":"44763:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56352,"mutability":"mutable","name":"p2","nameLocation":"44783:2:64","nodeType":"VariableDeclaration","scope":56369,"src":"44775:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56351,"name":"address","nodeType":"ElementaryTypeName","src":"44775:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56354,"mutability":"mutable","name":"p3","nameLocation":"44801:2:64","nodeType":"VariableDeclaration","scope":56369,"src":"44787:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56353,"name":"string","nodeType":"ElementaryTypeName","src":"44787:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44744:60:64"},"returnParameters":{"id":56356,"nodeType":"ParameterList","parameters":[],"src":"44819:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56392,"nodeType":"FunctionDefinition","src":"44936:187:64","nodes":[],"body":{"id":56391,"nodeType":"Block","src":"45014:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29","id":56383,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45064:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},"value":"log(string,address,address,bool)"},{"id":56384,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56371,"src":"45100:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56385,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56373,"src":"45104:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56386,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56375,"src":"45108:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56387,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56377,"src":"45112:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4","typeString":"literal_string \"log(string,address,address,bool)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56381,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45040:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56382,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45044:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45040:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45040:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56380,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45024:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45024:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56390,"nodeType":"ExpressionStatement","src":"45024:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"44945:3:64","parameters":{"id":56378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56371,"mutability":"mutable","name":"p0","nameLocation":"44963:2:64","nodeType":"VariableDeclaration","scope":56392,"src":"44949:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56370,"name":"string","nodeType":"ElementaryTypeName","src":"44949:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56373,"mutability":"mutable","name":"p1","nameLocation":"44975:2:64","nodeType":"VariableDeclaration","scope":56392,"src":"44967:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56372,"name":"address","nodeType":"ElementaryTypeName","src":"44967:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56375,"mutability":"mutable","name":"p2","nameLocation":"44987:2:64","nodeType":"VariableDeclaration","scope":56392,"src":"44979:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56374,"name":"address","nodeType":"ElementaryTypeName","src":"44979:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56377,"mutability":"mutable","name":"p3","nameLocation":"44996:2:64","nodeType":"VariableDeclaration","scope":56392,"src":"44991:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56376,"name":"bool","nodeType":"ElementaryTypeName","src":"44991:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"44948:51:64"},"returnParameters":{"id":56379,"nodeType":"ParameterList","parameters":[],"src":"45014:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56415,"nodeType":"FunctionDefinition","src":"45129:193:64","nodes":[],"body":{"id":56414,"nodeType":"Block","src":"45210:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329","id":56406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45260:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},"value":"log(string,address,address,address)"},{"id":56407,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56394,"src":"45299:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56408,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56396,"src":"45303:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56409,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56398,"src":"45307:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56410,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56400,"src":"45311:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15","typeString":"literal_string \"log(string,address,address,address)\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56404,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45236:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56405,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45240:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45236:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45236:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56403,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45220:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45220:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56413,"nodeType":"ExpressionStatement","src":"45220:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45138:3:64","parameters":{"id":56401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56394,"mutability":"mutable","name":"p0","nameLocation":"45156:2:64","nodeType":"VariableDeclaration","scope":56415,"src":"45142:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56393,"name":"string","nodeType":"ElementaryTypeName","src":"45142:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56396,"mutability":"mutable","name":"p1","nameLocation":"45168:2:64","nodeType":"VariableDeclaration","scope":56415,"src":"45160:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56395,"name":"address","nodeType":"ElementaryTypeName","src":"45160:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56398,"mutability":"mutable","name":"p2","nameLocation":"45180:2:64","nodeType":"VariableDeclaration","scope":56415,"src":"45172:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56397,"name":"address","nodeType":"ElementaryTypeName","src":"45172:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56400,"mutability":"mutable","name":"p3","nameLocation":"45192:2:64","nodeType":"VariableDeclaration","scope":56415,"src":"45184:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56399,"name":"address","nodeType":"ElementaryTypeName","src":"45184:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45141:54:64"},"returnParameters":{"id":56402,"nodeType":"ParameterList","parameters":[],"src":"45210:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56438,"nodeType":"FunctionDefinition","src":"45328:182:64","nodes":[],"body":{"id":56437,"nodeType":"Block","src":"45400:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c75696e7432353629","id":56429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45450:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},"value":"log(bool,uint256,uint256,uint256)"},{"id":56430,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56417,"src":"45487:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56431,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56419,"src":"45491:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56432,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56421,"src":"45495:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56433,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56423,"src":"45499:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_374bb4b29e495d2b557643d341fe72136bf6e92f2ac9b1edd86dbbd72a19d62b","typeString":"literal_string \"log(bool,uint256,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56427,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45426:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56428,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45430:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45426:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56434,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45426:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56426,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45410:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45410:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56436,"nodeType":"ExpressionStatement","src":"45410:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45337:3:64","parameters":{"id":56424,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56417,"mutability":"mutable","name":"p0","nameLocation":"45346:2:64","nodeType":"VariableDeclaration","scope":56438,"src":"45341:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56416,"name":"bool","nodeType":"ElementaryTypeName","src":"45341:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56419,"mutability":"mutable","name":"p1","nameLocation":"45358:2:64","nodeType":"VariableDeclaration","scope":56438,"src":"45350:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56418,"name":"uint256","nodeType":"ElementaryTypeName","src":"45350:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56421,"mutability":"mutable","name":"p2","nameLocation":"45370:2:64","nodeType":"VariableDeclaration","scope":56438,"src":"45362:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56420,"name":"uint256","nodeType":"ElementaryTypeName","src":"45362:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56423,"mutability":"mutable","name":"p3","nameLocation":"45382:2:64","nodeType":"VariableDeclaration","scope":56438,"src":"45374:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56422,"name":"uint256","nodeType":"ElementaryTypeName","src":"45374:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45340:45:64"},"returnParameters":{"id":56425,"nodeType":"ParameterList","parameters":[],"src":"45400:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56461,"nodeType":"FunctionDefinition","src":"45516:187:64","nodes":[],"body":{"id":56460,"nodeType":"Block","src":"45594:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c737472696e6729","id":56452,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45644:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},"value":"log(bool,uint256,uint256,string)"},{"id":56453,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56440,"src":"45680:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56454,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56442,"src":"45684:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56455,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56444,"src":"45688:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56456,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56446,"src":"45692:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8e69fb5dd49f06ae0054ca1d4af84221644c5b45a9306505e04580a4156255c3","typeString":"literal_string \"log(bool,uint256,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56450,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45620:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56451,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45624:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45620:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45620:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56449,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45604:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45604:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56459,"nodeType":"ExpressionStatement","src":"45604:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45525:3:64","parameters":{"id":56447,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56440,"mutability":"mutable","name":"p0","nameLocation":"45534:2:64","nodeType":"VariableDeclaration","scope":56461,"src":"45529:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56439,"name":"bool","nodeType":"ElementaryTypeName","src":"45529:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56442,"mutability":"mutable","name":"p1","nameLocation":"45546:2:64","nodeType":"VariableDeclaration","scope":56461,"src":"45538:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56441,"name":"uint256","nodeType":"ElementaryTypeName","src":"45538:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56444,"mutability":"mutable","name":"p2","nameLocation":"45558:2:64","nodeType":"VariableDeclaration","scope":56461,"src":"45550:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56443,"name":"uint256","nodeType":"ElementaryTypeName","src":"45550:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56446,"mutability":"mutable","name":"p3","nameLocation":"45576:2:64","nodeType":"VariableDeclaration","scope":56461,"src":"45562:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56445,"name":"string","nodeType":"ElementaryTypeName","src":"45562:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45528:51:64"},"returnParameters":{"id":56448,"nodeType":"ParameterList","parameters":[],"src":"45594:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56484,"nodeType":"FunctionDefinition","src":"45709:176:64","nodes":[],"body":{"id":56483,"nodeType":"Block","src":"45778:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c626f6f6c29","id":56475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"45828:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},"value":"log(bool,uint256,uint256,bool)"},{"id":56476,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56463,"src":"45862:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56477,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56465,"src":"45866:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56478,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56467,"src":"45870:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56479,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56469,"src":"45874:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be9843530e69b1feba88a3a9701a6984aaa8a57e749a7f9d10c857993e79900d","typeString":"literal_string \"log(bool,uint256,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56473,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45804:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56474,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45808:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45804:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45804:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56472,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45788:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45788:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56482,"nodeType":"ExpressionStatement","src":"45788:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45718:3:64","parameters":{"id":56470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56463,"mutability":"mutable","name":"p0","nameLocation":"45727:2:64","nodeType":"VariableDeclaration","scope":56484,"src":"45722:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56462,"name":"bool","nodeType":"ElementaryTypeName","src":"45722:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56465,"mutability":"mutable","name":"p1","nameLocation":"45739:2:64","nodeType":"VariableDeclaration","scope":56484,"src":"45731:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56464,"name":"uint256","nodeType":"ElementaryTypeName","src":"45731:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56467,"mutability":"mutable","name":"p2","nameLocation":"45751:2:64","nodeType":"VariableDeclaration","scope":56484,"src":"45743:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56466,"name":"uint256","nodeType":"ElementaryTypeName","src":"45743:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56469,"mutability":"mutable","name":"p3","nameLocation":"45760:2:64","nodeType":"VariableDeclaration","scope":56484,"src":"45755:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56468,"name":"bool","nodeType":"ElementaryTypeName","src":"45755:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"45721:42:64"},"returnParameters":{"id":56471,"nodeType":"ParameterList","parameters":[],"src":"45778:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56507,"nodeType":"FunctionDefinition","src":"45891:182:64","nodes":[],"body":{"id":56506,"nodeType":"Block","src":"45963:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c75696e743235362c6164647265737329","id":56498,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46013:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},"value":"log(bool,uint256,uint256,address)"},{"id":56499,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56486,"src":"46050:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56500,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56488,"src":"46054:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56501,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56490,"src":"46058:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56502,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56492,"src":"46062:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_00dd87b926eb0a94d5705f2c40026359b9577dfd5ddb2d0d51c86b3f4acb5010","typeString":"literal_string \"log(bool,uint256,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56496,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"45989:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56497,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"45993:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"45989:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56503,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45989:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56495,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"45973:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"45973:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56505,"nodeType":"ExpressionStatement","src":"45973:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"45900:3:64","parameters":{"id":56493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56486,"mutability":"mutable","name":"p0","nameLocation":"45909:2:64","nodeType":"VariableDeclaration","scope":56507,"src":"45904:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56485,"name":"bool","nodeType":"ElementaryTypeName","src":"45904:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56488,"mutability":"mutable","name":"p1","nameLocation":"45921:2:64","nodeType":"VariableDeclaration","scope":56507,"src":"45913:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56487,"name":"uint256","nodeType":"ElementaryTypeName","src":"45913:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56490,"mutability":"mutable","name":"p2","nameLocation":"45933:2:64","nodeType":"VariableDeclaration","scope":56507,"src":"45925:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56489,"name":"uint256","nodeType":"ElementaryTypeName","src":"45925:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56492,"mutability":"mutable","name":"p3","nameLocation":"45945:2:64","nodeType":"VariableDeclaration","scope":56507,"src":"45937:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56491,"name":"address","nodeType":"ElementaryTypeName","src":"45937:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"45903:45:64"},"returnParameters":{"id":56494,"nodeType":"ParameterList","parameters":[],"src":"45963:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56530,"nodeType":"FunctionDefinition","src":"46079:187:64","nodes":[],"body":{"id":56529,"nodeType":"Block","src":"46157:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c75696e7432353629","id":56521,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46207:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},"value":"log(bool,uint256,string,uint256)"},{"id":56522,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56509,"src":"46243:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56523,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56511,"src":"46247:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56524,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56513,"src":"46251:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56525,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56515,"src":"46255:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a1199e21848ce015eabd66ea7f6a3409c7fc6ef9bb322d84e4c06706c42747e","typeString":"literal_string \"log(bool,uint256,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56519,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46183:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46187:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46183:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56526,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46183:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56518,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"46167:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46167:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56528,"nodeType":"ExpressionStatement","src":"46167:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46088:3:64","parameters":{"id":56516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56509,"mutability":"mutable","name":"p0","nameLocation":"46097:2:64","nodeType":"VariableDeclaration","scope":56530,"src":"46092:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56508,"name":"bool","nodeType":"ElementaryTypeName","src":"46092:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56511,"mutability":"mutable","name":"p1","nameLocation":"46109:2:64","nodeType":"VariableDeclaration","scope":56530,"src":"46101:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56510,"name":"uint256","nodeType":"ElementaryTypeName","src":"46101:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56513,"mutability":"mutable","name":"p2","nameLocation":"46127:2:64","nodeType":"VariableDeclaration","scope":56530,"src":"46113:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56512,"name":"string","nodeType":"ElementaryTypeName","src":"46113:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56515,"mutability":"mutable","name":"p3","nameLocation":"46139:2:64","nodeType":"VariableDeclaration","scope":56530,"src":"46131:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56514,"name":"uint256","nodeType":"ElementaryTypeName","src":"46131:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46091:51:64"},"returnParameters":{"id":56517,"nodeType":"ParameterList","parameters":[],"src":"46157:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56553,"nodeType":"FunctionDefinition","src":"46272:192:64","nodes":[],"body":{"id":56552,"nodeType":"Block","src":"46356:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c737472696e6729","id":56544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46406:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},"value":"log(bool,uint256,string,string)"},{"id":56545,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56532,"src":"46441:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56546,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56534,"src":"46445:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56547,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56536,"src":"46449:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56548,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56538,"src":"46453:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f5bc2249bce1f463dc4a6cae73d4e7be2aab36b6885cd1506575f16575a67f07","typeString":"literal_string \"log(bool,uint256,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56542,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46382:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56543,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46386:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46382:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46382:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56541,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"46366:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46366:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56551,"nodeType":"ExpressionStatement","src":"46366:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46281:3:64","parameters":{"id":56539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56532,"mutability":"mutable","name":"p0","nameLocation":"46290:2:64","nodeType":"VariableDeclaration","scope":56553,"src":"46285:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56531,"name":"bool","nodeType":"ElementaryTypeName","src":"46285:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56534,"mutability":"mutable","name":"p1","nameLocation":"46302:2:64","nodeType":"VariableDeclaration","scope":56553,"src":"46294:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56533,"name":"uint256","nodeType":"ElementaryTypeName","src":"46294:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56536,"mutability":"mutable","name":"p2","nameLocation":"46320:2:64","nodeType":"VariableDeclaration","scope":56553,"src":"46306:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56535,"name":"string","nodeType":"ElementaryTypeName","src":"46306:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56538,"mutability":"mutable","name":"p3","nameLocation":"46338:2:64","nodeType":"VariableDeclaration","scope":56553,"src":"46324:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56537,"name":"string","nodeType":"ElementaryTypeName","src":"46324:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46284:57:64"},"returnParameters":{"id":56540,"nodeType":"ParameterList","parameters":[],"src":"46356:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56576,"nodeType":"FunctionDefinition","src":"46470:181:64","nodes":[],"body":{"id":56575,"nodeType":"Block","src":"46545:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c626f6f6c29","id":56567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46595:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},"value":"log(bool,uint256,string,bool)"},{"id":56568,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56555,"src":"46628:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56569,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56557,"src":"46632:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56570,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56559,"src":"46636:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56571,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56561,"src":"46640:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e5e70b2b79ba63a1232a1075e7d527614bad7291574e41ebeb8ef428426395c2","typeString":"literal_string \"log(bool,uint256,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56565,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46571:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56566,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46575:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46571:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56572,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46571:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56564,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"46555:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46555:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56574,"nodeType":"ExpressionStatement","src":"46555:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46479:3:64","parameters":{"id":56562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56555,"mutability":"mutable","name":"p0","nameLocation":"46488:2:64","nodeType":"VariableDeclaration","scope":56576,"src":"46483:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56554,"name":"bool","nodeType":"ElementaryTypeName","src":"46483:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56557,"mutability":"mutable","name":"p1","nameLocation":"46500:2:64","nodeType":"VariableDeclaration","scope":56576,"src":"46492:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56556,"name":"uint256","nodeType":"ElementaryTypeName","src":"46492:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56559,"mutability":"mutable","name":"p2","nameLocation":"46518:2:64","nodeType":"VariableDeclaration","scope":56576,"src":"46504:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56558,"name":"string","nodeType":"ElementaryTypeName","src":"46504:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56561,"mutability":"mutable","name":"p3","nameLocation":"46527:2:64","nodeType":"VariableDeclaration","scope":56576,"src":"46522:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56560,"name":"bool","nodeType":"ElementaryTypeName","src":"46522:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"46482:48:64"},"returnParameters":{"id":56563,"nodeType":"ParameterList","parameters":[],"src":"46545:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56599,"nodeType":"FunctionDefinition","src":"46657:187:64","nodes":[],"body":{"id":56598,"nodeType":"Block","src":"46735:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c737472696e672c6164647265737329","id":56590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46785:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},"value":"log(bool,uint256,string,address)"},{"id":56591,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56578,"src":"46821:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56592,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56580,"src":"46825:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56593,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56582,"src":"46829:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56594,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56584,"src":"46833:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fedd1fffaad08b0e5474b192f50d84da9ca48f54859d4d4f42d00bf3f4781fab","typeString":"literal_string \"log(bool,uint256,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56588,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46761:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56589,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46765:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46761:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56595,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46761:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56587,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"46745:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46745:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56597,"nodeType":"ExpressionStatement","src":"46745:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46666:3:64","parameters":{"id":56585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56578,"mutability":"mutable","name":"p0","nameLocation":"46675:2:64","nodeType":"VariableDeclaration","scope":56599,"src":"46670:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56577,"name":"bool","nodeType":"ElementaryTypeName","src":"46670:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56580,"mutability":"mutable","name":"p1","nameLocation":"46687:2:64","nodeType":"VariableDeclaration","scope":56599,"src":"46679:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56579,"name":"uint256","nodeType":"ElementaryTypeName","src":"46679:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56582,"mutability":"mutable","name":"p2","nameLocation":"46705:2:64","nodeType":"VariableDeclaration","scope":56599,"src":"46691:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56581,"name":"string","nodeType":"ElementaryTypeName","src":"46691:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56584,"mutability":"mutable","name":"p3","nameLocation":"46717:2:64","nodeType":"VariableDeclaration","scope":56599,"src":"46709:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56583,"name":"address","nodeType":"ElementaryTypeName","src":"46709:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"46669:51:64"},"returnParameters":{"id":56586,"nodeType":"ParameterList","parameters":[],"src":"46735:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56622,"nodeType":"FunctionDefinition","src":"46850:176:64","nodes":[],"body":{"id":56621,"nodeType":"Block","src":"46919:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c75696e7432353629","id":56613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"46969:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},"value":"log(bool,uint256,bool,uint256)"},{"id":56614,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56601,"src":"47003:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56615,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56603,"src":"47007:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56616,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56605,"src":"47011:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56617,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56607,"src":"47015:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7f9bbca288abffbb423da5759392c2bb0e6c7c60dc55ee1c76da7b38adac1443","typeString":"literal_string \"log(bool,uint256,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56611,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"46945:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56612,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"46949:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"46945:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46945:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56610,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"46929:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"46929:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56620,"nodeType":"ExpressionStatement","src":"46929:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"46859:3:64","parameters":{"id":56608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56601,"mutability":"mutable","name":"p0","nameLocation":"46868:2:64","nodeType":"VariableDeclaration","scope":56622,"src":"46863:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56600,"name":"bool","nodeType":"ElementaryTypeName","src":"46863:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56603,"mutability":"mutable","name":"p1","nameLocation":"46880:2:64","nodeType":"VariableDeclaration","scope":56622,"src":"46872:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56602,"name":"uint256","nodeType":"ElementaryTypeName","src":"46872:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56605,"mutability":"mutable","name":"p2","nameLocation":"46889:2:64","nodeType":"VariableDeclaration","scope":56622,"src":"46884:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56604,"name":"bool","nodeType":"ElementaryTypeName","src":"46884:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56607,"mutability":"mutable","name":"p3","nameLocation":"46901:2:64","nodeType":"VariableDeclaration","scope":56622,"src":"46893:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56606,"name":"uint256","nodeType":"ElementaryTypeName","src":"46893:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46862:42:64"},"returnParameters":{"id":56609,"nodeType":"ParameterList","parameters":[],"src":"46919:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56645,"nodeType":"FunctionDefinition","src":"47032:181:64","nodes":[],"body":{"id":56644,"nodeType":"Block","src":"47107:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c737472696e6729","id":56636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47157:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},"value":"log(bool,uint256,bool,string)"},{"id":56637,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56624,"src":"47190:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56638,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56626,"src":"47194:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56639,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56628,"src":"47198:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56640,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56630,"src":"47202:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9143dbb14a0962a6e3d7ec52e236cb9bf165b86383a96499ea4cf52b827d7ce0","typeString":"literal_string \"log(bool,uint256,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56634,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47133:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56635,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47137:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47133:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47133:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56633,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"47117:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47117:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56643,"nodeType":"ExpressionStatement","src":"47117:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47041:3:64","parameters":{"id":56631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56624,"mutability":"mutable","name":"p0","nameLocation":"47050:2:64","nodeType":"VariableDeclaration","scope":56645,"src":"47045:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56623,"name":"bool","nodeType":"ElementaryTypeName","src":"47045:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56626,"mutability":"mutable","name":"p1","nameLocation":"47062:2:64","nodeType":"VariableDeclaration","scope":56645,"src":"47054:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56625,"name":"uint256","nodeType":"ElementaryTypeName","src":"47054:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56628,"mutability":"mutable","name":"p2","nameLocation":"47071:2:64","nodeType":"VariableDeclaration","scope":56645,"src":"47066:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56627,"name":"bool","nodeType":"ElementaryTypeName","src":"47066:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56630,"mutability":"mutable","name":"p3","nameLocation":"47089:2:64","nodeType":"VariableDeclaration","scope":56645,"src":"47075:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56629,"name":"string","nodeType":"ElementaryTypeName","src":"47075:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47044:48:64"},"returnParameters":{"id":56632,"nodeType":"ParameterList","parameters":[],"src":"47107:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56668,"nodeType":"FunctionDefinition","src":"47219:170:64","nodes":[],"body":{"id":56667,"nodeType":"Block","src":"47285:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c626f6f6c29","id":56659,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47335:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},"value":"log(bool,uint256,bool,bool)"},{"id":56660,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56647,"src":"47366:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56661,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56649,"src":"47370:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56662,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56651,"src":"47374:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56663,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56653,"src":"47378:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ceb5f4d77121f3d3cfafeaa403e6fff70e4470d0bfb40c1d850f89e3d65029f2","typeString":"literal_string \"log(bool,uint256,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56657,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47311:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56658,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47315:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47311:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47311:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56656,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"47295:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47295:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56666,"nodeType":"ExpressionStatement","src":"47295:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47228:3:64","parameters":{"id":56654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56647,"mutability":"mutable","name":"p0","nameLocation":"47237:2:64","nodeType":"VariableDeclaration","scope":56668,"src":"47232:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56646,"name":"bool","nodeType":"ElementaryTypeName","src":"47232:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56649,"mutability":"mutable","name":"p1","nameLocation":"47249:2:64","nodeType":"VariableDeclaration","scope":56668,"src":"47241:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56648,"name":"uint256","nodeType":"ElementaryTypeName","src":"47241:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56651,"mutability":"mutable","name":"p2","nameLocation":"47258:2:64","nodeType":"VariableDeclaration","scope":56668,"src":"47253:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56650,"name":"bool","nodeType":"ElementaryTypeName","src":"47253:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56653,"mutability":"mutable","name":"p3","nameLocation":"47267:2:64","nodeType":"VariableDeclaration","scope":56668,"src":"47262:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56652,"name":"bool","nodeType":"ElementaryTypeName","src":"47262:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47231:39:64"},"returnParameters":{"id":56655,"nodeType":"ParameterList","parameters":[],"src":"47285:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56691,"nodeType":"FunctionDefinition","src":"47395:176:64","nodes":[],"body":{"id":56690,"nodeType":"Block","src":"47464:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c626f6f6c2c6164647265737329","id":56682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47514:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},"value":"log(bool,uint256,bool,address)"},{"id":56683,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56670,"src":"47548:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56684,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56672,"src":"47552:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56685,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56674,"src":"47556:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56686,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56676,"src":"47560:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9acd3616ce3d15d7b870c591206f600266707f40592e6070353f762f54c75a2e","typeString":"literal_string \"log(bool,uint256,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56680,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47490:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56681,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47494:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47490:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47490:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56679,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"47474:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47474:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56689,"nodeType":"ExpressionStatement","src":"47474:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47404:3:64","parameters":{"id":56677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56670,"mutability":"mutable","name":"p0","nameLocation":"47413:2:64","nodeType":"VariableDeclaration","scope":56691,"src":"47408:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56669,"name":"bool","nodeType":"ElementaryTypeName","src":"47408:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56672,"mutability":"mutable","name":"p1","nameLocation":"47425:2:64","nodeType":"VariableDeclaration","scope":56691,"src":"47417:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56671,"name":"uint256","nodeType":"ElementaryTypeName","src":"47417:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56674,"mutability":"mutable","name":"p2","nameLocation":"47434:2:64","nodeType":"VariableDeclaration","scope":56691,"src":"47429:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56673,"name":"bool","nodeType":"ElementaryTypeName","src":"47429:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56676,"mutability":"mutable","name":"p3","nameLocation":"47446:2:64","nodeType":"VariableDeclaration","scope":56691,"src":"47438:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56675,"name":"address","nodeType":"ElementaryTypeName","src":"47438:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"47407:42:64"},"returnParameters":{"id":56678,"nodeType":"ParameterList","parameters":[],"src":"47464:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56714,"nodeType":"FunctionDefinition","src":"47577:182:64","nodes":[],"body":{"id":56713,"nodeType":"Block","src":"47649:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c75696e7432353629","id":56705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47699:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},"value":"log(bool,uint256,address,uint256)"},{"id":56706,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56693,"src":"47736:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56707,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56695,"src":"47740:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56708,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56697,"src":"47744:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56709,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56699,"src":"47748:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1537dc87a2086882c18d77c4157142ca3b6771cb00e940824367191cd9b5e560","typeString":"literal_string \"log(bool,uint256,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56703,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47675:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56704,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47679:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47675:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56710,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47675:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56702,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"47659:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47659:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56712,"nodeType":"ExpressionStatement","src":"47659:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47586:3:64","parameters":{"id":56700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56693,"mutability":"mutable","name":"p0","nameLocation":"47595:2:64","nodeType":"VariableDeclaration","scope":56714,"src":"47590:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56692,"name":"bool","nodeType":"ElementaryTypeName","src":"47590:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56695,"mutability":"mutable","name":"p1","nameLocation":"47607:2:64","nodeType":"VariableDeclaration","scope":56714,"src":"47599:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56694,"name":"uint256","nodeType":"ElementaryTypeName","src":"47599:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56697,"mutability":"mutable","name":"p2","nameLocation":"47619:2:64","nodeType":"VariableDeclaration","scope":56714,"src":"47611:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56696,"name":"address","nodeType":"ElementaryTypeName","src":"47611:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56699,"mutability":"mutable","name":"p3","nameLocation":"47631:2:64","nodeType":"VariableDeclaration","scope":56714,"src":"47623:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56698,"name":"uint256","nodeType":"ElementaryTypeName","src":"47623:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47589:45:64"},"returnParameters":{"id":56701,"nodeType":"ParameterList","parameters":[],"src":"47649:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56737,"nodeType":"FunctionDefinition","src":"47765:187:64","nodes":[],"body":{"id":56736,"nodeType":"Block","src":"47843:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c737472696e6729","id":56728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"47893:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},"value":"log(bool,uint256,address,string)"},{"id":56729,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56716,"src":"47929:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56730,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56718,"src":"47933:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56731,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56720,"src":"47937:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56732,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56722,"src":"47941:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1bb3b09a4221f0a7df6a4e6e8ee3a14c54c5ebf8032d4ada871c774122536c94","typeString":"literal_string \"log(bool,uint256,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56726,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"47869:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56727,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"47873:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"47869:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47869:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56725,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"47853:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"47853:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56735,"nodeType":"ExpressionStatement","src":"47853:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47774:3:64","parameters":{"id":56723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56716,"mutability":"mutable","name":"p0","nameLocation":"47783:2:64","nodeType":"VariableDeclaration","scope":56737,"src":"47778:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56715,"name":"bool","nodeType":"ElementaryTypeName","src":"47778:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56718,"mutability":"mutable","name":"p1","nameLocation":"47795:2:64","nodeType":"VariableDeclaration","scope":56737,"src":"47787:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56717,"name":"uint256","nodeType":"ElementaryTypeName","src":"47787:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56720,"mutability":"mutable","name":"p2","nameLocation":"47807:2:64","nodeType":"VariableDeclaration","scope":56737,"src":"47799:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56719,"name":"address","nodeType":"ElementaryTypeName","src":"47799:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56722,"mutability":"mutable","name":"p3","nameLocation":"47825:2:64","nodeType":"VariableDeclaration","scope":56737,"src":"47811:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56721,"name":"string","nodeType":"ElementaryTypeName","src":"47811:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47777:51:64"},"returnParameters":{"id":56724,"nodeType":"ParameterList","parameters":[],"src":"47843:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56760,"nodeType":"FunctionDefinition","src":"47958:176:64","nodes":[],"body":{"id":56759,"nodeType":"Block","src":"48027:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c626f6f6c29","id":56751,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48077:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},"value":"log(bool,uint256,address,bool)"},{"id":56752,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56739,"src":"48111:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56753,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56741,"src":"48115:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56754,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56743,"src":"48119:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56755,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56745,"src":"48123:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4c314ff4d8914c4657179922b73426f4bcee4ae499bd03b5b3cf557ef247ea8","typeString":"literal_string \"log(bool,uint256,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56749,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48053:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48057:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48053:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48053:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56748,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48037:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48037:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56758,"nodeType":"ExpressionStatement","src":"48037:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"47967:3:64","parameters":{"id":56746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56739,"mutability":"mutable","name":"p0","nameLocation":"47976:2:64","nodeType":"VariableDeclaration","scope":56760,"src":"47971:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56738,"name":"bool","nodeType":"ElementaryTypeName","src":"47971:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56741,"mutability":"mutable","name":"p1","nameLocation":"47988:2:64","nodeType":"VariableDeclaration","scope":56760,"src":"47980:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56740,"name":"uint256","nodeType":"ElementaryTypeName","src":"47980:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56743,"mutability":"mutable","name":"p2","nameLocation":"48000:2:64","nodeType":"VariableDeclaration","scope":56760,"src":"47992:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56742,"name":"address","nodeType":"ElementaryTypeName","src":"47992:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56745,"mutability":"mutable","name":"p3","nameLocation":"48009:2:64","nodeType":"VariableDeclaration","scope":56760,"src":"48004:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56744,"name":"bool","nodeType":"ElementaryTypeName","src":"48004:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"47970:42:64"},"returnParameters":{"id":56747,"nodeType":"ParameterList","parameters":[],"src":"48027:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56783,"nodeType":"FunctionDefinition","src":"48140:182:64","nodes":[],"body":{"id":56782,"nodeType":"Block","src":"48212:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c75696e743235362c616464726573732c6164647265737329","id":56774,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48262:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},"value":"log(bool,uint256,address,address)"},{"id":56775,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56762,"src":"48299:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56776,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56764,"src":"48303:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56777,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56766,"src":"48307:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":56778,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56768,"src":"48311:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_26f560a852938fadf6addef4dd03c86f93715a295417544d6a793cb20f13b8dd","typeString":"literal_string \"log(bool,uint256,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56772,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48238:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48242:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48238:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56779,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48238:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56771,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48222:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48222:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56781,"nodeType":"ExpressionStatement","src":"48222:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48149:3:64","parameters":{"id":56769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56762,"mutability":"mutable","name":"p0","nameLocation":"48158:2:64","nodeType":"VariableDeclaration","scope":56783,"src":"48153:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56761,"name":"bool","nodeType":"ElementaryTypeName","src":"48153:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56764,"mutability":"mutable","name":"p1","nameLocation":"48170:2:64","nodeType":"VariableDeclaration","scope":56783,"src":"48162:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56763,"name":"uint256","nodeType":"ElementaryTypeName","src":"48162:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56766,"mutability":"mutable","name":"p2","nameLocation":"48182:2:64","nodeType":"VariableDeclaration","scope":56783,"src":"48174:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56765,"name":"address","nodeType":"ElementaryTypeName","src":"48174:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":56768,"mutability":"mutable","name":"p3","nameLocation":"48194:2:64","nodeType":"VariableDeclaration","scope":56783,"src":"48186:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56767,"name":"address","nodeType":"ElementaryTypeName","src":"48186:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48152:45:64"},"returnParameters":{"id":56770,"nodeType":"ParameterList","parameters":[],"src":"48212:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56806,"nodeType":"FunctionDefinition","src":"48328:187:64","nodes":[],"body":{"id":56805,"nodeType":"Block","src":"48406:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c75696e7432353629","id":56797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48456:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},"value":"log(bool,string,uint256,uint256)"},{"id":56798,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56785,"src":"48492:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56799,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56787,"src":"48496:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56800,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56789,"src":"48500:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56801,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56791,"src":"48504:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_28863fcbec29a80af15c2b8595f162a2324efa0e9f70b928971349e597c15cb0","typeString":"literal_string \"log(bool,string,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56795,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48432:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48436:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48432:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56802,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48432:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56794,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48416:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48416:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56804,"nodeType":"ExpressionStatement","src":"48416:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48337:3:64","parameters":{"id":56792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56785,"mutability":"mutable","name":"p0","nameLocation":"48346:2:64","nodeType":"VariableDeclaration","scope":56806,"src":"48341:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56784,"name":"bool","nodeType":"ElementaryTypeName","src":"48341:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56787,"mutability":"mutable","name":"p1","nameLocation":"48364:2:64","nodeType":"VariableDeclaration","scope":56806,"src":"48350:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56786,"name":"string","nodeType":"ElementaryTypeName","src":"48350:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56789,"mutability":"mutable","name":"p2","nameLocation":"48376:2:64","nodeType":"VariableDeclaration","scope":56806,"src":"48368:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56788,"name":"uint256","nodeType":"ElementaryTypeName","src":"48368:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56791,"mutability":"mutable","name":"p3","nameLocation":"48388:2:64","nodeType":"VariableDeclaration","scope":56806,"src":"48380:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56790,"name":"uint256","nodeType":"ElementaryTypeName","src":"48380:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48340:51:64"},"returnParameters":{"id":56793,"nodeType":"ParameterList","parameters":[],"src":"48406:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56829,"nodeType":"FunctionDefinition","src":"48521:192:64","nodes":[],"body":{"id":56828,"nodeType":"Block","src":"48605:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c737472696e6729","id":56820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48655:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},"value":"log(bool,string,uint256,string)"},{"id":56821,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56808,"src":"48690:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56822,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56810,"src":"48694:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56823,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56812,"src":"48698:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56824,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56814,"src":"48702:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1ad96de6602c0b08f6631d6647303bccf3e586fcfa2c15fa04c5d6cbf0ffc70d","typeString":"literal_string \"log(bool,string,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56818,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48631:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48635:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48631:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56825,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48631:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56817,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48615:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48615:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56827,"nodeType":"ExpressionStatement","src":"48615:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48530:3:64","parameters":{"id":56815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56808,"mutability":"mutable","name":"p0","nameLocation":"48539:2:64","nodeType":"VariableDeclaration","scope":56829,"src":"48534:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56807,"name":"bool","nodeType":"ElementaryTypeName","src":"48534:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56810,"mutability":"mutable","name":"p1","nameLocation":"48557:2:64","nodeType":"VariableDeclaration","scope":56829,"src":"48543:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56809,"name":"string","nodeType":"ElementaryTypeName","src":"48543:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56812,"mutability":"mutable","name":"p2","nameLocation":"48569:2:64","nodeType":"VariableDeclaration","scope":56829,"src":"48561:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56811,"name":"uint256","nodeType":"ElementaryTypeName","src":"48561:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56814,"mutability":"mutable","name":"p3","nameLocation":"48587:2:64","nodeType":"VariableDeclaration","scope":56829,"src":"48573:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56813,"name":"string","nodeType":"ElementaryTypeName","src":"48573:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48533:57:64"},"returnParameters":{"id":56816,"nodeType":"ParameterList","parameters":[],"src":"48605:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56852,"nodeType":"FunctionDefinition","src":"48719:181:64","nodes":[],"body":{"id":56851,"nodeType":"Block","src":"48794:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c626f6f6c29","id":56843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"48844:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},"value":"log(bool,string,uint256,bool)"},{"id":56844,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56831,"src":"48877:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56845,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56833,"src":"48881:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56846,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56835,"src":"48885:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56847,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56837,"src":"48889:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6b0e5d538cb3332d8fd45a0c2680232536414e292adbc2f70059f1d665e25411","typeString":"literal_string \"log(bool,string,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56841,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"48820:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"48824:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"48820:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48820:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56840,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48804:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48804:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56850,"nodeType":"ExpressionStatement","src":"48804:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48728:3:64","parameters":{"id":56838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56831,"mutability":"mutable","name":"p0","nameLocation":"48737:2:64","nodeType":"VariableDeclaration","scope":56852,"src":"48732:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56830,"name":"bool","nodeType":"ElementaryTypeName","src":"48732:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56833,"mutability":"mutable","name":"p1","nameLocation":"48755:2:64","nodeType":"VariableDeclaration","scope":56852,"src":"48741:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56832,"name":"string","nodeType":"ElementaryTypeName","src":"48741:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56835,"mutability":"mutable","name":"p2","nameLocation":"48767:2:64","nodeType":"VariableDeclaration","scope":56852,"src":"48759:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56834,"name":"uint256","nodeType":"ElementaryTypeName","src":"48759:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56837,"mutability":"mutable","name":"p3","nameLocation":"48776:2:64","nodeType":"VariableDeclaration","scope":56852,"src":"48771:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56836,"name":"bool","nodeType":"ElementaryTypeName","src":"48771:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48731:48:64"},"returnParameters":{"id":56839,"nodeType":"ParameterList","parameters":[],"src":"48794:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56875,"nodeType":"FunctionDefinition","src":"48906:187:64","nodes":[],"body":{"id":56874,"nodeType":"Block","src":"48984:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c75696e743235362c6164647265737329","id":56866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49034:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},"value":"log(bool,string,uint256,address)"},{"id":56867,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56854,"src":"49070:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56868,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56856,"src":"49074:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56869,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56858,"src":"49078:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":56870,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56860,"src":"49082:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1596a1ceb88c7fe162cbcf294bbc564db1eb943f277b50b442bf55dba1134056","typeString":"literal_string \"log(bool,string,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56864,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49010:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56865,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49014:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49010:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49010:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56863,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"48994:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"48994:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56873,"nodeType":"ExpressionStatement","src":"48994:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"48915:3:64","parameters":{"id":56861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56854,"mutability":"mutable","name":"p0","nameLocation":"48924:2:64","nodeType":"VariableDeclaration","scope":56875,"src":"48919:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56853,"name":"bool","nodeType":"ElementaryTypeName","src":"48919:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56856,"mutability":"mutable","name":"p1","nameLocation":"48942:2:64","nodeType":"VariableDeclaration","scope":56875,"src":"48928:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56855,"name":"string","nodeType":"ElementaryTypeName","src":"48928:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56858,"mutability":"mutable","name":"p2","nameLocation":"48954:2:64","nodeType":"VariableDeclaration","scope":56875,"src":"48946:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56857,"name":"uint256","nodeType":"ElementaryTypeName","src":"48946:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":56860,"mutability":"mutable","name":"p3","nameLocation":"48966:2:64","nodeType":"VariableDeclaration","scope":56875,"src":"48958:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56859,"name":"address","nodeType":"ElementaryTypeName","src":"48958:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"48918:51:64"},"returnParameters":{"id":56862,"nodeType":"ParameterList","parameters":[],"src":"48984:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56898,"nodeType":"FunctionDefinition","src":"49099:192:64","nodes":[],"body":{"id":56897,"nodeType":"Block","src":"49183:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7432353629","id":56889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49233:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},"value":"log(bool,string,string,uint256)"},{"id":56890,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56877,"src":"49268:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56891,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56879,"src":"49272:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56892,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56881,"src":"49276:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56893,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56883,"src":"49280:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7be0c3eb1e87c47c60c12330b930fb496493960f97b03f8342bbe08fec9d20a2","typeString":"literal_string \"log(bool,string,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56887,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49209:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56888,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49213:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49209:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49209:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56886,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"49193:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49193:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56896,"nodeType":"ExpressionStatement","src":"49193:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49108:3:64","parameters":{"id":56884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56877,"mutability":"mutable","name":"p0","nameLocation":"49117:2:64","nodeType":"VariableDeclaration","scope":56898,"src":"49112:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56876,"name":"bool","nodeType":"ElementaryTypeName","src":"49112:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56879,"mutability":"mutable","name":"p1","nameLocation":"49135:2:64","nodeType":"VariableDeclaration","scope":56898,"src":"49121:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56878,"name":"string","nodeType":"ElementaryTypeName","src":"49121:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56881,"mutability":"mutable","name":"p2","nameLocation":"49153:2:64","nodeType":"VariableDeclaration","scope":56898,"src":"49139:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56880,"name":"string","nodeType":"ElementaryTypeName","src":"49139:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56883,"mutability":"mutable","name":"p3","nameLocation":"49165:2:64","nodeType":"VariableDeclaration","scope":56898,"src":"49157:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56882,"name":"uint256","nodeType":"ElementaryTypeName","src":"49157:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49111:57:64"},"returnParameters":{"id":56885,"nodeType":"ParameterList","parameters":[],"src":"49183:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56921,"nodeType":"FunctionDefinition","src":"49297:197:64","nodes":[],"body":{"id":56920,"nodeType":"Block","src":"49387:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729","id":56912,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49437:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},"value":"log(bool,string,string,string)"},{"id":56913,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56900,"src":"49471:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56914,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56902,"src":"49475:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56915,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56904,"src":"49479:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56916,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56906,"src":"49483:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9","typeString":"literal_string \"log(bool,string,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":56910,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49413:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56911,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49417:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49413:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49413:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56909,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"49397:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49397:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56919,"nodeType":"ExpressionStatement","src":"49397:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49306:3:64","parameters":{"id":56907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56900,"mutability":"mutable","name":"p0","nameLocation":"49315:2:64","nodeType":"VariableDeclaration","scope":56921,"src":"49310:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56899,"name":"bool","nodeType":"ElementaryTypeName","src":"49310:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56902,"mutability":"mutable","name":"p1","nameLocation":"49333:2:64","nodeType":"VariableDeclaration","scope":56921,"src":"49319:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56901,"name":"string","nodeType":"ElementaryTypeName","src":"49319:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56904,"mutability":"mutable","name":"p2","nameLocation":"49351:2:64","nodeType":"VariableDeclaration","scope":56921,"src":"49337:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56903,"name":"string","nodeType":"ElementaryTypeName","src":"49337:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56906,"mutability":"mutable","name":"p3","nameLocation":"49369:2:64","nodeType":"VariableDeclaration","scope":56921,"src":"49355:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56905,"name":"string","nodeType":"ElementaryTypeName","src":"49355:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49309:63:64"},"returnParameters":{"id":56908,"nodeType":"ParameterList","parameters":[],"src":"49387:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56944,"nodeType":"FunctionDefinition","src":"49500:186:64","nodes":[],"body":{"id":56943,"nodeType":"Block","src":"49581:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29","id":56935,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49631:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},"value":"log(bool,string,string,bool)"},{"id":56936,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56923,"src":"49663:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56937,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56925,"src":"49667:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56938,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56927,"src":"49671:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56939,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56929,"src":"49675:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1","typeString":"literal_string \"log(bool,string,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":56933,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49607:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56934,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49611:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49607:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49607:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56932,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"49591:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49591:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56942,"nodeType":"ExpressionStatement","src":"49591:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49509:3:64","parameters":{"id":56930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56923,"mutability":"mutable","name":"p0","nameLocation":"49518:2:64","nodeType":"VariableDeclaration","scope":56944,"src":"49513:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56922,"name":"bool","nodeType":"ElementaryTypeName","src":"49513:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56925,"mutability":"mutable","name":"p1","nameLocation":"49536:2:64","nodeType":"VariableDeclaration","scope":56944,"src":"49522:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56924,"name":"string","nodeType":"ElementaryTypeName","src":"49522:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56927,"mutability":"mutable","name":"p2","nameLocation":"49554:2:64","nodeType":"VariableDeclaration","scope":56944,"src":"49540:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56926,"name":"string","nodeType":"ElementaryTypeName","src":"49540:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56929,"mutability":"mutable","name":"p3","nameLocation":"49563:2:64","nodeType":"VariableDeclaration","scope":56944,"src":"49558:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56928,"name":"bool","nodeType":"ElementaryTypeName","src":"49558:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"49512:54:64"},"returnParameters":{"id":56931,"nodeType":"ParameterList","parameters":[],"src":"49581:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56967,"nodeType":"FunctionDefinition","src":"49692:192:64","nodes":[],"body":{"id":56966,"nodeType":"Block","src":"49776:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329","id":56958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"49826:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},"value":"log(bool,string,string,address)"},{"id":56959,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56946,"src":"49861:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56960,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56948,"src":"49865:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56961,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56950,"src":"49869:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56962,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56952,"src":"49873:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5","typeString":"literal_string \"log(bool,string,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":56956,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49802:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49806:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49802:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56963,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49802:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56955,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"49786:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49786:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56965,"nodeType":"ExpressionStatement","src":"49786:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49701:3:64","parameters":{"id":56953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56946,"mutability":"mutable","name":"p0","nameLocation":"49710:2:64","nodeType":"VariableDeclaration","scope":56967,"src":"49705:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56945,"name":"bool","nodeType":"ElementaryTypeName","src":"49705:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56948,"mutability":"mutable","name":"p1","nameLocation":"49728:2:64","nodeType":"VariableDeclaration","scope":56967,"src":"49714:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56947,"name":"string","nodeType":"ElementaryTypeName","src":"49714:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56950,"mutability":"mutable","name":"p2","nameLocation":"49746:2:64","nodeType":"VariableDeclaration","scope":56967,"src":"49732:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56949,"name":"string","nodeType":"ElementaryTypeName","src":"49732:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56952,"mutability":"mutable","name":"p3","nameLocation":"49758:2:64","nodeType":"VariableDeclaration","scope":56967,"src":"49750:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":56951,"name":"address","nodeType":"ElementaryTypeName","src":"49750:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"49704:57:64"},"returnParameters":{"id":56954,"nodeType":"ParameterList","parameters":[],"src":"49776:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":56990,"nodeType":"FunctionDefinition","src":"49890:181:64","nodes":[],"body":{"id":56989,"nodeType":"Block","src":"49965:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7432353629","id":56981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50015:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},"value":"log(bool,string,bool,uint256)"},{"id":56982,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56969,"src":"50048:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56983,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56971,"src":"50052:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":56984,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56973,"src":"50056:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":56985,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56975,"src":"50060:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1606a393d6d8ee0e5b372b3b4baba691a3700cb155888ecb60500deb6038e937","typeString":"literal_string \"log(bool,string,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":56979,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"49991:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":56980,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"49995:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"49991:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":56986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49991:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":56978,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"49975:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":56987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"49975:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":56988,"nodeType":"ExpressionStatement","src":"49975:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"49899:3:64","parameters":{"id":56976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56969,"mutability":"mutable","name":"p0","nameLocation":"49908:2:64","nodeType":"VariableDeclaration","scope":56990,"src":"49903:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56968,"name":"bool","nodeType":"ElementaryTypeName","src":"49903:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56971,"mutability":"mutable","name":"p1","nameLocation":"49926:2:64","nodeType":"VariableDeclaration","scope":56990,"src":"49912:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56970,"name":"string","nodeType":"ElementaryTypeName","src":"49912:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56973,"mutability":"mutable","name":"p2","nameLocation":"49935:2:64","nodeType":"VariableDeclaration","scope":56990,"src":"49930:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56972,"name":"bool","nodeType":"ElementaryTypeName","src":"49930:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56975,"mutability":"mutable","name":"p3","nameLocation":"49947:2:64","nodeType":"VariableDeclaration","scope":56990,"src":"49939:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":56974,"name":"uint256","nodeType":"ElementaryTypeName","src":"49939:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"49902:48:64"},"returnParameters":{"id":56977,"nodeType":"ParameterList","parameters":[],"src":"49965:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57013,"nodeType":"FunctionDefinition","src":"50077:186:64","nodes":[],"body":{"id":57012,"nodeType":"Block","src":"50158:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729","id":57004,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50208:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},"value":"log(bool,string,bool,string)"},{"id":57005,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56992,"src":"50240:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57006,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56994,"src":"50244:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57007,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56996,"src":"50248:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57008,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":56998,"src":"50252:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468","typeString":"literal_string \"log(bool,string,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57002,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50184:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57003,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50188:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50184:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50184:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57001,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"50168:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50168:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57011,"nodeType":"ExpressionStatement","src":"50168:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50086:3:64","parameters":{"id":56999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":56992,"mutability":"mutable","name":"p0","nameLocation":"50095:2:64","nodeType":"VariableDeclaration","scope":57013,"src":"50090:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56991,"name":"bool","nodeType":"ElementaryTypeName","src":"50090:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56994,"mutability":"mutable","name":"p1","nameLocation":"50113:2:64","nodeType":"VariableDeclaration","scope":57013,"src":"50099:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56993,"name":"string","nodeType":"ElementaryTypeName","src":"50099:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":56996,"mutability":"mutable","name":"p2","nameLocation":"50122:2:64","nodeType":"VariableDeclaration","scope":57013,"src":"50117:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":56995,"name":"bool","nodeType":"ElementaryTypeName","src":"50117:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":56998,"mutability":"mutable","name":"p3","nameLocation":"50140:2:64","nodeType":"VariableDeclaration","scope":57013,"src":"50126:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":56997,"name":"string","nodeType":"ElementaryTypeName","src":"50126:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50089:54:64"},"returnParameters":{"id":57000,"nodeType":"ParameterList","parameters":[],"src":"50158:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57036,"nodeType":"FunctionDefinition","src":"50269:175:64","nodes":[],"body":{"id":57035,"nodeType":"Block","src":"50341:103:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29","id":57027,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50391:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},"value":"log(bool,string,bool,bool)"},{"id":57028,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57015,"src":"50421:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57029,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57017,"src":"50425:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57030,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57019,"src":"50429:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57031,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57021,"src":"50433:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f","typeString":"literal_string \"log(bool,string,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57025,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50367:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57026,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50371:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50367:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57032,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50367:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57024,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"50351:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50351:86:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57034,"nodeType":"ExpressionStatement","src":"50351:86:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50278:3:64","parameters":{"id":57022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57015,"mutability":"mutable","name":"p0","nameLocation":"50287:2:64","nodeType":"VariableDeclaration","scope":57036,"src":"50282:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57014,"name":"bool","nodeType":"ElementaryTypeName","src":"50282:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57017,"mutability":"mutable","name":"p1","nameLocation":"50305:2:64","nodeType":"VariableDeclaration","scope":57036,"src":"50291:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57016,"name":"string","nodeType":"ElementaryTypeName","src":"50291:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57019,"mutability":"mutable","name":"p2","nameLocation":"50314:2:64","nodeType":"VariableDeclaration","scope":57036,"src":"50309:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57018,"name":"bool","nodeType":"ElementaryTypeName","src":"50309:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57021,"mutability":"mutable","name":"p3","nameLocation":"50323:2:64","nodeType":"VariableDeclaration","scope":57036,"src":"50318:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57020,"name":"bool","nodeType":"ElementaryTypeName","src":"50318:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"50281:45:64"},"returnParameters":{"id":57023,"nodeType":"ParameterList","parameters":[],"src":"50341:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57059,"nodeType":"FunctionDefinition","src":"50450:181:64","nodes":[],"body":{"id":57058,"nodeType":"Block","src":"50525:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329","id":57050,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50575:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},"value":"log(bool,string,bool,address)"},{"id":57051,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57038,"src":"50608:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57052,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57040,"src":"50612:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57053,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57042,"src":"50616:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57054,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57044,"src":"50620:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5","typeString":"literal_string \"log(bool,string,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57048,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50551:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57049,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50555:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50551:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50551:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57047,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"50535:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50535:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57057,"nodeType":"ExpressionStatement","src":"50535:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50459:3:64","parameters":{"id":57045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57038,"mutability":"mutable","name":"p0","nameLocation":"50468:2:64","nodeType":"VariableDeclaration","scope":57059,"src":"50463:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57037,"name":"bool","nodeType":"ElementaryTypeName","src":"50463:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57040,"mutability":"mutable","name":"p1","nameLocation":"50486:2:64","nodeType":"VariableDeclaration","scope":57059,"src":"50472:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57039,"name":"string","nodeType":"ElementaryTypeName","src":"50472:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57042,"mutability":"mutable","name":"p2","nameLocation":"50495:2:64","nodeType":"VariableDeclaration","scope":57059,"src":"50490:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57041,"name":"bool","nodeType":"ElementaryTypeName","src":"50490:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57044,"mutability":"mutable","name":"p3","nameLocation":"50507:2:64","nodeType":"VariableDeclaration","scope":57059,"src":"50499:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57043,"name":"address","nodeType":"ElementaryTypeName","src":"50499:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"50462:48:64"},"returnParameters":{"id":57046,"nodeType":"ParameterList","parameters":[],"src":"50525:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57082,"nodeType":"FunctionDefinition","src":"50637:187:64","nodes":[],"body":{"id":57081,"nodeType":"Block","src":"50715:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7432353629","id":57073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50765:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},"value":"log(bool,string,address,uint256)"},{"id":57074,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57061,"src":"50801:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57075,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57063,"src":"50805:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57076,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57065,"src":"50809:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57077,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57067,"src":"50813:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a5cada94c7dfdda57d4cfcf14da44c63431bfd533756a6e0d0d0a684af164218","typeString":"literal_string \"log(bool,string,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57071,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50741:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57072,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50745:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50741:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50741:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57070,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"50725:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50725:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57080,"nodeType":"ExpressionStatement","src":"50725:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50646:3:64","parameters":{"id":57068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57061,"mutability":"mutable","name":"p0","nameLocation":"50655:2:64","nodeType":"VariableDeclaration","scope":57082,"src":"50650:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57060,"name":"bool","nodeType":"ElementaryTypeName","src":"50650:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57063,"mutability":"mutable","name":"p1","nameLocation":"50673:2:64","nodeType":"VariableDeclaration","scope":57082,"src":"50659:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57062,"name":"string","nodeType":"ElementaryTypeName","src":"50659:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57065,"mutability":"mutable","name":"p2","nameLocation":"50685:2:64","nodeType":"VariableDeclaration","scope":57082,"src":"50677:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57064,"name":"address","nodeType":"ElementaryTypeName","src":"50677:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57067,"mutability":"mutable","name":"p3","nameLocation":"50697:2:64","nodeType":"VariableDeclaration","scope":57082,"src":"50689:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57066,"name":"uint256","nodeType":"ElementaryTypeName","src":"50689:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50649:51:64"},"returnParameters":{"id":57069,"nodeType":"ParameterList","parameters":[],"src":"50715:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57105,"nodeType":"FunctionDefinition","src":"50830:192:64","nodes":[],"body":{"id":57104,"nodeType":"Block","src":"50914:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729","id":57096,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"50964:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},"value":"log(bool,string,address,string)"},{"id":57097,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57084,"src":"50999:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57098,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57086,"src":"51003:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57099,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57088,"src":"51007:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57100,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57090,"src":"51011:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7","typeString":"literal_string \"log(bool,string,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57094,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"50940:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57095,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"50944:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"50940:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50940:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57093,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"50924:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"50924:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57103,"nodeType":"ExpressionStatement","src":"50924:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"50839:3:64","parameters":{"id":57091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57084,"mutability":"mutable","name":"p0","nameLocation":"50848:2:64","nodeType":"VariableDeclaration","scope":57105,"src":"50843:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57083,"name":"bool","nodeType":"ElementaryTypeName","src":"50843:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57086,"mutability":"mutable","name":"p1","nameLocation":"50866:2:64","nodeType":"VariableDeclaration","scope":57105,"src":"50852:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57085,"name":"string","nodeType":"ElementaryTypeName","src":"50852:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57088,"mutability":"mutable","name":"p2","nameLocation":"50878:2:64","nodeType":"VariableDeclaration","scope":57105,"src":"50870:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57087,"name":"address","nodeType":"ElementaryTypeName","src":"50870:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57090,"mutability":"mutable","name":"p3","nameLocation":"50896:2:64","nodeType":"VariableDeclaration","scope":57105,"src":"50882:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57089,"name":"string","nodeType":"ElementaryTypeName","src":"50882:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50842:57:64"},"returnParameters":{"id":57092,"nodeType":"ParameterList","parameters":[],"src":"50914:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57128,"nodeType":"FunctionDefinition","src":"51028:181:64","nodes":[],"body":{"id":57127,"nodeType":"Block","src":"51103:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29","id":57119,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51153:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},"value":"log(bool,string,address,bool)"},{"id":57120,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57107,"src":"51186:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57121,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57109,"src":"51190:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57122,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57111,"src":"51194:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57123,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57113,"src":"51198:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d","typeString":"literal_string \"log(bool,string,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57117,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51129:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57118,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51133:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51129:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51129:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57116,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"51113:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51113:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57126,"nodeType":"ExpressionStatement","src":"51113:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51037:3:64","parameters":{"id":57114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57107,"mutability":"mutable","name":"p0","nameLocation":"51046:2:64","nodeType":"VariableDeclaration","scope":57128,"src":"51041:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57106,"name":"bool","nodeType":"ElementaryTypeName","src":"51041:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57109,"mutability":"mutable","name":"p1","nameLocation":"51064:2:64","nodeType":"VariableDeclaration","scope":57128,"src":"51050:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57108,"name":"string","nodeType":"ElementaryTypeName","src":"51050:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57111,"mutability":"mutable","name":"p2","nameLocation":"51076:2:64","nodeType":"VariableDeclaration","scope":57128,"src":"51068:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57110,"name":"address","nodeType":"ElementaryTypeName","src":"51068:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57113,"mutability":"mutable","name":"p3","nameLocation":"51085:2:64","nodeType":"VariableDeclaration","scope":57128,"src":"51080:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57112,"name":"bool","nodeType":"ElementaryTypeName","src":"51080:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51040:48:64"},"returnParameters":{"id":57115,"nodeType":"ParameterList","parameters":[],"src":"51103:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57151,"nodeType":"FunctionDefinition","src":"51215:187:64","nodes":[],"body":{"id":57150,"nodeType":"Block","src":"51293:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329","id":57142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51343:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},"value":"log(bool,string,address,address)"},{"id":57143,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57130,"src":"51379:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57144,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57132,"src":"51383:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57145,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57134,"src":"51387:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57146,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57136,"src":"51391:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822","typeString":"literal_string \"log(bool,string,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57140,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51319:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57141,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51323:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51319:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51319:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57139,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"51303:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51303:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57149,"nodeType":"ExpressionStatement","src":"51303:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51224:3:64","parameters":{"id":57137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57130,"mutability":"mutable","name":"p0","nameLocation":"51233:2:64","nodeType":"VariableDeclaration","scope":57151,"src":"51228:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57129,"name":"bool","nodeType":"ElementaryTypeName","src":"51228:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57132,"mutability":"mutable","name":"p1","nameLocation":"51251:2:64","nodeType":"VariableDeclaration","scope":57151,"src":"51237:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57131,"name":"string","nodeType":"ElementaryTypeName","src":"51237:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57134,"mutability":"mutable","name":"p2","nameLocation":"51263:2:64","nodeType":"VariableDeclaration","scope":57151,"src":"51255:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57133,"name":"address","nodeType":"ElementaryTypeName","src":"51255:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57136,"mutability":"mutable","name":"p3","nameLocation":"51275:2:64","nodeType":"VariableDeclaration","scope":57151,"src":"51267:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57135,"name":"address","nodeType":"ElementaryTypeName","src":"51267:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51227:51:64"},"returnParameters":{"id":57138,"nodeType":"ParameterList","parameters":[],"src":"51293:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57174,"nodeType":"FunctionDefinition","src":"51408:176:64","nodes":[],"body":{"id":57173,"nodeType":"Block","src":"51477:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c75696e7432353629","id":57165,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51527:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},"value":"log(bool,bool,uint256,uint256)"},{"id":57166,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57153,"src":"51561:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57167,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57155,"src":"51565:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57168,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57157,"src":"51569:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57169,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57159,"src":"51573:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0bb00eab8772a517edb34ef48e9be8dbee2f7b7490bba02909d18953766a9d34","typeString":"literal_string \"log(bool,bool,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57163,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51503:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57164,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51507:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51503:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51503:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57162,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"51487:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51487:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57172,"nodeType":"ExpressionStatement","src":"51487:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51417:3:64","parameters":{"id":57160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57153,"mutability":"mutable","name":"p0","nameLocation":"51426:2:64","nodeType":"VariableDeclaration","scope":57174,"src":"51421:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57152,"name":"bool","nodeType":"ElementaryTypeName","src":"51421:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57155,"mutability":"mutable","name":"p1","nameLocation":"51435:2:64","nodeType":"VariableDeclaration","scope":57174,"src":"51430:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57154,"name":"bool","nodeType":"ElementaryTypeName","src":"51430:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57157,"mutability":"mutable","name":"p2","nameLocation":"51447:2:64","nodeType":"VariableDeclaration","scope":57174,"src":"51439:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57156,"name":"uint256","nodeType":"ElementaryTypeName","src":"51439:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57159,"mutability":"mutable","name":"p3","nameLocation":"51459:2:64","nodeType":"VariableDeclaration","scope":57174,"src":"51451:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57158,"name":"uint256","nodeType":"ElementaryTypeName","src":"51451:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"51420:42:64"},"returnParameters":{"id":57161,"nodeType":"ParameterList","parameters":[],"src":"51477:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57197,"nodeType":"FunctionDefinition","src":"51590:181:64","nodes":[],"body":{"id":57196,"nodeType":"Block","src":"51665:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c737472696e6729","id":57188,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51715:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},"value":"log(bool,bool,uint256,string)"},{"id":57189,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57176,"src":"51748:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57190,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57178,"src":"51752:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57191,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57180,"src":"51756:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57192,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57182,"src":"51760:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7dd4d0e0c518f4b352fd13daccf87a5d9bed9e01e109d2cd329f8180d1bf37cf","typeString":"literal_string \"log(bool,bool,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57186,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51691:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57187,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51695:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51691:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57193,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51691:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57185,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"51675:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51675:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57195,"nodeType":"ExpressionStatement","src":"51675:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51599:3:64","parameters":{"id":57183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57176,"mutability":"mutable","name":"p0","nameLocation":"51608:2:64","nodeType":"VariableDeclaration","scope":57197,"src":"51603:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57175,"name":"bool","nodeType":"ElementaryTypeName","src":"51603:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57178,"mutability":"mutable","name":"p1","nameLocation":"51617:2:64","nodeType":"VariableDeclaration","scope":57197,"src":"51612:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57177,"name":"bool","nodeType":"ElementaryTypeName","src":"51612:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57180,"mutability":"mutable","name":"p2","nameLocation":"51629:2:64","nodeType":"VariableDeclaration","scope":57197,"src":"51621:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57179,"name":"uint256","nodeType":"ElementaryTypeName","src":"51621:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57182,"mutability":"mutable","name":"p3","nameLocation":"51647:2:64","nodeType":"VariableDeclaration","scope":57197,"src":"51633:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57181,"name":"string","nodeType":"ElementaryTypeName","src":"51633:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51602:48:64"},"returnParameters":{"id":57184,"nodeType":"ParameterList","parameters":[],"src":"51665:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57220,"nodeType":"FunctionDefinition","src":"51777:170:64","nodes":[],"body":{"id":57219,"nodeType":"Block","src":"51843:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c626f6f6c29","id":57211,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"51893:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},"value":"log(bool,bool,uint256,bool)"},{"id":57212,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57199,"src":"51924:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57213,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57201,"src":"51928:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57214,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57203,"src":"51932:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57215,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57205,"src":"51936:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_619e4d0eef4ca09035d413eaba6f544cfd6dc9e01c2aeecde070c53237f5a842","typeString":"literal_string \"log(bool,bool,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57209,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"51869:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57210,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"51873:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"51869:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51869:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57208,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"51853:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"51853:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57218,"nodeType":"ExpressionStatement","src":"51853:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51786:3:64","parameters":{"id":57206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57199,"mutability":"mutable","name":"p0","nameLocation":"51795:2:64","nodeType":"VariableDeclaration","scope":57220,"src":"51790:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57198,"name":"bool","nodeType":"ElementaryTypeName","src":"51790:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57201,"mutability":"mutable","name":"p1","nameLocation":"51804:2:64","nodeType":"VariableDeclaration","scope":57220,"src":"51799:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57200,"name":"bool","nodeType":"ElementaryTypeName","src":"51799:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57203,"mutability":"mutable","name":"p2","nameLocation":"51816:2:64","nodeType":"VariableDeclaration","scope":57220,"src":"51808:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57202,"name":"uint256","nodeType":"ElementaryTypeName","src":"51808:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57205,"mutability":"mutable","name":"p3","nameLocation":"51825:2:64","nodeType":"VariableDeclaration","scope":57220,"src":"51820:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57204,"name":"bool","nodeType":"ElementaryTypeName","src":"51820:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"51789:39:64"},"returnParameters":{"id":57207,"nodeType":"ParameterList","parameters":[],"src":"51843:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57243,"nodeType":"FunctionDefinition","src":"51953:176:64","nodes":[],"body":{"id":57242,"nodeType":"Block","src":"52022:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c75696e743235362c6164647265737329","id":57234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52072:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},"value":"log(bool,bool,uint256,address)"},{"id":57235,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57222,"src":"52106:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57236,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57224,"src":"52110:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57237,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57226,"src":"52114:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57238,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57228,"src":"52118:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_54a7a9a08e00a28d36d734cc45e318f9adc9ffbfd731cd45d0dc5a2abe2b9ac9","typeString":"literal_string \"log(bool,bool,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57232,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52048:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52052:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52048:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52048:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57231,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52032:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52032:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57241,"nodeType":"ExpressionStatement","src":"52032:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"51962:3:64","parameters":{"id":57229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57222,"mutability":"mutable","name":"p0","nameLocation":"51971:2:64","nodeType":"VariableDeclaration","scope":57243,"src":"51966:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57221,"name":"bool","nodeType":"ElementaryTypeName","src":"51966:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57224,"mutability":"mutable","name":"p1","nameLocation":"51980:2:64","nodeType":"VariableDeclaration","scope":57243,"src":"51975:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57223,"name":"bool","nodeType":"ElementaryTypeName","src":"51975:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57226,"mutability":"mutable","name":"p2","nameLocation":"51992:2:64","nodeType":"VariableDeclaration","scope":57243,"src":"51984:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57225,"name":"uint256","nodeType":"ElementaryTypeName","src":"51984:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57228,"mutability":"mutable","name":"p3","nameLocation":"52004:2:64","nodeType":"VariableDeclaration","scope":57243,"src":"51996:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57227,"name":"address","nodeType":"ElementaryTypeName","src":"51996:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"51965:42:64"},"returnParameters":{"id":57230,"nodeType":"ParameterList","parameters":[],"src":"52022:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57266,"nodeType":"FunctionDefinition","src":"52135:181:64","nodes":[],"body":{"id":57265,"nodeType":"Block","src":"52210:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7432353629","id":57257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52260:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},"value":"log(bool,bool,string,uint256)"},{"id":57258,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57245,"src":"52293:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57259,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57247,"src":"52297:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57260,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57249,"src":"52301:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57261,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57251,"src":"52305:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e3a9ca2f5717705d404f75ae4eff025addb4f91e02ce7d2b9a424fc7423a8246","typeString":"literal_string \"log(bool,bool,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57255,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52236:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52240:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52236:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57262,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52236:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57254,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52220:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52220:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57264,"nodeType":"ExpressionStatement","src":"52220:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52144:3:64","parameters":{"id":57252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57245,"mutability":"mutable","name":"p0","nameLocation":"52153:2:64","nodeType":"VariableDeclaration","scope":57266,"src":"52148:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57244,"name":"bool","nodeType":"ElementaryTypeName","src":"52148:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57247,"mutability":"mutable","name":"p1","nameLocation":"52162:2:64","nodeType":"VariableDeclaration","scope":57266,"src":"52157:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57246,"name":"bool","nodeType":"ElementaryTypeName","src":"52157:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57249,"mutability":"mutable","name":"p2","nameLocation":"52180:2:64","nodeType":"VariableDeclaration","scope":57266,"src":"52166:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57248,"name":"string","nodeType":"ElementaryTypeName","src":"52166:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57251,"mutability":"mutable","name":"p3","nameLocation":"52192:2:64","nodeType":"VariableDeclaration","scope":57266,"src":"52184:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57250,"name":"uint256","nodeType":"ElementaryTypeName","src":"52184:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52147:48:64"},"returnParameters":{"id":57253,"nodeType":"ParameterList","parameters":[],"src":"52210:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57289,"nodeType":"FunctionDefinition","src":"52322:186:64","nodes":[],"body":{"id":57288,"nodeType":"Block","src":"52403:105:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729","id":57280,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52453:30:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},"value":"log(bool,bool,string,string)"},{"id":57281,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57268,"src":"52485:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57282,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57270,"src":"52489:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57283,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57272,"src":"52493:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57284,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57274,"src":"52497:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf","typeString":"literal_string \"log(bool,bool,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57278,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52429:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57279,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52433:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52429:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52429:71:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57277,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52413:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52413:88:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57287,"nodeType":"ExpressionStatement","src":"52413:88:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52331:3:64","parameters":{"id":57275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57268,"mutability":"mutable","name":"p0","nameLocation":"52340:2:64","nodeType":"VariableDeclaration","scope":57289,"src":"52335:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57267,"name":"bool","nodeType":"ElementaryTypeName","src":"52335:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57270,"mutability":"mutable","name":"p1","nameLocation":"52349:2:64","nodeType":"VariableDeclaration","scope":57289,"src":"52344:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57269,"name":"bool","nodeType":"ElementaryTypeName","src":"52344:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57272,"mutability":"mutable","name":"p2","nameLocation":"52367:2:64","nodeType":"VariableDeclaration","scope":57289,"src":"52353:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57271,"name":"string","nodeType":"ElementaryTypeName","src":"52353:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57274,"mutability":"mutable","name":"p3","nameLocation":"52385:2:64","nodeType":"VariableDeclaration","scope":57289,"src":"52371:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57273,"name":"string","nodeType":"ElementaryTypeName","src":"52371:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52334:54:64"},"returnParameters":{"id":57276,"nodeType":"ParameterList","parameters":[],"src":"52403:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57312,"nodeType":"FunctionDefinition","src":"52514:175:64","nodes":[],"body":{"id":57311,"nodeType":"Block","src":"52586:103:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29","id":57303,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52636:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},"value":"log(bool,bool,string,bool)"},{"id":57304,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57291,"src":"52666:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57305,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57293,"src":"52670:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57306,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57295,"src":"52674:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57307,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57297,"src":"52678:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02","typeString":"literal_string \"log(bool,bool,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57301,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52612:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57302,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52616:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52612:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52612:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57300,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52596:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52596:86:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57310,"nodeType":"ExpressionStatement","src":"52596:86:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52523:3:64","parameters":{"id":57298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57291,"mutability":"mutable","name":"p0","nameLocation":"52532:2:64","nodeType":"VariableDeclaration","scope":57312,"src":"52527:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57290,"name":"bool","nodeType":"ElementaryTypeName","src":"52527:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57293,"mutability":"mutable","name":"p1","nameLocation":"52541:2:64","nodeType":"VariableDeclaration","scope":57312,"src":"52536:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57292,"name":"bool","nodeType":"ElementaryTypeName","src":"52536:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57295,"mutability":"mutable","name":"p2","nameLocation":"52559:2:64","nodeType":"VariableDeclaration","scope":57312,"src":"52545:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57294,"name":"string","nodeType":"ElementaryTypeName","src":"52545:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57297,"mutability":"mutable","name":"p3","nameLocation":"52568:2:64","nodeType":"VariableDeclaration","scope":57312,"src":"52563:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57296,"name":"bool","nodeType":"ElementaryTypeName","src":"52563:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"52526:45:64"},"returnParameters":{"id":57299,"nodeType":"ParameterList","parameters":[],"src":"52586:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57335,"nodeType":"FunctionDefinition","src":"52695:181:64","nodes":[],"body":{"id":57334,"nodeType":"Block","src":"52770:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329","id":57326,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52820:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},"value":"log(bool,bool,string,address)"},{"id":57327,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57314,"src":"52853:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57328,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57316,"src":"52857:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57329,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57318,"src":"52861:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57330,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57320,"src":"52865:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202","typeString":"literal_string \"log(bool,bool,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57324,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52796:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57325,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52800:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52796:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57331,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52796:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57323,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52780:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52780:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57333,"nodeType":"ExpressionStatement","src":"52780:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52704:3:64","parameters":{"id":57321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57314,"mutability":"mutable","name":"p0","nameLocation":"52713:2:64","nodeType":"VariableDeclaration","scope":57335,"src":"52708:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57313,"name":"bool","nodeType":"ElementaryTypeName","src":"52708:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57316,"mutability":"mutable","name":"p1","nameLocation":"52722:2:64","nodeType":"VariableDeclaration","scope":57335,"src":"52717:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57315,"name":"bool","nodeType":"ElementaryTypeName","src":"52717:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57318,"mutability":"mutable","name":"p2","nameLocation":"52740:2:64","nodeType":"VariableDeclaration","scope":57335,"src":"52726:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57317,"name":"string","nodeType":"ElementaryTypeName","src":"52726:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57320,"mutability":"mutable","name":"p3","nameLocation":"52752:2:64","nodeType":"VariableDeclaration","scope":57335,"src":"52744:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57319,"name":"address","nodeType":"ElementaryTypeName","src":"52744:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52707:48:64"},"returnParameters":{"id":57322,"nodeType":"ParameterList","parameters":[],"src":"52770:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57358,"nodeType":"FunctionDefinition","src":"52882:170:64","nodes":[],"body":{"id":57357,"nodeType":"Block","src":"52948:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7432353629","id":57349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"52998:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},"value":"log(bool,bool,bool,uint256)"},{"id":57350,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57337,"src":"53029:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57351,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57339,"src":"53033:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57352,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57341,"src":"53037:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57353,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57343,"src":"53041:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d7045c1b7eb7ef78b5ae54b2426a16952d89f674f6d689a4e37aa73bc076a7c","typeString":"literal_string \"log(bool,bool,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57347,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"52974:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57348,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"52978:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"52974:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52974:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57346,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"52958:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"52958:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57356,"nodeType":"ExpressionStatement","src":"52958:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"52891:3:64","parameters":{"id":57344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57337,"mutability":"mutable","name":"p0","nameLocation":"52900:2:64","nodeType":"VariableDeclaration","scope":57358,"src":"52895:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57336,"name":"bool","nodeType":"ElementaryTypeName","src":"52895:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57339,"mutability":"mutable","name":"p1","nameLocation":"52909:2:64","nodeType":"VariableDeclaration","scope":57358,"src":"52904:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57338,"name":"bool","nodeType":"ElementaryTypeName","src":"52904:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57341,"mutability":"mutable","name":"p2","nameLocation":"52918:2:64","nodeType":"VariableDeclaration","scope":57358,"src":"52913:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57340,"name":"bool","nodeType":"ElementaryTypeName","src":"52913:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57343,"mutability":"mutable","name":"p3","nameLocation":"52930:2:64","nodeType":"VariableDeclaration","scope":57358,"src":"52922:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57342,"name":"uint256","nodeType":"ElementaryTypeName","src":"52922:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"52894:39:64"},"returnParameters":{"id":57345,"nodeType":"ParameterList","parameters":[],"src":"52948:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57381,"nodeType":"FunctionDefinition","src":"53058:175:64","nodes":[],"body":{"id":57380,"nodeType":"Block","src":"53130:103:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729","id":57372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53180:28:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},"value":"log(bool,bool,bool,string)"},{"id":57373,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57360,"src":"53210:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57374,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57362,"src":"53214:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57375,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57364,"src":"53218:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57376,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57366,"src":"53222:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15","typeString":"literal_string \"log(bool,bool,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57370,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53156:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57371,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53160:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53156:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53156:69:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57369,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"53140:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53140:86:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57379,"nodeType":"ExpressionStatement","src":"53140:86:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53067:3:64","parameters":{"id":57367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57360,"mutability":"mutable","name":"p0","nameLocation":"53076:2:64","nodeType":"VariableDeclaration","scope":57381,"src":"53071:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57359,"name":"bool","nodeType":"ElementaryTypeName","src":"53071:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57362,"mutability":"mutable","name":"p1","nameLocation":"53085:2:64","nodeType":"VariableDeclaration","scope":57381,"src":"53080:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57361,"name":"bool","nodeType":"ElementaryTypeName","src":"53080:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57364,"mutability":"mutable","name":"p2","nameLocation":"53094:2:64","nodeType":"VariableDeclaration","scope":57381,"src":"53089:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57363,"name":"bool","nodeType":"ElementaryTypeName","src":"53089:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57366,"mutability":"mutable","name":"p3","nameLocation":"53112:2:64","nodeType":"VariableDeclaration","scope":57381,"src":"53098:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57365,"name":"string","nodeType":"ElementaryTypeName","src":"53098:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53070:45:64"},"returnParameters":{"id":57368,"nodeType":"ParameterList","parameters":[],"src":"53130:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57404,"nodeType":"FunctionDefinition","src":"53239:164:64","nodes":[],"body":{"id":57403,"nodeType":"Block","src":"53302:101:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29","id":57395,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53352:26:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},"value":"log(bool,bool,bool,bool)"},{"id":57396,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57383,"src":"53380:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57397,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57385,"src":"53384:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57398,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57387,"src":"53388:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57399,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57389,"src":"53392:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f","typeString":"literal_string \"log(bool,bool,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57393,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53328:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53332:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53328:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53328:67:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57392,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"53312:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53312:84:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57402,"nodeType":"ExpressionStatement","src":"53312:84:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53248:3:64","parameters":{"id":57390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57383,"mutability":"mutable","name":"p0","nameLocation":"53257:2:64","nodeType":"VariableDeclaration","scope":57404,"src":"53252:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57382,"name":"bool","nodeType":"ElementaryTypeName","src":"53252:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57385,"mutability":"mutable","name":"p1","nameLocation":"53266:2:64","nodeType":"VariableDeclaration","scope":57404,"src":"53261:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57384,"name":"bool","nodeType":"ElementaryTypeName","src":"53261:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57387,"mutability":"mutable","name":"p2","nameLocation":"53275:2:64","nodeType":"VariableDeclaration","scope":57404,"src":"53270:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57386,"name":"bool","nodeType":"ElementaryTypeName","src":"53270:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57389,"mutability":"mutable","name":"p3","nameLocation":"53284:2:64","nodeType":"VariableDeclaration","scope":57404,"src":"53279:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57388,"name":"bool","nodeType":"ElementaryTypeName","src":"53279:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53251:36:64"},"returnParameters":{"id":57391,"nodeType":"ParameterList","parameters":[],"src":"53302:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57427,"nodeType":"FunctionDefinition","src":"53409:170:64","nodes":[],"body":{"id":57426,"nodeType":"Block","src":"53475:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329","id":57418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53525:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},"value":"log(bool,bool,bool,address)"},{"id":57419,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57406,"src":"53556:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57420,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57408,"src":"53560:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57421,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57410,"src":"53564:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57422,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57412,"src":"53568:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4","typeString":"literal_string \"log(bool,bool,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57416,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53501:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53505:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53501:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53501:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57415,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"53485:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57424,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53485:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57425,"nodeType":"ExpressionStatement","src":"53485:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53418:3:64","parameters":{"id":57413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57406,"mutability":"mutable","name":"p0","nameLocation":"53427:2:64","nodeType":"VariableDeclaration","scope":57427,"src":"53422:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57405,"name":"bool","nodeType":"ElementaryTypeName","src":"53422:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57408,"mutability":"mutable","name":"p1","nameLocation":"53436:2:64","nodeType":"VariableDeclaration","scope":57427,"src":"53431:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57407,"name":"bool","nodeType":"ElementaryTypeName","src":"53431:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57410,"mutability":"mutable","name":"p2","nameLocation":"53445:2:64","nodeType":"VariableDeclaration","scope":57427,"src":"53440:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57409,"name":"bool","nodeType":"ElementaryTypeName","src":"53440:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57412,"mutability":"mutable","name":"p3","nameLocation":"53457:2:64","nodeType":"VariableDeclaration","scope":57427,"src":"53449:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57411,"name":"address","nodeType":"ElementaryTypeName","src":"53449:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"53421:39:64"},"returnParameters":{"id":57414,"nodeType":"ParameterList","parameters":[],"src":"53475:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57450,"nodeType":"FunctionDefinition","src":"53585:176:64","nodes":[],"body":{"id":57449,"nodeType":"Block","src":"53654:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7432353629","id":57441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53704:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},"value":"log(bool,bool,address,uint256)"},{"id":57442,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57429,"src":"53738:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57443,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57431,"src":"53742:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57444,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57433,"src":"53746:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57445,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57435,"src":"53750:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4c123d5798ed03bd59911522da9ad7b1fc4e62f5a5de1c95ef20dc3897657cf1","typeString":"literal_string \"log(bool,bool,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57439,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53680:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57440,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53684:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53680:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53680:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57438,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"53664:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53664:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57448,"nodeType":"ExpressionStatement","src":"53664:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53594:3:64","parameters":{"id":57436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57429,"mutability":"mutable","name":"p0","nameLocation":"53603:2:64","nodeType":"VariableDeclaration","scope":57450,"src":"53598:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57428,"name":"bool","nodeType":"ElementaryTypeName","src":"53598:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57431,"mutability":"mutable","name":"p1","nameLocation":"53612:2:64","nodeType":"VariableDeclaration","scope":57450,"src":"53607:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57430,"name":"bool","nodeType":"ElementaryTypeName","src":"53607:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57433,"mutability":"mutable","name":"p2","nameLocation":"53624:2:64","nodeType":"VariableDeclaration","scope":57450,"src":"53616:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57432,"name":"address","nodeType":"ElementaryTypeName","src":"53616:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57435,"mutability":"mutable","name":"p3","nameLocation":"53636:2:64","nodeType":"VariableDeclaration","scope":57450,"src":"53628:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57434,"name":"uint256","nodeType":"ElementaryTypeName","src":"53628:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53597:42:64"},"returnParameters":{"id":57437,"nodeType":"ParameterList","parameters":[],"src":"53654:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57473,"nodeType":"FunctionDefinition","src":"53767:181:64","nodes":[],"body":{"id":57472,"nodeType":"Block","src":"53842:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729","id":57464,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"53892:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},"value":"log(bool,bool,address,string)"},{"id":57465,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57452,"src":"53925:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57466,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57454,"src":"53929:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57467,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57456,"src":"53933:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57468,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57458,"src":"53937:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2","typeString":"literal_string \"log(bool,bool,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57462,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"53868:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57463,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"53872:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"53868:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53868:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57461,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"53852:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"53852:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57471,"nodeType":"ExpressionStatement","src":"53852:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53776:3:64","parameters":{"id":57459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57452,"mutability":"mutable","name":"p0","nameLocation":"53785:2:64","nodeType":"VariableDeclaration","scope":57473,"src":"53780:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57451,"name":"bool","nodeType":"ElementaryTypeName","src":"53780:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57454,"mutability":"mutable","name":"p1","nameLocation":"53794:2:64","nodeType":"VariableDeclaration","scope":57473,"src":"53789:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57453,"name":"bool","nodeType":"ElementaryTypeName","src":"53789:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57456,"mutability":"mutable","name":"p2","nameLocation":"53806:2:64","nodeType":"VariableDeclaration","scope":57473,"src":"53798:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57455,"name":"address","nodeType":"ElementaryTypeName","src":"53798:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57458,"mutability":"mutable","name":"p3","nameLocation":"53824:2:64","nodeType":"VariableDeclaration","scope":57473,"src":"53810:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57457,"name":"string","nodeType":"ElementaryTypeName","src":"53810:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53779:48:64"},"returnParameters":{"id":57460,"nodeType":"ParameterList","parameters":[],"src":"53842:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57496,"nodeType":"FunctionDefinition","src":"53954:170:64","nodes":[],"body":{"id":57495,"nodeType":"Block","src":"54020:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29","id":57487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54070:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},"value":"log(bool,bool,address,bool)"},{"id":57488,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57475,"src":"54101:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57489,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57477,"src":"54105:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57490,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57479,"src":"54109:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57491,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57481,"src":"54113:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf","typeString":"literal_string \"log(bool,bool,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57485,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54046:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57486,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54050:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54046:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54046:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57484,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54030:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57493,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54030:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57494,"nodeType":"ExpressionStatement","src":"54030:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"53963:3:64","parameters":{"id":57482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57475,"mutability":"mutable","name":"p0","nameLocation":"53972:2:64","nodeType":"VariableDeclaration","scope":57496,"src":"53967:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57474,"name":"bool","nodeType":"ElementaryTypeName","src":"53967:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57477,"mutability":"mutable","name":"p1","nameLocation":"53981:2:64","nodeType":"VariableDeclaration","scope":57496,"src":"53976:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57476,"name":"bool","nodeType":"ElementaryTypeName","src":"53976:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57479,"mutability":"mutable","name":"p2","nameLocation":"53993:2:64","nodeType":"VariableDeclaration","scope":57496,"src":"53985:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57478,"name":"address","nodeType":"ElementaryTypeName","src":"53985:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57481,"mutability":"mutable","name":"p3","nameLocation":"54002:2:64","nodeType":"VariableDeclaration","scope":57496,"src":"53997:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57480,"name":"bool","nodeType":"ElementaryTypeName","src":"53997:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53966:39:64"},"returnParameters":{"id":57483,"nodeType":"ParameterList","parameters":[],"src":"54020:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57519,"nodeType":"FunctionDefinition","src":"54130:176:64","nodes":[],"body":{"id":57518,"nodeType":"Block","src":"54199:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329","id":57510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54249:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},"value":"log(bool,bool,address,address)"},{"id":57511,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57498,"src":"54283:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57512,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57500,"src":"54287:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57513,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57502,"src":"54291:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57514,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57504,"src":"54295:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4","typeString":"literal_string \"log(bool,bool,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57508,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54225:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54229:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54225:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57515,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54225:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57507,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54209:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54209:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57517,"nodeType":"ExpressionStatement","src":"54209:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54139:3:64","parameters":{"id":57505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57498,"mutability":"mutable","name":"p0","nameLocation":"54148:2:64","nodeType":"VariableDeclaration","scope":57519,"src":"54143:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57497,"name":"bool","nodeType":"ElementaryTypeName","src":"54143:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57500,"mutability":"mutable","name":"p1","nameLocation":"54157:2:64","nodeType":"VariableDeclaration","scope":57519,"src":"54152:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57499,"name":"bool","nodeType":"ElementaryTypeName","src":"54152:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57502,"mutability":"mutable","name":"p2","nameLocation":"54169:2:64","nodeType":"VariableDeclaration","scope":57519,"src":"54161:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57501,"name":"address","nodeType":"ElementaryTypeName","src":"54161:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57504,"mutability":"mutable","name":"p3","nameLocation":"54181:2:64","nodeType":"VariableDeclaration","scope":57519,"src":"54173:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57503,"name":"address","nodeType":"ElementaryTypeName","src":"54173:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54142:42:64"},"returnParameters":{"id":57506,"nodeType":"ParameterList","parameters":[],"src":"54199:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57542,"nodeType":"FunctionDefinition","src":"54312:182:64","nodes":[],"body":{"id":57541,"nodeType":"Block","src":"54384:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c75696e7432353629","id":57533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54434:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},"value":"log(bool,address,uint256,uint256)"},{"id":57534,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57521,"src":"54471:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57535,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57523,"src":"54475:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57536,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57525,"src":"54479:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57537,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57527,"src":"54483:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_7bf181a13b51d775e7d4339fb4fee9749d9226fa1720a2ae5e3183ab5674d16e","typeString":"literal_string \"log(bool,address,uint256,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57531,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54410:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57532,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54414:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54410:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54410:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57530,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54394:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57539,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54394:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57540,"nodeType":"ExpressionStatement","src":"54394:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54321:3:64","parameters":{"id":57528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57521,"mutability":"mutable","name":"p0","nameLocation":"54330:2:64","nodeType":"VariableDeclaration","scope":57542,"src":"54325:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57520,"name":"bool","nodeType":"ElementaryTypeName","src":"54325:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57523,"mutability":"mutable","name":"p1","nameLocation":"54342:2:64","nodeType":"VariableDeclaration","scope":57542,"src":"54334:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57522,"name":"address","nodeType":"ElementaryTypeName","src":"54334:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57525,"mutability":"mutable","name":"p2","nameLocation":"54354:2:64","nodeType":"VariableDeclaration","scope":57542,"src":"54346:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57524,"name":"uint256","nodeType":"ElementaryTypeName","src":"54346:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57527,"mutability":"mutable","name":"p3","nameLocation":"54366:2:64","nodeType":"VariableDeclaration","scope":57542,"src":"54358:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57526,"name":"uint256","nodeType":"ElementaryTypeName","src":"54358:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54324:45:64"},"returnParameters":{"id":57529,"nodeType":"ParameterList","parameters":[],"src":"54384:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57565,"nodeType":"FunctionDefinition","src":"54500:187:64","nodes":[],"body":{"id":57564,"nodeType":"Block","src":"54578:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c737472696e6729","id":57556,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54628:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},"value":"log(bool,address,uint256,string)"},{"id":57557,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57544,"src":"54664:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57558,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57546,"src":"54668:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57559,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57548,"src":"54672:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57560,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57550,"src":"54676:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_51f09ff8d49d8535177ce9f46f86e22d6e0ebf6aab24e3ad1fe351dec9cb8af7","typeString":"literal_string \"log(bool,address,uint256,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57554,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54604:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57555,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54608:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54604:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57561,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54604:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57553,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54588:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54588:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57563,"nodeType":"ExpressionStatement","src":"54588:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54509:3:64","parameters":{"id":57551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57544,"mutability":"mutable","name":"p0","nameLocation":"54518:2:64","nodeType":"VariableDeclaration","scope":57565,"src":"54513:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57543,"name":"bool","nodeType":"ElementaryTypeName","src":"54513:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57546,"mutability":"mutable","name":"p1","nameLocation":"54530:2:64","nodeType":"VariableDeclaration","scope":57565,"src":"54522:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57545,"name":"address","nodeType":"ElementaryTypeName","src":"54522:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57548,"mutability":"mutable","name":"p2","nameLocation":"54542:2:64","nodeType":"VariableDeclaration","scope":57565,"src":"54534:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57547,"name":"uint256","nodeType":"ElementaryTypeName","src":"54534:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57550,"mutability":"mutable","name":"p3","nameLocation":"54560:2:64","nodeType":"VariableDeclaration","scope":57565,"src":"54546:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57549,"name":"string","nodeType":"ElementaryTypeName","src":"54546:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54512:51:64"},"returnParameters":{"id":57552,"nodeType":"ParameterList","parameters":[],"src":"54578:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57588,"nodeType":"FunctionDefinition","src":"54693:176:64","nodes":[],"body":{"id":57587,"nodeType":"Block","src":"54762:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c626f6f6c29","id":57579,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54812:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},"value":"log(bool,address,uint256,bool)"},{"id":57580,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57567,"src":"54846:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57581,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57569,"src":"54850:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57582,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57571,"src":"54854:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57583,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57573,"src":"54858:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d6019f1c844577cb799272d8b580ae7d31e1d26be8513d99f3a91ca8ea67c958","typeString":"literal_string \"log(bool,address,uint256,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57577,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54788:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57578,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54792:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54788:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54788:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57576,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54772:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54772:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57586,"nodeType":"ExpressionStatement","src":"54772:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54702:3:64","parameters":{"id":57574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57567,"mutability":"mutable","name":"p0","nameLocation":"54711:2:64","nodeType":"VariableDeclaration","scope":57588,"src":"54706:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57566,"name":"bool","nodeType":"ElementaryTypeName","src":"54706:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57569,"mutability":"mutable","name":"p1","nameLocation":"54723:2:64","nodeType":"VariableDeclaration","scope":57588,"src":"54715:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57568,"name":"address","nodeType":"ElementaryTypeName","src":"54715:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57571,"mutability":"mutable","name":"p2","nameLocation":"54735:2:64","nodeType":"VariableDeclaration","scope":57588,"src":"54727:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57570,"name":"uint256","nodeType":"ElementaryTypeName","src":"54727:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57573,"mutability":"mutable","name":"p3","nameLocation":"54744:2:64","nodeType":"VariableDeclaration","scope":57588,"src":"54739:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57572,"name":"bool","nodeType":"ElementaryTypeName","src":"54739:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"54705:42:64"},"returnParameters":{"id":57575,"nodeType":"ParameterList","parameters":[],"src":"54762:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57611,"nodeType":"FunctionDefinition","src":"54875:182:64","nodes":[],"body":{"id":57610,"nodeType":"Block","src":"54947:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c75696e743235362c6164647265737329","id":57602,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"54997:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},"value":"log(bool,address,uint256,address)"},{"id":57603,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57590,"src":"55034:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57604,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57592,"src":"55038:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57605,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57594,"src":"55042:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57606,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57596,"src":"55046:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_136b05dd56dbfa6e97805ce657954968bb4ea366eef252c9fa3aec31b1aa7ebd","typeString":"literal_string \"log(bool,address,uint256,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57600,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"54973:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57601,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"54977:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"54973:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54973:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57599,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"54957:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"54957:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57609,"nodeType":"ExpressionStatement","src":"54957:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"54884:3:64","parameters":{"id":57597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57590,"mutability":"mutable","name":"p0","nameLocation":"54893:2:64","nodeType":"VariableDeclaration","scope":57611,"src":"54888:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57589,"name":"bool","nodeType":"ElementaryTypeName","src":"54888:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57592,"mutability":"mutable","name":"p1","nameLocation":"54905:2:64","nodeType":"VariableDeclaration","scope":57611,"src":"54897:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57591,"name":"address","nodeType":"ElementaryTypeName","src":"54897:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57594,"mutability":"mutable","name":"p2","nameLocation":"54917:2:64","nodeType":"VariableDeclaration","scope":57611,"src":"54909:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57593,"name":"uint256","nodeType":"ElementaryTypeName","src":"54909:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57596,"mutability":"mutable","name":"p3","nameLocation":"54929:2:64","nodeType":"VariableDeclaration","scope":57611,"src":"54921:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57595,"name":"address","nodeType":"ElementaryTypeName","src":"54921:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"54887:45:64"},"returnParameters":{"id":57598,"nodeType":"ParameterList","parameters":[],"src":"54947:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57634,"nodeType":"FunctionDefinition","src":"55063:187:64","nodes":[],"body":{"id":57633,"nodeType":"Block","src":"55141:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7432353629","id":57625,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55191:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},"value":"log(bool,address,string,uint256)"},{"id":57626,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57613,"src":"55227:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57627,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57615,"src":"55231:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57628,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57617,"src":"55235:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57629,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57619,"src":"55239:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c21f64c781c24c69fbdf6daf185e821c3143831e9c7b3ede1933a6cffd68030d","typeString":"literal_string \"log(bool,address,string,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57623,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55167:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57624,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55171:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55167:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55167:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57622,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"55151:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57631,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55151:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57632,"nodeType":"ExpressionStatement","src":"55151:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55072:3:64","parameters":{"id":57620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57613,"mutability":"mutable","name":"p0","nameLocation":"55081:2:64","nodeType":"VariableDeclaration","scope":57634,"src":"55076:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57612,"name":"bool","nodeType":"ElementaryTypeName","src":"55076:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57615,"mutability":"mutable","name":"p1","nameLocation":"55093:2:64","nodeType":"VariableDeclaration","scope":57634,"src":"55085:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57614,"name":"address","nodeType":"ElementaryTypeName","src":"55085:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57617,"mutability":"mutable","name":"p2","nameLocation":"55111:2:64","nodeType":"VariableDeclaration","scope":57634,"src":"55097:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57616,"name":"string","nodeType":"ElementaryTypeName","src":"55097:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57619,"mutability":"mutable","name":"p3","nameLocation":"55123:2:64","nodeType":"VariableDeclaration","scope":57634,"src":"55115:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57618,"name":"uint256","nodeType":"ElementaryTypeName","src":"55115:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55075:51:64"},"returnParameters":{"id":57621,"nodeType":"ParameterList","parameters":[],"src":"55141:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57657,"nodeType":"FunctionDefinition","src":"55256:192:64","nodes":[],"body":{"id":57656,"nodeType":"Block","src":"55340:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729","id":57648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55390:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},"value":"log(bool,address,string,string)"},{"id":57649,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57636,"src":"55425:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57650,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57638,"src":"55429:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57651,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57640,"src":"55433:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57652,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57642,"src":"55437:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d","typeString":"literal_string \"log(bool,address,string,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57646,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55366:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57647,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55370:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55366:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57653,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55366:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57645,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"55350:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55350:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57655,"nodeType":"ExpressionStatement","src":"55350:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55265:3:64","parameters":{"id":57643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57636,"mutability":"mutable","name":"p0","nameLocation":"55274:2:64","nodeType":"VariableDeclaration","scope":57657,"src":"55269:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57635,"name":"bool","nodeType":"ElementaryTypeName","src":"55269:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57638,"mutability":"mutable","name":"p1","nameLocation":"55286:2:64","nodeType":"VariableDeclaration","scope":57657,"src":"55278:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57637,"name":"address","nodeType":"ElementaryTypeName","src":"55278:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57640,"mutability":"mutable","name":"p2","nameLocation":"55304:2:64","nodeType":"VariableDeclaration","scope":57657,"src":"55290:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57639,"name":"string","nodeType":"ElementaryTypeName","src":"55290:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57642,"mutability":"mutable","name":"p3","nameLocation":"55322:2:64","nodeType":"VariableDeclaration","scope":57657,"src":"55308:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57641,"name":"string","nodeType":"ElementaryTypeName","src":"55308:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55268:57:64"},"returnParameters":{"id":57644,"nodeType":"ParameterList","parameters":[],"src":"55340:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57680,"nodeType":"FunctionDefinition","src":"55454:181:64","nodes":[],"body":{"id":57679,"nodeType":"Block","src":"55529:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29","id":57671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55579:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},"value":"log(bool,address,string,bool)"},{"id":57672,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57659,"src":"55612:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57673,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57661,"src":"55616:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57674,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57663,"src":"55620:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57675,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57665,"src":"55624:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc","typeString":"literal_string \"log(bool,address,string,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57669,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55555:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57670,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55559:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55555:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55555:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57668,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"55539:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55539:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57678,"nodeType":"ExpressionStatement","src":"55539:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55463:3:64","parameters":{"id":57666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57659,"mutability":"mutable","name":"p0","nameLocation":"55472:2:64","nodeType":"VariableDeclaration","scope":57680,"src":"55467:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57658,"name":"bool","nodeType":"ElementaryTypeName","src":"55467:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57661,"mutability":"mutable","name":"p1","nameLocation":"55484:2:64","nodeType":"VariableDeclaration","scope":57680,"src":"55476:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57660,"name":"address","nodeType":"ElementaryTypeName","src":"55476:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57663,"mutability":"mutable","name":"p2","nameLocation":"55502:2:64","nodeType":"VariableDeclaration","scope":57680,"src":"55488:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57662,"name":"string","nodeType":"ElementaryTypeName","src":"55488:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57665,"mutability":"mutable","name":"p3","nameLocation":"55511:2:64","nodeType":"VariableDeclaration","scope":57680,"src":"55506:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57664,"name":"bool","nodeType":"ElementaryTypeName","src":"55506:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"55466:48:64"},"returnParameters":{"id":57667,"nodeType":"ParameterList","parameters":[],"src":"55529:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57703,"nodeType":"FunctionDefinition","src":"55641:187:64","nodes":[],"body":{"id":57702,"nodeType":"Block","src":"55719:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329","id":57694,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55769:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},"value":"log(bool,address,string,address)"},{"id":57695,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57682,"src":"55805:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57696,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57684,"src":"55809:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57697,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57686,"src":"55813:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57698,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57688,"src":"55817:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654","typeString":"literal_string \"log(bool,address,string,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57692,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55745:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57693,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55749:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55745:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55745:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57691,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"55729:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57700,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55729:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57701,"nodeType":"ExpressionStatement","src":"55729:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55650:3:64","parameters":{"id":57689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57682,"mutability":"mutable","name":"p0","nameLocation":"55659:2:64","nodeType":"VariableDeclaration","scope":57703,"src":"55654:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57681,"name":"bool","nodeType":"ElementaryTypeName","src":"55654:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57684,"mutability":"mutable","name":"p1","nameLocation":"55671:2:64","nodeType":"VariableDeclaration","scope":57703,"src":"55663:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57683,"name":"address","nodeType":"ElementaryTypeName","src":"55663:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57686,"mutability":"mutable","name":"p2","nameLocation":"55689:2:64","nodeType":"VariableDeclaration","scope":57703,"src":"55675:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57685,"name":"string","nodeType":"ElementaryTypeName","src":"55675:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57688,"mutability":"mutable","name":"p3","nameLocation":"55701:2:64","nodeType":"VariableDeclaration","scope":57703,"src":"55693:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57687,"name":"address","nodeType":"ElementaryTypeName","src":"55693:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"55653:51:64"},"returnParameters":{"id":57690,"nodeType":"ParameterList","parameters":[],"src":"55719:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57726,"nodeType":"FunctionDefinition","src":"55834:176:64","nodes":[],"body":{"id":57725,"nodeType":"Block","src":"55903:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7432353629","id":57717,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"55953:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},"value":"log(bool,address,bool,uint256)"},{"id":57718,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57705,"src":"55987:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57719,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57707,"src":"55991:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57720,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57709,"src":"55995:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57721,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57711,"src":"55999:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_07831502b96d5b050adbd4ca2f9d4cd011dd7a8d3e1266dadb6c832ee8e56059","typeString":"literal_string \"log(bool,address,bool,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57715,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"55929:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57716,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"55933:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"55929:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55929:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57714,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"55913:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"55913:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57724,"nodeType":"ExpressionStatement","src":"55913:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"55843:3:64","parameters":{"id":57712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57705,"mutability":"mutable","name":"p0","nameLocation":"55852:2:64","nodeType":"VariableDeclaration","scope":57726,"src":"55847:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57704,"name":"bool","nodeType":"ElementaryTypeName","src":"55847:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57707,"mutability":"mutable","name":"p1","nameLocation":"55864:2:64","nodeType":"VariableDeclaration","scope":57726,"src":"55856:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57706,"name":"address","nodeType":"ElementaryTypeName","src":"55856:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57709,"mutability":"mutable","name":"p2","nameLocation":"55873:2:64","nodeType":"VariableDeclaration","scope":57726,"src":"55868:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57708,"name":"bool","nodeType":"ElementaryTypeName","src":"55868:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57711,"mutability":"mutable","name":"p3","nameLocation":"55885:2:64","nodeType":"VariableDeclaration","scope":57726,"src":"55877:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57710,"name":"uint256","nodeType":"ElementaryTypeName","src":"55877:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55846:42:64"},"returnParameters":{"id":57713,"nodeType":"ParameterList","parameters":[],"src":"55903:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57749,"nodeType":"FunctionDefinition","src":"56016:181:64","nodes":[],"body":{"id":57748,"nodeType":"Block","src":"56091:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729","id":57740,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56141:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},"value":"log(bool,address,bool,string)"},{"id":57741,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57728,"src":"56174:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57742,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57730,"src":"56178:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57743,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57732,"src":"56182:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57744,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57734,"src":"56186:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59","typeString":"literal_string \"log(bool,address,bool,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57738,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56117:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57739,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56121:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56117:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56117:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57737,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"56101:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57746,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56101:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57747,"nodeType":"ExpressionStatement","src":"56101:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56025:3:64","parameters":{"id":57735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57728,"mutability":"mutable","name":"p0","nameLocation":"56034:2:64","nodeType":"VariableDeclaration","scope":57749,"src":"56029:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57727,"name":"bool","nodeType":"ElementaryTypeName","src":"56029:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57730,"mutability":"mutable","name":"p1","nameLocation":"56046:2:64","nodeType":"VariableDeclaration","scope":57749,"src":"56038:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57729,"name":"address","nodeType":"ElementaryTypeName","src":"56038:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57732,"mutability":"mutable","name":"p2","nameLocation":"56055:2:64","nodeType":"VariableDeclaration","scope":57749,"src":"56050:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57731,"name":"bool","nodeType":"ElementaryTypeName","src":"56050:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57734,"mutability":"mutable","name":"p3","nameLocation":"56073:2:64","nodeType":"VariableDeclaration","scope":57749,"src":"56059:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57733,"name":"string","nodeType":"ElementaryTypeName","src":"56059:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56028:48:64"},"returnParameters":{"id":57736,"nodeType":"ParameterList","parameters":[],"src":"56091:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57772,"nodeType":"FunctionDefinition","src":"56203:170:64","nodes":[],"body":{"id":57771,"nodeType":"Block","src":"56269:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29","id":57763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56319:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},"value":"log(bool,address,bool,bool)"},{"id":57764,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57751,"src":"56350:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57765,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57753,"src":"56354:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57766,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57755,"src":"56358:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57767,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57757,"src":"56362:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577","typeString":"literal_string \"log(bool,address,bool,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57761,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56295:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57762,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56299:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56295:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56295:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57760,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"56279:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57769,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56279:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57770,"nodeType":"ExpressionStatement","src":"56279:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56212:3:64","parameters":{"id":57758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57751,"mutability":"mutable","name":"p0","nameLocation":"56221:2:64","nodeType":"VariableDeclaration","scope":57772,"src":"56216:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57750,"name":"bool","nodeType":"ElementaryTypeName","src":"56216:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57753,"mutability":"mutable","name":"p1","nameLocation":"56233:2:64","nodeType":"VariableDeclaration","scope":57772,"src":"56225:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57752,"name":"address","nodeType":"ElementaryTypeName","src":"56225:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57755,"mutability":"mutable","name":"p2","nameLocation":"56242:2:64","nodeType":"VariableDeclaration","scope":57772,"src":"56237:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57754,"name":"bool","nodeType":"ElementaryTypeName","src":"56237:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57757,"mutability":"mutable","name":"p3","nameLocation":"56251:2:64","nodeType":"VariableDeclaration","scope":57772,"src":"56246:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57756,"name":"bool","nodeType":"ElementaryTypeName","src":"56246:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56215:39:64"},"returnParameters":{"id":57759,"nodeType":"ParameterList","parameters":[],"src":"56269:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57795,"nodeType":"FunctionDefinition","src":"56379:176:64","nodes":[],"body":{"id":57794,"nodeType":"Block","src":"56448:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329","id":57786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56498:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},"value":"log(bool,address,bool,address)"},{"id":57787,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57774,"src":"56532:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57788,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57776,"src":"56536:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57789,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57778,"src":"56540:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57790,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57780,"src":"56544:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870","typeString":"literal_string \"log(bool,address,bool,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57784,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56474:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56478:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56474:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57791,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56474:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57783,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"56458:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56458:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57793,"nodeType":"ExpressionStatement","src":"56458:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56388:3:64","parameters":{"id":57781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57774,"mutability":"mutable","name":"p0","nameLocation":"56397:2:64","nodeType":"VariableDeclaration","scope":57795,"src":"56392:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57773,"name":"bool","nodeType":"ElementaryTypeName","src":"56392:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57776,"mutability":"mutable","name":"p1","nameLocation":"56409:2:64","nodeType":"VariableDeclaration","scope":57795,"src":"56401:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57775,"name":"address","nodeType":"ElementaryTypeName","src":"56401:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57778,"mutability":"mutable","name":"p2","nameLocation":"56418:2:64","nodeType":"VariableDeclaration","scope":57795,"src":"56413:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57777,"name":"bool","nodeType":"ElementaryTypeName","src":"56413:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57780,"mutability":"mutable","name":"p3","nameLocation":"56430:2:64","nodeType":"VariableDeclaration","scope":57795,"src":"56422:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57779,"name":"address","nodeType":"ElementaryTypeName","src":"56422:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"56391:42:64"},"returnParameters":{"id":57782,"nodeType":"ParameterList","parameters":[],"src":"56448:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57818,"nodeType":"FunctionDefinition","src":"56561:182:64","nodes":[],"body":{"id":57817,"nodeType":"Block","src":"56633:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7432353629","id":57809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56683:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},"value":"log(bool,address,address,uint256)"},{"id":57810,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57797,"src":"56720:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57811,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57799,"src":"56724:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57812,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57801,"src":"56728:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57813,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57803,"src":"56732:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c66d1be8b80b8d96088c57d6fc12897f737822d5beb6e751a923520a0a509b8","typeString":"literal_string \"log(bool,address,address,uint256)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57807,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56659:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57808,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56663:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56659:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56659:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57806,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"56643:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57815,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56643:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57816,"nodeType":"ExpressionStatement","src":"56643:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56570:3:64","parameters":{"id":57804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57797,"mutability":"mutable","name":"p0","nameLocation":"56579:2:64","nodeType":"VariableDeclaration","scope":57818,"src":"56574:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57796,"name":"bool","nodeType":"ElementaryTypeName","src":"56574:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57799,"mutability":"mutable","name":"p1","nameLocation":"56591:2:64","nodeType":"VariableDeclaration","scope":57818,"src":"56583:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57798,"name":"address","nodeType":"ElementaryTypeName","src":"56583:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57801,"mutability":"mutable","name":"p2","nameLocation":"56603:2:64","nodeType":"VariableDeclaration","scope":57818,"src":"56595:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57800,"name":"address","nodeType":"ElementaryTypeName","src":"56595:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57803,"mutability":"mutable","name":"p3","nameLocation":"56615:2:64","nodeType":"VariableDeclaration","scope":57818,"src":"56607:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57802,"name":"uint256","nodeType":"ElementaryTypeName","src":"56607:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56573:45:64"},"returnParameters":{"id":57805,"nodeType":"ParameterList","parameters":[],"src":"56633:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57841,"nodeType":"FunctionDefinition","src":"56749:187:64","nodes":[],"body":{"id":57840,"nodeType":"Block","src":"56827:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729","id":57832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"56877:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},"value":"log(bool,address,address,string)"},{"id":57833,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57820,"src":"56913:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57834,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57822,"src":"56917:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57835,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57824,"src":"56921:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57836,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57826,"src":"56925:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432","typeString":"literal_string \"log(bool,address,address,string)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57830,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"56853:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57831,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"56857:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"56853:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57837,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56853:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57829,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"56837:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"56837:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57839,"nodeType":"ExpressionStatement","src":"56837:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56758:3:64","parameters":{"id":57827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57820,"mutability":"mutable","name":"p0","nameLocation":"56767:2:64","nodeType":"VariableDeclaration","scope":57841,"src":"56762:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57819,"name":"bool","nodeType":"ElementaryTypeName","src":"56762:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57822,"mutability":"mutable","name":"p1","nameLocation":"56779:2:64","nodeType":"VariableDeclaration","scope":57841,"src":"56771:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57821,"name":"address","nodeType":"ElementaryTypeName","src":"56771:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57824,"mutability":"mutable","name":"p2","nameLocation":"56791:2:64","nodeType":"VariableDeclaration","scope":57841,"src":"56783:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57823,"name":"address","nodeType":"ElementaryTypeName","src":"56783:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57826,"mutability":"mutable","name":"p3","nameLocation":"56809:2:64","nodeType":"VariableDeclaration","scope":57841,"src":"56795:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57825,"name":"string","nodeType":"ElementaryTypeName","src":"56795:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56761:51:64"},"returnParameters":{"id":57828,"nodeType":"ParameterList","parameters":[],"src":"56827:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57864,"nodeType":"FunctionDefinition","src":"56942:176:64","nodes":[],"body":{"id":57863,"nodeType":"Block","src":"57011:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29","id":57855,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57061:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},"value":"log(bool,address,address,bool)"},{"id":57856,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57843,"src":"57095:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57857,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57845,"src":"57099:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57858,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57847,"src":"57103:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57859,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57849,"src":"57107:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e","typeString":"literal_string \"log(bool,address,address,bool)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57853,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57037:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57854,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57041:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57037:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57860,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57037:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57852,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57021:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57021:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57862,"nodeType":"ExpressionStatement","src":"57021:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"56951:3:64","parameters":{"id":57850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57843,"mutability":"mutable","name":"p0","nameLocation":"56960:2:64","nodeType":"VariableDeclaration","scope":57864,"src":"56955:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57842,"name":"bool","nodeType":"ElementaryTypeName","src":"56955:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57845,"mutability":"mutable","name":"p1","nameLocation":"56972:2:64","nodeType":"VariableDeclaration","scope":57864,"src":"56964:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57844,"name":"address","nodeType":"ElementaryTypeName","src":"56964:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57847,"mutability":"mutable","name":"p2","nameLocation":"56984:2:64","nodeType":"VariableDeclaration","scope":57864,"src":"56976:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57846,"name":"address","nodeType":"ElementaryTypeName","src":"56976:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57849,"mutability":"mutable","name":"p3","nameLocation":"56993:2:64","nodeType":"VariableDeclaration","scope":57864,"src":"56988:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57848,"name":"bool","nodeType":"ElementaryTypeName","src":"56988:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"56954:42:64"},"returnParameters":{"id":57851,"nodeType":"ParameterList","parameters":[],"src":"57011:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57887,"nodeType":"FunctionDefinition","src":"57124:182:64","nodes":[],"body":{"id":57886,"nodeType":"Block","src":"57196:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329","id":57878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57246:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},"value":"log(bool,address,address,address)"},{"id":57879,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57866,"src":"57283:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":57880,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57868,"src":"57287:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57881,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57870,"src":"57291:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57882,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57872,"src":"57295:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123","typeString":"literal_string \"log(bool,address,address,address)\""},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57876,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57222:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57226:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57222:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57222:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57875,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57206:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57884,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57206:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57885,"nodeType":"ExpressionStatement","src":"57206:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57133:3:64","parameters":{"id":57873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57866,"mutability":"mutable","name":"p0","nameLocation":"57142:2:64","nodeType":"VariableDeclaration","scope":57887,"src":"57137:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57865,"name":"bool","nodeType":"ElementaryTypeName","src":"57137:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":57868,"mutability":"mutable","name":"p1","nameLocation":"57154:2:64","nodeType":"VariableDeclaration","scope":57887,"src":"57146:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57867,"name":"address","nodeType":"ElementaryTypeName","src":"57146:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57870,"mutability":"mutable","name":"p2","nameLocation":"57166:2:64","nodeType":"VariableDeclaration","scope":57887,"src":"57158:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57869,"name":"address","nodeType":"ElementaryTypeName","src":"57158:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57872,"mutability":"mutable","name":"p3","nameLocation":"57178:2:64","nodeType":"VariableDeclaration","scope":57887,"src":"57170:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57871,"name":"address","nodeType":"ElementaryTypeName","src":"57170:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57136:45:64"},"returnParameters":{"id":57874,"nodeType":"ParameterList","parameters":[],"src":"57196:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57910,"nodeType":"FunctionDefinition","src":"57312:188:64","nodes":[],"body":{"id":57909,"nodeType":"Block","src":"57387:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c75696e7432353629","id":57901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57437:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},"value":"log(address,uint256,uint256,uint256)"},{"id":57902,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57889,"src":"57477:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57903,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57891,"src":"57481:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57904,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57893,"src":"57485:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57905,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57895,"src":"57489:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_34f0e636808ebabd61ce9b247c78c7a38984ab35d5f29c0bd51299288509f6d6","typeString":"literal_string \"log(address,uint256,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57899,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57413:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57900,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57417:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57413:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57413:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57898,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57397:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57397:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57908,"nodeType":"ExpressionStatement","src":"57397:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57321:3:64","parameters":{"id":57896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57889,"mutability":"mutable","name":"p0","nameLocation":"57333:2:64","nodeType":"VariableDeclaration","scope":57910,"src":"57325:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57888,"name":"address","nodeType":"ElementaryTypeName","src":"57325:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57891,"mutability":"mutable","name":"p1","nameLocation":"57345:2:64","nodeType":"VariableDeclaration","scope":57910,"src":"57337:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57890,"name":"uint256","nodeType":"ElementaryTypeName","src":"57337:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57893,"mutability":"mutable","name":"p2","nameLocation":"57357:2:64","nodeType":"VariableDeclaration","scope":57910,"src":"57349:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57892,"name":"uint256","nodeType":"ElementaryTypeName","src":"57349:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57895,"mutability":"mutable","name":"p3","nameLocation":"57369:2:64","nodeType":"VariableDeclaration","scope":57910,"src":"57361:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57894,"name":"uint256","nodeType":"ElementaryTypeName","src":"57361:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57324:48:64"},"returnParameters":{"id":57897,"nodeType":"ParameterList","parameters":[],"src":"57387:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57933,"nodeType":"FunctionDefinition","src":"57506:193:64","nodes":[],"body":{"id":57932,"nodeType":"Block","src":"57587:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c737472696e6729","id":57924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57637:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},"value":"log(address,uint256,uint256,string)"},{"id":57925,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57912,"src":"57676:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57926,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57914,"src":"57680:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57927,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57916,"src":"57684:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57928,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57918,"src":"57688:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4a28c017e545dc04fb82dd1a46d46ba463e69e0aeff774fbced9bedd205b6cf6","typeString":"literal_string \"log(address,uint256,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":57922,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57613:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57923,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57617:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57613:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57613:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57921,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57597:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57597:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57931,"nodeType":"ExpressionStatement","src":"57597:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57515:3:64","parameters":{"id":57919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57912,"mutability":"mutable","name":"p0","nameLocation":"57527:2:64","nodeType":"VariableDeclaration","scope":57933,"src":"57519:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57911,"name":"address","nodeType":"ElementaryTypeName","src":"57519:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57914,"mutability":"mutable","name":"p1","nameLocation":"57539:2:64","nodeType":"VariableDeclaration","scope":57933,"src":"57531:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57913,"name":"uint256","nodeType":"ElementaryTypeName","src":"57531:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57916,"mutability":"mutable","name":"p2","nameLocation":"57551:2:64","nodeType":"VariableDeclaration","scope":57933,"src":"57543:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57915,"name":"uint256","nodeType":"ElementaryTypeName","src":"57543:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57918,"mutability":"mutable","name":"p3","nameLocation":"57569:2:64","nodeType":"VariableDeclaration","scope":57933,"src":"57555:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57917,"name":"string","nodeType":"ElementaryTypeName","src":"57555:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57518:54:64"},"returnParameters":{"id":57920,"nodeType":"ParameterList","parameters":[],"src":"57587:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57956,"nodeType":"FunctionDefinition","src":"57705:182:64","nodes":[],"body":{"id":57955,"nodeType":"Block","src":"57777:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c626f6f6c29","id":57947,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"57827:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},"value":"log(address,uint256,uint256,bool)"},{"id":57948,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57935,"src":"57864:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57949,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57937,"src":"57868:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57950,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57939,"src":"57872:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57951,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57941,"src":"57876:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_66f1bc67b5cb59260b3541ed684f0a38ab8f590dfff7947bd562de33eae3c57e","typeString":"literal_string \"log(address,uint256,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":57945,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57803:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57946,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57807:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57803:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57952,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57803:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57944,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57787:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57787:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57954,"nodeType":"ExpressionStatement","src":"57787:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57714:3:64","parameters":{"id":57942,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57935,"mutability":"mutable","name":"p0","nameLocation":"57726:2:64","nodeType":"VariableDeclaration","scope":57956,"src":"57718:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57934,"name":"address","nodeType":"ElementaryTypeName","src":"57718:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57937,"mutability":"mutable","name":"p1","nameLocation":"57738:2:64","nodeType":"VariableDeclaration","scope":57956,"src":"57730:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57936,"name":"uint256","nodeType":"ElementaryTypeName","src":"57730:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57939,"mutability":"mutable","name":"p2","nameLocation":"57750:2:64","nodeType":"VariableDeclaration","scope":57956,"src":"57742:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57938,"name":"uint256","nodeType":"ElementaryTypeName","src":"57742:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57941,"mutability":"mutable","name":"p3","nameLocation":"57759:2:64","nodeType":"VariableDeclaration","scope":57956,"src":"57754:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":57940,"name":"bool","nodeType":"ElementaryTypeName","src":"57754:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"57717:45:64"},"returnParameters":{"id":57943,"nodeType":"ParameterList","parameters":[],"src":"57777:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":57979,"nodeType":"FunctionDefinition","src":"57893:188:64","nodes":[],"body":{"id":57978,"nodeType":"Block","src":"57968:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c75696e743235362c6164647265737329","id":57970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58018:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},"value":"log(address,uint256,uint256,address)"},{"id":57971,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57958,"src":"58058:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57972,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57960,"src":"58062:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57973,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57962,"src":"58066:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57974,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57964,"src":"58070:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_20e3984d0b91232a40a479187d959e3fb7102cd2a40a0267e07a4f648290e390","typeString":"literal_string \"log(address,uint256,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":57968,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"57994:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57969,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"57998:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"57994:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57994:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57967,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"57978:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57976,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"57978:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":57977,"nodeType":"ExpressionStatement","src":"57978:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"57902:3:64","parameters":{"id":57965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57958,"mutability":"mutable","name":"p0","nameLocation":"57914:2:64","nodeType":"VariableDeclaration","scope":57979,"src":"57906:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57957,"name":"address","nodeType":"ElementaryTypeName","src":"57906:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57960,"mutability":"mutable","name":"p1","nameLocation":"57926:2:64","nodeType":"VariableDeclaration","scope":57979,"src":"57918:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57959,"name":"uint256","nodeType":"ElementaryTypeName","src":"57918:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57962,"mutability":"mutable","name":"p2","nameLocation":"57938:2:64","nodeType":"VariableDeclaration","scope":57979,"src":"57930:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57961,"name":"uint256","nodeType":"ElementaryTypeName","src":"57930:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57964,"mutability":"mutable","name":"p3","nameLocation":"57950:2:64","nodeType":"VariableDeclaration","scope":57979,"src":"57942:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57963,"name":"address","nodeType":"ElementaryTypeName","src":"57942:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"57905:48:64"},"returnParameters":{"id":57966,"nodeType":"ParameterList","parameters":[],"src":"57968:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58002,"nodeType":"FunctionDefinition","src":"58087:193:64","nodes":[],"body":{"id":58001,"nodeType":"Block","src":"58168:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c75696e7432353629","id":57993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58218:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},"value":"log(address,uint256,string,uint256)"},{"id":57994,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57981,"src":"58257:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":57995,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57983,"src":"58261:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":57996,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57985,"src":"58265:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":57997,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57987,"src":"58269:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bf01f89152073297823dffc184d44302911f7269a4d8bb68457feda7325d0054","typeString":"literal_string \"log(address,uint256,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":57991,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58194:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":57992,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58198:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58194:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":57998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58194:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":57990,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"58178:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":57999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58178:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58000,"nodeType":"ExpressionStatement","src":"58178:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58096:3:64","parameters":{"id":57988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":57981,"mutability":"mutable","name":"p0","nameLocation":"58108:2:64","nodeType":"VariableDeclaration","scope":58002,"src":"58100:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":57980,"name":"address","nodeType":"ElementaryTypeName","src":"58100:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":57983,"mutability":"mutable","name":"p1","nameLocation":"58120:2:64","nodeType":"VariableDeclaration","scope":58002,"src":"58112:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57982,"name":"uint256","nodeType":"ElementaryTypeName","src":"58112:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":57985,"mutability":"mutable","name":"p2","nameLocation":"58138:2:64","nodeType":"VariableDeclaration","scope":58002,"src":"58124:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":57984,"name":"string","nodeType":"ElementaryTypeName","src":"58124:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":57987,"mutability":"mutable","name":"p3","nameLocation":"58150:2:64","nodeType":"VariableDeclaration","scope":58002,"src":"58142:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":57986,"name":"uint256","nodeType":"ElementaryTypeName","src":"58142:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58099:54:64"},"returnParameters":{"id":57989,"nodeType":"ParameterList","parameters":[],"src":"58168:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58025,"nodeType":"FunctionDefinition","src":"58286:198:64","nodes":[],"body":{"id":58024,"nodeType":"Block","src":"58373:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c737472696e6729","id":58016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58423:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},"value":"log(address,uint256,string,string)"},{"id":58017,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58004,"src":"58461:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58018,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58006,"src":"58465:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58019,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58008,"src":"58469:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58020,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58010,"src":"58473:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_88a8c40673ee8948292248925b0e9d44ca87355f3f886942e848cf22ee50e1c9","typeString":"literal_string \"log(address,uint256,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58399:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58403:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58399:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58021,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58399:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58013,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"58383:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58383:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58023,"nodeType":"ExpressionStatement","src":"58383:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58295:3:64","parameters":{"id":58011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58004,"mutability":"mutable","name":"p0","nameLocation":"58307:2:64","nodeType":"VariableDeclaration","scope":58025,"src":"58299:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58003,"name":"address","nodeType":"ElementaryTypeName","src":"58299:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58006,"mutability":"mutable","name":"p1","nameLocation":"58319:2:64","nodeType":"VariableDeclaration","scope":58025,"src":"58311:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58005,"name":"uint256","nodeType":"ElementaryTypeName","src":"58311:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58008,"mutability":"mutable","name":"p2","nameLocation":"58337:2:64","nodeType":"VariableDeclaration","scope":58025,"src":"58323:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58007,"name":"string","nodeType":"ElementaryTypeName","src":"58323:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58010,"mutability":"mutable","name":"p3","nameLocation":"58355:2:64","nodeType":"VariableDeclaration","scope":58025,"src":"58341:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58009,"name":"string","nodeType":"ElementaryTypeName","src":"58341:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58298:60:64"},"returnParameters":{"id":58012,"nodeType":"ParameterList","parameters":[],"src":"58373:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58048,"nodeType":"FunctionDefinition","src":"58490:187:64","nodes":[],"body":{"id":58047,"nodeType":"Block","src":"58568:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c626f6f6c29","id":58039,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58618:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},"value":"log(address,uint256,string,bool)"},{"id":58040,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58027,"src":"58654:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58041,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58029,"src":"58658:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58042,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58031,"src":"58662:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58043,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58033,"src":"58666:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf18105cbdc058258aaac7d4703aebeff683e464ae87b167f8bcabefd4799184","typeString":"literal_string \"log(address,uint256,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58037,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58594:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58038,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58598:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58594:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58594:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58036,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"58578:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58578:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58046,"nodeType":"ExpressionStatement","src":"58578:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58499:3:64","parameters":{"id":58034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58027,"mutability":"mutable","name":"p0","nameLocation":"58511:2:64","nodeType":"VariableDeclaration","scope":58048,"src":"58503:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58026,"name":"address","nodeType":"ElementaryTypeName","src":"58503:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58029,"mutability":"mutable","name":"p1","nameLocation":"58523:2:64","nodeType":"VariableDeclaration","scope":58048,"src":"58515:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58028,"name":"uint256","nodeType":"ElementaryTypeName","src":"58515:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58031,"mutability":"mutable","name":"p2","nameLocation":"58541:2:64","nodeType":"VariableDeclaration","scope":58048,"src":"58527:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58030,"name":"string","nodeType":"ElementaryTypeName","src":"58527:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58033,"mutability":"mutable","name":"p3","nameLocation":"58550:2:64","nodeType":"VariableDeclaration","scope":58048,"src":"58545:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58032,"name":"bool","nodeType":"ElementaryTypeName","src":"58545:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"58502:51:64"},"returnParameters":{"id":58035,"nodeType":"ParameterList","parameters":[],"src":"58568:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58071,"nodeType":"FunctionDefinition","src":"58683:193:64","nodes":[],"body":{"id":58070,"nodeType":"Block","src":"58764:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c737472696e672c6164647265737329","id":58062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"58814:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},"value":"log(address,uint256,string,address)"},{"id":58063,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58050,"src":"58853:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58064,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58052,"src":"58857:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58065,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58054,"src":"58861:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58066,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58056,"src":"58865:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5c430d475ad8236f34d086a6aae3612106ae74c8621b8677d58f13dcda27570a","typeString":"literal_string \"log(address,uint256,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58060,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58790:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58061,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58794:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58790:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58790:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58059,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"58774:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58068,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58774:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58069,"nodeType":"ExpressionStatement","src":"58774:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58692:3:64","parameters":{"id":58057,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58050,"mutability":"mutable","name":"p0","nameLocation":"58704:2:64","nodeType":"VariableDeclaration","scope":58071,"src":"58696:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58049,"name":"address","nodeType":"ElementaryTypeName","src":"58696:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58052,"mutability":"mutable","name":"p1","nameLocation":"58716:2:64","nodeType":"VariableDeclaration","scope":58071,"src":"58708:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58051,"name":"uint256","nodeType":"ElementaryTypeName","src":"58708:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58054,"mutability":"mutable","name":"p2","nameLocation":"58734:2:64","nodeType":"VariableDeclaration","scope":58071,"src":"58720:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58053,"name":"string","nodeType":"ElementaryTypeName","src":"58720:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58056,"mutability":"mutable","name":"p3","nameLocation":"58746:2:64","nodeType":"VariableDeclaration","scope":58071,"src":"58738:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58055,"name":"address","nodeType":"ElementaryTypeName","src":"58738:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"58695:54:64"},"returnParameters":{"id":58058,"nodeType":"ParameterList","parameters":[],"src":"58764:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58094,"nodeType":"FunctionDefinition","src":"58882:182:64","nodes":[],"body":{"id":58093,"nodeType":"Block","src":"58954:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c75696e7432353629","id":58085,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59004:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},"value":"log(address,uint256,bool,uint256)"},{"id":58086,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58073,"src":"59041:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58087,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58075,"src":"59045:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58088,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58077,"src":"59049:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58089,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58079,"src":"59053:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22f6b999343c50207803e85ddd9e714a5457dacc91c49407b8de02bdaf889e5e","typeString":"literal_string \"log(address,uint256,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58083,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"58980:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58084,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"58984:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"58980:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58980:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58082,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"58964:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"58964:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58092,"nodeType":"ExpressionStatement","src":"58964:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"58891:3:64","parameters":{"id":58080,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58073,"mutability":"mutable","name":"p0","nameLocation":"58903:2:64","nodeType":"VariableDeclaration","scope":58094,"src":"58895:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58072,"name":"address","nodeType":"ElementaryTypeName","src":"58895:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58075,"mutability":"mutable","name":"p1","nameLocation":"58915:2:64","nodeType":"VariableDeclaration","scope":58094,"src":"58907:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58074,"name":"uint256","nodeType":"ElementaryTypeName","src":"58907:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58077,"mutability":"mutable","name":"p2","nameLocation":"58924:2:64","nodeType":"VariableDeclaration","scope":58094,"src":"58919:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58076,"name":"bool","nodeType":"ElementaryTypeName","src":"58919:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58079,"mutability":"mutable","name":"p3","nameLocation":"58936:2:64","nodeType":"VariableDeclaration","scope":58094,"src":"58928:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58078,"name":"uint256","nodeType":"ElementaryTypeName","src":"58928:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58894:45:64"},"returnParameters":{"id":58081,"nodeType":"ParameterList","parameters":[],"src":"58954:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58117,"nodeType":"FunctionDefinition","src":"59070:187:64","nodes":[],"body":{"id":58116,"nodeType":"Block","src":"59148:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c737472696e6729","id":58108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59198:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},"value":"log(address,uint256,bool,string)"},{"id":58109,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58096,"src":"59234:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58110,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58098,"src":"59238:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58111,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58100,"src":"59242:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58112,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58102,"src":"59246:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5ad85f9b1e72940e5c2ff98bcaf10dac65873a2d1f60566284e5a9bba66ce0b","typeString":"literal_string \"log(address,uint256,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58106,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59174:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58107,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59178:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59174:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58113,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59174:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58105,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"59158:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59158:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58115,"nodeType":"ExpressionStatement","src":"59158:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59079:3:64","parameters":{"id":58103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58096,"mutability":"mutable","name":"p0","nameLocation":"59091:2:64","nodeType":"VariableDeclaration","scope":58117,"src":"59083:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58095,"name":"address","nodeType":"ElementaryTypeName","src":"59083:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58098,"mutability":"mutable","name":"p1","nameLocation":"59103:2:64","nodeType":"VariableDeclaration","scope":58117,"src":"59095:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58097,"name":"uint256","nodeType":"ElementaryTypeName","src":"59095:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58100,"mutability":"mutable","name":"p2","nameLocation":"59112:2:64","nodeType":"VariableDeclaration","scope":58117,"src":"59107:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58099,"name":"bool","nodeType":"ElementaryTypeName","src":"59107:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58102,"mutability":"mutable","name":"p3","nameLocation":"59130:2:64","nodeType":"VariableDeclaration","scope":58117,"src":"59116:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58101,"name":"string","nodeType":"ElementaryTypeName","src":"59116:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59082:51:64"},"returnParameters":{"id":58104,"nodeType":"ParameterList","parameters":[],"src":"59148:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58140,"nodeType":"FunctionDefinition","src":"59263:176:64","nodes":[],"body":{"id":58139,"nodeType":"Block","src":"59332:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c626f6f6c29","id":58131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59382:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},"value":"log(address,uint256,bool,bool)"},{"id":58132,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58119,"src":"59416:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58133,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58121,"src":"59420:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58134,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58123,"src":"59424:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58135,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58125,"src":"59428:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bf5e5379bfb03415fbd47322e912c55a56b102cc24fbed41ca848047f460ae7","typeString":"literal_string \"log(address,uint256,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58129,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59358:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59362:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59358:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59358:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58128,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"59342:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58137,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59342:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58138,"nodeType":"ExpressionStatement","src":"59342:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59272:3:64","parameters":{"id":58126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58119,"mutability":"mutable","name":"p0","nameLocation":"59284:2:64","nodeType":"VariableDeclaration","scope":58140,"src":"59276:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58118,"name":"address","nodeType":"ElementaryTypeName","src":"59276:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58121,"mutability":"mutable","name":"p1","nameLocation":"59296:2:64","nodeType":"VariableDeclaration","scope":58140,"src":"59288:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58120,"name":"uint256","nodeType":"ElementaryTypeName","src":"59288:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58123,"mutability":"mutable","name":"p2","nameLocation":"59305:2:64","nodeType":"VariableDeclaration","scope":58140,"src":"59300:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58122,"name":"bool","nodeType":"ElementaryTypeName","src":"59300:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58125,"mutability":"mutable","name":"p3","nameLocation":"59314:2:64","nodeType":"VariableDeclaration","scope":58140,"src":"59309:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58124,"name":"bool","nodeType":"ElementaryTypeName","src":"59309:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"59275:42:64"},"returnParameters":{"id":58127,"nodeType":"ParameterList","parameters":[],"src":"59332:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58163,"nodeType":"FunctionDefinition","src":"59445:182:64","nodes":[],"body":{"id":58162,"nodeType":"Block","src":"59517:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c626f6f6c2c6164647265737329","id":58154,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59567:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},"value":"log(address,uint256,bool,address)"},{"id":58155,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58142,"src":"59604:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58156,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58144,"src":"59608:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58157,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58146,"src":"59612:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58158,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58148,"src":"59616:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a31bfdcce87cf9e77dc577737a291feb3aa727a8fbb8205e53519527c85ff290","typeString":"literal_string \"log(address,uint256,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58152,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59543:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58153,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59547:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59543:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59543:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58151,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"59527:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59527:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58161,"nodeType":"ExpressionStatement","src":"59527:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59454:3:64","parameters":{"id":58149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58142,"mutability":"mutable","name":"p0","nameLocation":"59466:2:64","nodeType":"VariableDeclaration","scope":58163,"src":"59458:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58141,"name":"address","nodeType":"ElementaryTypeName","src":"59458:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58144,"mutability":"mutable","name":"p1","nameLocation":"59478:2:64","nodeType":"VariableDeclaration","scope":58163,"src":"59470:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58143,"name":"uint256","nodeType":"ElementaryTypeName","src":"59470:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58146,"mutability":"mutable","name":"p2","nameLocation":"59487:2:64","nodeType":"VariableDeclaration","scope":58163,"src":"59482:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58145,"name":"bool","nodeType":"ElementaryTypeName","src":"59482:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58148,"mutability":"mutable","name":"p3","nameLocation":"59499:2:64","nodeType":"VariableDeclaration","scope":58163,"src":"59491:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58147,"name":"address","nodeType":"ElementaryTypeName","src":"59491:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"59457:45:64"},"returnParameters":{"id":58150,"nodeType":"ParameterList","parameters":[],"src":"59517:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58186,"nodeType":"FunctionDefinition","src":"59633:188:64","nodes":[],"body":{"id":58185,"nodeType":"Block","src":"59708:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c75696e7432353629","id":58177,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59758:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},"value":"log(address,uint256,address,uint256)"},{"id":58178,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58165,"src":"59798:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58179,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58167,"src":"59802:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58180,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58169,"src":"59806:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58181,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58171,"src":"59810:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_100f650ebf81cb406bb4fb842e06128992c5a86986b0eab3b9e965c3254516e6","typeString":"literal_string \"log(address,uint256,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59734:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59738:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59734:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59734:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58174,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"59718:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58183,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59718:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58184,"nodeType":"ExpressionStatement","src":"59718:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59642:3:64","parameters":{"id":58172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58165,"mutability":"mutable","name":"p0","nameLocation":"59654:2:64","nodeType":"VariableDeclaration","scope":58186,"src":"59646:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58164,"name":"address","nodeType":"ElementaryTypeName","src":"59646:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58167,"mutability":"mutable","name":"p1","nameLocation":"59666:2:64","nodeType":"VariableDeclaration","scope":58186,"src":"59658:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58166,"name":"uint256","nodeType":"ElementaryTypeName","src":"59658:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58169,"mutability":"mutable","name":"p2","nameLocation":"59678:2:64","nodeType":"VariableDeclaration","scope":58186,"src":"59670:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58168,"name":"address","nodeType":"ElementaryTypeName","src":"59670:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58171,"mutability":"mutable","name":"p3","nameLocation":"59690:2:64","nodeType":"VariableDeclaration","scope":58186,"src":"59682:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58170,"name":"uint256","nodeType":"ElementaryTypeName","src":"59682:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59645:48:64"},"returnParameters":{"id":58173,"nodeType":"ParameterList","parameters":[],"src":"59708:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58209,"nodeType":"FunctionDefinition","src":"59827:193:64","nodes":[],"body":{"id":58208,"nodeType":"Block","src":"59908:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c737472696e6729","id":58200,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"59958:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},"value":"log(address,uint256,address,string)"},{"id":58201,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58188,"src":"59997:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58202,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58190,"src":"60001:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58203,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58192,"src":"60005:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58204,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58194,"src":"60009:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1da986ea2505037a166dd31728d673db1dd36bf0935c0201f0d23934a6acafdb","typeString":"literal_string \"log(address,uint256,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58198,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"59934:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58199,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"59938:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"59934:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59934:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58197,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"59918:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"59918:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58207,"nodeType":"ExpressionStatement","src":"59918:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"59836:3:64","parameters":{"id":58195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58188,"mutability":"mutable","name":"p0","nameLocation":"59848:2:64","nodeType":"VariableDeclaration","scope":58209,"src":"59840:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58187,"name":"address","nodeType":"ElementaryTypeName","src":"59840:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58190,"mutability":"mutable","name":"p1","nameLocation":"59860:2:64","nodeType":"VariableDeclaration","scope":58209,"src":"59852:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58189,"name":"uint256","nodeType":"ElementaryTypeName","src":"59852:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58192,"mutability":"mutable","name":"p2","nameLocation":"59872:2:64","nodeType":"VariableDeclaration","scope":58209,"src":"59864:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58191,"name":"address","nodeType":"ElementaryTypeName","src":"59864:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58194,"mutability":"mutable","name":"p3","nameLocation":"59890:2:64","nodeType":"VariableDeclaration","scope":58209,"src":"59876:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58193,"name":"string","nodeType":"ElementaryTypeName","src":"59876:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59839:54:64"},"returnParameters":{"id":58196,"nodeType":"ParameterList","parameters":[],"src":"59908:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58232,"nodeType":"FunctionDefinition","src":"60026:182:64","nodes":[],"body":{"id":58231,"nodeType":"Block","src":"60098:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c626f6f6c29","id":58223,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60148:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},"value":"log(address,uint256,address,bool)"},{"id":58224,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58211,"src":"60185:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58225,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58213,"src":"60189:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58226,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58215,"src":"60193:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58227,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58217,"src":"60197:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a1bcc9b3f106a0ac6ebf0cd2eda5f636e4ab1afa891b1acb460dd180f14bb322","typeString":"literal_string \"log(address,uint256,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58221,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60124:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58222,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60128:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60124:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60124:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58220,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"60108:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60108:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58230,"nodeType":"ExpressionStatement","src":"60108:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60035:3:64","parameters":{"id":58218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58211,"mutability":"mutable","name":"p0","nameLocation":"60047:2:64","nodeType":"VariableDeclaration","scope":58232,"src":"60039:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58210,"name":"address","nodeType":"ElementaryTypeName","src":"60039:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58213,"mutability":"mutable","name":"p1","nameLocation":"60059:2:64","nodeType":"VariableDeclaration","scope":58232,"src":"60051:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58212,"name":"uint256","nodeType":"ElementaryTypeName","src":"60051:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58215,"mutability":"mutable","name":"p2","nameLocation":"60071:2:64","nodeType":"VariableDeclaration","scope":58232,"src":"60063:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58214,"name":"address","nodeType":"ElementaryTypeName","src":"60063:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58217,"mutability":"mutable","name":"p3","nameLocation":"60080:2:64","nodeType":"VariableDeclaration","scope":58232,"src":"60075:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58216,"name":"bool","nodeType":"ElementaryTypeName","src":"60075:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60038:45:64"},"returnParameters":{"id":58219,"nodeType":"ParameterList","parameters":[],"src":"60098:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58255,"nodeType":"FunctionDefinition","src":"60214:188:64","nodes":[],"body":{"id":58254,"nodeType":"Block","src":"60289:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c75696e743235362c616464726573732c6164647265737329","id":58246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60339:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},"value":"log(address,uint256,address,address)"},{"id":58247,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58234,"src":"60379:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58248,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58236,"src":"60383:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58249,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58238,"src":"60387:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58250,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58240,"src":"60391:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_478d1c625a50f0548fbd6ce5c9463f034dc2ce146c930b3546dac402346457d4","typeString":"literal_string \"log(address,uint256,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58244,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60315:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58245,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60319:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60315:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60315:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58243,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"60299:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60299:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58253,"nodeType":"ExpressionStatement","src":"60299:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60223:3:64","parameters":{"id":58241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58234,"mutability":"mutable","name":"p0","nameLocation":"60235:2:64","nodeType":"VariableDeclaration","scope":58255,"src":"60227:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58233,"name":"address","nodeType":"ElementaryTypeName","src":"60227:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58236,"mutability":"mutable","name":"p1","nameLocation":"60247:2:64","nodeType":"VariableDeclaration","scope":58255,"src":"60239:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58235,"name":"uint256","nodeType":"ElementaryTypeName","src":"60239:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58238,"mutability":"mutable","name":"p2","nameLocation":"60259:2:64","nodeType":"VariableDeclaration","scope":58255,"src":"60251:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58237,"name":"address","nodeType":"ElementaryTypeName","src":"60251:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58240,"mutability":"mutable","name":"p3","nameLocation":"60271:2:64","nodeType":"VariableDeclaration","scope":58255,"src":"60263:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58239,"name":"address","nodeType":"ElementaryTypeName","src":"60263:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"60226:48:64"},"returnParameters":{"id":58242,"nodeType":"ParameterList","parameters":[],"src":"60289:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58278,"nodeType":"FunctionDefinition","src":"60408:193:64","nodes":[],"body":{"id":58277,"nodeType":"Block","src":"60489:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c75696e7432353629","id":58269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60539:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},"value":"log(address,string,uint256,uint256)"},{"id":58270,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58257,"src":"60578:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58271,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58259,"src":"60582:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58272,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58261,"src":"60586:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58273,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58263,"src":"60590:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1dc8e1b86f5e8cc33f88f9c9577316d392566cde443e43069eebe8e56a0a0562","typeString":"literal_string \"log(address,string,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58267,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60515:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58268,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60519:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60515:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60515:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58266,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"60499:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60499:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58276,"nodeType":"ExpressionStatement","src":"60499:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60417:3:64","parameters":{"id":58264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58257,"mutability":"mutable","name":"p0","nameLocation":"60429:2:64","nodeType":"VariableDeclaration","scope":58278,"src":"60421:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58256,"name":"address","nodeType":"ElementaryTypeName","src":"60421:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58259,"mutability":"mutable","name":"p1","nameLocation":"60447:2:64","nodeType":"VariableDeclaration","scope":58278,"src":"60433:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58258,"name":"string","nodeType":"ElementaryTypeName","src":"60433:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58261,"mutability":"mutable","name":"p2","nameLocation":"60459:2:64","nodeType":"VariableDeclaration","scope":58278,"src":"60451:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58260,"name":"uint256","nodeType":"ElementaryTypeName","src":"60451:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58263,"mutability":"mutable","name":"p3","nameLocation":"60471:2:64","nodeType":"VariableDeclaration","scope":58278,"src":"60463:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58262,"name":"uint256","nodeType":"ElementaryTypeName","src":"60463:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60420:54:64"},"returnParameters":{"id":58265,"nodeType":"ParameterList","parameters":[],"src":"60489:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58301,"nodeType":"FunctionDefinition","src":"60607:198:64","nodes":[],"body":{"id":58300,"nodeType":"Block","src":"60694:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c737472696e6729","id":58292,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60744:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},"value":"log(address,string,uint256,string)"},{"id":58293,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58280,"src":"60782:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58294,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58282,"src":"60786:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58295,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58284,"src":"60790:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58296,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58286,"src":"60794:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_448830a8c1281c2ef562207eb8a81eaf8ce3a05f5db2e480f1a7741f740725d3","typeString":"literal_string \"log(address,string,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58290,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60720:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58291,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60724:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60720:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60720:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58289,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"60704:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60704:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58299,"nodeType":"ExpressionStatement","src":"60704:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60616:3:64","parameters":{"id":58287,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58280,"mutability":"mutable","name":"p0","nameLocation":"60628:2:64","nodeType":"VariableDeclaration","scope":58301,"src":"60620:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58279,"name":"address","nodeType":"ElementaryTypeName","src":"60620:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58282,"mutability":"mutable","name":"p1","nameLocation":"60646:2:64","nodeType":"VariableDeclaration","scope":58301,"src":"60632:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58281,"name":"string","nodeType":"ElementaryTypeName","src":"60632:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58284,"mutability":"mutable","name":"p2","nameLocation":"60658:2:64","nodeType":"VariableDeclaration","scope":58301,"src":"60650:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58283,"name":"uint256","nodeType":"ElementaryTypeName","src":"60650:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58286,"mutability":"mutable","name":"p3","nameLocation":"60676:2:64","nodeType":"VariableDeclaration","scope":58301,"src":"60662:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58285,"name":"string","nodeType":"ElementaryTypeName","src":"60662:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60619:60:64"},"returnParameters":{"id":58288,"nodeType":"ParameterList","parameters":[],"src":"60694:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58324,"nodeType":"FunctionDefinition","src":"60811:187:64","nodes":[],"body":{"id":58323,"nodeType":"Block","src":"60889:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c626f6f6c29","id":58315,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"60939:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},"value":"log(address,string,uint256,bool)"},{"id":58316,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58303,"src":"60975:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58317,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58305,"src":"60979:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58318,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58307,"src":"60983:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58319,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58309,"src":"60987:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0ef7e050655c297a96024e476b2cd79b6c7fd3efbcd797a5d2723a888114ada4","typeString":"literal_string \"log(address,string,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58313,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"60915:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58314,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"60919:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"60915:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60915:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58312,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"60899:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58321,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"60899:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58322,"nodeType":"ExpressionStatement","src":"60899:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"60820:3:64","parameters":{"id":58310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58303,"mutability":"mutable","name":"p0","nameLocation":"60832:2:64","nodeType":"VariableDeclaration","scope":58324,"src":"60824:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58302,"name":"address","nodeType":"ElementaryTypeName","src":"60824:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58305,"mutability":"mutable","name":"p1","nameLocation":"60850:2:64","nodeType":"VariableDeclaration","scope":58324,"src":"60836:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58304,"name":"string","nodeType":"ElementaryTypeName","src":"60836:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58307,"mutability":"mutable","name":"p2","nameLocation":"60862:2:64","nodeType":"VariableDeclaration","scope":58324,"src":"60854:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58306,"name":"uint256","nodeType":"ElementaryTypeName","src":"60854:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58309,"mutability":"mutable","name":"p3","nameLocation":"60871:2:64","nodeType":"VariableDeclaration","scope":58324,"src":"60866:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58308,"name":"bool","nodeType":"ElementaryTypeName","src":"60866:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"60823:51:64"},"returnParameters":{"id":58311,"nodeType":"ParameterList","parameters":[],"src":"60889:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58347,"nodeType":"FunctionDefinition","src":"61004:193:64","nodes":[],"body":{"id":58346,"nodeType":"Block","src":"61085:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c75696e743235362c6164647265737329","id":58338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61135:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},"value":"log(address,string,uint256,address)"},{"id":58339,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58326,"src":"61174:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58340,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58328,"src":"61178:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58341,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58330,"src":"61182:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58342,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58332,"src":"61186:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_631836789e813227d6b1cf492359a1dbdd837663758bd3e55e319e4a730f0a18","typeString":"literal_string \"log(address,string,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58336,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61111:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58337,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61115:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61111:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61111:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58335,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"61095:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61095:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58345,"nodeType":"ExpressionStatement","src":"61095:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61013:3:64","parameters":{"id":58333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58326,"mutability":"mutable","name":"p0","nameLocation":"61025:2:64","nodeType":"VariableDeclaration","scope":58347,"src":"61017:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58325,"name":"address","nodeType":"ElementaryTypeName","src":"61017:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58328,"mutability":"mutable","name":"p1","nameLocation":"61043:2:64","nodeType":"VariableDeclaration","scope":58347,"src":"61029:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58327,"name":"string","nodeType":"ElementaryTypeName","src":"61029:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58330,"mutability":"mutable","name":"p2","nameLocation":"61055:2:64","nodeType":"VariableDeclaration","scope":58347,"src":"61047:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58329,"name":"uint256","nodeType":"ElementaryTypeName","src":"61047:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58332,"mutability":"mutable","name":"p3","nameLocation":"61067:2:64","nodeType":"VariableDeclaration","scope":58347,"src":"61059:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58331,"name":"address","nodeType":"ElementaryTypeName","src":"61059:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61016:54:64"},"returnParameters":{"id":58334,"nodeType":"ParameterList","parameters":[],"src":"61085:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58370,"nodeType":"FunctionDefinition","src":"61203:198:64","nodes":[],"body":{"id":58369,"nodeType":"Block","src":"61290:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c75696e7432353629","id":58361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61340:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},"value":"log(address,string,string,uint256)"},{"id":58362,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58349,"src":"61378:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58363,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58351,"src":"61382:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58364,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58353,"src":"61386:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58365,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58355,"src":"61390:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_159f89272dbf40436b74fcc844c992c1f5cc6a7cc05a9db80782be1a20a8f265","typeString":"literal_string \"log(address,string,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58359,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61316:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61320:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61316:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61316:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58358,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"61300:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58367,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61300:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58368,"nodeType":"ExpressionStatement","src":"61300:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61212:3:64","parameters":{"id":58356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58349,"mutability":"mutable","name":"p0","nameLocation":"61224:2:64","nodeType":"VariableDeclaration","scope":58370,"src":"61216:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58348,"name":"address","nodeType":"ElementaryTypeName","src":"61216:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58351,"mutability":"mutable","name":"p1","nameLocation":"61242:2:64","nodeType":"VariableDeclaration","scope":58370,"src":"61228:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58350,"name":"string","nodeType":"ElementaryTypeName","src":"61228:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58353,"mutability":"mutable","name":"p2","nameLocation":"61260:2:64","nodeType":"VariableDeclaration","scope":58370,"src":"61246:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58352,"name":"string","nodeType":"ElementaryTypeName","src":"61246:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58355,"mutability":"mutable","name":"p3","nameLocation":"61272:2:64","nodeType":"VariableDeclaration","scope":58370,"src":"61264:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58354,"name":"uint256","nodeType":"ElementaryTypeName","src":"61264:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61215:60:64"},"returnParameters":{"id":58357,"nodeType":"ParameterList","parameters":[],"src":"61290:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58393,"nodeType":"FunctionDefinition","src":"61407:203:64","nodes":[],"body":{"id":58392,"nodeType":"Block","src":"61500:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729","id":58384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61550:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},"value":"log(address,string,string,string)"},{"id":58385,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58372,"src":"61587:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58386,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58374,"src":"61591:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58387,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58376,"src":"61595:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58388,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58378,"src":"61599:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c","typeString":"literal_string \"log(address,string,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58382,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61526:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61530:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61526:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61526:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58381,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"61510:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61510:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58391,"nodeType":"ExpressionStatement","src":"61510:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61416:3:64","parameters":{"id":58379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58372,"mutability":"mutable","name":"p0","nameLocation":"61428:2:64","nodeType":"VariableDeclaration","scope":58393,"src":"61420:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58371,"name":"address","nodeType":"ElementaryTypeName","src":"61420:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58374,"mutability":"mutable","name":"p1","nameLocation":"61446:2:64","nodeType":"VariableDeclaration","scope":58393,"src":"61432:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58373,"name":"string","nodeType":"ElementaryTypeName","src":"61432:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58376,"mutability":"mutable","name":"p2","nameLocation":"61464:2:64","nodeType":"VariableDeclaration","scope":58393,"src":"61450:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58375,"name":"string","nodeType":"ElementaryTypeName","src":"61450:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58378,"mutability":"mutable","name":"p3","nameLocation":"61482:2:64","nodeType":"VariableDeclaration","scope":58393,"src":"61468:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58377,"name":"string","nodeType":"ElementaryTypeName","src":"61468:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61419:66:64"},"returnParameters":{"id":58380,"nodeType":"ParameterList","parameters":[],"src":"61500:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58416,"nodeType":"FunctionDefinition","src":"61616:192:64","nodes":[],"body":{"id":58415,"nodeType":"Block","src":"61700:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29","id":58407,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61750:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},"value":"log(address,string,string,bool)"},{"id":58408,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58395,"src":"61785:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58409,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58397,"src":"61789:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58410,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58399,"src":"61793:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58411,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58401,"src":"61797:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed","typeString":"literal_string \"log(address,string,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58405,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61726:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58406,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61730:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61726:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61726:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58404,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"61710:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61710:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58414,"nodeType":"ExpressionStatement","src":"61710:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61625:3:64","parameters":{"id":58402,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58395,"mutability":"mutable","name":"p0","nameLocation":"61637:2:64","nodeType":"VariableDeclaration","scope":58416,"src":"61629:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58394,"name":"address","nodeType":"ElementaryTypeName","src":"61629:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58397,"mutability":"mutable","name":"p1","nameLocation":"61655:2:64","nodeType":"VariableDeclaration","scope":58416,"src":"61641:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58396,"name":"string","nodeType":"ElementaryTypeName","src":"61641:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58399,"mutability":"mutable","name":"p2","nameLocation":"61673:2:64","nodeType":"VariableDeclaration","scope":58416,"src":"61659:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58398,"name":"string","nodeType":"ElementaryTypeName","src":"61659:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58401,"mutability":"mutable","name":"p3","nameLocation":"61682:2:64","nodeType":"VariableDeclaration","scope":58416,"src":"61677:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58400,"name":"bool","nodeType":"ElementaryTypeName","src":"61677:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"61628:57:64"},"returnParameters":{"id":58403,"nodeType":"ParameterList","parameters":[],"src":"61700:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58439,"nodeType":"FunctionDefinition","src":"61814:198:64","nodes":[],"body":{"id":58438,"nodeType":"Block","src":"61901:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329","id":58430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"61951:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},"value":"log(address,string,string,address)"},{"id":58431,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58418,"src":"61989:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58432,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58420,"src":"61993:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58433,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58422,"src":"61997:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58434,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58424,"src":"62001:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f","typeString":"literal_string \"log(address,string,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58428,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"61927:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58429,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"61931:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"61927:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61927:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58427,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"61911:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"61911:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58437,"nodeType":"ExpressionStatement","src":"61911:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"61823:3:64","parameters":{"id":58425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58418,"mutability":"mutable","name":"p0","nameLocation":"61835:2:64","nodeType":"VariableDeclaration","scope":58439,"src":"61827:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58417,"name":"address","nodeType":"ElementaryTypeName","src":"61827:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58420,"mutability":"mutable","name":"p1","nameLocation":"61853:2:64","nodeType":"VariableDeclaration","scope":58439,"src":"61839:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58419,"name":"string","nodeType":"ElementaryTypeName","src":"61839:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58422,"mutability":"mutable","name":"p2","nameLocation":"61871:2:64","nodeType":"VariableDeclaration","scope":58439,"src":"61857:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58421,"name":"string","nodeType":"ElementaryTypeName","src":"61857:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58424,"mutability":"mutable","name":"p3","nameLocation":"61883:2:64","nodeType":"VariableDeclaration","scope":58439,"src":"61875:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58423,"name":"address","nodeType":"ElementaryTypeName","src":"61875:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"61826:60:64"},"returnParameters":{"id":58426,"nodeType":"ParameterList","parameters":[],"src":"61901:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58462,"nodeType":"FunctionDefinition","src":"62018:187:64","nodes":[],"body":{"id":58461,"nodeType":"Block","src":"62096:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7432353629","id":58453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62146:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},"value":"log(address,string,bool,uint256)"},{"id":58454,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58441,"src":"62182:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58455,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58443,"src":"62186:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58456,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58445,"src":"62190:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58457,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58447,"src":"62194:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_515e38b61b40d622a4c0448953be005b3991f6a70155c59b5dca42a264aa0345","typeString":"literal_string \"log(address,string,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58451,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62122:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58452,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62126:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62122:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58458,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62122:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58450,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"62106:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62106:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58460,"nodeType":"ExpressionStatement","src":"62106:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62027:3:64","parameters":{"id":58448,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58441,"mutability":"mutable","name":"p0","nameLocation":"62039:2:64","nodeType":"VariableDeclaration","scope":58462,"src":"62031:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58440,"name":"address","nodeType":"ElementaryTypeName","src":"62031:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58443,"mutability":"mutable","name":"p1","nameLocation":"62057:2:64","nodeType":"VariableDeclaration","scope":58462,"src":"62043:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58442,"name":"string","nodeType":"ElementaryTypeName","src":"62043:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58445,"mutability":"mutable","name":"p2","nameLocation":"62066:2:64","nodeType":"VariableDeclaration","scope":58462,"src":"62061:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58444,"name":"bool","nodeType":"ElementaryTypeName","src":"62061:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58447,"mutability":"mutable","name":"p3","nameLocation":"62078:2:64","nodeType":"VariableDeclaration","scope":58462,"src":"62070:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58446,"name":"uint256","nodeType":"ElementaryTypeName","src":"62070:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62030:51:64"},"returnParameters":{"id":58449,"nodeType":"ParameterList","parameters":[],"src":"62096:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58485,"nodeType":"FunctionDefinition","src":"62211:192:64","nodes":[],"body":{"id":58484,"nodeType":"Block","src":"62295:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729","id":58476,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62345:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},"value":"log(address,string,bool,string)"},{"id":58477,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58464,"src":"62380:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58478,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58466,"src":"62384:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58479,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58468,"src":"62388:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58480,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58470,"src":"62392:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc","typeString":"literal_string \"log(address,string,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58474,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62321:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58475,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62325:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62321:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58481,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62321:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58473,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"62305:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58482,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62305:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58483,"nodeType":"ExpressionStatement","src":"62305:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62220:3:64","parameters":{"id":58471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58464,"mutability":"mutable","name":"p0","nameLocation":"62232:2:64","nodeType":"VariableDeclaration","scope":58485,"src":"62224:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58463,"name":"address","nodeType":"ElementaryTypeName","src":"62224:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58466,"mutability":"mutable","name":"p1","nameLocation":"62250:2:64","nodeType":"VariableDeclaration","scope":58485,"src":"62236:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58465,"name":"string","nodeType":"ElementaryTypeName","src":"62236:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58468,"mutability":"mutable","name":"p2","nameLocation":"62259:2:64","nodeType":"VariableDeclaration","scope":58485,"src":"62254:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58467,"name":"bool","nodeType":"ElementaryTypeName","src":"62254:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58470,"mutability":"mutable","name":"p3","nameLocation":"62277:2:64","nodeType":"VariableDeclaration","scope":58485,"src":"62263:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58469,"name":"string","nodeType":"ElementaryTypeName","src":"62263:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62223:57:64"},"returnParameters":{"id":58472,"nodeType":"ParameterList","parameters":[],"src":"62295:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58508,"nodeType":"FunctionDefinition","src":"62409:181:64","nodes":[],"body":{"id":58507,"nodeType":"Block","src":"62484:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29","id":58499,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62534:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},"value":"log(address,string,bool,bool)"},{"id":58500,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58487,"src":"62567:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58501,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58489,"src":"62571:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58502,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58491,"src":"62575:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58503,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58493,"src":"62579:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08","typeString":"literal_string \"log(address,string,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58497,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62510:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62514:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62510:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62510:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58496,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"62494:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62494:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58506,"nodeType":"ExpressionStatement","src":"62494:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62418:3:64","parameters":{"id":58494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58487,"mutability":"mutable","name":"p0","nameLocation":"62430:2:64","nodeType":"VariableDeclaration","scope":58508,"src":"62422:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58486,"name":"address","nodeType":"ElementaryTypeName","src":"62422:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58489,"mutability":"mutable","name":"p1","nameLocation":"62448:2:64","nodeType":"VariableDeclaration","scope":58508,"src":"62434:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58488,"name":"string","nodeType":"ElementaryTypeName","src":"62434:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58491,"mutability":"mutable","name":"p2","nameLocation":"62457:2:64","nodeType":"VariableDeclaration","scope":58508,"src":"62452:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58490,"name":"bool","nodeType":"ElementaryTypeName","src":"62452:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58493,"mutability":"mutable","name":"p3","nameLocation":"62466:2:64","nodeType":"VariableDeclaration","scope":58508,"src":"62461:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58492,"name":"bool","nodeType":"ElementaryTypeName","src":"62461:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62421:48:64"},"returnParameters":{"id":58495,"nodeType":"ParameterList","parameters":[],"src":"62484:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58531,"nodeType":"FunctionDefinition","src":"62596:187:64","nodes":[],"body":{"id":58530,"nodeType":"Block","src":"62674:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329","id":58522,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62724:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},"value":"log(address,string,bool,address)"},{"id":58523,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58510,"src":"62760:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58524,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58512,"src":"62764:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58525,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58514,"src":"62768:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58526,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58516,"src":"62772:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970","typeString":"literal_string \"log(address,string,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58520,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62700:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58521,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62704:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62700:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62700:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58519,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"62684:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62684:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58529,"nodeType":"ExpressionStatement","src":"62684:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62605:3:64","parameters":{"id":58517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58510,"mutability":"mutable","name":"p0","nameLocation":"62617:2:64","nodeType":"VariableDeclaration","scope":58531,"src":"62609:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58509,"name":"address","nodeType":"ElementaryTypeName","src":"62609:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58512,"mutability":"mutable","name":"p1","nameLocation":"62635:2:64","nodeType":"VariableDeclaration","scope":58531,"src":"62621:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58511,"name":"string","nodeType":"ElementaryTypeName","src":"62621:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58514,"mutability":"mutable","name":"p2","nameLocation":"62644:2:64","nodeType":"VariableDeclaration","scope":58531,"src":"62639:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58513,"name":"bool","nodeType":"ElementaryTypeName","src":"62639:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58516,"mutability":"mutable","name":"p3","nameLocation":"62656:2:64","nodeType":"VariableDeclaration","scope":58531,"src":"62648:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58515,"name":"address","nodeType":"ElementaryTypeName","src":"62648:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"62608:51:64"},"returnParameters":{"id":58518,"nodeType":"ParameterList","parameters":[],"src":"62674:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58554,"nodeType":"FunctionDefinition","src":"62789:193:64","nodes":[],"body":{"id":58553,"nodeType":"Block","src":"62870:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c75696e7432353629","id":58545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"62920:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},"value":"log(address,string,address,uint256)"},{"id":58546,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58533,"src":"62959:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58547,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58535,"src":"62963:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58548,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58537,"src":"62967:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58549,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58539,"src":"62971:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_457fe3cf7da0d45ce051e53ef9adc21213d4d7779b5a0fadf99dea432be4beb7","typeString":"literal_string \"log(address,string,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58543,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"62896:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58544,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"62900:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"62896:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62896:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58542,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"62880:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58551,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"62880:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58552,"nodeType":"ExpressionStatement","src":"62880:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62798:3:64","parameters":{"id":58540,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58533,"mutability":"mutable","name":"p0","nameLocation":"62810:2:64","nodeType":"VariableDeclaration","scope":58554,"src":"62802:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58532,"name":"address","nodeType":"ElementaryTypeName","src":"62802:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58535,"mutability":"mutable","name":"p1","nameLocation":"62828:2:64","nodeType":"VariableDeclaration","scope":58554,"src":"62814:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58534,"name":"string","nodeType":"ElementaryTypeName","src":"62814:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58537,"mutability":"mutable","name":"p2","nameLocation":"62840:2:64","nodeType":"VariableDeclaration","scope":58554,"src":"62832:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58536,"name":"address","nodeType":"ElementaryTypeName","src":"62832:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58539,"mutability":"mutable","name":"p3","nameLocation":"62852:2:64","nodeType":"VariableDeclaration","scope":58554,"src":"62844:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58538,"name":"uint256","nodeType":"ElementaryTypeName","src":"62844:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"62801:54:64"},"returnParameters":{"id":58541,"nodeType":"ParameterList","parameters":[],"src":"62870:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58577,"nodeType":"FunctionDefinition","src":"62988:198:64","nodes":[],"body":{"id":58576,"nodeType":"Block","src":"63075:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729","id":58568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63125:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},"value":"log(address,string,address,string)"},{"id":58569,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58556,"src":"63163:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58570,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58558,"src":"63167:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58571,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58560,"src":"63171:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58572,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58562,"src":"63175:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea","typeString":"literal_string \"log(address,string,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58566,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63101:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58567,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63105:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63101:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58573,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63101:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58565,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"63085:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63085:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58575,"nodeType":"ExpressionStatement","src":"63085:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"62997:3:64","parameters":{"id":58563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58556,"mutability":"mutable","name":"p0","nameLocation":"63009:2:64","nodeType":"VariableDeclaration","scope":58577,"src":"63001:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58555,"name":"address","nodeType":"ElementaryTypeName","src":"63001:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58558,"mutability":"mutable","name":"p1","nameLocation":"63027:2:64","nodeType":"VariableDeclaration","scope":58577,"src":"63013:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58557,"name":"string","nodeType":"ElementaryTypeName","src":"63013:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58560,"mutability":"mutable","name":"p2","nameLocation":"63039:2:64","nodeType":"VariableDeclaration","scope":58577,"src":"63031:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58559,"name":"address","nodeType":"ElementaryTypeName","src":"63031:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58562,"mutability":"mutable","name":"p3","nameLocation":"63057:2:64","nodeType":"VariableDeclaration","scope":58577,"src":"63043:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58561,"name":"string","nodeType":"ElementaryTypeName","src":"63043:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63000:60:64"},"returnParameters":{"id":58564,"nodeType":"ParameterList","parameters":[],"src":"63075:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58600,"nodeType":"FunctionDefinition","src":"63192:187:64","nodes":[],"body":{"id":58599,"nodeType":"Block","src":"63270:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29","id":58591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63320:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},"value":"log(address,string,address,bool)"},{"id":58592,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58579,"src":"63356:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58593,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58581,"src":"63360:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58594,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58583,"src":"63364:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58595,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58585,"src":"63368:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081","typeString":"literal_string \"log(address,string,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58589,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63296:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58590,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63300:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63296:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63296:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58588,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"63280:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63280:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58598,"nodeType":"ExpressionStatement","src":"63280:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63201:3:64","parameters":{"id":58586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58579,"mutability":"mutable","name":"p0","nameLocation":"63213:2:64","nodeType":"VariableDeclaration","scope":58600,"src":"63205:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58578,"name":"address","nodeType":"ElementaryTypeName","src":"63205:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58581,"mutability":"mutable","name":"p1","nameLocation":"63231:2:64","nodeType":"VariableDeclaration","scope":58600,"src":"63217:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58580,"name":"string","nodeType":"ElementaryTypeName","src":"63217:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58583,"mutability":"mutable","name":"p2","nameLocation":"63243:2:64","nodeType":"VariableDeclaration","scope":58600,"src":"63235:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58582,"name":"address","nodeType":"ElementaryTypeName","src":"63235:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58585,"mutability":"mutable","name":"p3","nameLocation":"63252:2:64","nodeType":"VariableDeclaration","scope":58600,"src":"63247:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58584,"name":"bool","nodeType":"ElementaryTypeName","src":"63247:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63204:51:64"},"returnParameters":{"id":58587,"nodeType":"ParameterList","parameters":[],"src":"63270:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58623,"nodeType":"FunctionDefinition","src":"63385:193:64","nodes":[],"body":{"id":58622,"nodeType":"Block","src":"63466:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329","id":58614,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63516:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},"value":"log(address,string,address,address)"},{"id":58615,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58602,"src":"63555:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58616,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58604,"src":"63559:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58617,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58606,"src":"63563:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58618,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58608,"src":"63567:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121","typeString":"literal_string \"log(address,string,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58612,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63492:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58613,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63496:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63492:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63492:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58611,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"63476:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58620,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63476:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58621,"nodeType":"ExpressionStatement","src":"63476:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63394:3:64","parameters":{"id":58609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58602,"mutability":"mutable","name":"p0","nameLocation":"63406:2:64","nodeType":"VariableDeclaration","scope":58623,"src":"63398:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58601,"name":"address","nodeType":"ElementaryTypeName","src":"63398:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58604,"mutability":"mutable","name":"p1","nameLocation":"63424:2:64","nodeType":"VariableDeclaration","scope":58623,"src":"63410:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58603,"name":"string","nodeType":"ElementaryTypeName","src":"63410:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58606,"mutability":"mutable","name":"p2","nameLocation":"63436:2:64","nodeType":"VariableDeclaration","scope":58623,"src":"63428:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58605,"name":"address","nodeType":"ElementaryTypeName","src":"63428:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58608,"mutability":"mutable","name":"p3","nameLocation":"63448:2:64","nodeType":"VariableDeclaration","scope":58623,"src":"63440:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58607,"name":"address","nodeType":"ElementaryTypeName","src":"63440:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"63397:54:64"},"returnParameters":{"id":58610,"nodeType":"ParameterList","parameters":[],"src":"63466:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58646,"nodeType":"FunctionDefinition","src":"63584:182:64","nodes":[],"body":{"id":58645,"nodeType":"Block","src":"63656:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c75696e7432353629","id":58637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63706:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},"value":"log(address,bool,uint256,uint256)"},{"id":58638,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58625,"src":"63743:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58639,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58627,"src":"63747:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58640,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58629,"src":"63751:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58641,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58631,"src":"63755:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_386ff5f4530ea008cf639214e5b8a55077ec58314989bc72a4ee1f3ffe9617a4","typeString":"literal_string \"log(address,bool,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58635,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63682:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63686:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63682:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63682:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58634,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"63666:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63666:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58644,"nodeType":"ExpressionStatement","src":"63666:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63593:3:64","parameters":{"id":58632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58625,"mutability":"mutable","name":"p0","nameLocation":"63605:2:64","nodeType":"VariableDeclaration","scope":58646,"src":"63597:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58624,"name":"address","nodeType":"ElementaryTypeName","src":"63597:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58627,"mutability":"mutable","name":"p1","nameLocation":"63614:2:64","nodeType":"VariableDeclaration","scope":58646,"src":"63609:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58626,"name":"bool","nodeType":"ElementaryTypeName","src":"63609:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58629,"mutability":"mutable","name":"p2","nameLocation":"63626:2:64","nodeType":"VariableDeclaration","scope":58646,"src":"63618:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58628,"name":"uint256","nodeType":"ElementaryTypeName","src":"63618:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58631,"mutability":"mutable","name":"p3","nameLocation":"63638:2:64","nodeType":"VariableDeclaration","scope":58646,"src":"63630:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58630,"name":"uint256","nodeType":"ElementaryTypeName","src":"63630:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"63596:45:64"},"returnParameters":{"id":58633,"nodeType":"ParameterList","parameters":[],"src":"63656:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58669,"nodeType":"FunctionDefinition","src":"63772:187:64","nodes":[],"body":{"id":58668,"nodeType":"Block","src":"63850:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c737472696e6729","id":58660,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"63900:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},"value":"log(address,bool,uint256,string)"},{"id":58661,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58648,"src":"63936:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58662,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58650,"src":"63940:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58663,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58652,"src":"63944:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58664,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58654,"src":"63948:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0aa6cfad2c268cd387390ada6d4a75b3aa3e38d6511517eb59fcd07a90f9c283","typeString":"literal_string \"log(address,bool,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58658,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"63876:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58659,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"63880:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"63876:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63876:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58657,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"63860:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"63860:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58667,"nodeType":"ExpressionStatement","src":"63860:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63781:3:64","parameters":{"id":58655,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58648,"mutability":"mutable","name":"p0","nameLocation":"63793:2:64","nodeType":"VariableDeclaration","scope":58669,"src":"63785:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58647,"name":"address","nodeType":"ElementaryTypeName","src":"63785:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58650,"mutability":"mutable","name":"p1","nameLocation":"63802:2:64","nodeType":"VariableDeclaration","scope":58669,"src":"63797:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58649,"name":"bool","nodeType":"ElementaryTypeName","src":"63797:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58652,"mutability":"mutable","name":"p2","nameLocation":"63814:2:64","nodeType":"VariableDeclaration","scope":58669,"src":"63806:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58651,"name":"uint256","nodeType":"ElementaryTypeName","src":"63806:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58654,"mutability":"mutable","name":"p3","nameLocation":"63832:2:64","nodeType":"VariableDeclaration","scope":58669,"src":"63818:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58653,"name":"string","nodeType":"ElementaryTypeName","src":"63818:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63784:51:64"},"returnParameters":{"id":58656,"nodeType":"ParameterList","parameters":[],"src":"63850:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58692,"nodeType":"FunctionDefinition","src":"63965:176:64","nodes":[],"body":{"id":58691,"nodeType":"Block","src":"64034:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c626f6f6c29","id":58683,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64084:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},"value":"log(address,bool,uint256,bool)"},{"id":58684,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58671,"src":"64118:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58685,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58673,"src":"64122:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58686,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58675,"src":"64126:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58687,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58677,"src":"64130:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c4643e20494ddb98fe78bc587bcecbcc7db255edcee8232992e8be9b00c4713c","typeString":"literal_string \"log(address,bool,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58681,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64060:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58682,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64064:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64060:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58688,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64060:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58680,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"64044:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58689,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64044:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58690,"nodeType":"ExpressionStatement","src":"64044:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"63974:3:64","parameters":{"id":58678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58671,"mutability":"mutable","name":"p0","nameLocation":"63986:2:64","nodeType":"VariableDeclaration","scope":58692,"src":"63978:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58670,"name":"address","nodeType":"ElementaryTypeName","src":"63978:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58673,"mutability":"mutable","name":"p1","nameLocation":"63995:2:64","nodeType":"VariableDeclaration","scope":58692,"src":"63990:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58672,"name":"bool","nodeType":"ElementaryTypeName","src":"63990:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58675,"mutability":"mutable","name":"p2","nameLocation":"64007:2:64","nodeType":"VariableDeclaration","scope":58692,"src":"63999:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58674,"name":"uint256","nodeType":"ElementaryTypeName","src":"63999:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58677,"mutability":"mutable","name":"p3","nameLocation":"64016:2:64","nodeType":"VariableDeclaration","scope":58692,"src":"64011:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58676,"name":"bool","nodeType":"ElementaryTypeName","src":"64011:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"63977:42:64"},"returnParameters":{"id":58679,"nodeType":"ParameterList","parameters":[],"src":"64034:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58715,"nodeType":"FunctionDefinition","src":"64147:182:64","nodes":[],"body":{"id":58714,"nodeType":"Block","src":"64219:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c75696e743235362c6164647265737329","id":58706,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64269:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},"value":"log(address,bool,uint256,address)"},{"id":58707,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58694,"src":"64306:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58708,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58696,"src":"64310:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58709,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58698,"src":"64314:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":58710,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58700,"src":"64318:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ccf790a175b1b762ef5bfd3564f0b74c078f15eca08b8ee654a38a96a5ad2aee","typeString":"literal_string \"log(address,bool,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58704,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64245:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58705,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64249:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64245:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64245:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58703,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"64229:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64229:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58713,"nodeType":"ExpressionStatement","src":"64229:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64156:3:64","parameters":{"id":58701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58694,"mutability":"mutable","name":"p0","nameLocation":"64168:2:64","nodeType":"VariableDeclaration","scope":58715,"src":"64160:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58693,"name":"address","nodeType":"ElementaryTypeName","src":"64160:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58696,"mutability":"mutable","name":"p1","nameLocation":"64177:2:64","nodeType":"VariableDeclaration","scope":58715,"src":"64172:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58695,"name":"bool","nodeType":"ElementaryTypeName","src":"64172:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58698,"mutability":"mutable","name":"p2","nameLocation":"64189:2:64","nodeType":"VariableDeclaration","scope":58715,"src":"64181:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58697,"name":"uint256","nodeType":"ElementaryTypeName","src":"64181:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58700,"mutability":"mutable","name":"p3","nameLocation":"64201:2:64","nodeType":"VariableDeclaration","scope":58715,"src":"64193:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58699,"name":"address","nodeType":"ElementaryTypeName","src":"64193:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64159:45:64"},"returnParameters":{"id":58702,"nodeType":"ParameterList","parameters":[],"src":"64219:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58738,"nodeType":"FunctionDefinition","src":"64335:187:64","nodes":[],"body":{"id":58737,"nodeType":"Block","src":"64413:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7432353629","id":58729,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64463:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},"value":"log(address,bool,string,uint256)"},{"id":58730,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58717,"src":"64499:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58731,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58719,"src":"64503:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58732,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58721,"src":"64507:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58733,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58723,"src":"64511:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_80e6a20b48643c1f2494eae694f173a69e42da349d0e193e48fece80e869df69","typeString":"literal_string \"log(address,bool,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58727,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64439:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58728,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64443:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64439:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64439:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58726,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"64423:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58735,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64423:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58736,"nodeType":"ExpressionStatement","src":"64423:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64344:3:64","parameters":{"id":58724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58717,"mutability":"mutable","name":"p0","nameLocation":"64356:2:64","nodeType":"VariableDeclaration","scope":58738,"src":"64348:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58716,"name":"address","nodeType":"ElementaryTypeName","src":"64348:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58719,"mutability":"mutable","name":"p1","nameLocation":"64365:2:64","nodeType":"VariableDeclaration","scope":58738,"src":"64360:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58718,"name":"bool","nodeType":"ElementaryTypeName","src":"64360:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58721,"mutability":"mutable","name":"p2","nameLocation":"64383:2:64","nodeType":"VariableDeclaration","scope":58738,"src":"64369:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58720,"name":"string","nodeType":"ElementaryTypeName","src":"64369:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58723,"mutability":"mutable","name":"p3","nameLocation":"64395:2:64","nodeType":"VariableDeclaration","scope":58738,"src":"64387:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58722,"name":"uint256","nodeType":"ElementaryTypeName","src":"64387:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64347:51:64"},"returnParameters":{"id":58725,"nodeType":"ParameterList","parameters":[],"src":"64413:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58761,"nodeType":"FunctionDefinition","src":"64528:192:64","nodes":[],"body":{"id":58760,"nodeType":"Block","src":"64612:108:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729","id":58752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64662:33:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},"value":"log(address,bool,string,string)"},{"id":58753,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58740,"src":"64697:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58754,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58742,"src":"64701:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58755,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58744,"src":"64705:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58756,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58746,"src":"64709:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f","typeString":"literal_string \"log(address,bool,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58750,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64638:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58751,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64642:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64638:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58757,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64638:74:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58749,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"64622:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64622:91:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58759,"nodeType":"ExpressionStatement","src":"64622:91:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64537:3:64","parameters":{"id":58747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58740,"mutability":"mutable","name":"p0","nameLocation":"64549:2:64","nodeType":"VariableDeclaration","scope":58761,"src":"64541:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58739,"name":"address","nodeType":"ElementaryTypeName","src":"64541:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58742,"mutability":"mutable","name":"p1","nameLocation":"64558:2:64","nodeType":"VariableDeclaration","scope":58761,"src":"64553:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58741,"name":"bool","nodeType":"ElementaryTypeName","src":"64553:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58744,"mutability":"mutable","name":"p2","nameLocation":"64576:2:64","nodeType":"VariableDeclaration","scope":58761,"src":"64562:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58743,"name":"string","nodeType":"ElementaryTypeName","src":"64562:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58746,"mutability":"mutable","name":"p3","nameLocation":"64594:2:64","nodeType":"VariableDeclaration","scope":58761,"src":"64580:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58745,"name":"string","nodeType":"ElementaryTypeName","src":"64580:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64540:57:64"},"returnParameters":{"id":58748,"nodeType":"ParameterList","parameters":[],"src":"64612:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58784,"nodeType":"FunctionDefinition","src":"64726:181:64","nodes":[],"body":{"id":58783,"nodeType":"Block","src":"64801:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29","id":58775,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"64851:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},"value":"log(address,bool,string,bool)"},{"id":58776,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58763,"src":"64884:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58777,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58765,"src":"64888:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58778,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58767,"src":"64892:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58779,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58769,"src":"64896:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f","typeString":"literal_string \"log(address,bool,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58773,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"64827:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58774,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"64831:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"64827:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64827:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58772,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"64811:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"64811:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58782,"nodeType":"ExpressionStatement","src":"64811:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64735:3:64","parameters":{"id":58770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58763,"mutability":"mutable","name":"p0","nameLocation":"64747:2:64","nodeType":"VariableDeclaration","scope":58784,"src":"64739:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58762,"name":"address","nodeType":"ElementaryTypeName","src":"64739:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58765,"mutability":"mutable","name":"p1","nameLocation":"64756:2:64","nodeType":"VariableDeclaration","scope":58784,"src":"64751:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58764,"name":"bool","nodeType":"ElementaryTypeName","src":"64751:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58767,"mutability":"mutable","name":"p2","nameLocation":"64774:2:64","nodeType":"VariableDeclaration","scope":58784,"src":"64760:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58766,"name":"string","nodeType":"ElementaryTypeName","src":"64760:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58769,"mutability":"mutable","name":"p3","nameLocation":"64783:2:64","nodeType":"VariableDeclaration","scope":58784,"src":"64778:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58768,"name":"bool","nodeType":"ElementaryTypeName","src":"64778:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"64738:48:64"},"returnParameters":{"id":58771,"nodeType":"ParameterList","parameters":[],"src":"64801:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58807,"nodeType":"FunctionDefinition","src":"64913:187:64","nodes":[],"body":{"id":58806,"nodeType":"Block","src":"64991:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329","id":58798,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65041:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},"value":"log(address,bool,string,address)"},{"id":58799,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58786,"src":"65077:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58800,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58788,"src":"65081:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58801,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58790,"src":"65085:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":58802,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58792,"src":"65089:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc","typeString":"literal_string \"log(address,bool,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58796,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65017:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58797,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65021:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65017:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65017:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58795,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65001:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65001:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58805,"nodeType":"ExpressionStatement","src":"65001:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"64922:3:64","parameters":{"id":58793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58786,"mutability":"mutable","name":"p0","nameLocation":"64934:2:64","nodeType":"VariableDeclaration","scope":58807,"src":"64926:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58785,"name":"address","nodeType":"ElementaryTypeName","src":"64926:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58788,"mutability":"mutable","name":"p1","nameLocation":"64943:2:64","nodeType":"VariableDeclaration","scope":58807,"src":"64938:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58787,"name":"bool","nodeType":"ElementaryTypeName","src":"64938:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58790,"mutability":"mutable","name":"p2","nameLocation":"64961:2:64","nodeType":"VariableDeclaration","scope":58807,"src":"64947:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58789,"name":"string","nodeType":"ElementaryTypeName","src":"64947:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":58792,"mutability":"mutable","name":"p3","nameLocation":"64973:2:64","nodeType":"VariableDeclaration","scope":58807,"src":"64965:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58791,"name":"address","nodeType":"ElementaryTypeName","src":"64965:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"64925:51:64"},"returnParameters":{"id":58794,"nodeType":"ParameterList","parameters":[],"src":"64991:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58830,"nodeType":"FunctionDefinition","src":"65106:176:64","nodes":[],"body":{"id":58829,"nodeType":"Block","src":"65175:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7432353629","id":58821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65225:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},"value":"log(address,bool,bool,uint256)"},{"id":58822,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58809,"src":"65259:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58823,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58811,"src":"65263:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58824,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58813,"src":"65267:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58825,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58815,"src":"65271:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8c4e5de62881fec144fb423112f08d23c6aca116363a7b195024519470acf22e","typeString":"literal_string \"log(address,bool,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58819,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65201:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58820,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65205:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65201:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65201:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58818,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65185:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65185:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58828,"nodeType":"ExpressionStatement","src":"65185:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65115:3:64","parameters":{"id":58816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58809,"mutability":"mutable","name":"p0","nameLocation":"65127:2:64","nodeType":"VariableDeclaration","scope":58830,"src":"65119:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58808,"name":"address","nodeType":"ElementaryTypeName","src":"65119:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58811,"mutability":"mutable","name":"p1","nameLocation":"65136:2:64","nodeType":"VariableDeclaration","scope":58830,"src":"65131:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58810,"name":"bool","nodeType":"ElementaryTypeName","src":"65131:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58813,"mutability":"mutable","name":"p2","nameLocation":"65145:2:64","nodeType":"VariableDeclaration","scope":58830,"src":"65140:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58812,"name":"bool","nodeType":"ElementaryTypeName","src":"65140:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58815,"mutability":"mutable","name":"p3","nameLocation":"65157:2:64","nodeType":"VariableDeclaration","scope":58830,"src":"65149:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58814,"name":"uint256","nodeType":"ElementaryTypeName","src":"65149:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65118:42:64"},"returnParameters":{"id":58817,"nodeType":"ParameterList","parameters":[],"src":"65175:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58853,"nodeType":"FunctionDefinition","src":"65288:181:64","nodes":[],"body":{"id":58852,"nodeType":"Block","src":"65363:106:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729","id":58844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65413:31:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},"value":"log(address,bool,bool,string)"},{"id":58845,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58832,"src":"65446:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58846,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58834,"src":"65450:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58847,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58836,"src":"65454:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58848,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58838,"src":"65458:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300","typeString":"literal_string \"log(address,bool,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58842,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65389:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58843,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65393:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65389:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58849,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65389:72:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58841,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65373:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58850,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65373:89:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58851,"nodeType":"ExpressionStatement","src":"65373:89:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65297:3:64","parameters":{"id":58839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58832,"mutability":"mutable","name":"p0","nameLocation":"65309:2:64","nodeType":"VariableDeclaration","scope":58853,"src":"65301:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58831,"name":"address","nodeType":"ElementaryTypeName","src":"65301:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58834,"mutability":"mutable","name":"p1","nameLocation":"65318:2:64","nodeType":"VariableDeclaration","scope":58853,"src":"65313:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58833,"name":"bool","nodeType":"ElementaryTypeName","src":"65313:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58836,"mutability":"mutable","name":"p2","nameLocation":"65327:2:64","nodeType":"VariableDeclaration","scope":58853,"src":"65322:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58835,"name":"bool","nodeType":"ElementaryTypeName","src":"65322:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58838,"mutability":"mutable","name":"p3","nameLocation":"65345:2:64","nodeType":"VariableDeclaration","scope":58853,"src":"65331:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58837,"name":"string","nodeType":"ElementaryTypeName","src":"65331:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65300:48:64"},"returnParameters":{"id":58840,"nodeType":"ParameterList","parameters":[],"src":"65363:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58876,"nodeType":"FunctionDefinition","src":"65475:170:64","nodes":[],"body":{"id":58875,"nodeType":"Block","src":"65541:104:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29","id":58867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65591:29:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},"value":"log(address,bool,bool,bool)"},{"id":58868,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58855,"src":"65622:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58869,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58857,"src":"65626:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58870,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58859,"src":"65630:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58871,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58861,"src":"65634:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634","typeString":"literal_string \"log(address,bool,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58865,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65567:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65571:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65567:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58872,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65567:70:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58864,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65551:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65551:87:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58874,"nodeType":"ExpressionStatement","src":"65551:87:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65484:3:64","parameters":{"id":58862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58855,"mutability":"mutable","name":"p0","nameLocation":"65496:2:64","nodeType":"VariableDeclaration","scope":58876,"src":"65488:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58854,"name":"address","nodeType":"ElementaryTypeName","src":"65488:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58857,"mutability":"mutable","name":"p1","nameLocation":"65505:2:64","nodeType":"VariableDeclaration","scope":58876,"src":"65500:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58856,"name":"bool","nodeType":"ElementaryTypeName","src":"65500:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58859,"mutability":"mutable","name":"p2","nameLocation":"65514:2:64","nodeType":"VariableDeclaration","scope":58876,"src":"65509:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58858,"name":"bool","nodeType":"ElementaryTypeName","src":"65509:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58861,"mutability":"mutable","name":"p3","nameLocation":"65523:2:64","nodeType":"VariableDeclaration","scope":58876,"src":"65518:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58860,"name":"bool","nodeType":"ElementaryTypeName","src":"65518:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"65487:39:64"},"returnParameters":{"id":58863,"nodeType":"ParameterList","parameters":[],"src":"65541:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58899,"nodeType":"FunctionDefinition","src":"65651:176:64","nodes":[],"body":{"id":58898,"nodeType":"Block","src":"65720:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329","id":58890,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65770:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},"value":"log(address,bool,bool,address)"},{"id":58891,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58878,"src":"65804:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58892,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58880,"src":"65808:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58893,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58882,"src":"65812:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58894,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58884,"src":"65816:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953","typeString":"literal_string \"log(address,bool,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58888,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65746:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58889,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65750:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65746:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65746:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58887,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65730:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65730:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58897,"nodeType":"ExpressionStatement","src":"65730:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65660:3:64","parameters":{"id":58885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58878,"mutability":"mutable","name":"p0","nameLocation":"65672:2:64","nodeType":"VariableDeclaration","scope":58899,"src":"65664:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58877,"name":"address","nodeType":"ElementaryTypeName","src":"65664:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58880,"mutability":"mutable","name":"p1","nameLocation":"65681:2:64","nodeType":"VariableDeclaration","scope":58899,"src":"65676:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58879,"name":"bool","nodeType":"ElementaryTypeName","src":"65676:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58882,"mutability":"mutable","name":"p2","nameLocation":"65690:2:64","nodeType":"VariableDeclaration","scope":58899,"src":"65685:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58881,"name":"bool","nodeType":"ElementaryTypeName","src":"65685:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58884,"mutability":"mutable","name":"p3","nameLocation":"65702:2:64","nodeType":"VariableDeclaration","scope":58899,"src":"65694:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58883,"name":"address","nodeType":"ElementaryTypeName","src":"65694:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"65663:42:64"},"returnParameters":{"id":58886,"nodeType":"ParameterList","parameters":[],"src":"65720:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58922,"nodeType":"FunctionDefinition","src":"65833:182:64","nodes":[],"body":{"id":58921,"nodeType":"Block","src":"65905:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7432353629","id":58913,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"65955:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},"value":"log(address,bool,address,uint256)"},{"id":58914,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58901,"src":"65992:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58915,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58903,"src":"65996:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58916,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58905,"src":"66000:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58917,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58907,"src":"66004:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a75c59de36827f2596ade7bd79f668ae219518c12b79ebf06071586765c3e039","typeString":"literal_string \"log(address,bool,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":58911,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"65931:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58912,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"65935:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"65931:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58918,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65931:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58910,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"65915:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"65915:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58920,"nodeType":"ExpressionStatement","src":"65915:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"65842:3:64","parameters":{"id":58908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58901,"mutability":"mutable","name":"p0","nameLocation":"65854:2:64","nodeType":"VariableDeclaration","scope":58922,"src":"65846:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58900,"name":"address","nodeType":"ElementaryTypeName","src":"65846:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58903,"mutability":"mutable","name":"p1","nameLocation":"65863:2:64","nodeType":"VariableDeclaration","scope":58922,"src":"65858:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58902,"name":"bool","nodeType":"ElementaryTypeName","src":"65858:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58905,"mutability":"mutable","name":"p2","nameLocation":"65875:2:64","nodeType":"VariableDeclaration","scope":58922,"src":"65867:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58904,"name":"address","nodeType":"ElementaryTypeName","src":"65867:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58907,"mutability":"mutable","name":"p3","nameLocation":"65887:2:64","nodeType":"VariableDeclaration","scope":58922,"src":"65879:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58906,"name":"uint256","nodeType":"ElementaryTypeName","src":"65879:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"65845:45:64"},"returnParameters":{"id":58909,"nodeType":"ParameterList","parameters":[],"src":"65905:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58945,"nodeType":"FunctionDefinition","src":"66021:187:64","nodes":[],"body":{"id":58944,"nodeType":"Block","src":"66099:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729","id":58936,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66149:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},"value":"log(address,bool,address,string)"},{"id":58937,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58924,"src":"66185:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58938,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58926,"src":"66189:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58939,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58928,"src":"66193:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58940,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58930,"src":"66197:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453","typeString":"literal_string \"log(address,bool,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":58934,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66125:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58935,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66129:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66125:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66125:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58933,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"66109:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66109:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58943,"nodeType":"ExpressionStatement","src":"66109:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66030:3:64","parameters":{"id":58931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58924,"mutability":"mutable","name":"p0","nameLocation":"66042:2:64","nodeType":"VariableDeclaration","scope":58945,"src":"66034:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58923,"name":"address","nodeType":"ElementaryTypeName","src":"66034:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58926,"mutability":"mutable","name":"p1","nameLocation":"66051:2:64","nodeType":"VariableDeclaration","scope":58945,"src":"66046:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58925,"name":"bool","nodeType":"ElementaryTypeName","src":"66046:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58928,"mutability":"mutable","name":"p2","nameLocation":"66063:2:64","nodeType":"VariableDeclaration","scope":58945,"src":"66055:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58927,"name":"address","nodeType":"ElementaryTypeName","src":"66055:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58930,"mutability":"mutable","name":"p3","nameLocation":"66081:2:64","nodeType":"VariableDeclaration","scope":58945,"src":"66067:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":58929,"name":"string","nodeType":"ElementaryTypeName","src":"66067:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66033:51:64"},"returnParameters":{"id":58932,"nodeType":"ParameterList","parameters":[],"src":"66099:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58968,"nodeType":"FunctionDefinition","src":"66214:176:64","nodes":[],"body":{"id":58967,"nodeType":"Block","src":"66283:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29","id":58959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66333:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},"value":"log(address,bool,address,bool)"},{"id":58960,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58947,"src":"66367:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58961,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58949,"src":"66371:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58962,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58951,"src":"66375:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58963,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58953,"src":"66379:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1","typeString":"literal_string \"log(address,bool,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":58957,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66309:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58958,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66313:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66309:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58964,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66309:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58956,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"66293:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66293:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58966,"nodeType":"ExpressionStatement","src":"66293:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66223:3:64","parameters":{"id":58954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58947,"mutability":"mutable","name":"p0","nameLocation":"66235:2:64","nodeType":"VariableDeclaration","scope":58968,"src":"66227:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58946,"name":"address","nodeType":"ElementaryTypeName","src":"66227:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58949,"mutability":"mutable","name":"p1","nameLocation":"66244:2:64","nodeType":"VariableDeclaration","scope":58968,"src":"66239:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58948,"name":"bool","nodeType":"ElementaryTypeName","src":"66239:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58951,"mutability":"mutable","name":"p2","nameLocation":"66256:2:64","nodeType":"VariableDeclaration","scope":58968,"src":"66248:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58950,"name":"address","nodeType":"ElementaryTypeName","src":"66248:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58953,"mutability":"mutable","name":"p3","nameLocation":"66265:2:64","nodeType":"VariableDeclaration","scope":58968,"src":"66260:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58952,"name":"bool","nodeType":"ElementaryTypeName","src":"66260:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66226:42:64"},"returnParameters":{"id":58955,"nodeType":"ParameterList","parameters":[],"src":"66283:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":58991,"nodeType":"FunctionDefinition","src":"66396:182:64","nodes":[],"body":{"id":58990,"nodeType":"Block","src":"66468:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329","id":58982,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66518:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},"value":"log(address,bool,address,address)"},{"id":58983,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58970,"src":"66555:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58984,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58972,"src":"66559:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":58985,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58974,"src":"66563:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":58986,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58976,"src":"66567:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35","typeString":"literal_string \"log(address,bool,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":58980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66494:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":58981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66498:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66494:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":58987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66494:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":58979,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"66478:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":58988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66478:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":58989,"nodeType":"ExpressionStatement","src":"66478:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66405:3:64","parameters":{"id":58977,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58970,"mutability":"mutable","name":"p0","nameLocation":"66417:2:64","nodeType":"VariableDeclaration","scope":58991,"src":"66409:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58969,"name":"address","nodeType":"ElementaryTypeName","src":"66409:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58972,"mutability":"mutable","name":"p1","nameLocation":"66426:2:64","nodeType":"VariableDeclaration","scope":58991,"src":"66421:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":58971,"name":"bool","nodeType":"ElementaryTypeName","src":"66421:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":58974,"mutability":"mutable","name":"p2","nameLocation":"66438:2:64","nodeType":"VariableDeclaration","scope":58991,"src":"66430:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58973,"name":"address","nodeType":"ElementaryTypeName","src":"66430:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58976,"mutability":"mutable","name":"p3","nameLocation":"66450:2:64","nodeType":"VariableDeclaration","scope":58991,"src":"66442:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58975,"name":"address","nodeType":"ElementaryTypeName","src":"66442:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66408:45:64"},"returnParameters":{"id":58978,"nodeType":"ParameterList","parameters":[],"src":"66468:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59014,"nodeType":"FunctionDefinition","src":"66584:188:64","nodes":[],"body":{"id":59013,"nodeType":"Block","src":"66659:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c75696e7432353629","id":59005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66709:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},"value":"log(address,address,uint256,uint256)"},{"id":59006,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58993,"src":"66749:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59007,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58995,"src":"66753:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59008,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58997,"src":"66757:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59009,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58999,"src":"66761:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_be55348107f27daf63b48e87ab23840f2cbf20bdfa1dd4b92b4c2b337967fa25","typeString":"literal_string \"log(address,address,uint256,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59003,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66685:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59004,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66689:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66685:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66685:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59002,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"66669:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66669:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59012,"nodeType":"ExpressionStatement","src":"66669:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66593:3:64","parameters":{"id":59000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":58993,"mutability":"mutable","name":"p0","nameLocation":"66605:2:64","nodeType":"VariableDeclaration","scope":59014,"src":"66597:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58992,"name":"address","nodeType":"ElementaryTypeName","src":"66597:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58995,"mutability":"mutable","name":"p1","nameLocation":"66617:2:64","nodeType":"VariableDeclaration","scope":59014,"src":"66609:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58994,"name":"address","nodeType":"ElementaryTypeName","src":"66609:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":58997,"mutability":"mutable","name":"p2","nameLocation":"66629:2:64","nodeType":"VariableDeclaration","scope":59014,"src":"66621:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58996,"name":"uint256","nodeType":"ElementaryTypeName","src":"66621:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":58999,"mutability":"mutable","name":"p3","nameLocation":"66641:2:64","nodeType":"VariableDeclaration","scope":59014,"src":"66633:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":58998,"name":"uint256","nodeType":"ElementaryTypeName","src":"66633:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"66596:48:64"},"returnParameters":{"id":59001,"nodeType":"ParameterList","parameters":[],"src":"66659:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59037,"nodeType":"FunctionDefinition","src":"66778:193:64","nodes":[],"body":{"id":59036,"nodeType":"Block","src":"66859:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c737472696e6729","id":59028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"66909:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},"value":"log(address,address,uint256,string)"},{"id":59029,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59016,"src":"66948:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59030,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59018,"src":"66952:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59031,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59020,"src":"66956:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59032,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59022,"src":"66960:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fdb4f99053c71d9229026b69fabc5567b4324649a228ca0935bada4975f57343","typeString":"literal_string \"log(address,address,uint256,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59026,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"66885:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59027,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"66889:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"66885:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66885:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59025,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"66869:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"66869:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59035,"nodeType":"ExpressionStatement","src":"66869:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66787:3:64","parameters":{"id":59023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59016,"mutability":"mutable","name":"p0","nameLocation":"66799:2:64","nodeType":"VariableDeclaration","scope":59037,"src":"66791:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59015,"name":"address","nodeType":"ElementaryTypeName","src":"66791:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59018,"mutability":"mutable","name":"p1","nameLocation":"66811:2:64","nodeType":"VariableDeclaration","scope":59037,"src":"66803:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59017,"name":"address","nodeType":"ElementaryTypeName","src":"66803:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59020,"mutability":"mutable","name":"p2","nameLocation":"66823:2:64","nodeType":"VariableDeclaration","scope":59037,"src":"66815:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59019,"name":"uint256","nodeType":"ElementaryTypeName","src":"66815:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59022,"mutability":"mutable","name":"p3","nameLocation":"66841:2:64","nodeType":"VariableDeclaration","scope":59037,"src":"66827:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59021,"name":"string","nodeType":"ElementaryTypeName","src":"66827:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66790:54:64"},"returnParameters":{"id":59024,"nodeType":"ParameterList","parameters":[],"src":"66859:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59060,"nodeType":"FunctionDefinition","src":"66977:182:64","nodes":[],"body":{"id":59059,"nodeType":"Block","src":"67049:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c626f6f6c29","id":59051,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67099:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},"value":"log(address,address,uint256,bool)"},{"id":59052,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59039,"src":"67136:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59053,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59041,"src":"67140:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59054,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59043,"src":"67144:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59055,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59045,"src":"67148:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b4254e23753cb4c7d637e38638d109b03aeabf8705961d18d943c5bfa6672cd","typeString":"literal_string \"log(address,address,uint256,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59049,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67075:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59050,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67079:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67075:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59056,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67075:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59048,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"67059:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67059:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59058,"nodeType":"ExpressionStatement","src":"67059:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"66986:3:64","parameters":{"id":59046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59039,"mutability":"mutable","name":"p0","nameLocation":"66998:2:64","nodeType":"VariableDeclaration","scope":59060,"src":"66990:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59038,"name":"address","nodeType":"ElementaryTypeName","src":"66990:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59041,"mutability":"mutable","name":"p1","nameLocation":"67010:2:64","nodeType":"VariableDeclaration","scope":59060,"src":"67002:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59040,"name":"address","nodeType":"ElementaryTypeName","src":"67002:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59043,"mutability":"mutable","name":"p2","nameLocation":"67022:2:64","nodeType":"VariableDeclaration","scope":59060,"src":"67014:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59042,"name":"uint256","nodeType":"ElementaryTypeName","src":"67014:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59045,"mutability":"mutable","name":"p3","nameLocation":"67031:2:64","nodeType":"VariableDeclaration","scope":59060,"src":"67026:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59044,"name":"bool","nodeType":"ElementaryTypeName","src":"67026:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"66989:45:64"},"returnParameters":{"id":59047,"nodeType":"ParameterList","parameters":[],"src":"67049:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59083,"nodeType":"FunctionDefinition","src":"67165:188:64","nodes":[],"body":{"id":59082,"nodeType":"Block","src":"67240:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c75696e743235362c6164647265737329","id":59074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67290:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},"value":"log(address,address,uint256,address)"},{"id":59075,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59062,"src":"67330:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59076,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59064,"src":"67334:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59077,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59066,"src":"67338:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":59078,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59068,"src":"67342:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8da6def55c582f2ce59d561e896a66e570478eda5169747a6ea3575cfa60d28b","typeString":"literal_string \"log(address,address,uint256,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59072,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67266:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59073,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67270:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67266:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67266:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59071,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"67250:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67250:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59081,"nodeType":"ExpressionStatement","src":"67250:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67174:3:64","parameters":{"id":59069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59062,"mutability":"mutable","name":"p0","nameLocation":"67186:2:64","nodeType":"VariableDeclaration","scope":59083,"src":"67178:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59061,"name":"address","nodeType":"ElementaryTypeName","src":"67178:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59064,"mutability":"mutable","name":"p1","nameLocation":"67198:2:64","nodeType":"VariableDeclaration","scope":59083,"src":"67190:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59063,"name":"address","nodeType":"ElementaryTypeName","src":"67190:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59066,"mutability":"mutable","name":"p2","nameLocation":"67210:2:64","nodeType":"VariableDeclaration","scope":59083,"src":"67202:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59065,"name":"uint256","nodeType":"ElementaryTypeName","src":"67202:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":59068,"mutability":"mutable","name":"p3","nameLocation":"67222:2:64","nodeType":"VariableDeclaration","scope":59083,"src":"67214:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59067,"name":"address","nodeType":"ElementaryTypeName","src":"67214:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67177:48:64"},"returnParameters":{"id":59070,"nodeType":"ParameterList","parameters":[],"src":"67240:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59106,"nodeType":"FunctionDefinition","src":"67359:193:64","nodes":[],"body":{"id":59105,"nodeType":"Block","src":"67440:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c75696e7432353629","id":59097,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67490:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},"value":"log(address,address,string,uint256)"},{"id":59098,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59085,"src":"67529:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59099,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59087,"src":"67533:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59100,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59089,"src":"67537:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59101,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59091,"src":"67541:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ef1cefe7e092dcc5b0ed6bc72a78756f9c352fc002139efb9b181c734d5d45d5","typeString":"literal_string \"log(address,address,string,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59095,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67466:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59096,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67470:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67466:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59102,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67466:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59094,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"67450:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67450:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59104,"nodeType":"ExpressionStatement","src":"67450:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67368:3:64","parameters":{"id":59092,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59085,"mutability":"mutable","name":"p0","nameLocation":"67380:2:64","nodeType":"VariableDeclaration","scope":59106,"src":"67372:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59084,"name":"address","nodeType":"ElementaryTypeName","src":"67372:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59087,"mutability":"mutable","name":"p1","nameLocation":"67392:2:64","nodeType":"VariableDeclaration","scope":59106,"src":"67384:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59086,"name":"address","nodeType":"ElementaryTypeName","src":"67384:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59089,"mutability":"mutable","name":"p2","nameLocation":"67410:2:64","nodeType":"VariableDeclaration","scope":59106,"src":"67396:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59088,"name":"string","nodeType":"ElementaryTypeName","src":"67396:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59091,"mutability":"mutable","name":"p3","nameLocation":"67422:2:64","nodeType":"VariableDeclaration","scope":59106,"src":"67414:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59090,"name":"uint256","nodeType":"ElementaryTypeName","src":"67414:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"67371:54:64"},"returnParameters":{"id":59093,"nodeType":"ParameterList","parameters":[],"src":"67440:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59129,"nodeType":"FunctionDefinition","src":"67558:198:64","nodes":[],"body":{"id":59128,"nodeType":"Block","src":"67645:111:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729","id":59120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67695:36:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},"value":"log(address,address,string,string)"},{"id":59121,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59108,"src":"67733:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59122,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59110,"src":"67737:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59123,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59112,"src":"67741:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59124,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59114,"src":"67745:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1","typeString":"literal_string \"log(address,address,string,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59118,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67671:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59119,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67675:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67671:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59125,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67671:77:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59117,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"67655:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67655:94:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59127,"nodeType":"ExpressionStatement","src":"67655:94:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67567:3:64","parameters":{"id":59115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59108,"mutability":"mutable","name":"p0","nameLocation":"67579:2:64","nodeType":"VariableDeclaration","scope":59129,"src":"67571:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59107,"name":"address","nodeType":"ElementaryTypeName","src":"67571:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59110,"mutability":"mutable","name":"p1","nameLocation":"67591:2:64","nodeType":"VariableDeclaration","scope":59129,"src":"67583:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59109,"name":"address","nodeType":"ElementaryTypeName","src":"67583:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59112,"mutability":"mutable","name":"p2","nameLocation":"67609:2:64","nodeType":"VariableDeclaration","scope":59129,"src":"67595:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59111,"name":"string","nodeType":"ElementaryTypeName","src":"67595:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59114,"mutability":"mutable","name":"p3","nameLocation":"67627:2:64","nodeType":"VariableDeclaration","scope":59129,"src":"67613:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59113,"name":"string","nodeType":"ElementaryTypeName","src":"67613:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67570:60:64"},"returnParameters":{"id":59116,"nodeType":"ParameterList","parameters":[],"src":"67645:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59152,"nodeType":"FunctionDefinition","src":"67762:187:64","nodes":[],"body":{"id":59151,"nodeType":"Block","src":"67840:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29","id":59143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"67890:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},"value":"log(address,address,string,bool)"},{"id":59144,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59131,"src":"67926:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59145,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59133,"src":"67930:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59146,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59135,"src":"67934:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59147,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59137,"src":"67938:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd","typeString":"literal_string \"log(address,address,string,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59141,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"67866:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59142,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"67870:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"67866:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67866:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59140,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"67850:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59149,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"67850:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59150,"nodeType":"ExpressionStatement","src":"67850:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67771:3:64","parameters":{"id":59138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59131,"mutability":"mutable","name":"p0","nameLocation":"67783:2:64","nodeType":"VariableDeclaration","scope":59152,"src":"67775:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59130,"name":"address","nodeType":"ElementaryTypeName","src":"67775:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59133,"mutability":"mutable","name":"p1","nameLocation":"67795:2:64","nodeType":"VariableDeclaration","scope":59152,"src":"67787:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59132,"name":"address","nodeType":"ElementaryTypeName","src":"67787:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59135,"mutability":"mutable","name":"p2","nameLocation":"67813:2:64","nodeType":"VariableDeclaration","scope":59152,"src":"67799:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59134,"name":"string","nodeType":"ElementaryTypeName","src":"67799:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59137,"mutability":"mutable","name":"p3","nameLocation":"67822:2:64","nodeType":"VariableDeclaration","scope":59152,"src":"67817:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59136,"name":"bool","nodeType":"ElementaryTypeName","src":"67817:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67774:51:64"},"returnParameters":{"id":59139,"nodeType":"ParameterList","parameters":[],"src":"67840:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59175,"nodeType":"FunctionDefinition","src":"67955:193:64","nodes":[],"body":{"id":59174,"nodeType":"Block","src":"68036:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329","id":59166,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68086:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},"value":"log(address,address,string,address)"},{"id":59167,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59154,"src":"68125:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59168,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59156,"src":"68129:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59169,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59158,"src":"68133:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":59170,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59160,"src":"68137:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687","typeString":"literal_string \"log(address,address,string,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59164,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68062:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59165,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68066:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68062:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68062:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59163,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68046:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59172,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68046:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59173,"nodeType":"ExpressionStatement","src":"68046:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"67964:3:64","parameters":{"id":59161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59154,"mutability":"mutable","name":"p0","nameLocation":"67976:2:64","nodeType":"VariableDeclaration","scope":59175,"src":"67968:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59153,"name":"address","nodeType":"ElementaryTypeName","src":"67968:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59156,"mutability":"mutable","name":"p1","nameLocation":"67988:2:64","nodeType":"VariableDeclaration","scope":59175,"src":"67980:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59155,"name":"address","nodeType":"ElementaryTypeName","src":"67980:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59158,"mutability":"mutable","name":"p2","nameLocation":"68006:2:64","nodeType":"VariableDeclaration","scope":59175,"src":"67992:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59157,"name":"string","nodeType":"ElementaryTypeName","src":"67992:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":59160,"mutability":"mutable","name":"p3","nameLocation":"68018:2:64","nodeType":"VariableDeclaration","scope":59175,"src":"68010:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59159,"name":"address","nodeType":"ElementaryTypeName","src":"68010:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"67967:54:64"},"returnParameters":{"id":59162,"nodeType":"ParameterList","parameters":[],"src":"68036:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59198,"nodeType":"FunctionDefinition","src":"68154:182:64","nodes":[],"body":{"id":59197,"nodeType":"Block","src":"68226:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7432353629","id":59189,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68276:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},"value":"log(address,address,bool,uint256)"},{"id":59190,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59177,"src":"68313:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59191,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59179,"src":"68317:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59192,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59181,"src":"68321:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":59193,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59183,"src":"68325:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3971e78c267e3c99a8d143ab93f96daa498ed164b55c7e4c2a5439320fbc2671","typeString":"literal_string \"log(address,address,bool,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59187,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68252:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59188,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68256:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68252:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59194,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68252:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59186,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68236:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68236:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59196,"nodeType":"ExpressionStatement","src":"68236:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68163:3:64","parameters":{"id":59184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59177,"mutability":"mutable","name":"p0","nameLocation":"68175:2:64","nodeType":"VariableDeclaration","scope":59198,"src":"68167:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59176,"name":"address","nodeType":"ElementaryTypeName","src":"68167:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59179,"mutability":"mutable","name":"p1","nameLocation":"68187:2:64","nodeType":"VariableDeclaration","scope":59198,"src":"68179:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59178,"name":"address","nodeType":"ElementaryTypeName","src":"68179:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59181,"mutability":"mutable","name":"p2","nameLocation":"68196:2:64","nodeType":"VariableDeclaration","scope":59198,"src":"68191:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59180,"name":"bool","nodeType":"ElementaryTypeName","src":"68191:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":59183,"mutability":"mutable","name":"p3","nameLocation":"68208:2:64","nodeType":"VariableDeclaration","scope":59198,"src":"68200:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59182,"name":"uint256","nodeType":"ElementaryTypeName","src":"68200:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68166:45:64"},"returnParameters":{"id":59185,"nodeType":"ParameterList","parameters":[],"src":"68226:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59221,"nodeType":"FunctionDefinition","src":"68342:187:64","nodes":[],"body":{"id":59220,"nodeType":"Block","src":"68420:109:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729","id":59212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68470:34:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},"value":"log(address,address,bool,string)"},{"id":59213,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59200,"src":"68506:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59214,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59202,"src":"68510:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59215,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59204,"src":"68514:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":59216,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59206,"src":"68518:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88","typeString":"literal_string \"log(address,address,bool,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59210,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68446:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59211,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68450:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68446:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68446:75:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59209,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68430:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68430:92:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59219,"nodeType":"ExpressionStatement","src":"68430:92:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68351:3:64","parameters":{"id":59207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59200,"mutability":"mutable","name":"p0","nameLocation":"68363:2:64","nodeType":"VariableDeclaration","scope":59221,"src":"68355:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59199,"name":"address","nodeType":"ElementaryTypeName","src":"68355:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59202,"mutability":"mutable","name":"p1","nameLocation":"68375:2:64","nodeType":"VariableDeclaration","scope":59221,"src":"68367:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59201,"name":"address","nodeType":"ElementaryTypeName","src":"68367:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59204,"mutability":"mutable","name":"p2","nameLocation":"68384:2:64","nodeType":"VariableDeclaration","scope":59221,"src":"68379:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59203,"name":"bool","nodeType":"ElementaryTypeName","src":"68379:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":59206,"mutability":"mutable","name":"p3","nameLocation":"68402:2:64","nodeType":"VariableDeclaration","scope":59221,"src":"68388:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59205,"name":"string","nodeType":"ElementaryTypeName","src":"68388:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68354:51:64"},"returnParameters":{"id":59208,"nodeType":"ParameterList","parameters":[],"src":"68420:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59244,"nodeType":"FunctionDefinition","src":"68535:176:64","nodes":[],"body":{"id":59243,"nodeType":"Block","src":"68604:107:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29","id":59235,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68654:32:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},"value":"log(address,address,bool,bool)"},{"id":59236,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59223,"src":"68688:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59237,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59225,"src":"68692:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59238,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59227,"src":"68696:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":59239,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59229,"src":"68700:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65","typeString":"literal_string \"log(address,address,bool,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59233,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68630:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59234,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68634:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68630:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68630:73:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59232,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68614:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68614:90:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59242,"nodeType":"ExpressionStatement","src":"68614:90:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68544:3:64","parameters":{"id":59230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59223,"mutability":"mutable","name":"p0","nameLocation":"68556:2:64","nodeType":"VariableDeclaration","scope":59244,"src":"68548:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59222,"name":"address","nodeType":"ElementaryTypeName","src":"68548:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59225,"mutability":"mutable","name":"p1","nameLocation":"68568:2:64","nodeType":"VariableDeclaration","scope":59244,"src":"68560:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59224,"name":"address","nodeType":"ElementaryTypeName","src":"68560:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59227,"mutability":"mutable","name":"p2","nameLocation":"68577:2:64","nodeType":"VariableDeclaration","scope":59244,"src":"68572:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59226,"name":"bool","nodeType":"ElementaryTypeName","src":"68572:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":59229,"mutability":"mutable","name":"p3","nameLocation":"68586:2:64","nodeType":"VariableDeclaration","scope":59244,"src":"68581:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59228,"name":"bool","nodeType":"ElementaryTypeName","src":"68581:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68547:42:64"},"returnParameters":{"id":59231,"nodeType":"ParameterList","parameters":[],"src":"68604:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59267,"nodeType":"FunctionDefinition","src":"68717:182:64","nodes":[],"body":{"id":59266,"nodeType":"Block","src":"68789:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329","id":59258,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"68839:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},"value":"log(address,address,bool,address)"},{"id":59259,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59246,"src":"68876:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59260,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59248,"src":"68880:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59261,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59250,"src":"68884:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"id":59262,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59252,"src":"68888:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c","typeString":"literal_string \"log(address,address,bool,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59256,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"68815:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59257,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"68819:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"68815:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59263,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68815:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59255,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68799:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68799:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59265,"nodeType":"ExpressionStatement","src":"68799:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68726:3:64","parameters":{"id":59253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59246,"mutability":"mutable","name":"p0","nameLocation":"68738:2:64","nodeType":"VariableDeclaration","scope":59267,"src":"68730:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59245,"name":"address","nodeType":"ElementaryTypeName","src":"68730:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59248,"mutability":"mutable","name":"p1","nameLocation":"68750:2:64","nodeType":"VariableDeclaration","scope":59267,"src":"68742:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59247,"name":"address","nodeType":"ElementaryTypeName","src":"68742:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59250,"mutability":"mutable","name":"p2","nameLocation":"68759:2:64","nodeType":"VariableDeclaration","scope":59267,"src":"68754:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59249,"name":"bool","nodeType":"ElementaryTypeName","src":"68754:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":59252,"mutability":"mutable","name":"p3","nameLocation":"68771:2:64","nodeType":"VariableDeclaration","scope":59267,"src":"68763:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59251,"name":"address","nodeType":"ElementaryTypeName","src":"68763:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68729:45:64"},"returnParameters":{"id":59254,"nodeType":"ParameterList","parameters":[],"src":"68789:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59290,"nodeType":"FunctionDefinition","src":"68905:188:64","nodes":[],"body":{"id":59289,"nodeType":"Block","src":"68980:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c75696e7432353629","id":59281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69030:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},"value":"log(address,address,address,uint256)"},{"id":59282,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59269,"src":"69070:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59283,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59271,"src":"69074:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59284,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59273,"src":"69078:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59285,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59275,"src":"69082:2:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_94250d77556167cb7a7fd3eb9433101f8af8848163edfced0c46147ba10a2577","typeString":"literal_string \"log(address,address,address,uint256)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":59279,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69006:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69010:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69006:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69006:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59278,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"68990:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"68990:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59288,"nodeType":"ExpressionStatement","src":"68990:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"68914:3:64","parameters":{"id":59276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59269,"mutability":"mutable","name":"p0","nameLocation":"68926:2:64","nodeType":"VariableDeclaration","scope":59290,"src":"68918:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59268,"name":"address","nodeType":"ElementaryTypeName","src":"68918:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59271,"mutability":"mutable","name":"p1","nameLocation":"68938:2:64","nodeType":"VariableDeclaration","scope":59290,"src":"68930:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59270,"name":"address","nodeType":"ElementaryTypeName","src":"68930:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59273,"mutability":"mutable","name":"p2","nameLocation":"68950:2:64","nodeType":"VariableDeclaration","scope":59290,"src":"68942:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59272,"name":"address","nodeType":"ElementaryTypeName","src":"68942:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59275,"mutability":"mutable","name":"p3","nameLocation":"68962:2:64","nodeType":"VariableDeclaration","scope":59290,"src":"68954:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":59274,"name":"uint256","nodeType":"ElementaryTypeName","src":"68954:7:64","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68917:48:64"},"returnParameters":{"id":59277,"nodeType":"ParameterList","parameters":[],"src":"68980:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59313,"nodeType":"FunctionDefinition","src":"69099:193:64","nodes":[],"body":{"id":59312,"nodeType":"Block","src":"69180:112:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729","id":59304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69230:37:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},"value":"log(address,address,address,string)"},{"id":59305,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59292,"src":"69269:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59306,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59294,"src":"69273:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59307,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59296,"src":"69277:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59308,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59298,"src":"69281:2:64","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025","typeString":"literal_string \"log(address,address,address,string)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":59302,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69206:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59303,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69210:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69206:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69206:78:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59301,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"69190:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69190:95:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59311,"nodeType":"ExpressionStatement","src":"69190:95:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69108:3:64","parameters":{"id":59299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59292,"mutability":"mutable","name":"p0","nameLocation":"69120:2:64","nodeType":"VariableDeclaration","scope":59313,"src":"69112:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59291,"name":"address","nodeType":"ElementaryTypeName","src":"69112:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59294,"mutability":"mutable","name":"p1","nameLocation":"69132:2:64","nodeType":"VariableDeclaration","scope":59313,"src":"69124:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59293,"name":"address","nodeType":"ElementaryTypeName","src":"69124:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59296,"mutability":"mutable","name":"p2","nameLocation":"69144:2:64","nodeType":"VariableDeclaration","scope":59313,"src":"69136:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59295,"name":"address","nodeType":"ElementaryTypeName","src":"69136:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59298,"mutability":"mutable","name":"p3","nameLocation":"69162:2:64","nodeType":"VariableDeclaration","scope":59313,"src":"69148:16:64","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":59297,"name":"string","nodeType":"ElementaryTypeName","src":"69148:6:64","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69111:54:64"},"returnParameters":{"id":59300,"nodeType":"ParameterList","parameters":[],"src":"69180:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59336,"nodeType":"FunctionDefinition","src":"69298:182:64","nodes":[],"body":{"id":59335,"nodeType":"Block","src":"69370:110:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29","id":59327,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69420:35:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},"value":"log(address,address,address,bool)"},{"id":59328,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59315,"src":"69457:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59329,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59317,"src":"69461:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59330,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59319,"src":"69465:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59331,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59321,"src":"69469:2:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb","typeString":"literal_string \"log(address,address,address,bool)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":59325,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69396:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59326,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69400:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69396:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69396:76:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59324,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"69380:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69380:93:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59334,"nodeType":"ExpressionStatement","src":"69380:93:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69307:3:64","parameters":{"id":59322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59315,"mutability":"mutable","name":"p0","nameLocation":"69319:2:64","nodeType":"VariableDeclaration","scope":59336,"src":"69311:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59314,"name":"address","nodeType":"ElementaryTypeName","src":"69311:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59317,"mutability":"mutable","name":"p1","nameLocation":"69331:2:64","nodeType":"VariableDeclaration","scope":59336,"src":"69323:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59316,"name":"address","nodeType":"ElementaryTypeName","src":"69323:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59319,"mutability":"mutable","name":"p2","nameLocation":"69343:2:64","nodeType":"VariableDeclaration","scope":59336,"src":"69335:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59318,"name":"address","nodeType":"ElementaryTypeName","src":"69335:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59321,"mutability":"mutable","name":"p3","nameLocation":"69352:2:64","nodeType":"VariableDeclaration","scope":59336,"src":"69347:7:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":59320,"name":"bool","nodeType":"ElementaryTypeName","src":"69347:4:64","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69310:45:64"},"returnParameters":{"id":59323,"nodeType":"ParameterList","parameters":[],"src":"69370:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":59359,"nodeType":"FunctionDefinition","src":"69486:188:64","nodes":[],"body":{"id":59358,"nodeType":"Block","src":"69561:113:64","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"hexValue":"6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329","id":59350,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"69611:38:64","typeDescriptions":{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},"value":"log(address,address,address,address)"},{"id":59351,"name":"p0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59338,"src":"69651:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59352,"name":"p1","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59340,"src":"69655:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59353,"name":"p2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59342,"src":"69659:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":59354,"name":"p3","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59344,"src":"69663:2:64","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5","typeString":"literal_string \"log(address,address,address,address)\""},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":59348,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"69587:3:64","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":59349,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"69591:19:64","memberName":"encodeWithSignature","nodeType":"MemberAccess","src":"69587:23:64","typeDescriptions":{"typeIdentifier":"t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$","typeString":"function (string memory) pure returns (bytes memory)"}},"id":59355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69587:79:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":59347,"name":"_sendLogPayload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51273,"src":"69571:15:64","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) pure"}},"id":59356,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"69571:96:64","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":59357,"nodeType":"ExpressionStatement","src":"69571:96:64"}]},"implemented":true,"kind":"function","modifiers":[],"name":"log","nameLocation":"69495:3:64","parameters":{"id":59345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59338,"mutability":"mutable","name":"p0","nameLocation":"69507:2:64","nodeType":"VariableDeclaration","scope":59359,"src":"69499:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59337,"name":"address","nodeType":"ElementaryTypeName","src":"69499:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59340,"mutability":"mutable","name":"p1","nameLocation":"69519:2:64","nodeType":"VariableDeclaration","scope":59359,"src":"69511:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59339,"name":"address","nodeType":"ElementaryTypeName","src":"69511:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59342,"mutability":"mutable","name":"p2","nameLocation":"69531:2:64","nodeType":"VariableDeclaration","scope":59359,"src":"69523:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59341,"name":"address","nodeType":"ElementaryTypeName","src":"69523:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":59344,"mutability":"mutable","name":"p3","nameLocation":"69543:2:64","nodeType":"VariableDeclaration","scope":59359,"src":"69535:10:64","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":59343,"name":"address","nodeType":"ElementaryTypeName","src":"69535:7:64","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"69498:48:64"},"returnParameters":{"id":59346,"nodeType":"ParameterList","parameters":[],"src":"69561:0:64"},"scope":59360,"stateMutability":"pure","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"console2","contractDependencies":[],"contractKind":"library","documentation":{"id":51238,"nodeType":"StructuredDocumentation","src":"66:459:64","text":"@dev The original console.sol uses `int` and `uint` for computing function selectors, but it should\n use `int256` and `uint256`. This modified version fixes that. This version is recommended\n over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in\n forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`.\n Reference: https://github.com/NomicFoundation/hardhat/issues/2178"},"fullyImplemented":true,"linearizedBaseContracts":[59360],"name":"console2","nameLocation":"533:8:64","scope":59361,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":64} \ No newline at end of file +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220344cfea682f468301221593c1b8229321664febb0b557fc7756654f19900eca964736f6c63430008170033","sourceMap":"525:69152:64:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;525:69152:64;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220344cfea682f468301221593c1b8229321664febb0b557fc7756654f19900eca964736f6c63430008170033","sourceMap":"525:69152:64:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"The original console.sol uses `int` and `uint` for computing function selectors, but it should use `int256` and `uint256`. This modified version fixes that. This version is recommended over `console.sol` if you don't need compatibility with Hardhat as the logs will show up in forge stack traces. If you do need compatibility with Hardhat, you must use `console.sol`. Reference: https://github.com/NomicFoundation/hardhat/issues/2178\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/console2.sol":"console2"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"}},"version":1},"id":64} \ No newline at end of file diff --git a/out/test.sol/DSTest.json b/out/test.sol/DSTest.json index b1d4c7a2..a7c8ac08 100644 --- a/out/test.sol/DSTest.json +++ b/out/test.sol/DSTest.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061024e8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212203a883acc79731e765d537cfb224dce30d4d21a3a5833f880b1f3508d089f92e964736f6c63430008170033","sourceMap":"715:19781:48:-:0;;;1572:26;;;-1:-1:-1;;1572:26:48;1594:4;1572:26;;;715:19781;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212203a883acc79731e765d537cfb224dce30d4d21a3a5833f880b1f3508d089f92e964736f6c63430008170033","sourceMap":"715:19781:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:197;;172:22;154:41;;142:2;127:18;1819:584:48;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:51:197;;;-1:-1:-1;;;447:18:197;;;440:34;2196:43:48;;;;;;;;;353:18:197;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;485:322:197:-;526:3;564:5;558:12;588:1;598:128;612:6;609:1;606:13;598:128;;;709:4;694:13;;;690:24;;684:31;671:11;;;664:52;627:12;598:128;;;-1:-1:-1;781:1:197;745:16;;770:13;;;-1:-1:-1;745:16:197;;485:322;-1:-1:-1;485:322:197:o;812:278::-;-1:-1:-1;;;;;;997:33:197;;985:46;;967:3;1047:37;1081:1;1072:11;;1064:6;1047:37;:::i;:::-;1040:44;812:278;-1:-1:-1;;;;812:278:197:o;1095:189::-;1224:3;1249:29;1274:3;1266:6;1249:29;:::i;:::-;1242:36;1095:189;-1:-1:-1;;;1095:189:197:o;1289:277::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1457:9;1451:16;1510:5;1503:13;1496:21;1489:5;1486:32;1476:60;;1532:1;1529;1522:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/lib/ds-test/src/test.sol":"DSTest"},"libraries":{}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"}},"version":1},"ast":{"absolutePath":"lib/forge-std/lib/ds-test/src/test.sol","id":31972,"exportedSymbols":{"DSTest":[31971]},"nodeType":"SourceUnit","src":"689:19808:48","nodes":[{"id":29681,"nodeType":"PragmaDirective","src":"689:24:48","nodes":[],"literals":["solidity",">=","0.5",".0"]},{"id":31971,"nodeType":"ContractDefinition","src":"715:19781:48","nodes":[{"id":29685,"nodeType":"EventDefinition","src":"737:38:48","nodes":[],"anonymous":false,"eventSelector":"41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50","name":"log","nameLocation":"743:3:48","parameters":{"id":29684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29683,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29685,"src":"767:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29682,"name":"string","nodeType":"ElementaryTypeName","src":"767:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"766:8:48"}},{"id":29689,"nodeType":"EventDefinition","src":"780:37:48","nodes":[],"anonymous":false,"eventSelector":"e7950ede0394b9f2ce4a5a1bf5a7e1852411f7e6661b4308c913c4bfd11027e4","name":"logs","nameLocation":"786:4:48","parameters":{"id":29688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29687,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29689,"src":"810:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29686,"name":"bytes","nodeType":"ElementaryTypeName","src":"810:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"809:7:48"}},{"id":29693,"nodeType":"EventDefinition","src":"823:39:48","nodes":[],"anonymous":false,"eventSelector":"7ae74c527414ae135fd97047b12921a5ec3911b804197855d67e25c7b75ee6f3","name":"log_address","nameLocation":"829:11:48","parameters":{"id":29692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29691,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29693,"src":"853:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29690,"name":"address","nodeType":"ElementaryTypeName","src":"853:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"852:9:48"}},{"id":29697,"nodeType":"EventDefinition","src":"867:39:48","nodes":[],"anonymous":false,"eventSelector":"e81699b85113eea1c73e10588b2b035e55893369632173afd43feb192fac64e3","name":"log_bytes32","nameLocation":"873:11:48","parameters":{"id":29696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29695,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29697,"src":"897:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"897:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"896:9:48"}},{"id":29701,"nodeType":"EventDefinition","src":"911:35:48","nodes":[],"anonymous":false,"eventSelector":"0eb5d52624c8d28ada9fc55a8c502ed5aa3fbe2fb6e91b71b5f376882b1d2fb8","name":"log_int","nameLocation":"917:7:48","parameters":{"id":29700,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29699,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29701,"src":"941:3:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":29698,"name":"int","nodeType":"ElementaryTypeName","src":"941:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"940:5:48"}},{"id":29705,"nodeType":"EventDefinition","src":"951:36:48","nodes":[],"anonymous":false,"eventSelector":"2cab9790510fd8bdfbd2115288db33fec66691d476efc5427cfd4c0969301755","name":"log_uint","nameLocation":"957:8:48","parameters":{"id":29704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29703,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29705,"src":"981:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29702,"name":"uint","nodeType":"ElementaryTypeName","src":"981:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"980:6:48"}},{"id":29709,"nodeType":"EventDefinition","src":"992:37:48","nodes":[],"anonymous":false,"eventSelector":"23b62ad0584d24a75f0bf3560391ef5659ec6db1269c56e11aa241d637f19b20","name":"log_bytes","nameLocation":"998:9:48","parameters":{"id":29708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29707,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29709,"src":"1022:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29706,"name":"bytes","nodeType":"ElementaryTypeName","src":"1022:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1021:7:48"}},{"id":29713,"nodeType":"EventDefinition","src":"1034:38:48","nodes":[],"anonymous":false,"eventSelector":"0b2e13ff20ac7b474198655583edf70dedd2c1dc980e329c4fbb2fc0748b796b","name":"log_string","nameLocation":"1040:10:48","parameters":{"id":29712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29711,"indexed":false,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29713,"src":"1064:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29710,"name":"string","nodeType":"ElementaryTypeName","src":"1064:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1063:8:48"}},{"id":29719,"nodeType":"EventDefinition","src":"1078:55:48","nodes":[],"anonymous":false,"eventSelector":"9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f","name":"log_named_address","nameLocation":"1084:17:48","parameters":{"id":29718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29715,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1115:3:48","nodeType":"VariableDeclaration","scope":29719,"src":"1108:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29714,"name":"string","nodeType":"ElementaryTypeName","src":"1108:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29717,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1128:3:48","nodeType":"VariableDeclaration","scope":29719,"src":"1120:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29716,"name":"address","nodeType":"ElementaryTypeName","src":"1120:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1107:25:48"}},{"id":29725,"nodeType":"EventDefinition","src":"1138:55:48","nodes":[],"anonymous":false,"eventSelector":"afb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99","name":"log_named_bytes32","nameLocation":"1144:17:48","parameters":{"id":29724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29721,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1175:3:48","nodeType":"VariableDeclaration","scope":29725,"src":"1168:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29720,"name":"string","nodeType":"ElementaryTypeName","src":"1168:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29723,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1188:3:48","nodeType":"VariableDeclaration","scope":29725,"src":"1180:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":29722,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1180:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1167:25:48"}},{"id":29733,"nodeType":"EventDefinition","src":"1198:66:48","nodes":[],"anonymous":false,"eventSelector":"5da6ce9d51151ba10c09a559ef24d520b9dac5c5b8810ae8434e4d0d86411a95","name":"log_named_decimal_int","nameLocation":"1204:21:48","parameters":{"id":29732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29727,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1235:3:48","nodeType":"VariableDeclaration","scope":29733,"src":"1228:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29726,"name":"string","nodeType":"ElementaryTypeName","src":"1228:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29729,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1244:3:48","nodeType":"VariableDeclaration","scope":29733,"src":"1240:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":29728,"name":"int","nodeType":"ElementaryTypeName","src":"1240:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":29731,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1254:8:48","nodeType":"VariableDeclaration","scope":29733,"src":"1249:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29730,"name":"uint","nodeType":"ElementaryTypeName","src":"1249:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1227:36:48"}},{"id":29741,"nodeType":"EventDefinition","src":"1269:67:48","nodes":[],"anonymous":false,"eventSelector":"eb8ba43ced7537421946bd43e828b8b2b8428927aa8f801c13d934bf11aca57b","name":"log_named_decimal_uint","nameLocation":"1275:22:48","parameters":{"id":29740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29735,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1306:3:48","nodeType":"VariableDeclaration","scope":29741,"src":"1299:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29734,"name":"string","nodeType":"ElementaryTypeName","src":"1299:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29737,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1316:3:48","nodeType":"VariableDeclaration","scope":29741,"src":"1311:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29736,"name":"uint","nodeType":"ElementaryTypeName","src":"1311:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29739,"indexed":false,"mutability":"mutable","name":"decimals","nameLocation":"1326:8:48","nodeType":"VariableDeclaration","scope":29741,"src":"1321:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29738,"name":"uint","nodeType":"ElementaryTypeName","src":"1321:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1298:37:48"}},{"id":29747,"nodeType":"EventDefinition","src":"1341:51:48","nodes":[],"anonymous":false,"eventSelector":"2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168","name":"log_named_int","nameLocation":"1347:13:48","parameters":{"id":29746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29743,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1378:3:48","nodeType":"VariableDeclaration","scope":29747,"src":"1371:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29742,"name":"string","nodeType":"ElementaryTypeName","src":"1371:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29745,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1387:3:48","nodeType":"VariableDeclaration","scope":29747,"src":"1383:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":29744,"name":"int","nodeType":"ElementaryTypeName","src":"1383:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"1370:21:48"}},{"id":29753,"nodeType":"EventDefinition","src":"1397:52:48","nodes":[],"anonymous":false,"eventSelector":"b2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8","name":"log_named_uint","nameLocation":"1403:14:48","parameters":{"id":29752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29749,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1434:3:48","nodeType":"VariableDeclaration","scope":29753,"src":"1427:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29748,"name":"string","nodeType":"ElementaryTypeName","src":"1427:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29751,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1444:3:48","nodeType":"VariableDeclaration","scope":29753,"src":"1439:8:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29750,"name":"uint","nodeType":"ElementaryTypeName","src":"1439:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1426:22:48"}},{"id":29759,"nodeType":"EventDefinition","src":"1454:53:48","nodes":[],"anonymous":false,"eventSelector":"d26e16cad4548705e4c9e2d94f98ee91c289085ee425594fd5635fa2964ccf18","name":"log_named_bytes","nameLocation":"1460:15:48","parameters":{"id":29758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29755,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1491:3:48","nodeType":"VariableDeclaration","scope":29759,"src":"1484:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29754,"name":"string","nodeType":"ElementaryTypeName","src":"1484:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29757,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1502:3:48","nodeType":"VariableDeclaration","scope":29759,"src":"1496:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29756,"name":"bytes","nodeType":"ElementaryTypeName","src":"1496:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1483:23:48"}},{"id":29765,"nodeType":"EventDefinition","src":"1512:54:48","nodes":[],"anonymous":false,"eventSelector":"280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583","name":"log_named_string","nameLocation":"1518:16:48","parameters":{"id":29764,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29761,"indexed":false,"mutability":"mutable","name":"key","nameLocation":"1549:3:48","nodeType":"VariableDeclaration","scope":29765,"src":"1542:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29760,"name":"string","nodeType":"ElementaryTypeName","src":"1542:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":29763,"indexed":false,"mutability":"mutable","name":"val","nameLocation":"1561:3:48","nodeType":"VariableDeclaration","scope":29765,"src":"1554:10:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29762,"name":"string","nodeType":"ElementaryTypeName","src":"1554:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1541:24:48"}},{"id":29768,"nodeType":"VariableDeclaration","src":"1572:26:48","nodes":[],"constant":false,"functionSelector":"fa7626d4","mutability":"mutable","name":"IS_TEST","nameLocation":"1584:7:48","scope":31971,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29766,"name":"bool","nodeType":"ElementaryTypeName","src":"1572:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":{"hexValue":"74727565","id":29767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1594:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"visibility":"public"},{"id":29770,"nodeType":"VariableDeclaration","src":"1604:20:48","nodes":[],"constant":false,"mutability":"mutable","name":"_failed","nameLocation":"1617:7:48","scope":31971,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29769,"name":"bool","nodeType":"ElementaryTypeName","src":"1604:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"id":29787,"nodeType":"VariableDeclaration","src":"1631:104:48","nodes":[],"constant":true,"mutability":"constant","name":"HEVM_ADDRESS","nameLocation":"1648:12:48","scope":31971,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29771,"name":"address","nodeType":"ElementaryTypeName","src":"1631:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6865766d20636865617420636f6465","id":29781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1713:17:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""},"value":"hevm cheat code"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d","typeString":"literal_string \"hevm cheat code\""}],"id":29780,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1703:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1703:28:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29779,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1695:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29778,"name":"uint256","nodeType":"ElementaryTypeName","src":"1695:7:48","typeDescriptions":{}}},"id":29783,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1695:37:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29777,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1687:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint160_$","typeString":"type(uint160)"},"typeName":{"id":29776,"name":"uint160","nodeType":"ElementaryTypeName","src":"1687:7:48","typeDescriptions":{}}},"id":29784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1687:46:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint160","typeString":"uint160"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint160","typeString":"uint160"}],"id":29775,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1679:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":29774,"name":"bytes20","nodeType":"ElementaryTypeName","src":"1679:7:48","typeDescriptions":{}}},"id":29785,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1679:55:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes20","typeString":"bytes20"}],"id":29773,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1671:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":29772,"name":"address","nodeType":"ElementaryTypeName","src":"1671:7:48","typeDescriptions":{}}},"id":29786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1671:64:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":29791,"nodeType":"ModifierDefinition","src":"1742:27:48","nodes":[],"body":{"id":29790,"nodeType":"Block","src":"1763:6:48","nodes":[],"statements":[{"id":29789,"nodeType":"PlaceholderStatement","src":"1765:1:48"}]},"name":"mayRevert","nameLocation":"1751:9:48","parameters":{"id":29788,"nodeType":"ParameterList","parameters":[],"src":"1760:2:48"},"virtual":false,"visibility":"internal"},{"id":29797,"nodeType":"ModifierDefinition","src":"1774:39:48","nodes":[],"body":{"id":29796,"nodeType":"Block","src":"1807:6:48","nodes":[],"statements":[{"id":29795,"nodeType":"PlaceholderStatement","src":"1809:1:48"}]},"name":"testopts","nameLocation":"1783:8:48","parameters":{"id":29794,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29793,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29797,"src":"1792:13:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29792,"name":"string","nodeType":"ElementaryTypeName","src":"1792:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1791:15:48"},"virtual":false,"visibility":"internal"},{"id":29852,"nodeType":"FunctionDefinition","src":"1819:584:48","nodes":[],"body":{"id":29851,"nodeType":"Block","src":"1859:544:48","nodes":[],"statements":[{"condition":{"id":29802,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29770,"src":"1873:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":29849,"nodeType":"Block","src":"1927:470:48","statements":[{"assignments":[29807],"declarations":[{"constant":false,"id":29807,"mutability":"mutable","name":"globalFailed","nameLocation":"1946:12:48","nodeType":"VariableDeclaration","scope":29849,"src":"1941:17:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29806,"name":"bool","nodeType":"ElementaryTypeName","src":"1941:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":29809,"initialValue":{"hexValue":"66616c7365","id":29808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1961:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"nodeType":"VariableDeclarationStatement","src":"1941:25:48"},{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":29810,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29911,"src":"1984:14:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":29811,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1984:16:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29846,"nodeType":"IfStatement","src":"1980:374:48","trueBody":{"id":29845,"nodeType":"Block","src":"2002:352:48","statements":[{"assignments":[null,29813],"declarations":[null,{"constant":false,"id":29813,"mutability":"mutable","name":"retdata","nameLocation":"2036:7:48","nodeType":"VariableDeclaration","scope":29845,"src":"2023:20:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":29812,"name":"bytes","nodeType":"ElementaryTypeName","src":"2023:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":29834,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"6c6f616428616464726573732c6279746573333229","id":29821,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2145:23:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""},"value":"load(address,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4","typeString":"literal_string \"load(address,bytes32)\""}],"id":29820,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2135:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2135:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29819,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2128:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29818,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2128:6:48","typeDescriptions":{}}},"id":29823,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2128:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":29826,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29787,"src":"2207:12:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":29829,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2229:8:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":29828,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2221:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29827,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2221:7:48","typeDescriptions":{}}},"id":29830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2221:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":29824,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2196:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29825,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2200:6:48","memberName":"encode","nodeType":"MemberAccess","src":"2196:10:48","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29831,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2196:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29816,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2086:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29817,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2090:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"2086:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29832,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2086:175:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29814,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29787,"src":"2047:12:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2060:4:48","memberName":"call","nodeType":"MemberAccess","src":"2047:17:48","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29833,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2047:232:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2020:259:48"},{"expression":{"id":29843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29835,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29807,"src":"2297:12:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":29838,"name":"retdata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29813,"src":"2323:7:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":29840,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2333:4:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"},"typeName":{"id":29839,"name":"bool","nodeType":"ElementaryTypeName","src":"2333:4:48","typeDescriptions":{}}}],"id":29841,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2332:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_bool_$","typeString":"type(bool)"}],"expression":{"id":29836,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2312:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29837,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2316:6:48","memberName":"decode","nodeType":"MemberAccess","src":"2312:10:48","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":29842,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2312:27:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2297:42:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29844,"nodeType":"ExpressionStatement","src":"2297:42:48"}]}},{"expression":{"id":29847,"name":"globalFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29807,"src":"2374:12:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29801,"id":29848,"nodeType":"Return","src":"2367:19:48"}]},"id":29850,"nodeType":"IfStatement","src":"1869:528:48","trueBody":{"id":29805,"nodeType":"Block","src":"1882:39:48","statements":[{"expression":{"id":29803,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29770,"src":"1903:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29801,"id":29804,"nodeType":"Return","src":"1896:14:48"}]}}]},"functionSelector":"ba414fa6","implemented":true,"kind":"function","modifiers":[],"name":"failed","nameLocation":"1828:6:48","parameters":{"id":29798,"nodeType":"ParameterList","parameters":[],"src":"1834:2:48"},"returnParameters":{"id":29801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29800,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29852,"src":"1853:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29799,"name":"bool","nodeType":"ElementaryTypeName","src":"1853:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1852:6:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":29896,"nodeType":"FunctionDefinition","src":"2409:432:48","nodes":[],"body":{"id":29895,"nodeType":"Block","src":"2442:399:48","nodes":[],"statements":[{"condition":{"arguments":[],"expression":{"argumentTypes":[],"id":29855,"name":"hasHEVMContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29911,"src":"2456:14:48","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bool_$","typeString":"function () view returns (bool)"}},"id":29856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2456:16:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29890,"nodeType":"IfStatement","src":"2452:359:48","trueBody":{"id":29889,"nodeType":"Block","src":"2474:337:48","statements":[{"assignments":[29858,null],"declarations":[{"constant":false,"id":29858,"mutability":"mutable","name":"status","nameLocation":"2494:6:48","nodeType":"VariableDeclaration","scope":29889,"src":"2489:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29857,"name":"bool","nodeType":"ElementaryTypeName","src":"2489:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":29886,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"hexValue":"73746f726528616464726573732c627974657333322c6279746573333229","id":29866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2596:32:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""},"value":"store(address,bytes32,bytes32)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4","typeString":"literal_string \"store(address,bytes32,bytes32)\""}],"id":29865,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2586:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":29867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2586:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":29864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2579:6:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":29863,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2579:6:48","typeDescriptions":{}}},"id":29868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2579:51:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"arguments":[{"id":29871,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29787,"src":"2663:12:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"6661696c6564","id":29874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2685:8:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""},"value":"failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f44d68b1a26169d304522fa2f95aa938d98120d628d1db5726120ca84e53b43","typeString":"literal_string \"failed\""}],"id":29873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2677:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29872,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2677:7:48","typeDescriptions":{}}},"id":29875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2677:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"arguments":[{"hexValue":"30783031","id":29880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2712:4:48","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":29879,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2704:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":29878,"name":"uint256","nodeType":"ElementaryTypeName","src":"2704:7:48","typeDescriptions":{}}},"id":29881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2704:13:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29877,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2696:7:48","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":29876,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2696:7:48","typeDescriptions":{}}},"id":29882,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2696:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":29869,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2652:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29870,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2656:6:48","memberName":"encode","nodeType":"MemberAccess","src":"2652:10:48","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29883,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2652:67:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29861,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2541:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":29862,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2545:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"2541:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":29884,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2541:196:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":29859,"name":"HEVM_ADDRESS","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29787,"src":"2506:12:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":29860,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2519:4:48","memberName":"call","nodeType":"MemberAccess","src":"2506:17:48","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":29885,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2506:245:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2488:263:48"},{"expression":{"id":29887,"name":"status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29858,"src":"2765:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29888,"nodeType":"ExpressionStatement","src":"2765:6:48"}]}},{"expression":{"id":29893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":29891,"name":"_failed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29770,"src":"2820:7:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":29892,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2830:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"2820:14:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29894,"nodeType":"ExpressionStatement","src":"2820:14:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"fail","nameLocation":"2418:4:48","parameters":{"id":29853,"nodeType":"ParameterList","parameters":[],"src":"2422:2:48"},"returnParameters":{"id":29854,"nodeType":"ParameterList","parameters":[],"src":"2442:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":29911,"nodeType":"FunctionDefinition","src":"2847:242:48","nodes":[],"body":{"id":29910,"nodeType":"Block","src":"2902:187:48","nodes":[],"statements":[{"assignments":[29902],"declarations":[{"constant":false,"id":29902,"mutability":"mutable","name":"hevmCodeSize","nameLocation":"2920:12:48","nodeType":"VariableDeclaration","scope":29910,"src":"2912:20:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29901,"name":"uint256","nodeType":"ElementaryTypeName","src":"2912:7:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29904,"initialValue":{"hexValue":"30","id":29903,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2935:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2912:24:48"},{"AST":{"nativeSrc":"2955:95:48","nodeType":"YulBlock","src":"2955:95:48","statements":[{"nativeSrc":"2969:71:48","nodeType":"YulAssignment","src":"2969:71:48","value":{"arguments":[{"kind":"number","nativeSrc":"2997:42:48","nodeType":"YulLiteral","src":"2997:42:48","type":"","value":"0x7109709ECfa91a80626fF3989D68f67F5b1DD12D"}],"functionName":{"name":"extcodesize","nativeSrc":"2985:11:48","nodeType":"YulIdentifier","src":"2985:11:48"},"nativeSrc":"2985:55:48","nodeType":"YulFunctionCall","src":"2985:55:48"},"variableNames":[{"name":"hevmCodeSize","nativeSrc":"2969:12:48","nodeType":"YulIdentifier","src":"2969:12:48"}]}]},"evmVersion":"paris","externalReferences":[{"declaration":29902,"isOffset":false,"isSlot":false,"src":"2969:12:48","valueSize":1}],"id":29905,"nodeType":"InlineAssembly","src":"2946:104:48"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29908,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29906,"name":"hevmCodeSize","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29902,"src":"3066:12:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":29907,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3081:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3066:16:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":29900,"id":29909,"nodeType":"Return","src":"3059:23:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"hasHEVMContext","nameLocation":"2856:14:48","parameters":{"id":29897,"nodeType":"ParameterList","parameters":[],"src":"2870:2:48"},"returnParameters":{"id":29900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":29911,"src":"2896:4:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29898,"name":"bool","nodeType":"ElementaryTypeName","src":"2896:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2895:6:48"},"scope":31971,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":29932,"nodeType":"ModifierDefinition","src":"3095:161:48","nodes":[],"body":{"id":29931,"nodeType":"Block","src":"3115:141:48","nodes":[],"statements":[{"assignments":[29914],"declarations":[{"constant":false,"id":29914,"mutability":"mutable","name":"startGas","nameLocation":"3130:8:48","nodeType":"VariableDeclaration","scope":29931,"src":"3125:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29913,"name":"uint","nodeType":"ElementaryTypeName","src":"3125:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29917,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29915,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3141:7:48","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":29916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3141:9:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3125:25:48"},{"id":29918,"nodeType":"PlaceholderStatement","src":"3160:1:48"},{"assignments":[29920],"declarations":[{"constant":false,"id":29920,"mutability":"mutable","name":"endGas","nameLocation":"3176:6:48","nodeType":"VariableDeclaration","scope":29931,"src":"3171:11:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":29919,"name":"uint","nodeType":"ElementaryTypeName","src":"3171:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":29923,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":29921,"name":"gasleft","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-7,"src":"3185:7:48","typeDescriptions":{"typeIdentifier":"t_function_gasleft_view$__$returns$_t_uint256_$","typeString":"function () view returns (uint256)"}},"id":29922,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3185:9:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3171:23:48"},{"eventCall":{"arguments":[{"hexValue":"676173","id":29925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3224:5:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},"value":"gas"},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":29928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29926,"name":"startGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29914,"src":"3231:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":29927,"name":"endGas","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29920,"src":"3242:6:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3231:17:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_4498c2139ad6cf2beef3ae7bec34c4856d471c8680dfd28d553f117df74df6b7","typeString":"literal_string \"gas\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":29924,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"3209:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":29929,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3209:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29930,"nodeType":"EmitStatement","src":"3204:45:48"}]},"name":"logs_gas","nameLocation":"3104:8:48","parameters":{"id":29912,"nodeType":"ParameterList","parameters":[],"src":"3112:2:48"},"virtual":false,"visibility":"internal"},{"id":29949,"nodeType":"FunctionDefinition","src":"3262:157:48","nodes":[],"body":{"id":29948,"nodeType":"Block","src":"3307:112:48","nodes":[],"statements":[{"condition":{"id":29938,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3321:10:48","subExpression":{"id":29937,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29934,"src":"3322:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29947,"nodeType":"IfStatement","src":"3317:96:48","trueBody":{"id":29946,"nodeType":"Block","src":"3333:80:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a20417373657274696f6e204661696c6564","id":29940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3356:25:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""},"value":"Error: Assertion Failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cc8bd7d7034d6f139e4d0b1fc61bcb3025672e801833991d94fa7390aceb1687","typeString":"literal_string \"Error: Assertion Failed\""}],"id":29939,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"3352:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":29941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3352:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29942,"nodeType":"EmitStatement","src":"3347:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29943,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"3396:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3396:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29945,"nodeType":"ExpressionStatement","src":"3396:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3271:10:48","parameters":{"id":29935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29934,"mutability":"mutable","name":"condition","nameLocation":"3287:9:48","nodeType":"VariableDeclaration","scope":29949,"src":"3282:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29933,"name":"bool","nodeType":"ElementaryTypeName","src":"3282:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3281:16:48"},"returnParameters":{"id":29936,"nodeType":"ParameterList","parameters":[],"src":"3307:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":29970,"nodeType":"FunctionDefinition","src":"3425:191:48","nodes":[],"body":{"id":29969,"nodeType":"Block","src":"3489:127:48","nodes":[],"statements":[{"condition":{"id":29957,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3503:10:48","subExpression":{"id":29956,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29951,"src":"3504:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29968,"nodeType":"IfStatement","src":"3499:111:48","trueBody":{"id":29967,"nodeType":"Block","src":"3515:95:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":29959,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3551:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":29960,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29953,"src":"3560:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":29958,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"3534:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":29961,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3534:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29962,"nodeType":"EmitStatement","src":"3529:35:48"},{"expression":{"arguments":[{"id":29964,"name":"condition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29951,"src":"3589:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":29963,"name":"assertTrue","nodeType":"Identifier","overloadedDeclarations":[29949,29970],"referencedDeclaration":29949,"src":"3578:10:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bool_$returns$__$","typeString":"function (bool)"}},"id":29965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3578:21:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29966,"nodeType":"ExpressionStatement","src":"3578:21:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"3434:10:48","parameters":{"id":29954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29951,"mutability":"mutable","name":"condition","nameLocation":"3450:9:48","nodeType":"VariableDeclaration","scope":29970,"src":"3445:14:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":29950,"name":"bool","nodeType":"ElementaryTypeName","src":"3445:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":29953,"mutability":"mutable","name":"err","nameLocation":"3475:3:48","nodeType":"VariableDeclaration","scope":29970,"src":"3461:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":29952,"name":"string","nodeType":"ElementaryTypeName","src":"3461:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3444:35:48"},"returnParameters":{"id":29955,"nodeType":"ParameterList","parameters":[],"src":"3489:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30000,"nodeType":"FunctionDefinition","src":"3622:277:48","nodes":[],"body":{"id":29999,"nodeType":"Block","src":"3671:228:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":29979,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":29977,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29972,"src":"3685:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":29978,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29974,"src":"3690:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3685:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":29998,"nodeType":"IfStatement","src":"3681:212:48","trueBody":{"id":29997,"nodeType":"Block","src":"3693:200:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d","id":29981,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3716:39:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""},"value":"Error: a == b not satisfied [address]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9fc6ddd126630392f6812bf6b1418b5ec062ae84acc54ee474317255c7d57017","typeString":"literal_string \"Error: a == b not satisfied [address]\""}],"id":29980,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"3712:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":29982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3712:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29983,"nodeType":"EmitStatement","src":"3707:49:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":29985,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3793:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":29986,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29972,"src":"3807:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":29984,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"3775:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":29987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3775:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29988,"nodeType":"EmitStatement","src":"3770:39:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":29990,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3846:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":29991,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29974,"src":"3860:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":29989,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"3828:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":29992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3828:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29993,"nodeType":"EmitStatement","src":"3823:39:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":29994,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"3876:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":29995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3876:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":29996,"nodeType":"ExpressionStatement","src":"3876:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3631:8:48","parameters":{"id":29975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":29972,"mutability":"mutable","name":"a","nameLocation":"3648:1:48","nodeType":"VariableDeclaration","scope":30000,"src":"3640:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29971,"name":"address","nodeType":"ElementaryTypeName","src":"3640:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":29974,"mutability":"mutable","name":"b","nameLocation":"3659:1:48","nodeType":"VariableDeclaration","scope":30000,"src":"3651:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":29973,"name":"address","nodeType":"ElementaryTypeName","src":"3651:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3639:22:48"},"returnParameters":{"id":29976,"nodeType":"ParameterList","parameters":[],"src":"3671:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30025,"nodeType":"FunctionDefinition","src":"3904:185:48","nodes":[],"body":{"id":30024,"nodeType":"Block","src":"3972:117:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":30011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30009,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30002,"src":"3986:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30010,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"3991:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3986:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30023,"nodeType":"IfStatement","src":"3982:101:48","trueBody":{"id":30022,"nodeType":"Block","src":"3994:89:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30013,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4031:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30014,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30006,"src":"4040:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30012,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"4013:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4013:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30016,"nodeType":"EmitStatement","src":"4008:36:48"},{"expression":{"arguments":[{"id":30018,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30002,"src":"4067:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30019,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30004,"src":"4070:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30017,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30000,"src":"4058:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":30020,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4058:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30021,"nodeType":"ExpressionStatement","src":"4058:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"3913:8:48","parameters":{"id":30007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30002,"mutability":"mutable","name":"a","nameLocation":"3930:1:48","nodeType":"VariableDeclaration","scope":30025,"src":"3922:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30001,"name":"address","nodeType":"ElementaryTypeName","src":"3922:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30004,"mutability":"mutable","name":"b","nameLocation":"3941:1:48","nodeType":"VariableDeclaration","scope":30025,"src":"3933:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30003,"name":"address","nodeType":"ElementaryTypeName","src":"3933:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30006,"mutability":"mutable","name":"err","nameLocation":"3958:3:48","nodeType":"VariableDeclaration","scope":30025,"src":"3944:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30005,"name":"string","nodeType":"ElementaryTypeName","src":"3944:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3921:41:48"},"returnParameters":{"id":30008,"nodeType":"ParameterList","parameters":[],"src":"3972:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30055,"nodeType":"FunctionDefinition","src":"4095:277:48","nodes":[],"body":{"id":30054,"nodeType":"Block","src":"4144:228:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":30034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30032,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30027,"src":"4158:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30033,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30029,"src":"4163:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4158:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30053,"nodeType":"IfStatement","src":"4154:212:48","trueBody":{"id":30052,"nodeType":"Block","src":"4166:200:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974657333325d","id":30036,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4189:39:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""},"value":"Error: a == b not satisfied [bytes32]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6605dedc99dd4e0a76d4678a99cc6956499fe2b523ca6525b248ca3582cef3ef","typeString":"literal_string \"Error: a == b not satisfied [bytes32]\""}],"id":30035,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"4185:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4185:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30038,"nodeType":"EmitStatement","src":"4180:49:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4266:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30041,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30027,"src":"4280:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30039,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29725,"src":"4248:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":30042,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4248:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30043,"nodeType":"EmitStatement","src":"4243:39:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30045,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4319:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30046,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30029,"src":"4333:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30044,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29725,"src":"4301:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":30047,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4301:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30048,"nodeType":"EmitStatement","src":"4296:39:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30049,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"4349:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4349:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30051,"nodeType":"ExpressionStatement","src":"4349:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4104:8:48","parameters":{"id":30030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30027,"mutability":"mutable","name":"a","nameLocation":"4121:1:48","nodeType":"VariableDeclaration","scope":30055,"src":"4113:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30026,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4113:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30029,"mutability":"mutable","name":"b","nameLocation":"4132:1:48","nodeType":"VariableDeclaration","scope":30055,"src":"4124:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4124:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4112:22:48"},"returnParameters":{"id":30031,"nodeType":"ParameterList","parameters":[],"src":"4144:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30080,"nodeType":"FunctionDefinition","src":"4377:185:48","nodes":[],"body":{"id":30079,"nodeType":"Block","src":"4445:117:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":30066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30064,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30057,"src":"4459:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30065,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30059,"src":"4464:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4459:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30078,"nodeType":"IfStatement","src":"4455:101:48","trueBody":{"id":30077,"nodeType":"Block","src":"4467:89:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30068,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4504:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30069,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30061,"src":"4513:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30067,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"4486:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4486:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30071,"nodeType":"EmitStatement","src":"4481:36:48"},{"expression":{"arguments":[{"id":30073,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30057,"src":"4540:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30074,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30059,"src":"4543:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30072,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30055,"src":"4531:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30075,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4531:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30076,"nodeType":"ExpressionStatement","src":"4531:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4386:8:48","parameters":{"id":30062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30057,"mutability":"mutable","name":"a","nameLocation":"4403:1:48","nodeType":"VariableDeclaration","scope":30080,"src":"4395:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30056,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4395:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30059,"mutability":"mutable","name":"b","nameLocation":"4414:1:48","nodeType":"VariableDeclaration","scope":30080,"src":"4406:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30058,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4406:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30061,"mutability":"mutable","name":"err","nameLocation":"4431:3:48","nodeType":"VariableDeclaration","scope":30080,"src":"4417:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30060,"name":"string","nodeType":"ElementaryTypeName","src":"4417:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4394:41:48"},"returnParameters":{"id":30063,"nodeType":"ParameterList","parameters":[],"src":"4445:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30093,"nodeType":"FunctionDefinition","src":"4567:82:48","nodes":[],"body":{"id":30092,"nodeType":"Block","src":"4618:31:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":30088,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30082,"src":"4637:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30089,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30084,"src":"4640:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30087,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30055,"src":"4628:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30090,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4628:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30091,"nodeType":"ExpressionStatement","src":"4628:14:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4576:10:48","parameters":{"id":30085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30082,"mutability":"mutable","name":"a","nameLocation":"4595:1:48","nodeType":"VariableDeclaration","scope":30093,"src":"4587:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4587:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30084,"mutability":"mutable","name":"b","nameLocation":"4606:1:48","nodeType":"VariableDeclaration","scope":30093,"src":"4598:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30083,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4598:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"4586:22:48"},"returnParameters":{"id":30086,"nodeType":"ParameterList","parameters":[],"src":"4618:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30109,"nodeType":"FunctionDefinition","src":"4654:106:48","nodes":[],"body":{"id":30108,"nodeType":"Block","src":"4724:36:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":30103,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30095,"src":"4743:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30104,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30097,"src":"4746:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30105,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30099,"src":"4749:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30102,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30080,"src":"4734:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":30106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4734:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30107,"nodeType":"ExpressionStatement","src":"4734:19:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq32","nameLocation":"4663:10:48","parameters":{"id":30100,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30095,"mutability":"mutable","name":"a","nameLocation":"4682:1:48","nodeType":"VariableDeclaration","scope":30109,"src":"4674:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4674:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30097,"mutability":"mutable","name":"b","nameLocation":"4693:1:48","nodeType":"VariableDeclaration","scope":30109,"src":"4685:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4685:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30099,"mutability":"mutable","name":"err","nameLocation":"4710:3:48","nodeType":"VariableDeclaration","scope":30109,"src":"4696:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30098,"name":"string","nodeType":"ElementaryTypeName","src":"4696:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4673:41:48"},"returnParameters":{"id":30101,"nodeType":"ParameterList","parameters":[],"src":"4724:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30139,"nodeType":"FunctionDefinition","src":"4766:257:48","nodes":[],"body":{"id":30138,"nodeType":"Block","src":"4807:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30116,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30111,"src":"4821:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30117,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30113,"src":"4826:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"4821:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30137,"nodeType":"IfStatement","src":"4817:200:48","trueBody":{"id":30136,"nodeType":"Block","src":"4829:188:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e745d","id":30120,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4852:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""},"value":"Error: a == b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0c510d1b16a7b86013fe25431f855bed96290957b4566f7ab53d5bf1855a3a81","typeString":"literal_string \"Error: a == b not satisfied [int]\""}],"id":30119,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"4848:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4848:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30122,"nodeType":"EmitStatement","src":"4843:45:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30124,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4921:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30125,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30111,"src":"4935:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30123,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"4907:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30126,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4907:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30127,"nodeType":"EmitStatement","src":"4902:35:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4970:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30130,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30113,"src":"4984:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30128,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"4956:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4956:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30132,"nodeType":"EmitStatement","src":"4951:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30133,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"5000:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5000:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30135,"nodeType":"ExpressionStatement","src":"5000:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"4775:8:48","parameters":{"id":30114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30111,"mutability":"mutable","name":"a","nameLocation":"4788:1:48","nodeType":"VariableDeclaration","scope":30139,"src":"4784:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30110,"name":"int","nodeType":"ElementaryTypeName","src":"4784:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30113,"mutability":"mutable","name":"b","nameLocation":"4795:1:48","nodeType":"VariableDeclaration","scope":30139,"src":"4791:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30112,"name":"int","nodeType":"ElementaryTypeName","src":"4791:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"4783:14:48"},"returnParameters":{"id":30115,"nodeType":"ParameterList","parameters":[],"src":"4807:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30164,"nodeType":"FunctionDefinition","src":"5028:176:48","nodes":[],"body":{"id":30163,"nodeType":"Block","src":"5088:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30150,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30148,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30141,"src":"5102:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30149,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30143,"src":"5107:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5102:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30162,"nodeType":"IfStatement","src":"5098:100:48","trueBody":{"id":30161,"nodeType":"Block","src":"5110:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30152,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5146:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30153,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30145,"src":"5155:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30151,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"5129:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5129:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30155,"nodeType":"EmitStatement","src":"5124:35:48"},{"expression":{"arguments":[{"id":30157,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30141,"src":"5182:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30158,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30143,"src":"5185:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30156,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30139,"src":"5173:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":30159,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5173:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30160,"nodeType":"ExpressionStatement","src":"5173:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5037:8:48","parameters":{"id":30146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30141,"mutability":"mutable","name":"a","nameLocation":"5050:1:48","nodeType":"VariableDeclaration","scope":30164,"src":"5046:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30140,"name":"int","nodeType":"ElementaryTypeName","src":"5046:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30143,"mutability":"mutable","name":"b","nameLocation":"5057:1:48","nodeType":"VariableDeclaration","scope":30164,"src":"5053:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30142,"name":"int","nodeType":"ElementaryTypeName","src":"5053:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30145,"mutability":"mutable","name":"err","nameLocation":"5074:3:48","nodeType":"VariableDeclaration","scope":30164,"src":"5060:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30144,"name":"string","nodeType":"ElementaryTypeName","src":"5060:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5045:33:48"},"returnParameters":{"id":30147,"nodeType":"ParameterList","parameters":[],"src":"5088:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30194,"nodeType":"FunctionDefinition","src":"5209:262:48","nodes":[],"body":{"id":30193,"nodeType":"Block","src":"5252:219:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30171,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30166,"src":"5266:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30172,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30168,"src":"5271:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5266:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30192,"nodeType":"IfStatement","src":"5262:203:48","trueBody":{"id":30191,"nodeType":"Block","src":"5274:191:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d","id":30175,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5297:36:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""},"value":"Error: a == b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3bb05d3ba160a011999668447ff4a7cdd52bf87aeb1d7b9b284ef23b37a2b183","typeString":"literal_string \"Error: a == b not satisfied [uint]\""}],"id":30174,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"5293:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5293:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30177,"nodeType":"EmitStatement","src":"5288:46:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5368:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30180,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30166,"src":"5382:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30178,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"5353:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30181,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5353:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30182,"nodeType":"EmitStatement","src":"5348:36:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30184,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5418:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30185,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30168,"src":"5432:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30183,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"5403:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5403:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30187,"nodeType":"EmitStatement","src":"5398:36:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30188,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"5448:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5448:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30190,"nodeType":"ExpressionStatement","src":"5448:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5218:8:48","parameters":{"id":30169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30166,"mutability":"mutable","name":"a","nameLocation":"5232:1:48","nodeType":"VariableDeclaration","scope":30194,"src":"5227:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30165,"name":"uint","nodeType":"ElementaryTypeName","src":"5227:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30168,"mutability":"mutable","name":"b","nameLocation":"5240:1:48","nodeType":"VariableDeclaration","scope":30194,"src":"5235:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30167,"name":"uint","nodeType":"ElementaryTypeName","src":"5235:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5226:16:48"},"returnParameters":{"id":30170,"nodeType":"ParameterList","parameters":[],"src":"5252:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30219,"nodeType":"FunctionDefinition","src":"5476:178:48","nodes":[],"body":{"id":30218,"nodeType":"Block","src":"5538:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30203,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30196,"src":"5552:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30204,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30198,"src":"5557:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5552:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30217,"nodeType":"IfStatement","src":"5548:100:48","trueBody":{"id":30216,"nodeType":"Block","src":"5560:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5596:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30208,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30200,"src":"5605:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30206,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"5579:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5579:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30210,"nodeType":"EmitStatement","src":"5574:35:48"},{"expression":{"arguments":[{"id":30212,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30196,"src":"5632:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30213,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30198,"src":"5635:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30211,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":30194,"src":"5623:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5623:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30215,"nodeType":"ExpressionStatement","src":"5623:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"5485:8:48","parameters":{"id":30201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30196,"mutability":"mutable","name":"a","nameLocation":"5499:1:48","nodeType":"VariableDeclaration","scope":30219,"src":"5494:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30195,"name":"uint","nodeType":"ElementaryTypeName","src":"5494:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30198,"mutability":"mutable","name":"b","nameLocation":"5507:1:48","nodeType":"VariableDeclaration","scope":30219,"src":"5502:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30197,"name":"uint","nodeType":"ElementaryTypeName","src":"5502:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30200,"mutability":"mutable","name":"err","nameLocation":"5524:3:48","nodeType":"VariableDeclaration","scope":30219,"src":"5510:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30199,"name":"string","nodeType":"ElementaryTypeName","src":"5510:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5493:35:48"},"returnParameters":{"id":30202,"nodeType":"ParameterList","parameters":[],"src":"5538:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30253,"nodeType":"FunctionDefinition","src":"5659:323:48","nodes":[],"body":{"id":30252,"nodeType":"Block","src":"5722:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30228,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"5736:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30229,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30223,"src":"5741:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"5736:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30251,"nodeType":"IfStatement","src":"5732:244:48","trueBody":{"id":30250,"nodeType":"Block","src":"5744:232:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":30232,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5767:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""},"value":"Error: a == b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_3ee6ef9b326324a79dedc7af5585ef9f689364368b4e76dd3a37559719a19fe6","typeString":"literal_string \"Error: a == b not satisfied [decimal int]\""}],"id":30231,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"5763:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5763:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30234,"nodeType":"EmitStatement","src":"5758:53:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30236,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5852:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30237,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30221,"src":"5866:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30238,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30225,"src":"5869:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30235,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"5830:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5830:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30240,"nodeType":"EmitStatement","src":"5825:53:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30242,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5919:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30243,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30223,"src":"5933:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30244,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30225,"src":"5936:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30241,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"5897:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5897:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30246,"nodeType":"EmitStatement","src":"5892:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30247,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"5959:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5959:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30249,"nodeType":"ExpressionStatement","src":"5959:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5668:15:48","parameters":{"id":30226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30221,"mutability":"mutable","name":"a","nameLocation":"5688:1:48","nodeType":"VariableDeclaration","scope":30253,"src":"5684:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30220,"name":"int","nodeType":"ElementaryTypeName","src":"5684:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30223,"mutability":"mutable","name":"b","nameLocation":"5695:1:48","nodeType":"VariableDeclaration","scope":30253,"src":"5691:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30222,"name":"int","nodeType":"ElementaryTypeName","src":"5691:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30225,"mutability":"mutable","name":"decimals","nameLocation":"5703:8:48","nodeType":"VariableDeclaration","scope":30253,"src":"5698:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30224,"name":"uint","nodeType":"ElementaryTypeName","src":"5698:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5683:29:48"},"returnParameters":{"id":30227,"nodeType":"ParameterList","parameters":[],"src":"5722:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30281,"nodeType":"FunctionDefinition","src":"5987:215:48","nodes":[],"body":{"id":30280,"nodeType":"Block","src":"6069:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30264,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30255,"src":"6083:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30265,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30257,"src":"6088:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"6083:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30279,"nodeType":"IfStatement","src":"6079:117:48","trueBody":{"id":30278,"nodeType":"Block","src":"6091:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30268,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6127:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30269,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30261,"src":"6136:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30267,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"6110:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30270,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6110:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30271,"nodeType":"EmitStatement","src":"6105:35:48"},{"expression":{"arguments":[{"id":30273,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30255,"src":"6170:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30274,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30257,"src":"6173:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30275,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30259,"src":"6176:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30272,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[30253,30281,30315,30343],"referencedDeclaration":30253,"src":"6154:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":30276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6154:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30277,"nodeType":"ExpressionStatement","src":"6154:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"5996:15:48","parameters":{"id":30262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30255,"mutability":"mutable","name":"a","nameLocation":"6016:1:48","nodeType":"VariableDeclaration","scope":30281,"src":"6012:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30254,"name":"int","nodeType":"ElementaryTypeName","src":"6012:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30257,"mutability":"mutable","name":"b","nameLocation":"6023:1:48","nodeType":"VariableDeclaration","scope":30281,"src":"6019:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30256,"name":"int","nodeType":"ElementaryTypeName","src":"6019:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30259,"mutability":"mutable","name":"decimals","nameLocation":"6031:8:48","nodeType":"VariableDeclaration","scope":30281,"src":"6026:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30258,"name":"uint","nodeType":"ElementaryTypeName","src":"6026:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30261,"mutability":"mutable","name":"err","nameLocation":"6055:3:48","nodeType":"VariableDeclaration","scope":30281,"src":"6041:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30260,"name":"string","nodeType":"ElementaryTypeName","src":"6041:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6011:48:48"},"returnParameters":{"id":30263,"nodeType":"ParameterList","parameters":[],"src":"6069:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30315,"nodeType":"FunctionDefinition","src":"6207:328:48","nodes":[],"body":{"id":30314,"nodeType":"Block","src":"6272:263:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30290,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30283,"src":"6286:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30291,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30285,"src":"6291:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6286:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30313,"nodeType":"IfStatement","src":"6282:247:48","trueBody":{"id":30312,"nodeType":"Block","src":"6294:235:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":30294,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6317:44:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""},"value":"Error: a == b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_acd59a69b2dc4bcee2d5b2a205a178a5eace192e68808cc4db1cea91cdc48141","typeString":"literal_string \"Error: a == b not satisfied [decimal uint]\""}],"id":30293,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"6313:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30295,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6313:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30296,"nodeType":"EmitStatement","src":"6308:54:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6404:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30299,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30283,"src":"6418:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30300,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30287,"src":"6421:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30297,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"6381:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6381:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30302,"nodeType":"EmitStatement","src":"6376:54:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6472:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30305,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30285,"src":"6486:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30306,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30287,"src":"6489:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30303,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"6449:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30307,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6449:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30308,"nodeType":"EmitStatement","src":"6444:54:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30309,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"6512:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6512:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30311,"nodeType":"ExpressionStatement","src":"6512:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6216:15:48","parameters":{"id":30288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30283,"mutability":"mutable","name":"a","nameLocation":"6237:1:48","nodeType":"VariableDeclaration","scope":30315,"src":"6232:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30282,"name":"uint","nodeType":"ElementaryTypeName","src":"6232:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30285,"mutability":"mutable","name":"b","nameLocation":"6245:1:48","nodeType":"VariableDeclaration","scope":30315,"src":"6240:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30284,"name":"uint","nodeType":"ElementaryTypeName","src":"6240:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30287,"mutability":"mutable","name":"decimals","nameLocation":"6253:8:48","nodeType":"VariableDeclaration","scope":30315,"src":"6248:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30286,"name":"uint","nodeType":"ElementaryTypeName","src":"6248:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6231:31:48"},"returnParameters":{"id":30289,"nodeType":"ParameterList","parameters":[],"src":"6272:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30343,"nodeType":"FunctionDefinition","src":"6540:217:48","nodes":[],"body":{"id":30342,"nodeType":"Block","src":"6624:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30326,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30317,"src":"6638:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":30327,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30319,"src":"6643:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6638:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30341,"nodeType":"IfStatement","src":"6634:117:48","trueBody":{"id":30340,"nodeType":"Block","src":"6646:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6682:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30331,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30323,"src":"6691:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30329,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"6665:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6665:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30333,"nodeType":"EmitStatement","src":"6660:35:48"},{"expression":{"arguments":[{"id":30335,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30317,"src":"6725:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30336,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30319,"src":"6728:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30337,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30321,"src":"6731:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30334,"name":"assertEqDecimal","nodeType":"Identifier","overloadedDeclarations":[30253,30281,30315,30343],"referencedDeclaration":30315,"src":"6709:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":30338,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6709:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30339,"nodeType":"ExpressionStatement","src":"6709:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"6549:15:48","parameters":{"id":30324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30317,"mutability":"mutable","name":"a","nameLocation":"6570:1:48","nodeType":"VariableDeclaration","scope":30343,"src":"6565:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30316,"name":"uint","nodeType":"ElementaryTypeName","src":"6565:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30319,"mutability":"mutable","name":"b","nameLocation":"6578:1:48","nodeType":"VariableDeclaration","scope":30343,"src":"6573:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30318,"name":"uint","nodeType":"ElementaryTypeName","src":"6573:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30321,"mutability":"mutable","name":"decimals","nameLocation":"6586:8:48","nodeType":"VariableDeclaration","scope":30343,"src":"6581:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30320,"name":"uint","nodeType":"ElementaryTypeName","src":"6581:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30323,"mutability":"mutable","name":"err","nameLocation":"6610:3:48","nodeType":"VariableDeclaration","scope":30343,"src":"6596:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30322,"name":"string","nodeType":"ElementaryTypeName","src":"6596:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6564:50:48"},"returnParameters":{"id":30325,"nodeType":"ParameterList","parameters":[],"src":"6624:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30373,"nodeType":"FunctionDefinition","src":"6763:280:48","nodes":[],"body":{"id":30372,"nodeType":"Block","src":"6815:228:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":30352,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30350,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"6829:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30351,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"6834:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6829:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30371,"nodeType":"IfStatement","src":"6825:212:48","trueBody":{"id":30370,"nodeType":"Block","src":"6837:200:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b616464726573735d","id":30354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6860:39:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_414a9b551b0cc51b7f73ec5170135c7d9e5908409f5f0ad1efd63830a38f3d00","typeString":"literal_string \"Error: a != b not satisfied [address]\""},"value":"Error: a != b not satisfied [address]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_414a9b551b0cc51b7f73ec5170135c7d9e5908409f5f0ad1efd63830a38f3d00","typeString":"literal_string \"Error: a != b not satisfied [address]\""}],"id":30353,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"6856:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6856:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30356,"nodeType":"EmitStatement","src":"6851:49:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30358,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6937:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30359,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30345,"src":"6951:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":30357,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"6919:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":30360,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6919:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30361,"nodeType":"EmitStatement","src":"6914:39:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6990:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30364,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30347,"src":"7004:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_address","typeString":"address"}],"id":30362,"name":"log_named_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29719,"src":"6972:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":30365,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6972:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30366,"nodeType":"EmitStatement","src":"6967:39:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30367,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"7020:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7020:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30369,"nodeType":"ExpressionStatement","src":"7020:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"6772:11:48","parameters":{"id":30348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30345,"mutability":"mutable","name":"a","nameLocation":"6792:1:48","nodeType":"VariableDeclaration","scope":30373,"src":"6784:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30344,"name":"address","nodeType":"ElementaryTypeName","src":"6784:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30347,"mutability":"mutable","name":"b","nameLocation":"6803:1:48","nodeType":"VariableDeclaration","scope":30373,"src":"6795:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30346,"name":"address","nodeType":"ElementaryTypeName","src":"6795:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6783:22:48"},"returnParameters":{"id":30349,"nodeType":"ParameterList","parameters":[],"src":"6815:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30398,"nodeType":"FunctionDefinition","src":"7048:191:48","nodes":[],"body":{"id":30397,"nodeType":"Block","src":"7119:120:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":30384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30382,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30375,"src":"7133:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30383,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30377,"src":"7138:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7133:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30396,"nodeType":"IfStatement","src":"7129:104:48","trueBody":{"id":30395,"nodeType":"Block","src":"7141:92:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30386,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7178:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30387,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30379,"src":"7187:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30385,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"7160:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7160:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30389,"nodeType":"EmitStatement","src":"7155:36:48"},{"expression":{"arguments":[{"id":30391,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30375,"src":"7217:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":30392,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30377,"src":"7220:1:48","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":30390,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30373,"src":"7205:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":30393,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7205:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30394,"nodeType":"ExpressionStatement","src":"7205:17:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7057:11:48","parameters":{"id":30380,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30375,"mutability":"mutable","name":"a","nameLocation":"7077:1:48","nodeType":"VariableDeclaration","scope":30398,"src":"7069:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30374,"name":"address","nodeType":"ElementaryTypeName","src":"7069:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30377,"mutability":"mutable","name":"b","nameLocation":"7088:1:48","nodeType":"VariableDeclaration","scope":30398,"src":"7080:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":30376,"name":"address","nodeType":"ElementaryTypeName","src":"7080:7:48","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":30379,"mutability":"mutable","name":"err","nameLocation":"7105:3:48","nodeType":"VariableDeclaration","scope":30398,"src":"7091:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30378,"name":"string","nodeType":"ElementaryTypeName","src":"7091:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7068:41:48"},"returnParameters":{"id":30381,"nodeType":"ParameterList","parameters":[],"src":"7119:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30428,"nodeType":"FunctionDefinition","src":"7245:280:48","nodes":[],"body":{"id":30427,"nodeType":"Block","src":"7297:228:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":30407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30405,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30400,"src":"7311:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30406,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30402,"src":"7316:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7311:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30426,"nodeType":"IfStatement","src":"7307:212:48","trueBody":{"id":30425,"nodeType":"Block","src":"7319:200:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b627974657333325d","id":30409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7342:39:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_d26817bae5234f3229b95e0e4d57f32485473418473b4f6a6c207a64cb7f0551","typeString":"literal_string \"Error: a != b not satisfied [bytes32]\""},"value":"Error: a != b not satisfied [bytes32]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d26817bae5234f3229b95e0e4d57f32485473418473b4f6a6c207a64cb7f0551","typeString":"literal_string \"Error: a != b not satisfied [bytes32]\""}],"id":30408,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"7338:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7338:44:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30411,"nodeType":"EmitStatement","src":"7333:49:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30413,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7419:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30414,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30400,"src":"7433:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30412,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29725,"src":"7401:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":30415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7401:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30416,"nodeType":"EmitStatement","src":"7396:39:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7472:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30419,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30402,"src":"7486:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30417,"name":"log_named_bytes32","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29725,"src":"7454:17:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (string memory,bytes32)"}},"id":30420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7454:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30421,"nodeType":"EmitStatement","src":"7449:39:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30422,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"7502:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30423,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7502:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30424,"nodeType":"ExpressionStatement","src":"7502:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7254:11:48","parameters":{"id":30403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30400,"mutability":"mutable","name":"a","nameLocation":"7274:1:48","nodeType":"VariableDeclaration","scope":30428,"src":"7266:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7266:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30402,"mutability":"mutable","name":"b","nameLocation":"7285:1:48","nodeType":"VariableDeclaration","scope":30428,"src":"7277:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30401,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7277:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7265:22:48"},"returnParameters":{"id":30404,"nodeType":"ParameterList","parameters":[],"src":"7297:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30453,"nodeType":"FunctionDefinition","src":"7530:191:48","nodes":[],"body":{"id":30452,"nodeType":"Block","src":"7601:120:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":30439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30437,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30430,"src":"7615:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30438,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30432,"src":"7620:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7615:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30451,"nodeType":"IfStatement","src":"7611:104:48","trueBody":{"id":30450,"nodeType":"Block","src":"7623:92:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30441,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7660:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30442,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30434,"src":"7669:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30440,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"7642:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7642:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30444,"nodeType":"EmitStatement","src":"7637:36:48"},{"expression":{"arguments":[{"id":30446,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30430,"src":"7699:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30447,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30432,"src":"7702:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30445,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30428,"src":"7687:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30448,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7687:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30449,"nodeType":"ExpressionStatement","src":"7687:17:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7539:11:48","parameters":{"id":30435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30430,"mutability":"mutable","name":"a","nameLocation":"7559:1:48","nodeType":"VariableDeclaration","scope":30453,"src":"7551:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30429,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7551:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30432,"mutability":"mutable","name":"b","nameLocation":"7570:1:48","nodeType":"VariableDeclaration","scope":30453,"src":"7562:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30431,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7562:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30434,"mutability":"mutable","name":"err","nameLocation":"7587:3:48","nodeType":"VariableDeclaration","scope":30453,"src":"7573:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30433,"name":"string","nodeType":"ElementaryTypeName","src":"7573:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7550:41:48"},"returnParameters":{"id":30436,"nodeType":"ParameterList","parameters":[],"src":"7601:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30466,"nodeType":"FunctionDefinition","src":"7726:88:48","nodes":[],"body":{"id":30465,"nodeType":"Block","src":"7780:34:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":30461,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30455,"src":"7802:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30462,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30457,"src":"7805:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":30460,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30428,"src":"7790:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32)"}},"id":30463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7790:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30464,"nodeType":"ExpressionStatement","src":"7790:17:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"7735:13:48","parameters":{"id":30458,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30455,"mutability":"mutable","name":"a","nameLocation":"7757:1:48","nodeType":"VariableDeclaration","scope":30466,"src":"7749:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30454,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7749:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30457,"mutability":"mutable","name":"b","nameLocation":"7768:1:48","nodeType":"VariableDeclaration","scope":30466,"src":"7760:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30456,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7760:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"7748:22:48"},"returnParameters":{"id":30459,"nodeType":"ParameterList","parameters":[],"src":"7780:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30482,"nodeType":"FunctionDefinition","src":"7819:112:48","nodes":[],"body":{"id":30481,"nodeType":"Block","src":"7892:39:48","nodes":[],"statements":[{"expression":{"arguments":[{"id":30476,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30468,"src":"7914:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30477,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30470,"src":"7917:1:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":30478,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30472,"src":"7920:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30475,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30453,"src":"7902:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":30479,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7902:22:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30480,"nodeType":"ExpressionStatement","src":"7902:22:48"}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq32","nameLocation":"7828:13:48","parameters":{"id":30473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30468,"mutability":"mutable","name":"a","nameLocation":"7850:1:48","nodeType":"VariableDeclaration","scope":30482,"src":"7842:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7842:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30470,"mutability":"mutable","name":"b","nameLocation":"7861:1:48","nodeType":"VariableDeclaration","scope":30482,"src":"7853:9:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":30469,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7853:7:48","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":30472,"mutability":"mutable","name":"err","nameLocation":"7878:3:48","nodeType":"VariableDeclaration","scope":30482,"src":"7864:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30471,"name":"string","nodeType":"ElementaryTypeName","src":"7864:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7841:41:48"},"returnParameters":{"id":30474,"nodeType":"ParameterList","parameters":[],"src":"7892:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30512,"nodeType":"FunctionDefinition","src":"7937:260:48","nodes":[],"body":{"id":30511,"nodeType":"Block","src":"7981:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30491,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30489,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30484,"src":"7995:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30490,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30486,"src":"8000:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"7995:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30510,"nodeType":"IfStatement","src":"7991:200:48","trueBody":{"id":30509,"nodeType":"Block","src":"8003:188:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b696e745d","id":30493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8026:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_d82ff5c9943e634fee66803c98bc30490cb81ff9f69db686feaa7d8eb6b843b1","typeString":"literal_string \"Error: a != b not satisfied [int]\""},"value":"Error: a != b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_d82ff5c9943e634fee66803c98bc30490cb81ff9f69db686feaa7d8eb6b843b1","typeString":"literal_string \"Error: a != b not satisfied [int]\""}],"id":30492,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"8022:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8022:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30495,"nodeType":"EmitStatement","src":"8017:45:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30497,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8095:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30498,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30484,"src":"8109:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30496,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"8081:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8081:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30500,"nodeType":"EmitStatement","src":"8076:35:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8144:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30503,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30486,"src":"8158:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30501,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"8130:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30504,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8130:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30505,"nodeType":"EmitStatement","src":"8125:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30506,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"8174:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30507,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8174:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30508,"nodeType":"ExpressionStatement","src":"8174:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"7946:11:48","parameters":{"id":30487,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30484,"mutability":"mutable","name":"a","nameLocation":"7962:1:48","nodeType":"VariableDeclaration","scope":30512,"src":"7958:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30483,"name":"int","nodeType":"ElementaryTypeName","src":"7958:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30486,"mutability":"mutable","name":"b","nameLocation":"7969:1:48","nodeType":"VariableDeclaration","scope":30512,"src":"7965:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30485,"name":"int","nodeType":"ElementaryTypeName","src":"7965:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"7957:14:48"},"returnParameters":{"id":30488,"nodeType":"ParameterList","parameters":[],"src":"7981:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30537,"nodeType":"FunctionDefinition","src":"8202:182:48","nodes":[],"body":{"id":30536,"nodeType":"Block","src":"8265:119:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30521,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30514,"src":"8279:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30522,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30516,"src":"8284:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8279:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30535,"nodeType":"IfStatement","src":"8275:103:48","trueBody":{"id":30534,"nodeType":"Block","src":"8287:91:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30525,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8323:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30526,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30518,"src":"8332:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30524,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"8306:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8306:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30528,"nodeType":"EmitStatement","src":"8301:35:48"},{"expression":{"arguments":[{"id":30530,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30514,"src":"8362:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30531,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30516,"src":"8365:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30529,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30512,"src":"8350:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":30532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8350:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30533,"nodeType":"ExpressionStatement","src":"8350:17:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8211:11:48","parameters":{"id":30519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30514,"mutability":"mutable","name":"a","nameLocation":"8227:1:48","nodeType":"VariableDeclaration","scope":30537,"src":"8223:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30513,"name":"int","nodeType":"ElementaryTypeName","src":"8223:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30516,"mutability":"mutable","name":"b","nameLocation":"8234:1:48","nodeType":"VariableDeclaration","scope":30537,"src":"8230:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30515,"name":"int","nodeType":"ElementaryTypeName","src":"8230:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30518,"mutability":"mutable","name":"err","nameLocation":"8251:3:48","nodeType":"VariableDeclaration","scope":30537,"src":"8237:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30517,"name":"string","nodeType":"ElementaryTypeName","src":"8237:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8222:33:48"},"returnParameters":{"id":30520,"nodeType":"ParameterList","parameters":[],"src":"8265:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30567,"nodeType":"FunctionDefinition","src":"8389:265:48","nodes":[],"body":{"id":30566,"nodeType":"Block","src":"8435:219:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30546,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30544,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30539,"src":"8449:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30545,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30541,"src":"8454:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8449:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30565,"nodeType":"IfStatement","src":"8445:203:48","trueBody":{"id":30564,"nodeType":"Block","src":"8457:191:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b75696e745d","id":30548,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8480:36:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad64c54cda23ba70d3d0a4681393062e3b52a3dd34cefe2961ebfc5baa0a4249","typeString":"literal_string \"Error: a != b not satisfied [uint]\""},"value":"Error: a != b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad64c54cda23ba70d3d0a4681393062e3b52a3dd34cefe2961ebfc5baa0a4249","typeString":"literal_string \"Error: a != b not satisfied [uint]\""}],"id":30547,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"8476:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30549,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8476:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30550,"nodeType":"EmitStatement","src":"8471:46:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8551:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30553,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30539,"src":"8565:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30551,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"8536:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8536:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30555,"nodeType":"EmitStatement","src":"8531:36:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8601:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30558,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30541,"src":"8615:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30556,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"8586:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8586:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30560,"nodeType":"EmitStatement","src":"8581:36:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30561,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"8631:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8631:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30563,"nodeType":"ExpressionStatement","src":"8631:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8398:11:48","parameters":{"id":30542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30539,"mutability":"mutable","name":"a","nameLocation":"8415:1:48","nodeType":"VariableDeclaration","scope":30567,"src":"8410:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30538,"name":"uint","nodeType":"ElementaryTypeName","src":"8410:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30541,"mutability":"mutable","name":"b","nameLocation":"8423:1:48","nodeType":"VariableDeclaration","scope":30567,"src":"8418:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30540,"name":"uint","nodeType":"ElementaryTypeName","src":"8418:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8409:16:48"},"returnParameters":{"id":30543,"nodeType":"ParameterList","parameters":[],"src":"8435:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30592,"nodeType":"FunctionDefinition","src":"8659:184:48","nodes":[],"body":{"id":30591,"nodeType":"Block","src":"8724:119:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30576,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30569,"src":"8738:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30577,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"8743:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8738:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30590,"nodeType":"IfStatement","src":"8734:103:48","trueBody":{"id":30589,"nodeType":"Block","src":"8746:91:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8782:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30581,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30573,"src":"8791:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30579,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"8765:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8765:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30583,"nodeType":"EmitStatement","src":"8760:35:48"},{"expression":{"arguments":[{"id":30585,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30569,"src":"8821:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30586,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30571,"src":"8824:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30584,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":30567,"src":"8809:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30587,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8809:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30588,"nodeType":"ExpressionStatement","src":"8809:17:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"8668:11:48","parameters":{"id":30574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30569,"mutability":"mutable","name":"a","nameLocation":"8685:1:48","nodeType":"VariableDeclaration","scope":30592,"src":"8680:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30568,"name":"uint","nodeType":"ElementaryTypeName","src":"8680:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30571,"mutability":"mutable","name":"b","nameLocation":"8693:1:48","nodeType":"VariableDeclaration","scope":30592,"src":"8688:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30570,"name":"uint","nodeType":"ElementaryTypeName","src":"8688:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30573,"mutability":"mutable","name":"err","nameLocation":"8710:3:48","nodeType":"VariableDeclaration","scope":30592,"src":"8696:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30572,"name":"string","nodeType":"ElementaryTypeName","src":"8696:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8679:35:48"},"returnParameters":{"id":30575,"nodeType":"ParameterList","parameters":[],"src":"8724:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30626,"nodeType":"FunctionDefinition","src":"8848:326:48","nodes":[],"body":{"id":30625,"nodeType":"Block","src":"8914:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30603,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30601,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30594,"src":"8928:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30602,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30596,"src":"8933:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"8928:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30624,"nodeType":"IfStatement","src":"8924:244:48","trueBody":{"id":30623,"nodeType":"Block","src":"8936:232:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":30605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8959:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_066084a27c1b5169a7853cce63d8c8ab47e015f079365396132cff6d8eb35862","typeString":"literal_string \"Error: a != b not satisfied [decimal int]\""},"value":"Error: a != b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_066084a27c1b5169a7853cce63d8c8ab47e015f079365396132cff6d8eb35862","typeString":"literal_string \"Error: a != b not satisfied [decimal int]\""}],"id":30604,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"8955:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8955:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30607,"nodeType":"EmitStatement","src":"8950:53:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9044:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30610,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30594,"src":"9058:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30611,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30598,"src":"9061:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30608,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"9022:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9022:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30613,"nodeType":"EmitStatement","src":"9017:53:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9111:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30616,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30596,"src":"9125:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30617,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30598,"src":"9128:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30614,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"9089:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30618,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9089:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30619,"nodeType":"EmitStatement","src":"9084:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30620,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"9151:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9151:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30622,"nodeType":"ExpressionStatement","src":"9151:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"8857:18:48","parameters":{"id":30599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30594,"mutability":"mutable","name":"a","nameLocation":"8880:1:48","nodeType":"VariableDeclaration","scope":30626,"src":"8876:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30593,"name":"int","nodeType":"ElementaryTypeName","src":"8876:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30596,"mutability":"mutable","name":"b","nameLocation":"8887:1:48","nodeType":"VariableDeclaration","scope":30626,"src":"8883:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30595,"name":"int","nodeType":"ElementaryTypeName","src":"8883:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30598,"mutability":"mutable","name":"decimals","nameLocation":"8895:8:48","nodeType":"VariableDeclaration","scope":30626,"src":"8890:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30597,"name":"uint","nodeType":"ElementaryTypeName","src":"8890:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8875:29:48"},"returnParameters":{"id":30600,"nodeType":"ParameterList","parameters":[],"src":"8914:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30654,"nodeType":"FunctionDefinition","src":"9179:221:48","nodes":[],"body":{"id":30653,"nodeType":"Block","src":"9264:136:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30637,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30628,"src":"9278:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30638,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30630,"src":"9283:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"9278:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30652,"nodeType":"IfStatement","src":"9274:120:48","trueBody":{"id":30651,"nodeType":"Block","src":"9286:108:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30641,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9322:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30642,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30634,"src":"9331:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30640,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"9305:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9305:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30644,"nodeType":"EmitStatement","src":"9300:35:48"},{"expression":{"arguments":[{"id":30646,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30628,"src":"9368:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30647,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30630,"src":"9371:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30648,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30632,"src":"9374:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30645,"name":"assertNotEqDecimal","nodeType":"Identifier","overloadedDeclarations":[30626,30654,30688,30716],"referencedDeclaration":30626,"src":"9349:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":30649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9349:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30650,"nodeType":"ExpressionStatement","src":"9349:34:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9188:18:48","parameters":{"id":30635,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30628,"mutability":"mutable","name":"a","nameLocation":"9211:1:48","nodeType":"VariableDeclaration","scope":30654,"src":"9207:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30627,"name":"int","nodeType":"ElementaryTypeName","src":"9207:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30630,"mutability":"mutable","name":"b","nameLocation":"9218:1:48","nodeType":"VariableDeclaration","scope":30654,"src":"9214:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30629,"name":"int","nodeType":"ElementaryTypeName","src":"9214:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30632,"mutability":"mutable","name":"decimals","nameLocation":"9226:8:48","nodeType":"VariableDeclaration","scope":30654,"src":"9221:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30631,"name":"uint","nodeType":"ElementaryTypeName","src":"9221:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30634,"mutability":"mutable","name":"err","nameLocation":"9250:3:48","nodeType":"VariableDeclaration","scope":30654,"src":"9236:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30633,"name":"string","nodeType":"ElementaryTypeName","src":"9236:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9206:48:48"},"returnParameters":{"id":30636,"nodeType":"ParameterList","parameters":[],"src":"9264:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30688,"nodeType":"FunctionDefinition","src":"9405:331:48","nodes":[],"body":{"id":30687,"nodeType":"Block","src":"9473:263:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30665,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30663,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30656,"src":"9487:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30664,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30658,"src":"9492:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9487:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30686,"nodeType":"IfStatement","src":"9483:247:48","trueBody":{"id":30685,"nodeType":"Block","src":"9495:235:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":30667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9518:44:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_cb6afe29e5a2177846eadb075878508f0d1fce640de5a828d96757a848e6dc21","typeString":"literal_string \"Error: a != b not satisfied [decimal uint]\""},"value":"Error: a != b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_cb6afe29e5a2177846eadb075878508f0d1fce640de5a828d96757a848e6dc21","typeString":"literal_string \"Error: a != b not satisfied [decimal uint]\""}],"id":30666,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"9514:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9514:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30669,"nodeType":"EmitStatement","src":"9509:54:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":30671,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9605:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":30672,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30656,"src":"9619:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30673,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30660,"src":"9622:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30670,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"9582:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9582:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30675,"nodeType":"EmitStatement","src":"9577:54:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":30677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":30678,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30658,"src":"9687:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30679,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30660,"src":"9690:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30676,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"9650:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9650:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30681,"nodeType":"EmitStatement","src":"9645:54:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30682,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"9713:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9713:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30684,"nodeType":"ExpressionStatement","src":"9713:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9414:18:48","parameters":{"id":30661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30656,"mutability":"mutable","name":"a","nameLocation":"9438:1:48","nodeType":"VariableDeclaration","scope":30688,"src":"9433:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30655,"name":"uint","nodeType":"ElementaryTypeName","src":"9433:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30658,"mutability":"mutable","name":"b","nameLocation":"9446:1:48","nodeType":"VariableDeclaration","scope":30688,"src":"9441:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30657,"name":"uint","nodeType":"ElementaryTypeName","src":"9441:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30660,"mutability":"mutable","name":"decimals","nameLocation":"9454:8:48","nodeType":"VariableDeclaration","scope":30688,"src":"9449:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30659,"name":"uint","nodeType":"ElementaryTypeName","src":"9449:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9432:31:48"},"returnParameters":{"id":30662,"nodeType":"ParameterList","parameters":[],"src":"9473:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30716,"nodeType":"FunctionDefinition","src":"9741:223:48","nodes":[],"body":{"id":30715,"nodeType":"Block","src":"9828:136:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30699,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30690,"src":"9842:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":30700,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30692,"src":"9847:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9842:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30714,"nodeType":"IfStatement","src":"9838:120:48","trueBody":{"id":30713,"nodeType":"Block","src":"9850:108:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30703,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9886:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30704,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30696,"src":"9895:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30702,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"9869:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9869:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30706,"nodeType":"EmitStatement","src":"9864:35:48"},{"expression":{"arguments":[{"id":30708,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30690,"src":"9932:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30709,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30692,"src":"9935:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30710,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30694,"src":"9938:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30707,"name":"assertNotEqDecimal","nodeType":"Identifier","overloadedDeclarations":[30626,30654,30688,30716],"referencedDeclaration":30688,"src":"9913:18:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":30711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9913:34:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30712,"nodeType":"ExpressionStatement","src":"9913:34:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"9750:18:48","parameters":{"id":30697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30690,"mutability":"mutable","name":"a","nameLocation":"9774:1:48","nodeType":"VariableDeclaration","scope":30716,"src":"9769:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30689,"name":"uint","nodeType":"ElementaryTypeName","src":"9769:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30692,"mutability":"mutable","name":"b","nameLocation":"9782:1:48","nodeType":"VariableDeclaration","scope":30716,"src":"9777:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30691,"name":"uint","nodeType":"ElementaryTypeName","src":"9777:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30694,"mutability":"mutable","name":"decimals","nameLocation":"9790:8:48","nodeType":"VariableDeclaration","scope":30716,"src":"9785:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30693,"name":"uint","nodeType":"ElementaryTypeName","src":"9785:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30696,"mutability":"mutable","name":"err","nameLocation":"9814:3:48","nodeType":"VariableDeclaration","scope":30716,"src":"9800:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30695,"name":"string","nodeType":"ElementaryTypeName","src":"9800:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9768:50:48"},"returnParameters":{"id":30698,"nodeType":"ParameterList","parameters":[],"src":"9828:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30746,"nodeType":"FunctionDefinition","src":"9970:259:48","nodes":[],"body":{"id":30745,"nodeType":"Block","src":"10013:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30725,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30723,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30718,"src":"10027:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30724,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30720,"src":"10032:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10027:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30744,"nodeType":"IfStatement","src":"10023:200:48","trueBody":{"id":30743,"nodeType":"Block","src":"10035:188:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b75696e745d","id":30727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10058:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""},"value":"Error: a > b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_71977b46fbd6a64b4465b93c7a77bcaa06103df599ead9f7e7004b34129c9e3a","typeString":"literal_string \"Error: a > b not satisfied [uint]\""}],"id":30726,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"10054:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30728,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10054:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30729,"nodeType":"EmitStatement","src":"10049:45:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":30731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10128:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":30732,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30718,"src":"10141:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30730,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"10113:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10113:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30734,"nodeType":"EmitStatement","src":"10108:35:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":30736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10177:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":30737,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30720,"src":"10190:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30735,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"10162:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10162:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30739,"nodeType":"EmitStatement","src":"10157:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30740,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"10206:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10206:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30742,"nodeType":"ExpressionStatement","src":"10206:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"9979:8:48","parameters":{"id":30721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30718,"mutability":"mutable","name":"a","nameLocation":"9993:1:48","nodeType":"VariableDeclaration","scope":30746,"src":"9988:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30717,"name":"uint","nodeType":"ElementaryTypeName","src":"9988:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30720,"mutability":"mutable","name":"b","nameLocation":"10001:1:48","nodeType":"VariableDeclaration","scope":30746,"src":"9996:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30719,"name":"uint","nodeType":"ElementaryTypeName","src":"9996:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9987:16:48"},"returnParameters":{"id":30722,"nodeType":"ParameterList","parameters":[],"src":"10013:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30771,"nodeType":"FunctionDefinition","src":"10234:178:48","nodes":[],"body":{"id":30770,"nodeType":"Block","src":"10296:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30755,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30748,"src":"10310:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30756,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30750,"src":"10315:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10310:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30769,"nodeType":"IfStatement","src":"10306:100:48","trueBody":{"id":30768,"nodeType":"Block","src":"10318:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10354:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30760,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30752,"src":"10363:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30758,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"10337:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10337:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30762,"nodeType":"EmitStatement","src":"10332:35:48"},{"expression":{"arguments":[{"id":30764,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30748,"src":"10390:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30765,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30750,"src":"10393:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30763,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[30746,30771,30801,30826],"referencedDeclaration":30746,"src":"10381:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":30766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10381:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30767,"nodeType":"ExpressionStatement","src":"10381:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"10243:8:48","parameters":{"id":30753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30748,"mutability":"mutable","name":"a","nameLocation":"10257:1:48","nodeType":"VariableDeclaration","scope":30771,"src":"10252:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30747,"name":"uint","nodeType":"ElementaryTypeName","src":"10252:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30750,"mutability":"mutable","name":"b","nameLocation":"10265:1:48","nodeType":"VariableDeclaration","scope":30771,"src":"10260:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30749,"name":"uint","nodeType":"ElementaryTypeName","src":"10260:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30752,"mutability":"mutable","name":"err","nameLocation":"10282:3:48","nodeType":"VariableDeclaration","scope":30771,"src":"10268:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30751,"name":"string","nodeType":"ElementaryTypeName","src":"10268:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10251:35:48"},"returnParameters":{"id":30754,"nodeType":"ParameterList","parameters":[],"src":"10296:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30801,"nodeType":"FunctionDefinition","src":"10417:254:48","nodes":[],"body":{"id":30800,"nodeType":"Block","src":"10458:213:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30778,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30773,"src":"10472:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30779,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30775,"src":"10477:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"10472:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30799,"nodeType":"IfStatement","src":"10468:197:48","trueBody":{"id":30798,"nodeType":"Block","src":"10480:185:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b696e745d","id":30782,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10503:34:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""},"value":"Error: a > b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c6338b3f9677628b4efbdc683490461f2a94469341c3d2ff3d117001fb77d49b","typeString":"literal_string \"Error: a > b not satisfied [int]\""}],"id":30781,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"10499:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30783,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10499:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30784,"nodeType":"EmitStatement","src":"10494:44:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":30786,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10571:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":30787,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30773,"src":"10584:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30785,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"10557:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10557:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30789,"nodeType":"EmitStatement","src":"10552:34:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":30791,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10619:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":30792,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30775,"src":"10632:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30790,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"10605:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":30793,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10605:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30794,"nodeType":"EmitStatement","src":"10600:34:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30795,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"10648:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30796,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10648:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30797,"nodeType":"ExpressionStatement","src":"10648:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"10426:8:48","parameters":{"id":30776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30773,"mutability":"mutable","name":"a","nameLocation":"10439:1:48","nodeType":"VariableDeclaration","scope":30801,"src":"10435:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30772,"name":"int","nodeType":"ElementaryTypeName","src":"10435:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30775,"mutability":"mutable","name":"b","nameLocation":"10446:1:48","nodeType":"VariableDeclaration","scope":30801,"src":"10442:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30774,"name":"int","nodeType":"ElementaryTypeName","src":"10442:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"10434:14:48"},"returnParameters":{"id":30777,"nodeType":"ParameterList","parameters":[],"src":"10458:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30826,"nodeType":"FunctionDefinition","src":"10676:176:48","nodes":[],"body":{"id":30825,"nodeType":"Block","src":"10736:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30810,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30803,"src":"10750:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30811,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30805,"src":"10755:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"10750:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30824,"nodeType":"IfStatement","src":"10746:100:48","trueBody":{"id":30823,"nodeType":"Block","src":"10758:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30814,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10794:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30815,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30807,"src":"10803:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30813,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"10777:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10777:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30817,"nodeType":"EmitStatement","src":"10772:35:48"},{"expression":{"arguments":[{"id":30819,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30803,"src":"10830:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30820,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30805,"src":"10833:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":30818,"name":"assertGt","nodeType":"Identifier","overloadedDeclarations":[30746,30771,30801,30826],"referencedDeclaration":30801,"src":"10821:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":30821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10821:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30822,"nodeType":"ExpressionStatement","src":"10821:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"10685:8:48","parameters":{"id":30808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30803,"mutability":"mutable","name":"a","nameLocation":"10698:1:48","nodeType":"VariableDeclaration","scope":30826,"src":"10694:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30802,"name":"int","nodeType":"ElementaryTypeName","src":"10694:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30805,"mutability":"mutable","name":"b","nameLocation":"10705:1:48","nodeType":"VariableDeclaration","scope":30826,"src":"10701:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30804,"name":"int","nodeType":"ElementaryTypeName","src":"10701:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30807,"mutability":"mutable","name":"err","nameLocation":"10722:3:48","nodeType":"VariableDeclaration","scope":30826,"src":"10708:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30806,"name":"string","nodeType":"ElementaryTypeName","src":"10708:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10693:33:48"},"returnParameters":{"id":30809,"nodeType":"ParameterList","parameters":[],"src":"10736:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30860,"nodeType":"FunctionDefinition","src":"10857:320:48","nodes":[],"body":{"id":30859,"nodeType":"Block","src":"10920:257:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30835,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30828,"src":"10934:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30836,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30830,"src":"10939:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"10934:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30858,"nodeType":"IfStatement","src":"10930:241:48","trueBody":{"id":30857,"nodeType":"Block","src":"10942:229:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":30839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10965:42:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""},"value":"Error: a > b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_85ee98c18b4560d5bfeeef41e54955cef93f7b8071348c487f1fd81bd1aaf2ad","typeString":"literal_string \"Error: a > b not satisfied [decimal int]\""}],"id":30838,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"10961:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10961:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30841,"nodeType":"EmitStatement","src":"10956:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":30843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11049:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":30844,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30828,"src":"11062:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30845,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30832,"src":"11065:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30842,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"11027:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11027:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30847,"nodeType":"EmitStatement","src":"11022:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":30849,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11115:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":30850,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30830,"src":"11128:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30851,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30832,"src":"11131:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30848,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"11093:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":30852,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11093:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30853,"nodeType":"EmitStatement","src":"11088:52:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30854,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"11154:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30855,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11154:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30856,"nodeType":"ExpressionStatement","src":"11154:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"10866:15:48","parameters":{"id":30833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30828,"mutability":"mutable","name":"a","nameLocation":"10886:1:48","nodeType":"VariableDeclaration","scope":30860,"src":"10882:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30827,"name":"int","nodeType":"ElementaryTypeName","src":"10882:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30830,"mutability":"mutable","name":"b","nameLocation":"10893:1:48","nodeType":"VariableDeclaration","scope":30860,"src":"10889:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30829,"name":"int","nodeType":"ElementaryTypeName","src":"10889:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30832,"mutability":"mutable","name":"decimals","nameLocation":"10901:8:48","nodeType":"VariableDeclaration","scope":30860,"src":"10896:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30831,"name":"uint","nodeType":"ElementaryTypeName","src":"10896:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10881:29:48"},"returnParameters":{"id":30834,"nodeType":"ParameterList","parameters":[],"src":"10920:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30888,"nodeType":"FunctionDefinition","src":"11182:215:48","nodes":[],"body":{"id":30887,"nodeType":"Block","src":"11264:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":30873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30871,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30862,"src":"11278:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30872,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30864,"src":"11283:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"11278:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30886,"nodeType":"IfStatement","src":"11274:117:48","trueBody":{"id":30885,"nodeType":"Block","src":"11286:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11322:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30876,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30868,"src":"11331:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30874,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"11305:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30877,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11305:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30878,"nodeType":"EmitStatement","src":"11300:35:48"},{"expression":{"arguments":[{"id":30880,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30862,"src":"11365:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30881,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30864,"src":"11368:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":30882,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30866,"src":"11371:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30879,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[30860,30888,30922,30950],"referencedDeclaration":30860,"src":"11349:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":30883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11349:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30884,"nodeType":"ExpressionStatement","src":"11349:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"11191:15:48","parameters":{"id":30869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30862,"mutability":"mutable","name":"a","nameLocation":"11211:1:48","nodeType":"VariableDeclaration","scope":30888,"src":"11207:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30861,"name":"int","nodeType":"ElementaryTypeName","src":"11207:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30864,"mutability":"mutable","name":"b","nameLocation":"11218:1:48","nodeType":"VariableDeclaration","scope":30888,"src":"11214:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":30863,"name":"int","nodeType":"ElementaryTypeName","src":"11214:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":30866,"mutability":"mutable","name":"decimals","nameLocation":"11226:8:48","nodeType":"VariableDeclaration","scope":30888,"src":"11221:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30865,"name":"uint","nodeType":"ElementaryTypeName","src":"11221:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30868,"mutability":"mutable","name":"err","nameLocation":"11250:3:48","nodeType":"VariableDeclaration","scope":30888,"src":"11236:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30867,"name":"string","nodeType":"ElementaryTypeName","src":"11236:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11206:48:48"},"returnParameters":{"id":30870,"nodeType":"ParameterList","parameters":[],"src":"11264:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30922,"nodeType":"FunctionDefinition","src":"11402:325:48","nodes":[],"body":{"id":30921,"nodeType":"Block","src":"11467:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30897,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30890,"src":"11481:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30898,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30892,"src":"11486:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11481:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30920,"nodeType":"IfStatement","src":"11477:244:48","trueBody":{"id":30919,"nodeType":"Block","src":"11489:232:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":30901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11512:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""},"value":"Error: a > b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_2a2cca6a3a53808b9763cfdafa62d083cc161a243845052a9c6e09d6d624c69f","typeString":"literal_string \"Error: a > b not satisfied [decimal uint]\""}],"id":30900,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"11508:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11508:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30903,"nodeType":"EmitStatement","src":"11503:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":30905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11598:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":30906,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30890,"src":"11611:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30907,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30894,"src":"11614:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30904,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"11575:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11575:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30909,"nodeType":"EmitStatement","src":"11570:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":30911,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11665:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":30912,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30892,"src":"11678:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30913,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30894,"src":"11681:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30910,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"11642:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":30914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11642:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30915,"nodeType":"EmitStatement","src":"11637:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30916,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"11704:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11704:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30918,"nodeType":"ExpressionStatement","src":"11704:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"11411:15:48","parameters":{"id":30895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30890,"mutability":"mutable","name":"a","nameLocation":"11432:1:48","nodeType":"VariableDeclaration","scope":30922,"src":"11427:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30889,"name":"uint","nodeType":"ElementaryTypeName","src":"11427:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30892,"mutability":"mutable","name":"b","nameLocation":"11440:1:48","nodeType":"VariableDeclaration","scope":30922,"src":"11435:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30891,"name":"uint","nodeType":"ElementaryTypeName","src":"11435:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30894,"mutability":"mutable","name":"decimals","nameLocation":"11448:8:48","nodeType":"VariableDeclaration","scope":30922,"src":"11443:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30893,"name":"uint","nodeType":"ElementaryTypeName","src":"11443:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11426:31:48"},"returnParameters":{"id":30896,"nodeType":"ParameterList","parameters":[],"src":"11467:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30950,"nodeType":"FunctionDefinition","src":"11732:217:48","nodes":[],"body":{"id":30949,"nodeType":"Block","src":"11816:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30935,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30933,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30924,"src":"11830:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":30934,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30926,"src":"11835:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11830:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30948,"nodeType":"IfStatement","src":"11826:117:48","trueBody":{"id":30947,"nodeType":"Block","src":"11838:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30937,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11874:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30938,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30930,"src":"11883:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30936,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"11857:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11857:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30940,"nodeType":"EmitStatement","src":"11852:35:48"},{"expression":{"arguments":[{"id":30942,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30924,"src":"11917:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30943,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30926,"src":"11920:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30944,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30928,"src":"11923:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30941,"name":"assertGtDecimal","nodeType":"Identifier","overloadedDeclarations":[30860,30888,30922,30950],"referencedDeclaration":30922,"src":"11901:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":30945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11901:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30946,"nodeType":"ExpressionStatement","src":"11901:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"11741:15:48","parameters":{"id":30931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30924,"mutability":"mutable","name":"a","nameLocation":"11762:1:48","nodeType":"VariableDeclaration","scope":30950,"src":"11757:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30923,"name":"uint","nodeType":"ElementaryTypeName","src":"11757:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30926,"mutability":"mutable","name":"b","nameLocation":"11770:1:48","nodeType":"VariableDeclaration","scope":30950,"src":"11765:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30925,"name":"uint","nodeType":"ElementaryTypeName","src":"11765:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30928,"mutability":"mutable","name":"decimals","nameLocation":"11778:8:48","nodeType":"VariableDeclaration","scope":30950,"src":"11773:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30927,"name":"uint","nodeType":"ElementaryTypeName","src":"11773:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30930,"mutability":"mutable","name":"err","nameLocation":"11802:3:48","nodeType":"VariableDeclaration","scope":30950,"src":"11788:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30929,"name":"string","nodeType":"ElementaryTypeName","src":"11788:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11756:50:48"},"returnParameters":{"id":30932,"nodeType":"ParameterList","parameters":[],"src":"11816:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":30980,"nodeType":"FunctionDefinition","src":"11955:259:48","nodes":[],"body":{"id":30979,"nodeType":"Block","src":"11998:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30957,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30952,"src":"12012:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":30958,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30954,"src":"12016:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12012:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":30978,"nodeType":"IfStatement","src":"12008:200:48","trueBody":{"id":30977,"nodeType":"Block","src":"12019:189:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e745d","id":30961,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12042:36:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""},"value":"Error: a >= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ad79593ab7a8c163bd9b5379945ad36a940281a5ef1023478b9c309b02ea375e","typeString":"literal_string \"Error: a >= b not satisfied [uint]\""}],"id":30960,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"12038:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":30962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12038:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30963,"nodeType":"EmitStatement","src":"12033:46:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":30965,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12113:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":30966,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30952,"src":"12126:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30964,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"12098:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30967,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12098:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30968,"nodeType":"EmitStatement","src":"12093:35:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":30970,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12162:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":30971,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30954,"src":"12175:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30969,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"12147:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":30972,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12147:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30973,"nodeType":"EmitStatement","src":"12142:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":30974,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"12191:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":30975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12191:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30976,"nodeType":"ExpressionStatement","src":"12191:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"11964:8:48","parameters":{"id":30955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30952,"mutability":"mutable","name":"a","nameLocation":"11978:1:48","nodeType":"VariableDeclaration","scope":30980,"src":"11973:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30951,"name":"uint","nodeType":"ElementaryTypeName","src":"11973:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30954,"mutability":"mutable","name":"b","nameLocation":"11986:1:48","nodeType":"VariableDeclaration","scope":30980,"src":"11981:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30953,"name":"uint","nodeType":"ElementaryTypeName","src":"11981:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11972:16:48"},"returnParameters":{"id":30956,"nodeType":"ParameterList","parameters":[],"src":"11998:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31005,"nodeType":"FunctionDefinition","src":"12219:177:48","nodes":[],"body":{"id":31004,"nodeType":"Block","src":"12281:115:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":30991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":30989,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30982,"src":"12295:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":30990,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30984,"src":"12299:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12295:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31003,"nodeType":"IfStatement","src":"12291:99:48","trueBody":{"id":31002,"nodeType":"Block","src":"12302:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":30993,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12338:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":30994,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30986,"src":"12347:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":30992,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"12321:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":30995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12321:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30996,"nodeType":"EmitStatement","src":"12316:35:48"},{"expression":{"arguments":[{"id":30998,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30982,"src":"12374:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":30999,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":30984,"src":"12377:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":30997,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[30980,31005,31035,31060],"referencedDeclaration":30980,"src":"12365:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12365:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31001,"nodeType":"ExpressionStatement","src":"12365:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"12228:8:48","parameters":{"id":30987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":30982,"mutability":"mutable","name":"a","nameLocation":"12242:1:48","nodeType":"VariableDeclaration","scope":31005,"src":"12237:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30981,"name":"uint","nodeType":"ElementaryTypeName","src":"12237:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30984,"mutability":"mutable","name":"b","nameLocation":"12250:1:48","nodeType":"VariableDeclaration","scope":31005,"src":"12245:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":30983,"name":"uint","nodeType":"ElementaryTypeName","src":"12245:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":30986,"mutability":"mutable","name":"err","nameLocation":"12267:3:48","nodeType":"VariableDeclaration","scope":31005,"src":"12253:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":30985,"name":"string","nodeType":"ElementaryTypeName","src":"12253:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12236:35:48"},"returnParameters":{"id":30988,"nodeType":"ParameterList","parameters":[],"src":"12281:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31035,"nodeType":"FunctionDefinition","src":"12401:254:48","nodes":[],"body":{"id":31034,"nodeType":"Block","src":"12442:213:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31014,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31012,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31007,"src":"12456:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31013,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31009,"src":"12460:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12456:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31033,"nodeType":"IfStatement","src":"12452:197:48","trueBody":{"id":31032,"nodeType":"Block","src":"12463:186:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e745d","id":31016,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12486:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""},"value":"Error: a >= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9dd34d7cd7d190bc9855e4326f563fd4539c0d764699b480d53bfd72aa5807a6","typeString":"literal_string \"Error: a >= b not satisfied [int]\""}],"id":31015,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"12482:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31017,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12482:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31018,"nodeType":"EmitStatement","src":"12477:45:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12555:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31021,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31007,"src":"12568:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31019,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"12541:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12541:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31023,"nodeType":"EmitStatement","src":"12536:34:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31025,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12603:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31026,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31009,"src":"12616:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31024,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"12589:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12589:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31028,"nodeType":"EmitStatement","src":"12584:34:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31029,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"12632:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12632:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31031,"nodeType":"ExpressionStatement","src":"12632:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"12410:8:48","parameters":{"id":31010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31007,"mutability":"mutable","name":"a","nameLocation":"12423:1:48","nodeType":"VariableDeclaration","scope":31035,"src":"12419:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31006,"name":"int","nodeType":"ElementaryTypeName","src":"12419:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31009,"mutability":"mutable","name":"b","nameLocation":"12430:1:48","nodeType":"VariableDeclaration","scope":31035,"src":"12426:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31008,"name":"int","nodeType":"ElementaryTypeName","src":"12426:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"12418:14:48"},"returnParameters":{"id":31011,"nodeType":"ParameterList","parameters":[],"src":"12442:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31060,"nodeType":"FunctionDefinition","src":"12660:175:48","nodes":[],"body":{"id":31059,"nodeType":"Block","src":"12720:115:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31046,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31044,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31037,"src":"12734:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31045,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31039,"src":"12738:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12734:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31058,"nodeType":"IfStatement","src":"12730:99:48","trueBody":{"id":31057,"nodeType":"Block","src":"12741:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31048,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12777:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31049,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31041,"src":"12786:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31047,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"12760:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31050,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12760:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31051,"nodeType":"EmitStatement","src":"12755:35:48"},{"expression":{"arguments":[{"id":31053,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31037,"src":"12813:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31054,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31039,"src":"12816:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31052,"name":"assertGe","nodeType":"Identifier","overloadedDeclarations":[30980,31005,31035,31060],"referencedDeclaration":31035,"src":"12804:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":31055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12804:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31056,"nodeType":"ExpressionStatement","src":"12804:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"12669:8:48","parameters":{"id":31042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31037,"mutability":"mutable","name":"a","nameLocation":"12682:1:48","nodeType":"VariableDeclaration","scope":31060,"src":"12678:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31036,"name":"int","nodeType":"ElementaryTypeName","src":"12678:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31039,"mutability":"mutable","name":"b","nameLocation":"12689:1:48","nodeType":"VariableDeclaration","scope":31060,"src":"12685:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31038,"name":"int","nodeType":"ElementaryTypeName","src":"12685:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31041,"mutability":"mutable","name":"err","nameLocation":"12706:3:48","nodeType":"VariableDeclaration","scope":31060,"src":"12692:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31040,"name":"string","nodeType":"ElementaryTypeName","src":"12692:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12677:33:48"},"returnParameters":{"id":31043,"nodeType":"ParameterList","parameters":[],"src":"12720:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31094,"nodeType":"FunctionDefinition","src":"12840:320:48","nodes":[],"body":{"id":31093,"nodeType":"Block","src":"12903:257:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31069,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31062,"src":"12917:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31070,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31064,"src":"12921:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"12917:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31092,"nodeType":"IfStatement","src":"12913:241:48","trueBody":{"id":31091,"nodeType":"Block","src":"12924:230:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":31073,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12947:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""},"value":"Error: a >= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0f02f65375ca93c3f3c485b8b2455303d1a8668a2b626cba00789d1c4ebd8736","typeString":"literal_string \"Error: a >= b not satisfied [decimal int]\""}],"id":31072,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"12943:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12943:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31075,"nodeType":"EmitStatement","src":"12938:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31077,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13032:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31078,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31062,"src":"13045:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31079,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31066,"src":"13048:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31076,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"13010:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13010:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31081,"nodeType":"EmitStatement","src":"13005:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31083,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13098:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31084,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31064,"src":"13111:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31085,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31066,"src":"13114:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31082,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"13076:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13076:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31087,"nodeType":"EmitStatement","src":"13071:52:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31088,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"13137:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13137:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31090,"nodeType":"ExpressionStatement","src":"13137:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"12849:15:48","parameters":{"id":31067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31062,"mutability":"mutable","name":"a","nameLocation":"12869:1:48","nodeType":"VariableDeclaration","scope":31094,"src":"12865:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31061,"name":"int","nodeType":"ElementaryTypeName","src":"12865:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31064,"mutability":"mutable","name":"b","nameLocation":"12876:1:48","nodeType":"VariableDeclaration","scope":31094,"src":"12872:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31063,"name":"int","nodeType":"ElementaryTypeName","src":"12872:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31066,"mutability":"mutable","name":"decimals","nameLocation":"12884:8:48","nodeType":"VariableDeclaration","scope":31094,"src":"12879:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31065,"name":"uint","nodeType":"ElementaryTypeName","src":"12879:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12864:29:48"},"returnParameters":{"id":31068,"nodeType":"ParameterList","parameters":[],"src":"12903:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31122,"nodeType":"FunctionDefinition","src":"13165:214:48","nodes":[],"body":{"id":31121,"nodeType":"Block","src":"13247:132:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31107,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31105,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31096,"src":"13261:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31106,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31098,"src":"13265:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"13261:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31120,"nodeType":"IfStatement","src":"13257:116:48","trueBody":{"id":31119,"nodeType":"Block","src":"13268:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31109,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13304:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31110,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31102,"src":"13313:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31108,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"13287:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31111,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13287:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31112,"nodeType":"EmitStatement","src":"13282:35:48"},{"expression":{"arguments":[{"id":31114,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31096,"src":"13347:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31115,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31098,"src":"13350:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31116,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31100,"src":"13353:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31113,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[31094,31122,31156,31184],"referencedDeclaration":31094,"src":"13331:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":31117,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13331:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31118,"nodeType":"ExpressionStatement","src":"13331:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"13174:15:48","parameters":{"id":31103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31096,"mutability":"mutable","name":"a","nameLocation":"13194:1:48","nodeType":"VariableDeclaration","scope":31122,"src":"13190:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31095,"name":"int","nodeType":"ElementaryTypeName","src":"13190:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31098,"mutability":"mutable","name":"b","nameLocation":"13201:1:48","nodeType":"VariableDeclaration","scope":31122,"src":"13197:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31097,"name":"int","nodeType":"ElementaryTypeName","src":"13197:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31100,"mutability":"mutable","name":"decimals","nameLocation":"13209:8:48","nodeType":"VariableDeclaration","scope":31122,"src":"13204:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31099,"name":"uint","nodeType":"ElementaryTypeName","src":"13204:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31102,"mutability":"mutable","name":"err","nameLocation":"13233:3:48","nodeType":"VariableDeclaration","scope":31122,"src":"13219:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31101,"name":"string","nodeType":"ElementaryTypeName","src":"13219:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13189:48:48"},"returnParameters":{"id":31104,"nodeType":"ParameterList","parameters":[],"src":"13247:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31156,"nodeType":"FunctionDefinition","src":"13384:325:48","nodes":[],"body":{"id":31155,"nodeType":"Block","src":"13449:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31131,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31124,"src":"13463:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31132,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31126,"src":"13467:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13463:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31154,"nodeType":"IfStatement","src":"13459:244:48","trueBody":{"id":31153,"nodeType":"Block","src":"13470:233:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203e3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":31135,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13493:44:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""},"value":"Error: a >= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1192304a51ee70969886576ac83224cad7adddc5aab218616c612e9fa634c616","typeString":"literal_string \"Error: a >= b not satisfied [decimal uint]\""}],"id":31134,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"13489:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13489:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31137,"nodeType":"EmitStatement","src":"13484:54:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31139,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13580:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31140,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31124,"src":"13593:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31141,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31128,"src":"13596:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31138,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"13557:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13557:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31143,"nodeType":"EmitStatement","src":"13552:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13647:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31146,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31126,"src":"13660:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31147,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31128,"src":"13663:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31144,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"13624:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13624:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31149,"nodeType":"EmitStatement","src":"13619:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31150,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"13686:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13686:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31152,"nodeType":"ExpressionStatement","src":"13686:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"13393:15:48","parameters":{"id":31129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31124,"mutability":"mutable","name":"a","nameLocation":"13414:1:48","nodeType":"VariableDeclaration","scope":31156,"src":"13409:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31123,"name":"uint","nodeType":"ElementaryTypeName","src":"13409:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31126,"mutability":"mutable","name":"b","nameLocation":"13422:1:48","nodeType":"VariableDeclaration","scope":31156,"src":"13417:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31125,"name":"uint","nodeType":"ElementaryTypeName","src":"13417:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31128,"mutability":"mutable","name":"decimals","nameLocation":"13430:8:48","nodeType":"VariableDeclaration","scope":31156,"src":"13425:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31127,"name":"uint","nodeType":"ElementaryTypeName","src":"13425:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13408:31:48"},"returnParameters":{"id":31130,"nodeType":"ParameterList","parameters":[],"src":"13449:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31184,"nodeType":"FunctionDefinition","src":"13714:216:48","nodes":[],"body":{"id":31183,"nodeType":"Block","src":"13798:132:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31167,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31158,"src":"13812:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":31168,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31160,"src":"13816:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13812:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31182,"nodeType":"IfStatement","src":"13808:116:48","trueBody":{"id":31181,"nodeType":"Block","src":"13819:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31171,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13855:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31172,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31164,"src":"13864:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31170,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"13838:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13838:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31174,"nodeType":"EmitStatement","src":"13833:35:48"},{"expression":{"arguments":[{"id":31176,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31158,"src":"13898:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31177,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31160,"src":"13901:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31178,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31162,"src":"13904:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31175,"name":"assertGeDecimal","nodeType":"Identifier","overloadedDeclarations":[31094,31122,31156,31184],"referencedDeclaration":31156,"src":"13882:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":31179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13882:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31180,"nodeType":"ExpressionStatement","src":"13882:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"13723:15:48","parameters":{"id":31165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31158,"mutability":"mutable","name":"a","nameLocation":"13744:1:48","nodeType":"VariableDeclaration","scope":31184,"src":"13739:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31157,"name":"uint","nodeType":"ElementaryTypeName","src":"13739:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31160,"mutability":"mutable","name":"b","nameLocation":"13752:1:48","nodeType":"VariableDeclaration","scope":31184,"src":"13747:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31159,"name":"uint","nodeType":"ElementaryTypeName","src":"13747:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31162,"mutability":"mutable","name":"decimals","nameLocation":"13760:8:48","nodeType":"VariableDeclaration","scope":31184,"src":"13755:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31161,"name":"uint","nodeType":"ElementaryTypeName","src":"13755:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31164,"mutability":"mutable","name":"err","nameLocation":"13784:3:48","nodeType":"VariableDeclaration","scope":31184,"src":"13770:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31163,"name":"string","nodeType":"ElementaryTypeName","src":"13770:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13738:50:48"},"returnParameters":{"id":31166,"nodeType":"ParameterList","parameters":[],"src":"13798:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31214,"nodeType":"FunctionDefinition","src":"13936:259:48","nodes":[],"body":{"id":31213,"nodeType":"Block","src":"13979:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31193,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31191,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31186,"src":"13993:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31192,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31188,"src":"13998:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13993:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31212,"nodeType":"IfStatement","src":"13989:200:48","trueBody":{"id":31211,"nodeType":"Block","src":"14001:188:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b75696e745d","id":31195,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14024:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""},"value":"Error: a < b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4a5f85d4936ddbc273c762d0b3a90fefdc47bf4d5496816359b86f70b5c74f9","typeString":"literal_string \"Error: a < b not satisfied [uint]\""}],"id":31194,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"14020:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14020:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31197,"nodeType":"EmitStatement","src":"14015:45:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31199,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14094:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31200,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31186,"src":"14107:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31198,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"14079:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":31201,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14079:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31202,"nodeType":"EmitStatement","src":"14074:35:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14143:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31205,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31188,"src":"14156:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31203,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"14128:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":31206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14128:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31207,"nodeType":"EmitStatement","src":"14123:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31208,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"14172:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14172:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31210,"nodeType":"ExpressionStatement","src":"14172:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"13945:8:48","parameters":{"id":31189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31186,"mutability":"mutable","name":"a","nameLocation":"13959:1:48","nodeType":"VariableDeclaration","scope":31214,"src":"13954:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31185,"name":"uint","nodeType":"ElementaryTypeName","src":"13954:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31188,"mutability":"mutable","name":"b","nameLocation":"13967:1:48","nodeType":"VariableDeclaration","scope":31214,"src":"13962:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31187,"name":"uint","nodeType":"ElementaryTypeName","src":"13962:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13953:16:48"},"returnParameters":{"id":31190,"nodeType":"ParameterList","parameters":[],"src":"13979:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31239,"nodeType":"FunctionDefinition","src":"14200:178:48","nodes":[],"body":{"id":31238,"nodeType":"Block","src":"14262:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31225,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31223,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31216,"src":"14276:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31224,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31218,"src":"14281:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14276:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31237,"nodeType":"IfStatement","src":"14272:100:48","trueBody":{"id":31236,"nodeType":"Block","src":"14284:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14320:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31228,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31220,"src":"14329:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31226,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"14303:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31229,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14303:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31230,"nodeType":"EmitStatement","src":"14298:35:48"},{"expression":{"arguments":[{"id":31232,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31216,"src":"14356:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31233,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31218,"src":"14359:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31231,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[31214,31239,31269,31294],"referencedDeclaration":31214,"src":"14347:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31234,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14347:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31235,"nodeType":"ExpressionStatement","src":"14347:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"14209:8:48","parameters":{"id":31221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31216,"mutability":"mutable","name":"a","nameLocation":"14223:1:48","nodeType":"VariableDeclaration","scope":31239,"src":"14218:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31215,"name":"uint","nodeType":"ElementaryTypeName","src":"14218:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31218,"mutability":"mutable","name":"b","nameLocation":"14231:1:48","nodeType":"VariableDeclaration","scope":31239,"src":"14226:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31217,"name":"uint","nodeType":"ElementaryTypeName","src":"14226:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31220,"mutability":"mutable","name":"err","nameLocation":"14248:3:48","nodeType":"VariableDeclaration","scope":31239,"src":"14234:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31219,"name":"string","nodeType":"ElementaryTypeName","src":"14234:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14217:35:48"},"returnParameters":{"id":31222,"nodeType":"ParameterList","parameters":[],"src":"14262:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31269,"nodeType":"FunctionDefinition","src":"14383:254:48","nodes":[],"body":{"id":31268,"nodeType":"Block","src":"14424:213:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31246,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31241,"src":"14438:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31247,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31243,"src":"14443:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14438:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31267,"nodeType":"IfStatement","src":"14434:197:48","trueBody":{"id":31266,"nodeType":"Block","src":"14446:185:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b696e745d","id":31250,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14469:34:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""},"value":"Error: a < b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_62edb5e296dde1308ab599c3156f51dcd32b6d82784df4b0c0246d307d4bd055","typeString":"literal_string \"Error: a < b not satisfied [int]\""}],"id":31249,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"14465:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14465:39:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31252,"nodeType":"EmitStatement","src":"14460:44:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14537:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31255,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31241,"src":"14550:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31253,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"14523:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14523:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31257,"nodeType":"EmitStatement","src":"14518:34:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14585:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31260,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31243,"src":"14598:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31258,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"14571:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14571:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31262,"nodeType":"EmitStatement","src":"14566:34:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31263,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"14614:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14614:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31265,"nodeType":"ExpressionStatement","src":"14614:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"14392:8:48","parameters":{"id":31244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31241,"mutability":"mutable","name":"a","nameLocation":"14405:1:48","nodeType":"VariableDeclaration","scope":31269,"src":"14401:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31240,"name":"int","nodeType":"ElementaryTypeName","src":"14401:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31243,"mutability":"mutable","name":"b","nameLocation":"14412:1:48","nodeType":"VariableDeclaration","scope":31269,"src":"14408:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31242,"name":"int","nodeType":"ElementaryTypeName","src":"14408:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"14400:14:48"},"returnParameters":{"id":31245,"nodeType":"ParameterList","parameters":[],"src":"14424:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31294,"nodeType":"FunctionDefinition","src":"14642:176:48","nodes":[],"body":{"id":31293,"nodeType":"Block","src":"14702:116:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31278,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31271,"src":"14716:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31279,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31273,"src":"14721:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14716:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31292,"nodeType":"IfStatement","src":"14712:100:48","trueBody":{"id":31291,"nodeType":"Block","src":"14724:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31282,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14760:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31283,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31275,"src":"14769:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31281,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"14743:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31284,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14743:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31285,"nodeType":"EmitStatement","src":"14738:35:48"},{"expression":{"arguments":[{"id":31287,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31271,"src":"14796:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31288,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31273,"src":"14799:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31286,"name":"assertLt","nodeType":"Identifier","overloadedDeclarations":[31214,31239,31269,31294],"referencedDeclaration":31269,"src":"14787:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":31289,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14787:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31290,"nodeType":"ExpressionStatement","src":"14787:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"14651:8:48","parameters":{"id":31276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31271,"mutability":"mutable","name":"a","nameLocation":"14664:1:48","nodeType":"VariableDeclaration","scope":31294,"src":"14660:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31270,"name":"int","nodeType":"ElementaryTypeName","src":"14660:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31273,"mutability":"mutable","name":"b","nameLocation":"14671:1:48","nodeType":"VariableDeclaration","scope":31294,"src":"14667:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31272,"name":"int","nodeType":"ElementaryTypeName","src":"14667:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31275,"mutability":"mutable","name":"err","nameLocation":"14688:3:48","nodeType":"VariableDeclaration","scope":31294,"src":"14674:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31274,"name":"string","nodeType":"ElementaryTypeName","src":"14674:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14659:33:48"},"returnParameters":{"id":31277,"nodeType":"ParameterList","parameters":[],"src":"14702:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31328,"nodeType":"FunctionDefinition","src":"14823:320:48","nodes":[],"body":{"id":31327,"nodeType":"Block","src":"14886:257:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31303,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31296,"src":"14900:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31304,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31298,"src":"14905:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"14900:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31326,"nodeType":"IfStatement","src":"14896:241:48","trueBody":{"id":31325,"nodeType":"Block","src":"14908:229:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":31307,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14931:42:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""},"value":"Error: a < b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a598de9e78c706978d3e40be19632446c2f234152ee02226f88acff1b63da79a","typeString":"literal_string \"Error: a < b not satisfied [decimal int]\""}],"id":31306,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"14927:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14927:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31309,"nodeType":"EmitStatement","src":"14922:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15015:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31312,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31296,"src":"15028:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31313,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31300,"src":"15031:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31310,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"14993:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31314,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14993:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31315,"nodeType":"EmitStatement","src":"14988:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15081:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31318,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31298,"src":"15094:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31319,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31300,"src":"15097:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31316,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"15059:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31320,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15059:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31321,"nodeType":"EmitStatement","src":"15054:52:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31322,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"15120:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31323,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15120:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31324,"nodeType":"ExpressionStatement","src":"15120:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"14832:15:48","parameters":{"id":31301,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31296,"mutability":"mutable","name":"a","nameLocation":"14852:1:48","nodeType":"VariableDeclaration","scope":31328,"src":"14848:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31295,"name":"int","nodeType":"ElementaryTypeName","src":"14848:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31298,"mutability":"mutable","name":"b","nameLocation":"14859:1:48","nodeType":"VariableDeclaration","scope":31328,"src":"14855:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31297,"name":"int","nodeType":"ElementaryTypeName","src":"14855:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31300,"mutability":"mutable","name":"decimals","nameLocation":"14867:8:48","nodeType":"VariableDeclaration","scope":31328,"src":"14862:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31299,"name":"uint","nodeType":"ElementaryTypeName","src":"14862:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14847:29:48"},"returnParameters":{"id":31302,"nodeType":"ParameterList","parameters":[],"src":"14886:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31356,"nodeType":"FunctionDefinition","src":"15148:215:48","nodes":[],"body":{"id":31355,"nodeType":"Block","src":"15230:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31339,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31330,"src":"15244:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31340,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31332,"src":"15249:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"15244:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31354,"nodeType":"IfStatement","src":"15240:117:48","trueBody":{"id":31353,"nodeType":"Block","src":"15252:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31343,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15288:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31344,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31336,"src":"15297:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31342,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"15271:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15271:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31346,"nodeType":"EmitStatement","src":"15266:35:48"},{"expression":{"arguments":[{"id":31348,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31330,"src":"15331:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31349,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31332,"src":"15334:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31350,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31334,"src":"15337:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31347,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[31328,31356,31390,31418],"referencedDeclaration":31328,"src":"15315:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":31351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15315:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31352,"nodeType":"ExpressionStatement","src":"15315:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"15157:15:48","parameters":{"id":31337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31330,"mutability":"mutable","name":"a","nameLocation":"15177:1:48","nodeType":"VariableDeclaration","scope":31356,"src":"15173:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31329,"name":"int","nodeType":"ElementaryTypeName","src":"15173:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31332,"mutability":"mutable","name":"b","nameLocation":"15184:1:48","nodeType":"VariableDeclaration","scope":31356,"src":"15180:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31331,"name":"int","nodeType":"ElementaryTypeName","src":"15180:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31334,"mutability":"mutable","name":"decimals","nameLocation":"15192:8:48","nodeType":"VariableDeclaration","scope":31356,"src":"15187:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31333,"name":"uint","nodeType":"ElementaryTypeName","src":"15187:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31336,"mutability":"mutable","name":"err","nameLocation":"15216:3:48","nodeType":"VariableDeclaration","scope":31356,"src":"15202:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31335,"name":"string","nodeType":"ElementaryTypeName","src":"15202:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15172:48:48"},"returnParameters":{"id":31338,"nodeType":"ParameterList","parameters":[],"src":"15230:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31390,"nodeType":"FunctionDefinition","src":"15368:325:48","nodes":[],"body":{"id":31389,"nodeType":"Block","src":"15433:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31367,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31365,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31358,"src":"15447:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31366,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31360,"src":"15452:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15447:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31388,"nodeType":"IfStatement","src":"15443:244:48","trueBody":{"id":31387,"nodeType":"Block","src":"15455:232:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":31369,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15478:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""},"value":"Error: a < b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8057606f9e67842ac0149f4a7ffdaca59331aea176cd1419e89b7b4b21bbc6d9","typeString":"literal_string \"Error: a < b not satisfied [decimal uint]\""}],"id":31368,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"15474:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15474:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31371,"nodeType":"EmitStatement","src":"15469:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31373,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15564:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31374,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31358,"src":"15577:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31375,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31362,"src":"15580:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31372,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"15541:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31376,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15541:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31377,"nodeType":"EmitStatement","src":"15536:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31379,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15631:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31380,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31360,"src":"15644:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31381,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31362,"src":"15647:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31378,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"15608:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31382,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15608:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31383,"nodeType":"EmitStatement","src":"15603:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31384,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"15670:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31385,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15670:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31386,"nodeType":"ExpressionStatement","src":"15670:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"15377:15:48","parameters":{"id":31363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31358,"mutability":"mutable","name":"a","nameLocation":"15398:1:48","nodeType":"VariableDeclaration","scope":31390,"src":"15393:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31357,"name":"uint","nodeType":"ElementaryTypeName","src":"15393:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31360,"mutability":"mutable","name":"b","nameLocation":"15406:1:48","nodeType":"VariableDeclaration","scope":31390,"src":"15401:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31359,"name":"uint","nodeType":"ElementaryTypeName","src":"15401:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31362,"mutability":"mutable","name":"decimals","nameLocation":"15414:8:48","nodeType":"VariableDeclaration","scope":31390,"src":"15409:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31361,"name":"uint","nodeType":"ElementaryTypeName","src":"15409:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15392:31:48"},"returnParameters":{"id":31364,"nodeType":"ParameterList","parameters":[],"src":"15433:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31418,"nodeType":"FunctionDefinition","src":"15698:217:48","nodes":[],"body":{"id":31417,"nodeType":"Block","src":"15782:133:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31403,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31401,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31392,"src":"15796:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":31402,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31394,"src":"15801:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15796:6:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31416,"nodeType":"IfStatement","src":"15792:117:48","trueBody":{"id":31415,"nodeType":"Block","src":"15804:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31405,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"15840:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31406,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31398,"src":"15849:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31404,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"15823:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15823:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31408,"nodeType":"EmitStatement","src":"15818:35:48"},{"expression":{"arguments":[{"id":31410,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31392,"src":"15883:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31411,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31394,"src":"15886:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31412,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31396,"src":"15889:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31409,"name":"assertLtDecimal","nodeType":"Identifier","overloadedDeclarations":[31328,31356,31390,31418],"referencedDeclaration":31390,"src":"15867:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":31413,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"15867:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31414,"nodeType":"ExpressionStatement","src":"15867:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"15707:15:48","parameters":{"id":31399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31392,"mutability":"mutable","name":"a","nameLocation":"15728:1:48","nodeType":"VariableDeclaration","scope":31418,"src":"15723:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31391,"name":"uint","nodeType":"ElementaryTypeName","src":"15723:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31394,"mutability":"mutable","name":"b","nameLocation":"15736:1:48","nodeType":"VariableDeclaration","scope":31418,"src":"15731:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31393,"name":"uint","nodeType":"ElementaryTypeName","src":"15731:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31396,"mutability":"mutable","name":"decimals","nameLocation":"15744:8:48","nodeType":"VariableDeclaration","scope":31418,"src":"15739:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31395,"name":"uint","nodeType":"ElementaryTypeName","src":"15739:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31398,"mutability":"mutable","name":"err","nameLocation":"15768:3:48","nodeType":"VariableDeclaration","scope":31418,"src":"15754:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31397,"name":"string","nodeType":"ElementaryTypeName","src":"15754:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"15722:50:48"},"returnParameters":{"id":31400,"nodeType":"ParameterList","parameters":[],"src":"15782:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31448,"nodeType":"FunctionDefinition","src":"15921:259:48","nodes":[],"body":{"id":31447,"nodeType":"Block","src":"15964:216:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31427,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31425,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31420,"src":"15978:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31426,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31422,"src":"15982:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15978:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31446,"nodeType":"IfStatement","src":"15974:200:48","trueBody":{"id":31445,"nodeType":"Block","src":"15985:189:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e745d","id":31429,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16008:36:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""},"value":"Error: a <= b not satisfied [uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_6d5420eec28b94f3fd7dd1c7ce81f45c79bfa9fab37300faf965a8d6272e32ff","typeString":"literal_string \"Error: a <= b not satisfied [uint]\""}],"id":31428,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"16004:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31430,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16004:41:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31431,"nodeType":"EmitStatement","src":"15999:46:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16079:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31434,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31420,"src":"16092:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31432,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"16064:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":31435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16064:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31436,"nodeType":"EmitStatement","src":"16059:35:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31438,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16128:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31439,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31422,"src":"16141:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31437,"name":"log_named_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29753,"src":"16113:14:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":31440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16113:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31441,"nodeType":"EmitStatement","src":"16108:35:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31442,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"16157:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16157:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31444,"nodeType":"ExpressionStatement","src":"16157:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"15930:8:48","parameters":{"id":31423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31420,"mutability":"mutable","name":"a","nameLocation":"15944:1:48","nodeType":"VariableDeclaration","scope":31448,"src":"15939:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31419,"name":"uint","nodeType":"ElementaryTypeName","src":"15939:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31422,"mutability":"mutable","name":"b","nameLocation":"15952:1:48","nodeType":"VariableDeclaration","scope":31448,"src":"15947:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31421,"name":"uint","nodeType":"ElementaryTypeName","src":"15947:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"15938:16:48"},"returnParameters":{"id":31424,"nodeType":"ParameterList","parameters":[],"src":"15964:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31473,"nodeType":"FunctionDefinition","src":"16185:177:48","nodes":[],"body":{"id":31472,"nodeType":"Block","src":"16247:115:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31457,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31450,"src":"16261:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31458,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"16265:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16261:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31471,"nodeType":"IfStatement","src":"16257:99:48","trueBody":{"id":31470,"nodeType":"Block","src":"16268:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16304:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31462,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31454,"src":"16313:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31460,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"16287:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16287:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31464,"nodeType":"EmitStatement","src":"16282:35:48"},{"expression":{"arguments":[{"id":31466,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31450,"src":"16340:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31467,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31452,"src":"16343:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31465,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[31448,31473,31503,31528],"referencedDeclaration":31448,"src":"16331:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":31468,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16331:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31469,"nodeType":"ExpressionStatement","src":"16331:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16194:8:48","parameters":{"id":31455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31450,"mutability":"mutable","name":"a","nameLocation":"16208:1:48","nodeType":"VariableDeclaration","scope":31473,"src":"16203:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31449,"name":"uint","nodeType":"ElementaryTypeName","src":"16203:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31452,"mutability":"mutable","name":"b","nameLocation":"16216:1:48","nodeType":"VariableDeclaration","scope":31473,"src":"16211:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31451,"name":"uint","nodeType":"ElementaryTypeName","src":"16211:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31454,"mutability":"mutable","name":"err","nameLocation":"16233:3:48","nodeType":"VariableDeclaration","scope":31473,"src":"16219:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31453,"name":"string","nodeType":"ElementaryTypeName","src":"16219:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16202:35:48"},"returnParameters":{"id":31456,"nodeType":"ParameterList","parameters":[],"src":"16247:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31503,"nodeType":"FunctionDefinition","src":"16367:254:48","nodes":[],"body":{"id":31502,"nodeType":"Block","src":"16408:213:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31480,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31475,"src":"16422:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31481,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31477,"src":"16426:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16422:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31501,"nodeType":"IfStatement","src":"16418:197:48","trueBody":{"id":31500,"nodeType":"Block","src":"16429:186:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e745d","id":31484,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16452:35:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""},"value":"Error: a <= b not satisfied [int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_558ba41c44b763b352271d6c22f0cb02f5c0c4dbb25ed68172916a4e6a662555","typeString":"literal_string \"Error: a <= b not satisfied [int]\""}],"id":31483,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"16448:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31485,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16448:40:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31486,"nodeType":"EmitStatement","src":"16443:45:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31488,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16521:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31489,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31475,"src":"16534:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31487,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"16507:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16507:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31491,"nodeType":"EmitStatement","src":"16502:34:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16569:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31494,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31477,"src":"16582:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31492,"name":"log_named_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29747,"src":"16555:13:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$returns$__$","typeString":"function (string memory,int256)"}},"id":31495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16555:29:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31496,"nodeType":"EmitStatement","src":"16550:34:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31497,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"16598:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31498,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16598:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31499,"nodeType":"ExpressionStatement","src":"16598:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16376:8:48","parameters":{"id":31478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31475,"mutability":"mutable","name":"a","nameLocation":"16389:1:48","nodeType":"VariableDeclaration","scope":31503,"src":"16385:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31474,"name":"int","nodeType":"ElementaryTypeName","src":"16385:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31477,"mutability":"mutable","name":"b","nameLocation":"16396:1:48","nodeType":"VariableDeclaration","scope":31503,"src":"16392:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31476,"name":"int","nodeType":"ElementaryTypeName","src":"16392:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"16384:14:48"},"returnParameters":{"id":31479,"nodeType":"ParameterList","parameters":[],"src":"16408:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31528,"nodeType":"FunctionDefinition","src":"16626:175:48","nodes":[],"body":{"id":31527,"nodeType":"Block","src":"16686:115:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31512,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31505,"src":"16700:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31513,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31507,"src":"16704:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16700:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31526,"nodeType":"IfStatement","src":"16696:99:48","trueBody":{"id":31525,"nodeType":"Block","src":"16707:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31516,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16743:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31517,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31509,"src":"16752:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31515,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"16726:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31518,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16726:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31519,"nodeType":"EmitStatement","src":"16721:35:48"},{"expression":{"arguments":[{"id":31521,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31505,"src":"16779:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31522,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31507,"src":"16782:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"}],"id":31520,"name":"assertLe","nodeType":"Identifier","overloadedDeclarations":[31448,31473,31503,31528],"referencedDeclaration":31503,"src":"16770:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$returns$__$","typeString":"function (int256,int256)"}},"id":31523,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16770:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31524,"nodeType":"ExpressionStatement","src":"16770:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"16635:8:48","parameters":{"id":31510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31505,"mutability":"mutable","name":"a","nameLocation":"16648:1:48","nodeType":"VariableDeclaration","scope":31528,"src":"16644:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31504,"name":"int","nodeType":"ElementaryTypeName","src":"16644:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31507,"mutability":"mutable","name":"b","nameLocation":"16655:1:48","nodeType":"VariableDeclaration","scope":31528,"src":"16651:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31506,"name":"int","nodeType":"ElementaryTypeName","src":"16651:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31509,"mutability":"mutable","name":"err","nameLocation":"16672:3:48","nodeType":"VariableDeclaration","scope":31528,"src":"16658:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31508,"name":"string","nodeType":"ElementaryTypeName","src":"16658:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16643:33:48"},"returnParameters":{"id":31511,"nodeType":"ParameterList","parameters":[],"src":"16686:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31562,"nodeType":"FunctionDefinition","src":"16806:320:48","nodes":[],"body":{"id":31561,"nodeType":"Block","src":"16869:257:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31537,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31530,"src":"16883:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31538,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31532,"src":"16887:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"16883:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31560,"nodeType":"IfStatement","src":"16879:241:48","trueBody":{"id":31559,"nodeType":"Block","src":"16890:230:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c20696e745d","id":31541,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16913:43:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""},"value":"Error: a <= b not satisfied [decimal int]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a855fbfffc345e8a0ab544e824618dabd995fdc5bda653c7d4869b57deb1d23a","typeString":"literal_string \"Error: a <= b not satisfied [decimal int]\""}],"id":31540,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"16909:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16909:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31543,"nodeType":"EmitStatement","src":"16904:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31545,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"16998:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31546,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31530,"src":"17011:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31547,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31534,"src":"17014:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31544,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"16976:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"16976:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31549,"nodeType":"EmitStatement","src":"16971:52:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17064:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31552,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31532,"src":"17077:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31553,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31534,"src":"17080:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31550,"name":"log_named_decimal_int","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29733,"src":"17042:21:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (string memory,int256,uint256)"}},"id":31554,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17042:47:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31555,"nodeType":"EmitStatement","src":"17037:52:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31556,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"17103:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31557,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17103:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31558,"nodeType":"ExpressionStatement","src":"17103:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"16815:15:48","parameters":{"id":31535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31530,"mutability":"mutable","name":"a","nameLocation":"16835:1:48","nodeType":"VariableDeclaration","scope":31562,"src":"16831:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31529,"name":"int","nodeType":"ElementaryTypeName","src":"16831:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31532,"mutability":"mutable","name":"b","nameLocation":"16842:1:48","nodeType":"VariableDeclaration","scope":31562,"src":"16838:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31531,"name":"int","nodeType":"ElementaryTypeName","src":"16838:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31534,"mutability":"mutable","name":"decimals","nameLocation":"16850:8:48","nodeType":"VariableDeclaration","scope":31562,"src":"16845:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31533,"name":"uint","nodeType":"ElementaryTypeName","src":"16845:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16830:29:48"},"returnParameters":{"id":31536,"nodeType":"ParameterList","parameters":[],"src":"16869:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31590,"nodeType":"FunctionDefinition","src":"17131:214:48","nodes":[],"body":{"id":31589,"nodeType":"Block","src":"17213:132:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_int256","typeString":"int256"},"id":31575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31573,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31564,"src":"17227:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31574,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31566,"src":"17231:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"src":"17227:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31588,"nodeType":"IfStatement","src":"17223:116:48","trueBody":{"id":31587,"nodeType":"Block","src":"17234:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31577,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17270:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31578,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31570,"src":"17279:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31576,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"17253:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31579,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17253:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31580,"nodeType":"EmitStatement","src":"17248:35:48"},{"expression":{"arguments":[{"id":31582,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31564,"src":"17313:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31583,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31566,"src":"17316:1:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"id":31584,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31568,"src":"17319:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_int256","typeString":"int256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31581,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[31562,31590,31624,31652],"referencedDeclaration":31562,"src":"17297:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_uint256_$returns$__$","typeString":"function (int256,int256,uint256)"}},"id":31585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17297:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31586,"nodeType":"ExpressionStatement","src":"17297:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17140:15:48","parameters":{"id":31571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31564,"mutability":"mutable","name":"a","nameLocation":"17160:1:48","nodeType":"VariableDeclaration","scope":31590,"src":"17156:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31563,"name":"int","nodeType":"ElementaryTypeName","src":"17156:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31566,"mutability":"mutable","name":"b","nameLocation":"17167:1:48","nodeType":"VariableDeclaration","scope":31590,"src":"17163:5:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":31565,"name":"int","nodeType":"ElementaryTypeName","src":"17163:3:48","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":31568,"mutability":"mutable","name":"decimals","nameLocation":"17175:8:48","nodeType":"VariableDeclaration","scope":31590,"src":"17170:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31567,"name":"uint","nodeType":"ElementaryTypeName","src":"17170:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31570,"mutability":"mutable","name":"err","nameLocation":"17199:3:48","nodeType":"VariableDeclaration","scope":31590,"src":"17185:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31569,"name":"string","nodeType":"ElementaryTypeName","src":"17185:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17155:48:48"},"returnParameters":{"id":31572,"nodeType":"ParameterList","parameters":[],"src":"17213:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31624,"nodeType":"FunctionDefinition","src":"17350:325:48","nodes":[],"body":{"id":31623,"nodeType":"Block","src":"17415:260:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31599,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31592,"src":"17429:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31600,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31594,"src":"17433:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17429:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31622,"nodeType":"IfStatement","src":"17425:244:48","trueBody":{"id":31621,"nodeType":"Block","src":"17436:233:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203c3d2062206e6f7420736174697366696564205b646563696d616c2075696e745d","id":31603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17459:44:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""},"value":"Error: a <= b not satisfied [decimal uint]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_32bce37771ce1d01bc601c73b51f2296c0d8e2a50c2d19a6ac89c6b917715c51","typeString":"literal_string \"Error: a <= b not satisfied [decimal uint]\""}],"id":31602,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"17455:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31604,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17455:49:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31605,"nodeType":"EmitStatement","src":"17450:54:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652061","id":31607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17546:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},"value":" Value a"},{"id":31608,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31592,"src":"17559:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31609,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31596,"src":"17562:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c592b529b874569f165479a5a4380dedf000796f11e04035f76bfa7310b31d26","typeString":"literal_string \" Value a\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31606,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"17523:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31610,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17523:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31611,"nodeType":"EmitStatement","src":"17518:53:48"},{"eventCall":{"arguments":[{"hexValue":"202056616c75652062","id":31613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17613:11:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},"value":" Value b"},{"id":31614,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31594,"src":"17626:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31615,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31596,"src":"17629:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e4b1d025132960c3fb1a582cf2366864dc416744d1b9770aa69fe3749623ebc3","typeString":"literal_string \" Value b\""},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31612,"name":"log_named_decimal_uint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29741,"src":"17590:22:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256,uint256)"}},"id":31616,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17590:48:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31617,"nodeType":"EmitStatement","src":"17585:53:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31618,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"17652:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17652:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31620,"nodeType":"ExpressionStatement","src":"17652:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17359:15:48","parameters":{"id":31597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31592,"mutability":"mutable","name":"a","nameLocation":"17380:1:48","nodeType":"VariableDeclaration","scope":31624,"src":"17375:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31591,"name":"uint","nodeType":"ElementaryTypeName","src":"17375:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31594,"mutability":"mutable","name":"b","nameLocation":"17388:1:48","nodeType":"VariableDeclaration","scope":31624,"src":"17383:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31593,"name":"uint","nodeType":"ElementaryTypeName","src":"17383:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31596,"mutability":"mutable","name":"decimals","nameLocation":"17396:8:48","nodeType":"VariableDeclaration","scope":31624,"src":"17391:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31595,"name":"uint","nodeType":"ElementaryTypeName","src":"17391:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17374:31:48"},"returnParameters":{"id":31598,"nodeType":"ParameterList","parameters":[],"src":"17415:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31652,"nodeType":"FunctionDefinition","src":"17680:216:48","nodes":[],"body":{"id":31651,"nodeType":"Block","src":"17764:132:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31635,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31626,"src":"17778:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":31636,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31628,"src":"17782:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17778:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31650,"nodeType":"IfStatement","src":"17774:116:48","trueBody":{"id":31649,"nodeType":"Block","src":"17785:105:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31639,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"17821:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31640,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31632,"src":"17830:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31638,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"17804:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17804:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31642,"nodeType":"EmitStatement","src":"17799:35:48"},{"expression":{"arguments":[{"id":31644,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31626,"src":"17864:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31645,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31628,"src":"17867:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":31646,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31630,"src":"17870:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":31643,"name":"assertLeDecimal","nodeType":"Identifier","overloadedDeclarations":[31562,31590,31624,31652],"referencedDeclaration":31624,"src":"17848:15:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256,uint256)"}},"id":31647,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17848:31:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31648,"nodeType":"ExpressionStatement","src":"17848:31:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"17689:15:48","parameters":{"id":31633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31626,"mutability":"mutable","name":"a","nameLocation":"17710:1:48","nodeType":"VariableDeclaration","scope":31652,"src":"17705:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31625,"name":"uint","nodeType":"ElementaryTypeName","src":"17705:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31628,"mutability":"mutable","name":"b","nameLocation":"17718:1:48","nodeType":"VariableDeclaration","scope":31652,"src":"17713:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31627,"name":"uint","nodeType":"ElementaryTypeName","src":"17713:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31630,"mutability":"mutable","name":"decimals","nameLocation":"17726:8:48","nodeType":"VariableDeclaration","scope":31652,"src":"17721:13:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31629,"name":"uint","nodeType":"ElementaryTypeName","src":"17721:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":31632,"mutability":"mutable","name":"err","nameLocation":"17750:3:48","nodeType":"VariableDeclaration","scope":31652,"src":"17736:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31631,"name":"string","nodeType":"ElementaryTypeName","src":"17736:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17704:50:48"},"returnParameters":{"id":31634,"nodeType":"ParameterList","parameters":[],"src":"17764:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31692,"nodeType":"FunctionDefinition","src":"17902:344:48","nodes":[],"body":{"id":31691,"nodeType":"Block","src":"17963:283:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":31671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":31662,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31654,"src":"18004:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31660,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"17987:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31661,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"17991:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"17987:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17987:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31659,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"17977:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31664,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"17977:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":31668,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31656,"src":"18038:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31666,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18021:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31667,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18025:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18021:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18021:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31665,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18011:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31670,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18011:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"17977:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31690,"nodeType":"IfStatement","src":"17973:267:48","trueBody":{"id":31689,"nodeType":"Block","src":"18043:197:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d","id":31673,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18066:38:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""},"value":"Error: a == b not satisfied [string]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_58e3ca0e65e73c038df3db6a7cab1bf7de300d13038b802ce0f4435889c48e5e","typeString":"literal_string \"Error: a == b not satisfied [string]\""}],"id":31672,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"18062:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18062:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31675,"nodeType":"EmitStatement","src":"18057:48:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":31677,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18141:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":31678,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31654,"src":"18155:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31676,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"18124:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18124:33:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31680,"nodeType":"EmitStatement","src":"18119:38:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":31682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18193:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":31683,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31656,"src":"18207:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31681,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"18176:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18176:33:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31685,"nodeType":"EmitStatement","src":"18171:38:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31686,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"18223:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18223:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31688,"nodeType":"ExpressionStatement","src":"18223:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"17911:8:48","parameters":{"id":31657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31654,"mutability":"mutable","name":"a","nameLocation":"17934:1:48","nodeType":"VariableDeclaration","scope":31692,"src":"17920:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31653,"name":"string","nodeType":"ElementaryTypeName","src":"17920:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31656,"mutability":"mutable","name":"b","nameLocation":"17951:1:48","nodeType":"VariableDeclaration","scope":31692,"src":"17937:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31655,"name":"string","nodeType":"ElementaryTypeName","src":"17937:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17919:34:48"},"returnParameters":{"id":31658,"nodeType":"ParameterList","parameters":[],"src":"17963:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31727,"nodeType":"FunctionDefinition","src":"18251:254:48","nodes":[],"body":{"id":31726,"nodeType":"Block","src":"18331:174:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":31713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":31704,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31694,"src":"18372:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31702,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18355:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31703,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18359:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18355:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18355:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31701,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18345:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18345:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"arguments":[{"id":31710,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31696,"src":"18406:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31708,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18389:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31709,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18393:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18389:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31711,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18389:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31707,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18379:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31712,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18379:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18345:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31725,"nodeType":"IfStatement","src":"18341:158:48","trueBody":{"id":31724,"nodeType":"Block","src":"18411:88:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31715,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18447:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31716,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31698,"src":"18456:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31714,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"18430:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31717,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18430:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31718,"nodeType":"EmitStatement","src":"18425:35:48"},{"expression":{"arguments":[{"id":31720,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31694,"src":"18483:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31721,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31696,"src":"18486:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31719,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[30000,30025,30055,30080,30139,30164,30194,30219,31692,31727],"referencedDeclaration":31692,"src":"18474:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18474:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31723,"nodeType":"ExpressionStatement","src":"18474:14:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"18260:8:48","parameters":{"id":31699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31694,"mutability":"mutable","name":"a","nameLocation":"18283:1:48","nodeType":"VariableDeclaration","scope":31727,"src":"18269:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31693,"name":"string","nodeType":"ElementaryTypeName","src":"18269:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31696,"mutability":"mutable","name":"b","nameLocation":"18300:1:48","nodeType":"VariableDeclaration","scope":31727,"src":"18286:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31695,"name":"string","nodeType":"ElementaryTypeName","src":"18286:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31698,"mutability":"mutable","name":"err","nameLocation":"18317:3:48","nodeType":"VariableDeclaration","scope":31727,"src":"18303:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31697,"name":"string","nodeType":"ElementaryTypeName","src":"18303:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18268:53:48"},"returnParameters":{"id":31700,"nodeType":"ParameterList","parameters":[],"src":"18331:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31767,"nodeType":"FunctionDefinition","src":"18511:347:48","nodes":[],"body":{"id":31766,"nodeType":"Block","src":"18575:283:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":31746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":31737,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31729,"src":"18616:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31735,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18599:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31736,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18603:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18599:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18599:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31734,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18589:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31739,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18589:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":31743,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31731,"src":"18650:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31741,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18633:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31742,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18637:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18633:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31744,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18633:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31740,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18623:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31745,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18623:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18589:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31765,"nodeType":"IfStatement","src":"18585:267:48","trueBody":{"id":31764,"nodeType":"Block","src":"18655:197:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b737472696e675d","id":31748,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18678:38:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4e56cf4a8fa3c214a65222c2e20d4c9025a6edce861c3fcd0ec05159f954d37","typeString":"literal_string \"Error: a != b not satisfied [string]\""},"value":"Error: a != b not satisfied [string]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b4e56cf4a8fa3c214a65222c2e20d4c9025a6edce861c3fcd0ec05159f954d37","typeString":"literal_string \"Error: a != b not satisfied [string]\""}],"id":31747,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"18674:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31749,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18674:43:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31750,"nodeType":"EmitStatement","src":"18669:48:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":31752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18753:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":31753,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31729,"src":"18767:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31751,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"18736:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31754,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18736:33:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31755,"nodeType":"EmitStatement","src":"18731:38:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":31757,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"18805:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":31758,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31731,"src":"18819:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31756,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"18788:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31759,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18788:33:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31760,"nodeType":"EmitStatement","src":"18783:38:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31761,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"18835:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18835:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31763,"nodeType":"ExpressionStatement","src":"18835:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"18520:11:48","parameters":{"id":31732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31729,"mutability":"mutable","name":"a","nameLocation":"18546:1:48","nodeType":"VariableDeclaration","scope":31767,"src":"18532:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31728,"name":"string","nodeType":"ElementaryTypeName","src":"18532:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31731,"mutability":"mutable","name":"b","nameLocation":"18563:1:48","nodeType":"VariableDeclaration","scope":31767,"src":"18549:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31730,"name":"string","nodeType":"ElementaryTypeName","src":"18549:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18531:34:48"},"returnParameters":{"id":31733,"nodeType":"ParameterList","parameters":[],"src":"18575:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31802,"nodeType":"FunctionDefinition","src":"18863:260:48","nodes":[],"body":{"id":31801,"nodeType":"Block","src":"18946:177:48","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":31788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"arguments":[{"id":31779,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31769,"src":"18987:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"18970:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"18974:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"18970:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18970:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31776,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18960:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31781,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18960:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"arguments":[{"id":31785,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31771,"src":"19021:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":31783,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"19004:3:48","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":31784,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"19008:12:48","memberName":"encodePacked","nodeType":"MemberAccess","src":"19004:16:48","typeDescriptions":{"typeIdentifier":"t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":31786,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19004:19:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31782,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"18994:9:48","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":31787,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"18994:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"18960:64:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31800,"nodeType":"IfStatement","src":"18956:161:48","trueBody":{"id":31799,"nodeType":"Block","src":"19026:91:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31790,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19062:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31791,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31773,"src":"19071:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31789,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"19045:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19045:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31793,"nodeType":"EmitStatement","src":"19040:35:48"},{"expression":{"arguments":[{"id":31795,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31769,"src":"19101:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":31796,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31771,"src":"19104:1:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31794,"name":"assertNotEq","nodeType":"Identifier","overloadedDeclarations":[30373,30398,30428,30453,30512,30537,30567,30592,31767,31802],"referencedDeclaration":31767,"src":"19089:11:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19089:17:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31798,"nodeType":"ExpressionStatement","src":"19089:17:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"18872:11:48","parameters":{"id":31774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31769,"mutability":"mutable","name":"a","nameLocation":"18898:1:48","nodeType":"VariableDeclaration","scope":31802,"src":"18884:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31768,"name":"string","nodeType":"ElementaryTypeName","src":"18884:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31771,"mutability":"mutable","name":"b","nameLocation":"18915:1:48","nodeType":"VariableDeclaration","scope":31802,"src":"18901:15:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31770,"name":"string","nodeType":"ElementaryTypeName","src":"18901:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":31773,"mutability":"mutable","name":"err","nameLocation":"18932:3:48","nodeType":"VariableDeclaration","scope":31802,"src":"18918:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31772,"name":"string","nodeType":"ElementaryTypeName","src":"18918:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"18883:53:48"},"returnParameters":{"id":31775,"nodeType":"ParameterList","parameters":[],"src":"18946:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31854,"nodeType":"FunctionDefinition","src":"19129:345:48","nodes":[],"body":{"id":31853,"nodeType":"Block","src":"19211:263:48","nodes":[],"statements":[{"expression":{"id":31813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":31811,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31809,"src":"19221:2:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":31812,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19226:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"19221:9:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31814,"nodeType":"ExpressionStatement","src":"19221:9:48"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":31815,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31804,"src":"19244:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31816,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19246:6:48","memberName":"length","nodeType":"MemberAccess","src":"19244:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":31817,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31806,"src":"19256:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19258:6:48","memberName":"length","nodeType":"MemberAccess","src":"19256:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19244:20:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":31851,"nodeType":"Block","src":"19433:35:48","statements":[{"expression":{"id":31849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":31847,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31809,"src":"19447:2:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":31848,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19452:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19447:10:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31850,"nodeType":"ExpressionStatement","src":"19447:10:48"}]},"id":31852,"nodeType":"IfStatement","src":"19240:228:48","trueBody":{"id":31846,"nodeType":"Block","src":"19266:161:48","statements":[{"body":{"id":31844,"nodeType":"Block","src":"19316:101:48","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bytes1","typeString":"bytes1"},"id":31837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":31831,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31804,"src":"19338:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31833,"indexExpression":{"id":31832,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31821,"src":"19340:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19338:4:48","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"baseExpression":{"id":31834,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31806,"src":"19346:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31836,"indexExpression":{"id":31835,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31821,"src":"19348:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"19346:4:48","typeDescriptions":{"typeIdentifier":"t_bytes1","typeString":"bytes1"}},"src":"19338:12:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31843,"nodeType":"IfStatement","src":"19334:69:48","trueBody":{"id":31842,"nodeType":"Block","src":"19352:51:48","statements":[{"expression":{"id":31840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":31838,"name":"ok","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31809,"src":"19374:2:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":31839,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"19379:5:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"19374:10:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31841,"nodeType":"ExpressionStatement","src":"19374:10:48"}]}}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":31827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":31824,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31821,"src":"19297:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":31825,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31804,"src":"19301:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":31826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"19303:6:48","memberName":"length","nodeType":"MemberAccess","src":"19301:8:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"19297:12:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31845,"initializationExpression":{"assignments":[31821],"declarations":[{"constant":false,"id":31821,"mutability":"mutable","name":"i","nameLocation":"19290:1:48","nodeType":"VariableDeclaration","scope":31845,"src":"19285:6:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":31820,"name":"uint","nodeType":"ElementaryTypeName","src":"19285:4:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":31823,"initialValue":{"hexValue":"30","id":31822,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"19294:1:48","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"19285:10:48"},"isSimpleCounterLoop":true,"loopExpression":{"expression":{"id":31829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"19311:3:48","subExpression":{"id":31828,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31821,"src":"19311:1:48","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":31830,"nodeType":"ExpressionStatement","src":"19311:3:48"},"nodeType":"ForStatement","src":"19280:137:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"checkEq0","nameLocation":"19138:8:48","parameters":{"id":31807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31804,"mutability":"mutable","name":"a","nameLocation":"19160:1:48","nodeType":"VariableDeclaration","scope":31854,"src":"19147:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31803,"name":"bytes","nodeType":"ElementaryTypeName","src":"19147:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31806,"mutability":"mutable","name":"b","nameLocation":"19176:1:48","nodeType":"VariableDeclaration","scope":31854,"src":"19163:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31805,"name":"bytes","nodeType":"ElementaryTypeName","src":"19163:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19146:32:48"},"returnParameters":{"id":31810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31809,"mutability":"mutable","name":"ok","nameLocation":"19207:2:48","nodeType":"VariableDeclaration","scope":31854,"src":"19202:7:48","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":31808,"name":"bool","nodeType":"ElementaryTypeName","src":"19202:4:48","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"19201:9:48"},"scope":31971,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":31886,"nodeType":"FunctionDefinition","src":"19479:291:48","nodes":[],"body":{"id":31885,"nodeType":"Block","src":"19539:231:48","nodes":[],"statements":[{"condition":{"id":31865,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19553:15:48","subExpression":{"arguments":[{"id":31862,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31856,"src":"19563:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31863,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31858,"src":"19566:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31861,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31854,"src":"19554:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":31864,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19554:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31884,"nodeType":"IfStatement","src":"19549:215:48","trueBody":{"id":31883,"nodeType":"Block","src":"19570:194:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797465735d","id":31867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19593:37:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""},"value":"Error: a == b not satisfied [bytes]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bb7b728691fe2872efdd27bd07c4a95b3586c3b7ec3afa731a7c21a76e39cfc","typeString":"literal_string \"Error: a == b not satisfied [bytes]\""}],"id":31866,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"19589:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19589:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31869,"nodeType":"EmitStatement","src":"19584:47:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":31871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19666:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":31872,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31856,"src":"19680:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31870,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"19650:15:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":31873,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19650:32:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31874,"nodeType":"EmitStatement","src":"19645:37:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":31876,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19717:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":31877,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31858,"src":"19731:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31875,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"19701:15:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":31878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19701:32:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31879,"nodeType":"EmitStatement","src":"19696:37:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31880,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"19747:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19747:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31882,"nodeType":"ExpressionStatement","src":"19747:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"19488:9:48","parameters":{"id":31859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31856,"mutability":"mutable","name":"a","nameLocation":"19511:1:48","nodeType":"VariableDeclaration","scope":31886,"src":"19498:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31855,"name":"bytes","nodeType":"ElementaryTypeName","src":"19498:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31858,"mutability":"mutable","name":"b","nameLocation":"19527:1:48","nodeType":"VariableDeclaration","scope":31886,"src":"19514:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31857,"name":"bytes","nodeType":"ElementaryTypeName","src":"19514:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"19497:32:48"},"returnParameters":{"id":31860,"nodeType":"ParameterList","parameters":[],"src":"19539:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31913,"nodeType":"FunctionDefinition","src":"19775:205:48","nodes":[],"body":{"id":31912,"nodeType":"Block","src":"19854:126:48","nodes":[],"statements":[{"condition":{"id":31899,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"19868:15:48","subExpression":{"arguments":[{"id":31896,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31888,"src":"19878:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31897,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31890,"src":"19881:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31895,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31854,"src":"19869:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":31898,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19869:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31911,"nodeType":"IfStatement","src":"19864:110:48","trueBody":{"id":31910,"nodeType":"Block","src":"19885:89:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"19921:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31902,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31892,"src":"19930:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31900,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"19904:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31903,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19904:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31904,"nodeType":"EmitStatement","src":"19899:35:48"},{"expression":{"arguments":[{"id":31906,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31888,"src":"19958:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31907,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31890,"src":"19961:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31905,"name":"assertEq0","nodeType":"Identifier","overloadedDeclarations":[31886,31913],"referencedDeclaration":31886,"src":"19948:9:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":31908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"19948:15:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31909,"nodeType":"ExpressionStatement","src":"19948:15:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertEq0","nameLocation":"19784:9:48","parameters":{"id":31893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31888,"mutability":"mutable","name":"a","nameLocation":"19807:1:48","nodeType":"VariableDeclaration","scope":31913,"src":"19794:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31887,"name":"bytes","nodeType":"ElementaryTypeName","src":"19794:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31890,"mutability":"mutable","name":"b","nameLocation":"19823:1:48","nodeType":"VariableDeclaration","scope":31913,"src":"19810:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31889,"name":"bytes","nodeType":"ElementaryTypeName","src":"19810:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31892,"mutability":"mutable","name":"err","nameLocation":"19840:3:48","nodeType":"VariableDeclaration","scope":31913,"src":"19826:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31891,"name":"string","nodeType":"ElementaryTypeName","src":"19826:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"19793:51:48"},"returnParameters":{"id":31894,"nodeType":"ParameterList","parameters":[],"src":"19854:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31944,"nodeType":"FunctionDefinition","src":"19986:293:48","nodes":[],"body":{"id":31943,"nodeType":"Block","src":"20049:230:48","nodes":[],"statements":[{"condition":{"arguments":[{"id":31921,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31915,"src":"20072:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31922,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"20075:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31920,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31854,"src":"20063:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":31923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20063:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31942,"nodeType":"IfStatement","src":"20059:214:48","trueBody":{"id":31941,"nodeType":"Block","src":"20079:194:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f723a206120213d2062206e6f7420736174697366696564205b62797465735d","id":31925,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20102:37:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_91ce3ba02234d036a8a94424c4ec94c882f340b202bcb6447be57ed8132caac6","typeString":"literal_string \"Error: a != b not satisfied [bytes]\""},"value":"Error: a != b not satisfied [bytes]"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_91ce3ba02234d036a8a94424c4ec94c882f340b202bcb6447be57ed8132caac6","typeString":"literal_string \"Error: a != b not satisfied [bytes]\""}],"id":31924,"name":"log","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29685,"src":"20098:3:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":31926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20098:42:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31927,"nodeType":"EmitStatement","src":"20093:47:48"},{"eventCall":{"arguments":[{"hexValue":"2020202020204c656674","id":31929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20175:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},"value":" Left"},{"id":31930,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31915,"src":"20189:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_bbf7c57905778f125dacfa4fd24c0b99a73d897099071adb94dd57d06b52ce31","typeString":"literal_string \" Left\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31928,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"20159:15:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":31931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20159:32:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31932,"nodeType":"EmitStatement","src":"20154:37:48"},{"eventCall":{"arguments":[{"hexValue":"20202020205269676874","id":31934,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20226:12:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},"value":" Right"},{"id":31935,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31917,"src":"20240:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_f594094f8f37a3e37fa75233058696f0caafa00827fc96f5c5afe6f0e2570053","typeString":"literal_string \" Right\""},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31933,"name":"log_named_bytes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29759,"src":"20210:15:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (string memory,bytes memory)"}},"id":31936,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20210:32:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31937,"nodeType":"EmitStatement","src":"20205:37:48"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":31938,"name":"fail","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29896,"src":"20256:4:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":31939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20256:6:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31940,"nodeType":"ExpressionStatement","src":"20256:6:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"19995:12:48","parameters":{"id":31918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31915,"mutability":"mutable","name":"a","nameLocation":"20021:1:48","nodeType":"VariableDeclaration","scope":31944,"src":"20008:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31914,"name":"bytes","nodeType":"ElementaryTypeName","src":"20008:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31917,"mutability":"mutable","name":"b","nameLocation":"20037:1:48","nodeType":"VariableDeclaration","scope":31944,"src":"20024:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31916,"name":"bytes","nodeType":"ElementaryTypeName","src":"20024:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"20007:32:48"},"returnParameters":{"id":31919,"nodeType":"ParameterList","parameters":[],"src":"20049:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":31970,"nodeType":"FunctionDefinition","src":"20284:210:48","nodes":[],"body":{"id":31969,"nodeType":"Block","src":"20366:128:48","nodes":[],"statements":[{"condition":{"arguments":[{"id":31954,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31946,"src":"20389:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31955,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31948,"src":"20392:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31953,"name":"checkEq0","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31854,"src":"20380:8:48","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bool_$","typeString":"function (bytes memory,bytes memory) pure returns (bool)"}},"id":31956,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20380:14:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":31968,"nodeType":"IfStatement","src":"20376:112:48","trueBody":{"id":31967,"nodeType":"Block","src":"20396:92:48","statements":[{"eventCall":{"arguments":[{"hexValue":"4572726f72","id":31958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"20432:7:48","typeDescriptions":{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},"value":"Error"},{"id":31959,"name":"err","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31950,"src":"20441:3:48","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e342daa49723ff3485f4ff5f755a17b8bc9c3c33bbd312ceee37c94eebfe45c1","typeString":"literal_string \"Error\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":31957,"name":"log_named_string","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":29765,"src":"20415:16:48","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":31960,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20415:30:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31961,"nodeType":"EmitStatement","src":"20410:35:48"},{"expression":{"arguments":[{"id":31963,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31946,"src":"20472:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"id":31964,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":31948,"src":"20475:1:48","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":31962,"name":"assertNotEq0","nodeType":"Identifier","overloadedDeclarations":[31944,31970],"referencedDeclaration":31944,"src":"20459:12:48","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory,bytes memory)"}},"id":31965,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"20459:18:48","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":31966,"nodeType":"ExpressionStatement","src":"20459:18:48"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"assertNotEq0","nameLocation":"20293:12:48","parameters":{"id":31951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":31946,"mutability":"mutable","name":"a","nameLocation":"20319:1:48","nodeType":"VariableDeclaration","scope":31970,"src":"20306:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31945,"name":"bytes","nodeType":"ElementaryTypeName","src":"20306:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31948,"mutability":"mutable","name":"b","nameLocation":"20335:1:48","nodeType":"VariableDeclaration","scope":31970,"src":"20322:14:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":31947,"name":"bytes","nodeType":"ElementaryTypeName","src":"20322:5:48","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":31950,"mutability":"mutable","name":"err","nameLocation":"20352:3:48","nodeType":"VariableDeclaration","scope":31970,"src":"20338:17:48","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":31949,"name":"string","nodeType":"ElementaryTypeName","src":"20338:6:48","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"20305:51:48"},"returnParameters":{"id":31952,"nodeType":"ParameterList","parameters":[],"src":"20366:0:48"},"scope":31971,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"DSTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[31971],"name":"DSTest","nameLocation":"724:6:48","scope":31972,"usedErrors":[],"usedEvents":[29685,29689,29693,29697,29701,29705,29709,29713,29719,29725,29733,29741,29747,29753,29759,29765]}],"license":"GPL-3.0-or-later"},"id":48} \ No newline at end of file +{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040526000805460ff1916600117905534801561001d57600080fd5b5061024e8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212203a883acc79731e765d537cfb224dce30d4d21a3a5833f880b1f3508d089f92e964736f6c63430008170033","sourceMap":"715:19781:48:-:0;;;1572:26;;;-1:-1:-1;;1572:26:48;1594:4;1572:26;;;715:19781;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b610043610064565b604051901515815260200160405180910390f35b6000546100439060ff1681565b60008054610100900460ff16156100845750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561018a5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093526000929091610112917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016101bf565b60408051601f198184030181529082905261012c916101e3565b6000604051808303816000865af19150503d8060008114610169576040519150601f19603f3d011682016040523d82523d6000602084013e61016e565b606091505b509150508080602001905181019061018691906101f6565b9150505b919050565b6000815160005b818110156101b05760208185018101518683015201610196565b50600093019283525090919050565b6001600160e01b03198316815260006101db600483018461018f565b949350505050565b60006101ef828461018f565b9392505050565b60006020828403121561020857600080fd5b815180151581146101ef57600080fdfea26469706673582212203a883acc79731e765d537cfb224dce30d4d21a3a5833f880b1f3508d089f92e964736f6c63430008170033","sourceMap":"715:19781:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;179:14:197;;172:22;154:41;;142:2;127:18;1819:584:48;;;;;;;1572:26;;;;;;;;;1819:584;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:48;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;380:51:197;;;-1:-1:-1;;;447:18:197;;;440:34;2196:43:48;;;;;;;;;353:18:197;;;2196:43:48;;;-1:-1:-1;;1671:64:48;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:48;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:48:o;485:322:197:-;526:3;564:5;558:12;588:1;598:128;612:6;609:1;606:13;598:128;;;709:4;694:13;;;690:24;;684:31;671:11;;;664:52;627:12;598:128;;;-1:-1:-1;781:1:197;745:16;;770:13;;;-1:-1:-1;745:16:197;;485:322;-1:-1:-1;485:322:197:o;812:278::-;-1:-1:-1;;;;;;997:33:197;;985:46;;967:3;1047:37;1081:1;1072:11;;1064:6;1047:37;:::i;:::-;1040:44;812:278;-1:-1:-1;;;;812:278:197:o;1095:189::-;1224:3;1249:29;1274:3;1266:6;1249:29;:::i;:::-;1242:36;1095:189;-1:-1:-1;;;1095:189:197:o;1289:277::-;1356:6;1409:2;1397:9;1388:7;1384:23;1380:32;1377:52;;;1425:1;1422;1415:12;1377:52;1457:9;1451:16;1510:5;1503:13;1496:21;1489:5;1486:32;1476:60;;1532:1;1529;1522:12","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","failed()":"ba414fa6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/lib/ds-test/src/test.sol\":\"DSTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240\",\"dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/lib/ds-test/src/test.sol":"DSTest"},"evmVersion":"paris","libraries":{}},"sources":{"lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x8758531bbac3972efcf1fa46383dbe1d276406fe527bc7abb2f236486278e83b","urls":["bzz-raw://1f64264d61506847acf8761e84aff690cebe830958eac00bac7924d8be569240","dweb:/ipfs/QmSekDJvJ82MZAmr63n7YvfLzQ7gS4NLSHPmHL3GN3rw8k"],"license":"GPL-3.0-or-later"}},"version":1},"id":48} \ No newline at end of file diff --git a/out/utils/Votes.sol/Votes.json b/out/utils/Votes.sol/Votes.json index 3fe09dcb..28141572 100644 --- a/out/utils/Votes.sol/Votes.json +++ b/out/utils/Votes.sol/Votes.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","nonces(address)":"7ecebe00"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is a base abstract contract that tracks voting units, which are a measure of voting power that can be transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of \\\"representative\\\" that will pool delegated voting units from different accounts and can then use it to vote in decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. This contract is often combined with a token contract such that voting units correspond to token units. For an example, see {ERC721Votes}. The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the cost of this history tracking optional. When using this module the derived contract must implement {_getVotingUnits} (for example, make it return {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the previous example, it would be included in {ERC721-_beforeTokenTransfer}). _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"}},\"stateVariables\":{\"_delegateCheckpoints\":{\"custom:oz-retyped-from\":\"mapping(address => Checkpoints.History)\"},\"_totalCheckpoints\":{\"custom:oz-retyped-from\":\"Checkpoints.History\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":\"Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the contract's {EIP712} domain separator."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"nonces(address)":{"details":"Returns an address nonce."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":"Votes"},"libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol","id":90319,"exportedSymbols":{"Checkpoints":[95554],"Context":[95576],"Counters":[95650],"ECDSA":[96571],"EIP712":[96775],"IERC5267":[90362],"IERC5805":[90371],"IERC6372":[90386],"IVotes":[89767],"Math":[97871],"SafeCast":[99412],"ShortString":[95655],"ShortStrings":[95866],"SignedMath":[99517],"StorageSlot":[95976],"Strings":[96205],"Votes":[90318]},"nodeType":"SourceUnit","src":"109:9376:159","nodes":[{"id":89769,"nodeType":"PragmaDirective","src":"109:23:159","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":89770,"nodeType":"ImportDirective","src":"134:39:159","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol","file":"../../interfaces/IERC5805.sol","nameLocation":"-1:-1:-1","scope":90319,"sourceUnit":90372,"symbolAliases":[],"unitAlias":""},{"id":89771,"nodeType":"ImportDirective","src":"174:33:159","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Context.sol","file":"../../utils/Context.sol","nameLocation":"-1:-1:-1","scope":90319,"sourceUnit":95577,"symbolAliases":[],"unitAlias":""},{"id":89772,"nodeType":"ImportDirective","src":"208:34:159","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Counters.sol","file":"../../utils/Counters.sol","nameLocation":"-1:-1:-1","scope":90319,"sourceUnit":95651,"symbolAliases":[],"unitAlias":""},{"id":89773,"nodeType":"ImportDirective","src":"243:37:159","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol","file":"../../utils/Checkpoints.sol","nameLocation":"-1:-1:-1","scope":90319,"sourceUnit":95555,"symbolAliases":[],"unitAlias":""},{"id":89774,"nodeType":"ImportDirective","src":"281:45:159","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol","file":"../../utils/cryptography/EIP712.sol","nameLocation":"-1:-1:-1","scope":90319,"sourceUnit":96776,"symbolAliases":[],"unitAlias":""},{"id":90318,"nodeType":"ContractDefinition","src":"1687:7797:159","nodes":[{"id":89785,"nodeType":"UsingForDirective","src":"1746:43:159","nodes":[],"global":false,"libraryName":{"id":89782,"name":"Checkpoints","nameLocations":["1752:11:159"],"nodeType":"IdentifierPath","referencedDeclaration":95554,"src":"1752:11:159"},"typeName":{"id":89784,"nodeType":"UserDefinedTypeName","pathNode":{"id":89783,"name":"Checkpoints.Trace224","nameLocations":["1768:11:159","1780:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"1768:20:159"},"referencedDeclaration":94554,"src":"1768:20:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}}},{"id":89789,"nodeType":"UsingForDirective","src":"1794:36:159","nodes":[],"global":false,"libraryName":{"id":89786,"name":"Counters","nameLocations":["1800:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":95650,"src":"1800:8:159"},"typeName":{"id":89788,"nodeType":"UserDefinedTypeName","pathNode":{"id":89787,"name":"Counters.Counter","nameLocations":["1813:8:159","1822:7:159"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"1813:16:159"},"referencedDeclaration":95582,"src":"1813:16:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}}},{"id":89794,"nodeType":"VariableDeclaration","src":"1836:127:159","nodes":[],"constant":true,"mutability":"constant","name":"_DELEGATION_TYPEHASH","nameLocation":"1861:20:159","scope":90318,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89790,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1836:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"44656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e743235362065787069727929","id":89792,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1902:60:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""},"value":"Delegation(address delegatee,uint256 nonce,uint256 expiry)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf","typeString":"literal_string \"Delegation(address delegatee,uint256 nonce,uint256 expiry)\""}],"id":89791,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1892:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":89793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:71:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"private"},{"id":89798,"nodeType":"VariableDeclaration","src":"1970:47:159","nodes":[],"constant":false,"mutability":"mutable","name":"_delegation","nameLocation":"2006:11:159","scope":90318,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"typeName":{"id":89797,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":89795,"name":"address","nodeType":"ElementaryTypeName","src":"1978:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1970:27:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":89796,"name":"address","nodeType":"ElementaryTypeName","src":"1989:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},"visibility":"private"},{"id":89804,"nodeType":"VariableDeclaration","src":"2096:69:159","nodes":[],"constant":false,"documentation":{"id":89799,"nodeType":"StructuredDocumentation","src":"2024:67:159","text":"@custom:oz-retyped-from mapping(address => Checkpoints.History)"},"mutability":"mutable","name":"_delegateCheckpoints","nameLocation":"2145:20:159","scope":90318,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224)"},"typeName":{"id":89803,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":89800,"name":"address","nodeType":"ElementaryTypeName","src":"2104:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2096:40:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":89802,"nodeType":"UserDefinedTypeName","pathNode":{"id":89801,"name":"Checkpoints.Trace224","nameLocations":["2115:11:159","2127:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"2115:20:159"},"referencedDeclaration":94554,"src":"2115:20:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}}},"visibility":"private"},{"id":89808,"nodeType":"VariableDeclaration","src":"2224:46:159","nodes":[],"constant":false,"documentation":{"id":89805,"nodeType":"StructuredDocumentation","src":"2172:47:159","text":"@custom:oz-retyped-from Checkpoints.History"},"mutability":"mutable","name":"_totalCheckpoints","nameLocation":"2253:17:159","scope":90318,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":89807,"nodeType":"UserDefinedTypeName","pathNode":{"id":89806,"name":"Checkpoints.Trace224","nameLocations":["2224:11:159","2236:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"2224:20:159"},"referencedDeclaration":94554,"src":"2224:20:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"private"},{"id":89813,"nodeType":"VariableDeclaration","src":"2277:52:159","nodes":[],"constant":false,"mutability":"mutable","name":"_nonces","nameLocation":"2322:7:159","scope":90318,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$95582_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"typeName":{"id":89812,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":89809,"name":"address","nodeType":"ElementaryTypeName","src":"2285:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2277:36:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$95582_storage_$","typeString":"mapping(address => struct Counters.Counter)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":89811,"nodeType":"UserDefinedTypeName","pathNode":{"id":89810,"name":"Counters.Counter","nameLocations":["2296:8:159","2305:7:159"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"2296:16:159"},"referencedDeclaration":95582,"src":"2296:16:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}}},"visibility":"private"},{"id":89827,"nodeType":"FunctionDefinition","src":"2547:118:159","nodes":[],"body":{"id":89826,"nodeType":"Block","src":"2610:55:159","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":89822,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2645:5:159","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89823,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2651:6:159","memberName":"number","nodeType":"MemberAccess","src":"2645:12:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":89820,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"2627:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":89821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2636:8:159","memberName":"toUint48","nodeType":"MemberAccess","referencedDeclaration":98524,"src":"2627:17:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint48_$","typeString":"function (uint256) pure returns (uint48)"}},"id":89824,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2627:31:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"functionReturnParameters":89819,"id":89825,"nodeType":"Return","src":"2620:38:159"}]},"baseFunctions":[90379],"documentation":{"id":89814,"nodeType":"StructuredDocumentation","src":"2336:206:159","text":" @dev Clock used for flagging checkpoints. Can be overridden to implement timestamp based\n checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"functionSelector":"91ddadf4","implemented":true,"kind":"function","modifiers":[],"name":"clock","nameLocation":"2556:5:159","overrides":{"id":89816,"nodeType":"OverrideSpecifier","overrides":[],"src":"2584:8:159"},"parameters":{"id":89815,"nodeType":"ParameterList","parameters":[],"src":"2561:2:159"},"returnParameters":{"id":89819,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89818,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89827,"src":"2602:6:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"},"typeName":{"id":89817,"name":"uint48","nodeType":"ElementaryTypeName","src":"2602:6:159","typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"visibility":"internal"}],"src":"2601:8:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89846,"nodeType":"FunctionDefinition","src":"2820:249:159","nodes":[],"body":{"id":89845,"nodeType":"Block","src":"2895:174:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":89835,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89827,"src":"2962:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":89836,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2962:7:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":89837,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"2973:5:159","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2979:6:159","memberName":"number","nodeType":"MemberAccess","src":"2973:12:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2962:23:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a2062726f6b656e20636c6f636b206d6f6465","id":89840,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2987:26:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_5bdc97e4de8eceb1dda918dca241487decadaab992a96808ef37489fff654c08","typeString":"literal_string \"Votes: broken clock mode\""},"value":"Votes: broken clock mode"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5bdc97e4de8eceb1dda918dca241487decadaab992a96808ef37489fff654c08","typeString":"literal_string \"Votes: broken clock mode\""}],"id":89834,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2954:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89841,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2954:60:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89842,"nodeType":"ExpressionStatement","src":"2954:60:159"},{"expression":{"hexValue":"6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74","id":89843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3031:31:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_9f79d44e499ce83a99049e0b7ebf2d6f56e249303be3c14798235137af5ea536","typeString":"literal_string \"mode=blocknumber&from=default\""},"value":"mode=blocknumber&from=default"},"functionReturnParameters":89833,"id":89844,"nodeType":"Return","src":"3024:38:159"}]},"baseFunctions":[90385],"documentation":{"id":89828,"nodeType":"StructuredDocumentation","src":"2671:91:159","text":" @dev Machine-readable description of the clock as specified in EIP-6372."},"functionSelector":"4bf5d7e9","implemented":true,"kind":"function","modifiers":[],"name":"CLOCK_MODE","nameLocation":"2829:10:159","overrides":{"id":89830,"nodeType":"OverrideSpecifier","overrides":[],"src":"2862:8:159"},"parameters":{"id":89829,"nodeType":"ParameterList","parameters":[],"src":"2839:2:159"},"returnParameters":{"id":89833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89832,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89846,"src":"2880:13:159","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":89831,"name":"string","nodeType":"ElementaryTypeName","src":"2880:6:159","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2879:15:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89862,"nodeType":"FunctionDefinition","src":"3159:144:159","nodes":[],"body":{"id":89861,"nodeType":"Block","src":"3241:62:159","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":89855,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89804,"src":"3258:20:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224 storage ref)"}},"id":89857,"indexExpression":{"id":89856,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89849,"src":"3279:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3258:29:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},"id":89858,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3288:6:159","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":94779,"src":"3258:36:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace224_$94554_storage_ptr_$returns$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer) view returns (uint224)"}},"id":89859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3258:38:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":89854,"id":89860,"nodeType":"Return","src":"3251:45:159"}]},"baseFunctions":[89718],"documentation":{"id":89847,"nodeType":"StructuredDocumentation","src":"3075:79:159","text":" @dev Returns the current amount of votes that `account` has."},"functionSelector":"9ab24eb0","implemented":true,"kind":"function","modifiers":[],"name":"getVotes","nameLocation":"3168:8:159","overrides":{"id":89851,"nodeType":"OverrideSpecifier","overrides":[],"src":"3214:8:159"},"parameters":{"id":89850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89849,"mutability":"mutable","name":"account","nameLocation":"3185:7:159","nodeType":"VariableDeclaration","scope":89862,"src":"3177:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89848,"name":"address","nodeType":"ElementaryTypeName","src":"3177:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3176:17:159"},"returnParameters":{"id":89854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89853,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89862,"src":"3232:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89852,"name":"uint256","nodeType":"ElementaryTypeName","src":"3232:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3231:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89892,"nodeType":"FunctionDefinition","src":"3688:268:159","nodes":[],"body":{"id":89891,"nodeType":"Block","src":"3793:163:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89874,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89867,"src":"3811:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":89875,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89827,"src":"3823:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":89876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3823:7:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"3811:19:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a20667574757265206c6f6f6b7570","id":89878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3832:22:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_806a59097ab42099d6528e158021f4e3f63b164a7e4fc12cba1dc2ce79df21cc","typeString":"literal_string \"Votes: future lookup\""},"value":"Votes: future lookup"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_806a59097ab42099d6528e158021f4e3f63b164a7e4fc12cba1dc2ce79df21cc","typeString":"literal_string \"Votes: future lookup\""}],"id":89873,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3803:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89879,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3803:52:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89880,"nodeType":"ExpressionStatement","src":"3803:52:159"},{"expression":{"arguments":[{"arguments":[{"id":89887,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89867,"src":"3938:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":89885,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"3920:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":89886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3929:8:159","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"3920:17:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":89888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3920:28:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"baseExpression":{"id":89881,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89804,"src":"3872:20:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224 storage ref)"}},"id":89883,"indexExpression":{"id":89882,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89865,"src":"3893:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3872:29:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},"id":89884,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3902:17:159","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":94749,"src":"3872:47:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace224_$94554_storage_ptr_$_t_uint32_$returns$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,uint32) view returns (uint224)"}},"id":89889,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3872:77:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":89872,"id":89890,"nodeType":"Return","src":"3865:84:159"}]},"baseFunctions":[89728],"documentation":{"id":89863,"nodeType":"StructuredDocumentation","src":"3309:374:159","text":" @dev Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block.\n Requirements:\n - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"functionSelector":"3a46b1a8","implemented":true,"kind":"function","modifiers":[],"name":"getPastVotes","nameLocation":"3697:12:159","overrides":{"id":89869,"nodeType":"OverrideSpecifier","overrides":[],"src":"3766:8:159"},"parameters":{"id":89868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89865,"mutability":"mutable","name":"account","nameLocation":"3718:7:159","nodeType":"VariableDeclaration","scope":89892,"src":"3710:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89864,"name":"address","nodeType":"ElementaryTypeName","src":"3710:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89867,"mutability":"mutable","name":"timepoint","nameLocation":"3735:9:159","nodeType":"VariableDeclaration","scope":89892,"src":"3727:17:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89866,"name":"uint256","nodeType":"ElementaryTypeName","src":"3727:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3709:36:159"},"returnParameters":{"id":89872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89871,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89892,"src":"3784:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89870,"name":"uint256","nodeType":"ElementaryTypeName","src":"3784:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"3783:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89918,"nodeType":"FunctionDefinition","src":"4592:245:159","nodes":[],"body":{"id":89917,"nodeType":"Block","src":"4686:151:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89905,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":89902,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89895,"src":"4704:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":89903,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89827,"src":"4716:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":89904,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4716:7:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}},"src":"4704:19:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a20667574757265206c6f6f6b7570","id":89906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4725:22:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_806a59097ab42099d6528e158021f4e3f63b164a7e4fc12cba1dc2ce79df21cc","typeString":"literal_string \"Votes: future lookup\""},"value":"Votes: future lookup"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_806a59097ab42099d6528e158021f4e3f63b164a7e4fc12cba1dc2ce79df21cc","typeString":"literal_string \"Votes: future lookup\""}],"id":89901,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4696:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4696:52:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89908,"nodeType":"ExpressionStatement","src":"4696:52:159"},{"expression":{"arguments":[{"arguments":[{"id":89913,"name":"timepoint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89895,"src":"4819:9:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":89911,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"4801:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":89912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4810:8:159","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"4801:17:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":89914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4801:28:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"}],"expression":{"id":89909,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89808,"src":"4765:17:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},"id":89910,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4783:17:159","memberName":"upperLookupRecent","nodeType":"MemberAccess","referencedDeclaration":94749,"src":"4765:35:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace224_$94554_storage_ptr_$_t_uint32_$returns$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,uint32) view returns (uint224)"}},"id":89915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4765:65:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":89900,"id":89916,"nodeType":"Return","src":"4758:72:159"}]},"baseFunctions":[89736],"documentation":{"id":89893,"nodeType":"StructuredDocumentation","src":"3962:625:159","text":" @dev Returns the total supply of votes available at a specific moment in the past. If the `clock()` is\n configured to use block numbers, this will return the value at the end of the corresponding block.\n NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.\n Votes that have not been delegated are still part of total supply, even though they would not participate in a\n vote.\n Requirements:\n - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"functionSelector":"8e539e8c","implemented":true,"kind":"function","modifiers":[],"name":"getPastTotalSupply","nameLocation":"4601:18:159","overrides":{"id":89897,"nodeType":"OverrideSpecifier","overrides":[],"src":"4659:8:159"},"parameters":{"id":89896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89895,"mutability":"mutable","name":"timepoint","nameLocation":"4628:9:159","nodeType":"VariableDeclaration","scope":89918,"src":"4620:17:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89894,"name":"uint256","nodeType":"ElementaryTypeName","src":"4620:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4619:19:159"},"returnParameters":{"id":89900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89899,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89918,"src":"4677:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89898,"name":"uint256","nodeType":"ElementaryTypeName","src":"4677:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4676:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89929,"nodeType":"FunctionDefinition","src":"4914:117:159","nodes":[],"body":{"id":89928,"nodeType":"Block","src":"4981:50:159","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":89924,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89808,"src":"4998:17:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},"id":89925,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5016:6:159","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":94779,"src":"4998:24:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace224_$94554_storage_ptr_$returns$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer) view returns (uint224)"}},"id":89926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4998:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":89923,"id":89927,"nodeType":"Return","src":"4991:33:159"}]},"documentation":{"id":89919,"nodeType":"StructuredDocumentation","src":"4843:66:159","text":" @dev Returns the current total supply of votes."},"implemented":true,"kind":"function","modifiers":[],"name":"_getTotalSupply","nameLocation":"4923:15:159","parameters":{"id":89920,"nodeType":"ParameterList","parameters":[],"src":"4938:2:159"},"returnParameters":{"id":89923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89922,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89929,"src":"4972:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89921,"name":"uint256","nodeType":"ElementaryTypeName","src":"4972:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4971:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"internal"},{"id":89943,"nodeType":"FunctionDefinition","src":"5113:127:159","nodes":[],"body":{"id":89942,"nodeType":"Block","src":"5196:44:159","nodes":[],"statements":[{"expression":{"baseExpression":{"id":89938,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89798,"src":"5213:11:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":89940,"indexExpression":{"id":89939,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89932,"src":"5225:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5213:20:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":89937,"id":89941,"nodeType":"Return","src":"5206:27:159"}]},"baseFunctions":[89744],"documentation":{"id":89930,"nodeType":"StructuredDocumentation","src":"5037:71:159","text":" @dev Returns the delegate that `account` has chosen."},"functionSelector":"587cde1e","implemented":true,"kind":"function","modifiers":[],"name":"delegates","nameLocation":"5122:9:159","overrides":{"id":89934,"nodeType":"OverrideSpecifier","overrides":[],"src":"5169:8:159"},"parameters":{"id":89933,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89932,"mutability":"mutable","name":"account","nameLocation":"5140:7:159","nodeType":"VariableDeclaration","scope":89943,"src":"5132:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89931,"name":"address","nodeType":"ElementaryTypeName","src":"5132:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5131:17:159"},"returnParameters":{"id":89937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":89943,"src":"5187:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89935,"name":"address","nodeType":"ElementaryTypeName","src":"5187:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5186:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":89961,"nodeType":"FunctionDefinition","src":"5322:147:159","nodes":[],"body":{"id":89960,"nodeType":"Block","src":"5383:86:159","nodes":[],"statements":[{"assignments":[89951],"declarations":[{"constant":false,"id":89951,"mutability":"mutable","name":"account","nameLocation":"5401:7:159","nodeType":"VariableDeclaration","scope":89960,"src":"5393:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89950,"name":"address","nodeType":"ElementaryTypeName","src":"5393:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":89954,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"id":89952,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95566,"src":"5411:10:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":89953,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5411:12:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5393:30:159"},{"expression":{"arguments":[{"id":89956,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89951,"src":"5443:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89957,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89946,"src":"5452:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":89955,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90056,"src":"5433:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":89958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5433:29:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89959,"nodeType":"ExpressionStatement","src":"5433:29:159"}]},"baseFunctions":[89750],"documentation":{"id":89944,"nodeType":"StructuredDocumentation","src":"5246:71:159","text":" @dev Delegates votes from the sender to `delegatee`."},"functionSelector":"5c19a95c","implemented":true,"kind":"function","modifiers":[],"name":"delegate","nameLocation":"5331:8:159","overrides":{"id":89948,"nodeType":"OverrideSpecifier","overrides":[],"src":"5374:8:159"},"parameters":{"id":89947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89946,"mutability":"mutable","name":"delegatee","nameLocation":"5348:9:159","nodeType":"VariableDeclaration","scope":89961,"src":"5340:17:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89945,"name":"address","nodeType":"ElementaryTypeName","src":"5340:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5339:19:159"},"returnParameters":{"id":89949,"nodeType":"ParameterList","parameters":[],"src":"5383:0:159"},"scope":90318,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90021,"nodeType":"FunctionDefinition","src":"5547:564:159","nodes":[],"body":{"id":90020,"nodeType":"Block","src":"5729:382:159","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":89982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":89979,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"5747:5:159","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":89980,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5753:9:159","memberName":"timestamp","nodeType":"MemberAccess","src":"5747:15:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":89981,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89968,"src":"5766:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5747:25:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a207369676e61747572652065787069726564","id":89983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5774:26:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_6d5ff3f347872d51f9a2d63fc6e49268c6b2f830105a4897008d3883d68bc66f","typeString":"literal_string \"Votes: signature expired\""},"value":"Votes: signature expired"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6d5ff3f347872d51f9a2d63fc6e49268c6b2f830105a4897008d3883d68bc66f","typeString":"literal_string \"Votes: signature expired\""}],"id":89978,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5739:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":89984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5739:62:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":89985,"nodeType":"ExpressionStatement","src":"5739:62:159"},{"assignments":[89987],"declarations":[{"constant":false,"id":89987,"mutability":"mutable","name":"signer","nameLocation":"5819:6:159","nodeType":"VariableDeclaration","scope":90020,"src":"5811:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89986,"name":"address","nodeType":"ElementaryTypeName","src":"5811:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90005,"initialValue":{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"id":89994,"name":"_DELEGATION_TYPEHASH","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89794,"src":"5893:20:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":89995,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89964,"src":"5915:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":89996,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89966,"src":"5926:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":89997,"name":"expiry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89968,"src":"5933:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":89992,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"5882:3:159","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":89993,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"5886:6:159","memberName":"encode","nodeType":"MemberAccess","src":"5882:10:159","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":89998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5882:58:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":89991,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"5872:9:159","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":89999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5872:69:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":89990,"name":"_hashTypedDataV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96727,"src":"5855:16:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32) view returns (bytes32)"}},"id":90000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5855:87:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":90001,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89970,"src":"5956:1:159","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"id":90002,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89972,"src":"5971:1:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":90003,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89974,"src":"5986:1:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":89988,"name":"ECDSA","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96571,"src":"5828:5:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ECDSA_$96571_$","typeString":"type(library ECDSA)"}},"id":89989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5834:7:159","memberName":"recover","nodeType":"MemberAccess","referencedDeclaration":96506,"src":"5828:13:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes32,uint8,bytes32,bytes32) pure returns (address)"}},"id":90004,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5828:169:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"5811:186:159"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90011,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90007,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89966,"src":"6015:5:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"id":90009,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89987,"src":"6034:6:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90008,"name":"_useNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90284,"src":"6024:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$","typeString":"function (address) returns (uint256)"}},"id":90010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6024:17:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6015:26:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"566f7465733a20696e76616c6964206e6f6e6365","id":90012,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6043:22:159","typeDescriptions":{"typeIdentifier":"t_stringliteral_13ff7ccc79996334a065c9426876e6554e1ae6a3f574e0ced02fc6062a794b0c","typeString":"literal_string \"Votes: invalid nonce\""},"value":"Votes: invalid nonce"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_13ff7ccc79996334a065c9426876e6554e1ae6a3f574e0ced02fc6062a794b0c","typeString":"literal_string \"Votes: invalid nonce\""}],"id":90006,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6007:7:159","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":90013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6007:59:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90014,"nodeType":"ExpressionStatement","src":"6007:59:159"},{"expression":{"arguments":[{"id":90016,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89987,"src":"6086:6:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90017,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89964,"src":"6094:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90015,"name":"_delegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90056,"src":"6076:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":90018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6076:28:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90019,"nodeType":"ExpressionStatement","src":"6076:28:159"}]},"baseFunctions":[89766],"documentation":{"id":89962,"nodeType":"StructuredDocumentation","src":"5475:67:159","text":" @dev Delegates votes from signer to `delegatee`."},"functionSelector":"c3cda520","implemented":true,"kind":"function","modifiers":[],"name":"delegateBySig","nameLocation":"5556:13:159","overrides":{"id":89976,"nodeType":"OverrideSpecifier","overrides":[],"src":"5720:8:159"},"parameters":{"id":89975,"nodeType":"ParameterList","parameters":[{"constant":false,"id":89964,"mutability":"mutable","name":"delegatee","nameLocation":"5587:9:159","nodeType":"VariableDeclaration","scope":90021,"src":"5579:17:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":89963,"name":"address","nodeType":"ElementaryTypeName","src":"5579:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":89966,"mutability":"mutable","name":"nonce","nameLocation":"5614:5:159","nodeType":"VariableDeclaration","scope":90021,"src":"5606:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89965,"name":"uint256","nodeType":"ElementaryTypeName","src":"5606:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89968,"mutability":"mutable","name":"expiry","nameLocation":"5637:6:159","nodeType":"VariableDeclaration","scope":90021,"src":"5629:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":89967,"name":"uint256","nodeType":"ElementaryTypeName","src":"5629:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":89970,"mutability":"mutable","name":"v","nameLocation":"5659:1:159","nodeType":"VariableDeclaration","scope":90021,"src":"5653:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":89969,"name":"uint8","nodeType":"ElementaryTypeName","src":"5653:5:159","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":89972,"mutability":"mutable","name":"r","nameLocation":"5678:1:159","nodeType":"VariableDeclaration","scope":90021,"src":"5670:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89971,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5670:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":89974,"mutability":"mutable","name":"s","nameLocation":"5697:1:159","nodeType":"VariableDeclaration","scope":90021,"src":"5689:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89973,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5689:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"5569:135:159"},"returnParameters":{"id":89977,"nodeType":"ParameterList","parameters":[],"src":"5729:0:159"},"scope":90318,"stateMutability":"nonpayable","virtual":true,"visibility":"public"},{"id":90056,"nodeType":"FunctionDefinition","src":"6289:313:159","nodes":[],"body":{"id":90055,"nodeType":"Block","src":"6361:241:159","nodes":[],"statements":[{"assignments":[90030],"declarations":[{"constant":false,"id":90030,"mutability":"mutable","name":"oldDelegate","nameLocation":"6379:11:159","nodeType":"VariableDeclaration","scope":90055,"src":"6371:19:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90029,"name":"address","nodeType":"ElementaryTypeName","src":"6371:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":90034,"initialValue":{"arguments":[{"id":90032,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90024,"src":"6403:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90031,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89943,"src":"6393:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":90033,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6393:18:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6371:40:159"},{"expression":{"id":90039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":90035,"name":"_delegation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89798,"src":"6421:11:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_address_$","typeString":"mapping(address => address)"}},"id":90037,"indexExpression":{"id":90036,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90024,"src":"6433:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6421:20:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":90038,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90026,"src":"6444:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6421:32:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":90040,"nodeType":"ExpressionStatement","src":"6421:32:159"},{"eventCall":{"arguments":[{"id":90042,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90024,"src":"6485:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90043,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90030,"src":"6494:11:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90044,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90026,"src":"6507:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":90041,"name":"DelegateChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89701,"src":"6469:15:159","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$returns$__$","typeString":"function (address,address,address)"}},"id":90045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6469:48:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90046,"nodeType":"EmitStatement","src":"6464:53:159"},{"expression":{"arguments":[{"id":90048,"name":"oldDelegate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90030,"src":"6546:11:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90049,"name":"delegatee","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90026,"src":"6559:9:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":90051,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90024,"src":"6586:7:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90050,"name":"_getVotingUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90317,"src":"6570:15:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":90052,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6570:24:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90047,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90189,"src":"6527:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6527:68:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90054,"nodeType":"ExpressionStatement","src":"6527:68:159"}]},"documentation":{"id":90022,"nodeType":"StructuredDocumentation","src":"6117:167:159","text":" @dev Delegate all of `account`'s voting units to `delegatee`.\n Emits events {IVotes-DelegateChanged} and {IVotes-DelegateVotesChanged}."},"implemented":true,"kind":"function","modifiers":[],"name":"_delegate","nameLocation":"6298:9:159","parameters":{"id":90027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90024,"mutability":"mutable","name":"account","nameLocation":"6316:7:159","nodeType":"VariableDeclaration","scope":90056,"src":"6308:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90023,"name":"address","nodeType":"ElementaryTypeName","src":"6308:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90026,"mutability":"mutable","name":"delegatee","nameLocation":"6333:9:159","nodeType":"VariableDeclaration","scope":90056,"src":"6325:17:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90025,"name":"address","nodeType":"ElementaryTypeName","src":"6325:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6307:36:159"},"returnParameters":{"id":90028,"nodeType":"ParameterList","parameters":[],"src":"6361:0:159"},"scope":90318,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":90111,"nodeType":"FunctionDefinition","src":"6836:399:159","nodes":[],"body":{"id":90110,"nodeType":"Block","src":"6925:310:159","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90066,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90059,"src":"6939:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":90069,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6955:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90068,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6947:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90067,"name":"address","nodeType":"ElementaryTypeName","src":"6947:7:159","typeDescriptions":{}}},"id":90070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6947:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6939:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90082,"nodeType":"IfStatement","src":"6935:107:159","trueBody":{"id":90081,"nodeType":"Block","src":"6959:83:159","statements":[{"expression":{"arguments":[{"id":90073,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89808,"src":"6979:17:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},{"id":90074,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90241,"src":"6998:4:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"}},{"arguments":[{"id":90077,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90063,"src":"7023:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90075,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"7004:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":90076,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7013:9:159","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"7004:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":90078,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7004:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":90072,"name":"_push","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90227,"src":"6973:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace224_$94554_storage_ptr_$_t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,function (uint224,uint224) view returns (uint224),uint224) returns (uint224,uint224)"}},"id":90079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6973:58:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"id":90080,"nodeType":"ExpressionStatement","src":"6973:58:159"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90088,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90083,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90061,"src":"7055:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":90086,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7069:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90085,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7061:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90084,"name":"address","nodeType":"ElementaryTypeName","src":"7061:7:159","typeDescriptions":{}}},"id":90087,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7061:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7055:16:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90099,"nodeType":"IfStatement","src":"7051:110:159","trueBody":{"id":90098,"nodeType":"Block","src":"7073:88:159","statements":[{"expression":{"arguments":[{"id":90090,"name":"_totalCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89808,"src":"7093:17:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},{"id":90091,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90255,"src":"7112:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"}},{"arguments":[{"id":90094,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90063,"src":"7142:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90092,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"7123:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":90093,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7132:9:159","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"7123:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":90095,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7123:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":90089,"name":"_push","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90227,"src":"7087:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace224_$94554_storage_ptr_$_t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,function (uint224,uint224) view returns (uint224),uint224) returns (uint224,uint224)"}},"id":90096,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7087:63:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"id":90097,"nodeType":"ExpressionStatement","src":"7087:63:159"}]}},{"expression":{"arguments":[{"arguments":[{"id":90102,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90059,"src":"7199:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90101,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89943,"src":"7189:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":90103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7189:15:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":90105,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90061,"src":"7216:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":90104,"name":"delegates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89943,"src":"7206:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_address_$","typeString":"function (address) view returns (address)"}},"id":90106,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7206:13:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90107,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90063,"src":"7221:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90100,"name":"_moveDelegateVotes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90189,"src":"7170:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":90108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7170:58:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90109,"nodeType":"ExpressionStatement","src":"7170:58:159"}]},"documentation":{"id":90057,"nodeType":"StructuredDocumentation","src":"6608:223:159","text":" @dev Transfers, mints, or burns voting units. To register a mint, `from` should be zero. To register a burn, `to`\n should be zero. Total supply of voting units will be adjusted with mints and burns."},"implemented":true,"kind":"function","modifiers":[],"name":"_transferVotingUnits","nameLocation":"6845:20:159","parameters":{"id":90064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90059,"mutability":"mutable","name":"from","nameLocation":"6874:4:159","nodeType":"VariableDeclaration","scope":90111,"src":"6866:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90058,"name":"address","nodeType":"ElementaryTypeName","src":"6866:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90061,"mutability":"mutable","name":"to","nameLocation":"6888:2:159","nodeType":"VariableDeclaration","scope":90111,"src":"6880:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90060,"name":"address","nodeType":"ElementaryTypeName","src":"6880:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90063,"mutability":"mutable","name":"amount","nameLocation":"6900:6:159","nodeType":"VariableDeclaration","scope":90111,"src":"6892:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90062,"name":"uint256","nodeType":"ElementaryTypeName","src":"6892:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6865:42:159"},"returnParameters":{"id":90065,"nodeType":"ParameterList","parameters":[],"src":"6925:0:159"},"scope":90318,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":90189,"nodeType":"FunctionDefinition","src":"7321:780:159","nodes":[],"body":{"id":90188,"nodeType":"Block","src":"7399:702:159","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":90127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90123,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90121,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90114,"src":"7413:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":90122,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90116,"src":"7421:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7413:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":90126,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90124,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90118,"src":"7427:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":90125,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7436:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7427:10:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7413:24:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90187,"nodeType":"IfStatement","src":"7409:686:159","trueBody":{"id":90186,"nodeType":"Block","src":"7439:656:159","statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90133,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90128,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90114,"src":"7457:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90131,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7473:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90130,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7465:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90129,"name":"address","nodeType":"ElementaryTypeName","src":"7465:7:159","typeDescriptions":{}}},"id":90132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7465:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7457:18:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90156,"nodeType":"IfStatement","src":"7453:315:159","trueBody":{"id":90155,"nodeType":"Block","src":"7477:291:159","statements":[{"assignments":[90135,90137],"declarations":[{"constant":false,"id":90135,"mutability":"mutable","name":"oldValue","nameLocation":"7504:8:159","nodeType":"VariableDeclaration","scope":90155,"src":"7496:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90134,"name":"uint256","nodeType":"ElementaryTypeName","src":"7496:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":90137,"mutability":"mutable","name":"newValue","nameLocation":"7522:8:159","nodeType":"VariableDeclaration","scope":90155,"src":"7514:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90136,"name":"uint256","nodeType":"ElementaryTypeName","src":"7514:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90148,"initialValue":{"arguments":[{"baseExpression":{"id":90139,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89804,"src":"7561:20:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224 storage ref)"}},"id":90141,"indexExpression":{"id":90140,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90114,"src":"7582:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7561:26:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},{"id":90142,"name":"_subtract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90255,"src":"7609:9:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"}},{"arguments":[{"id":90145,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90118,"src":"7659:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90143,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"7640:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":90144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7649:9:159","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"7640:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":90146,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7640:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":90138,"name":"_push","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90227,"src":"7534:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace224_$94554_storage_ptr_$_t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,function (uint224,uint224) view returns (uint224),uint224) returns (uint224,uint224)"}},"id":90147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7534:150:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"nodeType":"VariableDeclarationStatement","src":"7495:189:159"},{"eventCall":{"arguments":[{"id":90150,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90114,"src":"7728:4:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90151,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90135,"src":"7734:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90152,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90137,"src":"7744:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90149,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89710,"src":"7707:20:159","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":90153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7707:46:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90154,"nodeType":"EmitStatement","src":"7702:51:159"}]}},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":90162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90157,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90116,"src":"7785:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":90160,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7799:1:159","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":90159,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7791:7:159","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":90158,"name":"address","nodeType":"ElementaryTypeName","src":"7791:7:159","typeDescriptions":{}}},"id":90161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7791:10:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7785:16:159","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":90185,"nodeType":"IfStatement","src":"7781:304:159","trueBody":{"id":90184,"nodeType":"Block","src":"7803:282:159","statements":[{"assignments":[90164,90166],"declarations":[{"constant":false,"id":90164,"mutability":"mutable","name":"oldValue","nameLocation":"7830:8:159","nodeType":"VariableDeclaration","scope":90184,"src":"7822:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90163,"name":"uint256","nodeType":"ElementaryTypeName","src":"7822:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":90166,"mutability":"mutable","name":"newValue","nameLocation":"7848:8:159","nodeType":"VariableDeclaration","scope":90184,"src":"7840:16:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90165,"name":"uint256","nodeType":"ElementaryTypeName","src":"7840:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":90177,"initialValue":{"arguments":[{"baseExpression":{"id":90168,"name":"_delegateCheckpoints","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89804,"src":"7887:20:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Trace224_$94554_storage_$","typeString":"mapping(address => struct Checkpoints.Trace224 storage ref)"}},"id":90170,"indexExpression":{"id":90169,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90116,"src":"7908:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7887:24:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"}},{"id":90171,"name":"_add","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90241,"src":"7933:4:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"}},{"arguments":[{"id":90174,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90118,"src":"7978:6:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":90172,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"7959:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":90173,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7968:9:159","memberName":"toUint224","nodeType":"MemberAccess","referencedDeclaration":97974,"src":"7959:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint224_$","typeString":"function (uint256) pure returns (uint224)"}},"id":90175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7959:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Trace224_$94554_storage","typeString":"struct Checkpoints.Trace224 storage ref"},{"typeIdentifier":"t_function_internal_pure$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) pure returns (uint224)"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":90167,"name":"_push","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90227,"src":"7860:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace224_$94554_storage_ptr_$_t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$_$_t_uint224_$returns$_t_uint224_$_t_uint224_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,function (uint224,uint224) view returns (uint224),uint224) returns (uint224,uint224)"}},"id":90176,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7860:143:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"nodeType":"VariableDeclarationStatement","src":"7821:182:159"},{"eventCall":{"arguments":[{"id":90179,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90116,"src":"8047:2:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":90180,"name":"oldValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90164,"src":"8051:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":90181,"name":"newValue","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90166,"src":"8061:8:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":90178,"name":"DelegateVotesChanged","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89710,"src":"8026:20:159","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,uint256,uint256)"}},"id":90182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8026:44:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90183,"nodeType":"EmitStatement","src":"8021:49:159"}]}}]}}]},"documentation":{"id":90112,"nodeType":"StructuredDocumentation","src":"7241:75:159","text":" @dev Moves delegated votes from one delegate to another."},"implemented":true,"kind":"function","modifiers":[],"name":"_moveDelegateVotes","nameLocation":"7330:18:159","parameters":{"id":90119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90114,"mutability":"mutable","name":"from","nameLocation":"7357:4:159","nodeType":"VariableDeclaration","scope":90189,"src":"7349:12:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90113,"name":"address","nodeType":"ElementaryTypeName","src":"7349:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90116,"mutability":"mutable","name":"to","nameLocation":"7371:2:159","nodeType":"VariableDeclaration","scope":90189,"src":"7363:10:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90115,"name":"address","nodeType":"ElementaryTypeName","src":"7363:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":90118,"mutability":"mutable","name":"amount","nameLocation":"7383:6:159","nodeType":"VariableDeclaration","scope":90189,"src":"7375:14:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90117,"name":"uint256","nodeType":"ElementaryTypeName","src":"7375:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7348:42:159"},"returnParameters":{"id":90120,"nodeType":"ParameterList","parameters":[],"src":"7399:0:159"},"scope":90318,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":90227,"nodeType":"FunctionDefinition","src":"8107:274:159","nodes":[],"body":{"id":90226,"nodeType":"Block","src":"8292:89:159","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":90215,"name":"clock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89827,"src":"8338:5:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_uint48_$","typeString":"function () view returns (uint48)"}},"id":90216,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8338:7:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint48","typeString":"uint48"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint48","typeString":"uint48"}],"expression":{"id":90213,"name":"SafeCast","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99412,"src":"8320:8:159","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeCast_$99412_$","typeString":"type(library SafeCast)"}},"id":90214,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8329:8:159","memberName":"toUint32","nodeType":"MemberAccess","referencedDeclaration":98574,"src":"8320:17:159","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint32_$","typeString":"function (uint256) pure returns (uint32)"}},"id":90217,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8320:26:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":90219,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90192,"src":"8351:5:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":90220,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8357:6:159","memberName":"latest","nodeType":"MemberAccess","referencedDeclaration":94779,"src":"8351:12:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Trace224_$94554_storage_ptr_$returns$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer) view returns (uint224)"}},"id":90221,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8351:14:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},{"id":90222,"name":"delta","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90204,"src":"8367:5:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint224","typeString":"uint224"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"id":90218,"name":"op","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90202,"src":"8348:2:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) view returns (uint224)"}},"id":90223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8348:25:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint32","typeString":"uint32"},{"typeIdentifier":"t_uint224","typeString":"uint224"}],"expression":{"id":90211,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90192,"src":"8309:5:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224 storage pointer"}},"id":90212,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8315:4:159","memberName":"push","nodeType":"MemberAccess","referencedDeclaration":94582,"src":"8309:10:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Trace224_$94554_storage_ptr_$_t_uint32_$_t_uint224_$returns$_t_uint224_$_t_uint224_$attached_to$_t_struct$_Trace224_$94554_storage_ptr_$","typeString":"function (struct Checkpoints.Trace224 storage pointer,uint32,uint224) returns (uint224,uint224)"}},"id":90224,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8309:65:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint224_$_t_uint224_$","typeString":"tuple(uint224,uint224)"}},"functionReturnParameters":90210,"id":90225,"nodeType":"Return","src":"8302:72:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_push","nameLocation":"8116:5:159","parameters":{"id":90205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90192,"mutability":"mutable","name":"store","nameLocation":"8160:5:159","nodeType":"VariableDeclaration","scope":90227,"src":"8131:34:159","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"},"typeName":{"id":90191,"nodeType":"UserDefinedTypeName","pathNode":{"id":90190,"name":"Checkpoints.Trace224","nameLocations":["8131:11:159","8143:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":94554,"src":"8131:20:159"},"referencedDeclaration":94554,"src":"8131:20:159","typeDescriptions":{"typeIdentifier":"t_struct$_Trace224_$94554_storage_ptr","typeString":"struct Checkpoints.Trace224"}},"visibility":"internal"},{"constant":false,"id":90202,"mutability":"mutable","name":"op","nameLocation":"8225:2:159","nodeType":"VariableDeclaration","scope":90227,"src":"8175:52:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) view returns (uint224)"},"typeName":{"id":90201,"nodeType":"FunctionTypeName","parameterTypes":{"id":90197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90194,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90201,"src":"8184:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90193,"name":"uint224","nodeType":"ElementaryTypeName","src":"8184:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":90196,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90201,"src":"8193:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90195,"name":"uint224","nodeType":"ElementaryTypeName","src":"8193:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8183:18:159"},"returnParameterTypes":{"id":90200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90199,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90201,"src":"8216:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90198,"name":"uint224","nodeType":"ElementaryTypeName","src":"8216:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8215:9:159"},"src":"8175:52:159","stateMutability":"view","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint224_$_t_uint224_$returns$_t_uint224_$","typeString":"function (uint224,uint224) view returns (uint224)"},"visibility":"internal"},"visibility":"internal"},{"constant":false,"id":90204,"mutability":"mutable","name":"delta","nameLocation":"8245:5:159","nodeType":"VariableDeclaration","scope":90227,"src":"8237:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90203,"name":"uint224","nodeType":"ElementaryTypeName","src":"8237:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8121:135:159"},"returnParameters":{"id":90210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90207,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90227,"src":"8274:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90206,"name":"uint224","nodeType":"ElementaryTypeName","src":"8274:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":90209,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90227,"src":"8283:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90208,"name":"uint224","nodeType":"ElementaryTypeName","src":"8283:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8273:18:159"},"scope":90318,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":90241,"nodeType":"FunctionDefinition","src":"8387:96:159","nodes":[],"body":{"id":90240,"nodeType":"Block","src":"8454:29:159","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint224","typeString":"uint224"},"id":90238,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90236,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90229,"src":"8471:1:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"id":90237,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90231,"src":"8475:1:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"8471:5:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":90235,"id":90239,"nodeType":"Return","src":"8464:12:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_add","nameLocation":"8396:4:159","parameters":{"id":90232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90229,"mutability":"mutable","name":"a","nameLocation":"8409:1:159","nodeType":"VariableDeclaration","scope":90241,"src":"8401:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90228,"name":"uint224","nodeType":"ElementaryTypeName","src":"8401:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":90231,"mutability":"mutable","name":"b","nameLocation":"8420:1:159","nodeType":"VariableDeclaration","scope":90241,"src":"8412:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90230,"name":"uint224","nodeType":"ElementaryTypeName","src":"8412:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8400:22:159"},"returnParameters":{"id":90235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90234,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90241,"src":"8445:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90233,"name":"uint224","nodeType":"ElementaryTypeName","src":"8445:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8444:9:159"},"scope":90318,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":90255,"nodeType":"FunctionDefinition","src":"8489:101:159","nodes":[],"body":{"id":90254,"nodeType":"Block","src":"8561:29:159","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_uint224","typeString":"uint224"},"id":90252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":90250,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90243,"src":"8578:1:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":90251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90245,"src":"8582:1:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"src":"8578:5:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"functionReturnParameters":90249,"id":90253,"nodeType":"Return","src":"8571:12:159"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_subtract","nameLocation":"8498:9:159","parameters":{"id":90246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90243,"mutability":"mutable","name":"a","nameLocation":"8516:1:159","nodeType":"VariableDeclaration","scope":90255,"src":"8508:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90242,"name":"uint224","nodeType":"ElementaryTypeName","src":"8508:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"},{"constant":false,"id":90245,"mutability":"mutable","name":"b","nameLocation":"8527:1:159","nodeType":"VariableDeclaration","scope":90255,"src":"8519:9:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90244,"name":"uint224","nodeType":"ElementaryTypeName","src":"8519:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8507:22:159"},"returnParameters":{"id":90249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90248,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90255,"src":"8552:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"},"typeName":{"id":90247,"name":"uint224","nodeType":"ElementaryTypeName","src":"8552:7:159","typeDescriptions":{"typeIdentifier":"t_uint224","typeString":"uint224"}},"visibility":"internal"}],"src":"8551:9:159"},"scope":90318,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":90284,"nodeType":"FunctionDefinition","src":"8704:203:159","nodes":[],"body":{"id":90283,"nodeType":"Block","src":"8781:126:159","nodes":[],"statements":[{"assignments":[90267],"declarations":[{"constant":false,"id":90267,"mutability":"mutable","name":"nonce","nameLocation":"8816:5:159","nodeType":"VariableDeclaration","scope":90283,"src":"8791:30:159","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"},"typeName":{"id":90266,"nodeType":"UserDefinedTypeName","pathNode":{"id":90265,"name":"Counters.Counter","nameLocations":["8791:8:159","8800:7:159"],"nodeType":"IdentifierPath","referencedDeclaration":95582,"src":"8791:16:159"},"referencedDeclaration":95582,"src":"8791:16:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter"}},"visibility":"internal"}],"id":90271,"initialValue":{"baseExpression":{"id":90268,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89813,"src":"8824:7:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$95582_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":90270,"indexExpression":{"id":90269,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90258,"src":"8832:5:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8824:14:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage","typeString":"struct Counters.Counter storage ref"}},"nodeType":"VariableDeclarationStatement","src":"8791:47:159"},{"expression":{"id":90276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":90272,"name":"current","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90261,"src":"8848:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":90273,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90267,"src":"8858:5:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":90274,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8864:7:159","memberName":"current","nodeType":"MemberAccess","referencedDeclaration":95594,"src":"8858:13:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$95582_storage_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Counter_$95582_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":90275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8858:15:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8848:25:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":90277,"nodeType":"ExpressionStatement","src":"8848:25:159"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":90278,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90267,"src":"8883:5:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage_ptr","typeString":"struct Counters.Counter storage pointer"}},"id":90280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8889:9:159","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":95608,"src":"8883:15:159","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Counter_$95582_storage_ptr_$returns$__$attached_to$_t_struct$_Counter_$95582_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer)"}},"id":90281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8883:17:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":90282,"nodeType":"ExpressionStatement","src":"8883:17:159"}]},"documentation":{"id":90256,"nodeType":"StructuredDocumentation","src":"8596:103:159","text":" @dev Consumes a nonce.\n Returns the current value and increments nonce."},"implemented":true,"kind":"function","modifiers":[],"name":"_useNonce","nameLocation":"8713:9:159","parameters":{"id":90259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90258,"mutability":"mutable","name":"owner","nameLocation":"8731:5:159","nodeType":"VariableDeclaration","scope":90284,"src":"8723:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90257,"name":"address","nodeType":"ElementaryTypeName","src":"8723:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8722:15:159"},"returnParameters":{"id":90262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90261,"mutability":"mutable","name":"current","nameLocation":"8772:7:159","nodeType":"VariableDeclaration","scope":90284,"src":"8764:15:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90260,"name":"uint256","nodeType":"ElementaryTypeName","src":"8764:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8763:17:159"},"scope":90318,"stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"id":90299,"nodeType":"FunctionDefinition","src":"8967:117:159","nodes":[],"body":{"id":90298,"nodeType":"Block","src":"9036:48:159","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":90292,"name":"_nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89813,"src":"9053:7:159","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Counter_$95582_storage_$","typeString":"mapping(address => struct Counters.Counter storage ref)"}},"id":90294,"indexExpression":{"id":90293,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90287,"src":"9061:5:159","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9053:14:159","typeDescriptions":{"typeIdentifier":"t_struct$_Counter_$95582_storage","typeString":"struct Counters.Counter storage ref"}},"id":90295,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"9068:7:159","memberName":"current","nodeType":"MemberAccess","referencedDeclaration":95594,"src":"9053:22:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Counter_$95582_storage_ptr_$returns$_t_uint256_$attached_to$_t_struct$_Counter_$95582_storage_ptr_$","typeString":"function (struct Counters.Counter storage pointer) view returns (uint256)"}},"id":90296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9053:24:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":90291,"id":90297,"nodeType":"Return","src":"9046:31:159"}]},"documentation":{"id":90285,"nodeType":"StructuredDocumentation","src":"8913:49:159","text":" @dev Returns an address nonce."},"functionSelector":"7ecebe00","implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"8976:6:159","parameters":{"id":90288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90287,"mutability":"mutable","name":"owner","nameLocation":"8991:5:159","nodeType":"VariableDeclaration","scope":90299,"src":"8983:13:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90286,"name":"address","nodeType":"ElementaryTypeName","src":"8983:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8982:15:159"},"returnParameters":{"id":90291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90290,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90299,"src":"9027:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90289,"name":"uint256","nodeType":"ElementaryTypeName","src":"9027:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9026:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"public"},{"id":90309,"nodeType":"FunctionDefinition","src":"9221:104:159","nodes":[],"body":{"id":90308,"nodeType":"Block","src":"9281:44:159","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":90305,"name":"_domainSeparatorV4","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96690,"src":"9298:18:159","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_bytes32_$","typeString":"function () view returns (bytes32)"}},"id":90306,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9298:20:159","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":90304,"id":90307,"nodeType":"Return","src":"9291:27:159"}]},"documentation":{"id":90300,"nodeType":"StructuredDocumentation","src":"9090:73:159","text":" @dev Returns the contract's {EIP712} domain separator."},"functionSelector":"3644e515","implemented":true,"kind":"function","modifiers":[],"name":"DOMAIN_SEPARATOR","nameLocation":"9230:16:159","parameters":{"id":90301,"nodeType":"ParameterList","parameters":[],"src":"9246:2:159"},"returnParameters":{"id":90304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90303,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90309,"src":"9272:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":90302,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9272:7:159","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9271:9:159"},"scope":90318,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":90317,"nodeType":"FunctionDefinition","src":"9408:74:159","nodes":[],"documentation":{"id":90310,"nodeType":"StructuredDocumentation","src":"9331:72:159","text":" @dev Must return the voting units held by an account."},"implemented":false,"kind":"function","modifiers":[],"name":"_getVotingUnits","nameLocation":"9417:15:159","parameters":{"id":90313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90317,"src":"9433:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":90311,"name":"address","nodeType":"ElementaryTypeName","src":"9433:7:159","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9432:9:159"},"returnParameters":{"id":90316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90315,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":90317,"src":"9473:7:159","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":90314,"name":"uint256","nodeType":"ElementaryTypeName","src":"9473:7:159","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9472:9:159"},"scope":90318,"stateMutability":"view","virtual":true,"visibility":"internal"}],"abstract":true,"baseContracts":[{"baseName":{"id":89776,"name":"Context","nameLocations":["1714:7:159"],"nodeType":"IdentifierPath","referencedDeclaration":95576,"src":"1714:7:159"},"id":89777,"nodeType":"InheritanceSpecifier","src":"1714:7:159"},{"baseName":{"id":89778,"name":"EIP712","nameLocations":["1723:6:159"],"nodeType":"IdentifierPath","referencedDeclaration":96775,"src":"1723:6:159"},"id":89779,"nodeType":"InheritanceSpecifier","src":"1723:6:159"},{"baseName":{"id":89780,"name":"IERC5805","nameLocations":["1731:8:159"],"nodeType":"IdentifierPath","referencedDeclaration":90371,"src":"1731:8:159"},"id":89781,"nodeType":"InheritanceSpecifier","src":"1731:8:159"}],"canonicalName":"Votes","contractDependencies":[],"contractKind":"contract","documentation":{"id":89775,"nodeType":"StructuredDocumentation","src":"328:1358:159","text":" @dev This is a base abstract contract that tracks voting units, which are a measure of voting power that can be\n transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of\n \"representative\" that will pool delegated voting units from different accounts and can then use it to vote in\n decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to\n delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative.\n This contract is often combined with a token contract such that voting units correspond to token units. For an\n example, see {ERC721Votes}.\n The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed\n at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the\n cost of this history tracking optional.\n When using this module the derived contract must implement {_getVotingUnits} (for example, make it return\n {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the\n previous example, it would be included in {ERC721-_beforeTokenTransfer}).\n _Available since v4.5._"},"fullyImplemented":false,"internalFunctionIDs":{"90241":1,"90255":2},"linearizedBaseContracts":[90318,90371,89767,90386,96775,90362,95576],"name":"Votes","nameLocation":"1705:5:159","scope":90319,"usedErrors":[95663,95665],"usedEvents":[89701,89710,90342]}],"license":"MIT"},"id":159} \ No newline at end of file +{"abi":[{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousBalance","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newBalance","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","clock()":"91ddadf4","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","nonces(address)":"7ecebe00"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousBalance\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is a base abstract contract that tracks voting units, which are a measure of voting power that can be transferred, and provides a system of vote delegation, where an account can delegate its voting units to a sort of \\\"representative\\\" that will pool delegated voting units from different accounts and can then use it to vote in decisions. In fact, voting units _must_ be delegated in order to count as actual votes, and an account has to delegate those votes to itself if it wishes to participate in decisions and does not have a trusted representative. This contract is often combined with a token contract such that voting units correspond to token units. For an example, see {ERC721Votes}. The full history of delegate votes is tracked on-chain so that governance protocols can consider votes as distributed at a particular block number to protect against flash loans and double voting. The opt-in delegate system makes the cost of this history tracking optional. When using this module the derived contract must implement {_getVotingUnits} (for example, make it return {ERC721-balanceOf}), and can use {_transferVotingUnits} to track a change in the distribution of those units (in the previous example, it would be included in {ERC721-_beforeTokenTransfer}). _Available since v4.5._\",\"events\":{\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in EIP-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the contract's {EIP712} domain separator.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"nonces(address)\":{\"details\":\"Returns an address nonce.\"}},\"stateVariables\":{\"_delegateCheckpoints\":{\"custom:oz-retyped-from\":\"mapping(address => Checkpoints.History)\"},\"_totalCheckpoints\":{\"custom:oz-retyped-from\":\"Checkpoints.History\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":\"Votes\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=node_modules/@chainlink/\",\":@ensdomains/=node_modules/@ensdomains/\",\":@jbx-protocol/=node_modules/@jbx-protocol/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@paulrberg/=node_modules/@paulrberg/\",\":@prb/=node_modules/@prb/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":prb-math/=node_modules/prb-math/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96\",\"dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec\",\"dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e\",\"dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol\":{\"keccak256\":\"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7\",\"dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"node_modules/@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.23+commit.f704f362"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousBalance","type":"uint256","indexed":false},{"internalType":"uint256","name":"newBalance","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in EIP-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the contract's {EIP712} domain separator."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"nonces(address)":{"details":"Returns an address nonce."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@chainlink/=node_modules/@chainlink/","@ensdomains/=node_modules/@ensdomains/","@jbx-protocol/=node_modules/@jbx-protocol/","@openzeppelin/=node_modules/@openzeppelin/","@paulrberg/=node_modules/@paulrberg/","@prb/=node_modules/@prb/","ds-test/=lib/forge-std/lib/ds-test/src/","forge-std/=lib/forge-std/src/","prb-math/=node_modules/prb-math/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":"Votes"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x1618ddebe73377660f6da71afcba35d5ac4c4600918b3a381d9c6f37eba613eb","urls":["bzz-raw://666c8d7c62478b55e082f1835275b7acfc1595491998df6d67183ff2c70eab96","dweb:/ipfs/QmVXmnXfxNaLhoX283dqyKJ8DJbF5thUd9sMuRoFpNMwr7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x215ab7b366363cdaa7e60b21cea73ded788f21b870dfe52b58a00047158f7fa7","urls":["bzz-raw://b9d55979017ebe0d987578f73b989582a7482baba1d091f55cefb793b7cacaec","dweb:/ipfs/QmYqGx2nyygkrGn1WQALa6cFjKEAMFyeqGpYYcPnzrfdmB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0xfc12b717f6a2cd0d67adc8700097d4464d37f18ce933d4fc9c948ab6aec35e80","urls":["bzz-raw://82386e69ebe902a2edfd4f8a5ecbeaeb2e00f6cc6481a973729e974373fb492e","dweb:/ipfs/QmSXg4wBMBd83mQvkekT1GsiRX2Qyv5gvrqzv5qJx2M7Kc"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Checkpoints.sol":{"keccak256":"0x3f12d280f57c96b4449de1a4e07f5ca737cac310489b7f269ce37e8f1b24fd79","urls":["bzz-raw://8990f3cc807ac6be85fdd6935b16135b315b5ab5b8951b1f5a188596f7efd2e7","dweb:/ipfs/QmdQmbWKpaAWpvLBTQfFWGKjm8xjncwEcNyRQ5M61sFaLE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7","urls":["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92","dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Counters.sol":{"keccak256":"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1","urls":["bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee","dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":159} \ No newline at end of file diff --git a/package.json b/package.json index 73a4cf7f..95acd876 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "scripts": { "pretty": "prettier --write \"./**/*.{js,jsx,json,sol}\"", "deploy-goerli": "source .env && forge script DeployGoerli --rpc-url $GOERLI_RPC_PROVIDER_URL --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --ledger --sender $SENDER_ADDRESS --optimize --optimizer-runs 200 -vvv", + "deploy-sepolia": "source .env && forge script DeploySepolia --rpc-url $SEPOLIA_RPC_PROVIDER_URL --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --ledger --sender $SENDER_ADDRESS --optimize --optimizer-runs 200 -vvv", "deploy-mainnet": "source .env && forge script DeployMainnet --rpc-url $MAINNET_RPC_PROVIDER_URL --broadcast --verify --etherscan-api-key $ETHERSCAN_API_KEY --ledger --sender $SENDER_ADDRESS --optimize --optimizer-runs 200 -vvv" } }